
(FPCore (x) :precision binary64 (/ (* x 1.0) (sqrt x)))
double code(double x) {
return (x * 1.0) / sqrt(x);
}
real(8) function code(x)
real(8), intent (in) :: x
code = (x * 1.0d0) / sqrt(x)
end function
public static double code(double x) {
return (x * 1.0) / Math.sqrt(x);
}
def code(x): return (x * 1.0) / math.sqrt(x)
function code(x) return Float64(Float64(x * 1.0) / sqrt(x)) end
function tmp = code(x) tmp = (x * 1.0) / sqrt(x); end
code[x_] := N[(N[(x * 1.0), $MachinePrecision] / N[Sqrt[x], $MachinePrecision]), $MachinePrecision]
\frac{x \cdot 1}{\sqrt{x}}
Herbie found 1 alternatives:
| Alternative | Accuracy | Speedup |
|---|
(FPCore (x) :precision binary64 (/ (* x 1.0) (sqrt x)))
double code(double x) {
return (x * 1.0) / sqrt(x);
}
real(8) function code(x)
real(8), intent (in) :: x
code = (x * 1.0d0) / sqrt(x)
end function
public static double code(double x) {
return (x * 1.0) / Math.sqrt(x);
}
def code(x): return (x * 1.0) / math.sqrt(x)
function code(x) return Float64(Float64(x * 1.0) / sqrt(x)) end
function tmp = code(x) tmp = (x * 1.0) / sqrt(x); end
code[x_] := N[(N[(x * 1.0), $MachinePrecision] / N[Sqrt[x], $MachinePrecision]), $MachinePrecision]
\frac{x \cdot 1}{\sqrt{x}}
(FPCore (x) :precision binary64 (sqrt x))
double code(double x) {
return sqrt(x);
}
real(8) function code(x)
real(8), intent (in) :: x
code = sqrt(x)
end function
public static double code(double x) {
return Math.sqrt(x);
}
def code(x): return math.sqrt(x)
function code(x) return sqrt(x) end
function tmp = code(x) tmp = sqrt(x); end
code[x_] := N[Sqrt[x], $MachinePrecision]
\sqrt{x}
Initial program 99.2%
Taylor expanded in x around inf
lower-/.f64N/A
lower-sqrt.f64N/A
lower-/.f6499.5%
Applied rewrites99.5%
lift-/.f64N/A
frac-2negN/A
metadata-evalN/A
frac-2negN/A
metadata-evalN/A
metadata-evalN/A
remove-double-negN/A
lift-sqrt.f64N/A
sqrt-undivN/A
lift-/.f64N/A
inv-powN/A
pow-flipN/A
metadata-evalN/A
unpow1N/A
rem-square-sqrtN/A
lift-sqrt.f64N/A
lift-sqrt.f64N/A
rem-sqrt-square-revN/A
lift-sqrt.f64N/A
sqrt-fabs-revN/A
lift-sqrt.f64100.0%
Applied rewrites100.0%
herbie shell --seed 1
(FPCore (x)
:name "x*1/sqrt(x)"
:precision binary64
:pre (and (<= 1.0 x) (<= x 1000000000.0))
(/ (* x 1.0) (sqrt x)))