Alternative 1 | |
---|---|
Error | 14.7 |
Cost | 6592 |
\[\sqrt{y \cdot x}
\]
(FPCore (x y) :precision binary64 (sqrt (* x y)))
(FPCore (x y) :precision binary64 (* (sqrt y) (sqrt x)))
double code(double x, double y) { return sqrt((x * y)); }
double code(double x, double y) { return sqrt(y) * sqrt(x); }
real(8) function code(x, y) real(8), intent (in) :: x real(8), intent (in) :: y code = sqrt((x * y)) end function
real(8) function code(x, y) real(8), intent (in) :: x real(8), intent (in) :: y code = sqrt(y) * sqrt(x) end function
public static double code(double x, double y) { return Math.sqrt((x * y)); }
public static double code(double x, double y) { return Math.sqrt(y) * Math.sqrt(x); }
def code(x, y): return math.sqrt((x * y))
def code(x, y): return math.sqrt(y) * math.sqrt(x)
function code(x, y) return sqrt(Float64(x * y)) end
function code(x, y) return Float64(sqrt(y) * sqrt(x)) end
function tmp = code(x, y) tmp = sqrt((x * y)); end
function tmp = code(x, y) tmp = sqrt(y) * sqrt(x); end
code[x_, y_] := N[Sqrt[N[(x * y), $MachinePrecision]], $MachinePrecision]
code[x_, y_] := N[(N[Sqrt[y], $MachinePrecision] * N[Sqrt[x], $MachinePrecision]), $MachinePrecision]
\sqrt{x \cdot y}
\sqrt{y} \cdot \sqrt{x}
Results
Initial program 14.7
Applied egg-rr0.3
Final simplification0.3
Alternative 1 | |
---|---|
Error | 14.7 |
Cost | 6592 |
herbie shell --seed 1
(FPCore (x y)
:name "sqrt(x * y)"
:precision binary64
:pre (and (and (<= 0.0 x) (<= x 1.79e+308)) (and (<= 0.0 y) (<= y 1.79e+308)))
(sqrt (* x y)))