(FPCore () :precision binary64 (fmin 1.0 0.0))
double code() { return fmin(1.0, 0.0); }
real(8) function code() code = merge(0.0d0, merge(1.0d0, min(1.0d0, 0.0d0), 0.0d0 /= 0.0d0), 1.0d0 /= 1.0d0) end function
public static double code() { return fmin(1.0, 0.0); }
def code(): return fmin(1.0, 0.0)
function code() return (1.0 != 1.0) ? 0.0 : ((0.0 != 0.0) ? 1.0 : min(1.0, 0.0)) end
function tmp = code() tmp = min(1.0, 0.0); end
code[] := N[Min[1.0, 0.0], $MachinePrecision]
\begin{array}{l} \\ \mathsf{min}\left(1, 0\right) \end{array}
Sampling outcomes in binary64 precision:
Herbie found 1 alternatives:
Alternative | Accuracy | Speedup |
---|
(FPCore () :precision binary64 (fmin 1.0 0.0))
double code() { return fmin(1.0, 0.0); }
real(8) function code() code = merge(0.0d0, merge(1.0d0, min(1.0d0, 0.0d0), 0.0d0 /= 0.0d0), 1.0d0 /= 1.0d0) end function
public static double code() { return fmin(1.0, 0.0); }
def code(): return fmin(1.0, 0.0)
function code() return (1.0 != 1.0) ? 0.0 : ((0.0 != 0.0) ? 1.0 : min(1.0, 0.0)) end
function tmp = code() tmp = min(1.0, 0.0); end
code[] := N[Min[1.0, 0.0], $MachinePrecision]
\begin{array}{l} \\ \mathsf{min}\left(1, 0\right) \end{array}
(FPCore () :precision binary64 (fmin 1.0 0.0))
double code() { return fmin(1.0, 0.0); }
real(8) function code() code = merge(0.0d0, merge(1.0d0, min(1.0d0, 0.0d0), 0.0d0 /= 0.0d0), 1.0d0 /= 1.0d0) end function
public static double code() { return fmin(1.0, 0.0); }
def code(): return fmin(1.0, 0.0)
function code() return (1.0 != 1.0) ? 0.0 : ((0.0 != 0.0) ? 1.0 : min(1.0, 0.0)) end
function tmp = code() tmp = min(1.0, 0.0); end
code[] := N[Min[1.0, 0.0], $MachinePrecision]
\begin{array}{l} \\ \mathsf{min}\left(1, 0\right) \end{array}
Initial program 100.0%
herbie shell --seed 1
(FPCore ()
:name "fmin(1, 0)"
:precision binary64
(fmin 1.0 0.0))