
(FPCore (a b) :precision binary64 (/ (* (* 4.0 (sqrt 3.0)) a) b))
double code(double a, double b) {
return ((4.0 * sqrt(3.0)) * a) / b;
}
real(8) function code(a, b)
real(8), intent (in) :: a
real(8), intent (in) :: b
code = ((4.0d0 * sqrt(3.0d0)) * a) / b
end function
public static double code(double a, double b) {
return ((4.0 * Math.sqrt(3.0)) * a) / b;
}
def code(a, b): return ((4.0 * math.sqrt(3.0)) * a) / b
function code(a, b) return Float64(Float64(Float64(4.0 * sqrt(3.0)) * a) / b) end
function tmp = code(a, b) tmp = ((4.0 * sqrt(3.0)) * a) / b; end
code[a_, b_] := N[(N[(N[(4.0 * N[Sqrt[3.0], $MachinePrecision]), $MachinePrecision] * a), $MachinePrecision] / b), $MachinePrecision]
\frac{\left(4 \cdot \sqrt{3}\right) \cdot a}{b}
Herbie found 1 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (a b) :precision binary64 (/ (* (* 4.0 (sqrt 3.0)) a) b))
double code(double a, double b) {
return ((4.0 * sqrt(3.0)) * a) / b;
}
real(8) function code(a, b)
real(8), intent (in) :: a
real(8), intent (in) :: b
code = ((4.0d0 * sqrt(3.0d0)) * a) / b
end function
public static double code(double a, double b) {
return ((4.0 * Math.sqrt(3.0)) * a) / b;
}
def code(a, b): return ((4.0 * math.sqrt(3.0)) * a) / b
function code(a, b) return Float64(Float64(Float64(4.0 * sqrt(3.0)) * a) / b) end
function tmp = code(a, b) tmp = ((4.0 * sqrt(3.0)) * a) / b; end
code[a_, b_] := N[(N[(N[(4.0 * N[Sqrt[3.0], $MachinePrecision]), $MachinePrecision] * a), $MachinePrecision] / b), $MachinePrecision]
\frac{\left(4 \cdot \sqrt{3}\right) \cdot a}{b}
(FPCore (a b) :precision binary64 (* (/ 6.928203230275509 b) a))
double code(double a, double b) {
return (6.928203230275509 / b) * a;
}
real(8) function code(a, b)
real(8), intent (in) :: a
real(8), intent (in) :: b
code = (6.928203230275509d0 / b) * a
end function
public static double code(double a, double b) {
return (6.928203230275509 / b) * a;
}
def code(a, b): return (6.928203230275509 / b) * a
function code(a, b) return Float64(Float64(6.928203230275509 / b) * a) end
function tmp = code(a, b) tmp = (6.928203230275509 / b) * a; end
code[a_, b_] := N[(N[(6.928203230275509 / b), $MachinePrecision] * a), $MachinePrecision]
\frac{6.928203230275509}{b} \cdot a
Initial program 99.4%
lift-/.f64N/A
mult-flipN/A
lift-*.f64N/A
*-commutativeN/A
associate-*l*N/A
*-commutativeN/A
lower-*.f64N/A
mult-flip-revN/A
lower-/.f6499.4%
lift-*.f64N/A
*-commutativeN/A
lower-*.f6499.4%
Applied rewrites99.4%
Evaluated real constant99.4%
herbie shell --seed 1
(FPCore (a b)
:name "4*sqrt(3) * a / b"
:precision binary64
:pre (and (and (<= 0.0 a) (<= a 100.0)) (and (<= 1.0 b) (<= b 100.0)))
(/ (* (* 4.0 (sqrt 3.0)) a) b))