(FPCore (x y) :precision binary64 (- (* 9.0 (pow x 4.0)) (* (* y y) (- (* y y) 2.0))))
(FPCore (x y) :precision binary64 (let* ((t_0 (* (* x x) 3.0))) (- (* (+ t_0 (* y y)) (- t_0 (* y y))) (* (* y y) -2.0))))
double code(double x, double y) {
return (9.0 * pow(x, 4.0)) - ((y * y) * ((y * y) - 2.0));
}
double code(double x, double y) {
double t_0 = (x * x) * 3.0;
return ((t_0 + (y * y)) * (t_0 - (y * y))) - ((y * y) * -2.0);
}
real(8) function code(x, y)
real(8), intent (in) :: x
real(8), intent (in) :: y
code = (9.0d0 * (x ** 4.0d0)) - ((y * y) * ((y * y) - 2.0d0))
end function
real(8) function code(x, y)
real(8), intent (in) :: x
real(8), intent (in) :: y
real(8) :: t_0
t_0 = (x * x) * 3.0d0
code = ((t_0 + (y * y)) * (t_0 - (y * y))) - ((y * y) * (-2.0d0))
end function
public static double code(double x, double y) {
return (9.0 * Math.pow(x, 4.0)) - ((y * y) * ((y * y) - 2.0));
}
public static double code(double x, double y) {
double t_0 = (x * x) * 3.0;
return ((t_0 + (y * y)) * (t_0 - (y * y))) - ((y * y) * -2.0);
}
def code(x, y): return (9.0 * math.pow(x, 4.0)) - ((y * y) * ((y * y) - 2.0))
def code(x, y): t_0 = (x * x) * 3.0 return ((t_0 + (y * y)) * (t_0 - (y * y))) - ((y * y) * -2.0)
function code(x, y) return Float64(Float64(9.0 * (x ^ 4.0)) - Float64(Float64(y * y) * Float64(Float64(y * y) - 2.0))) end
function code(x, y) t_0 = Float64(Float64(x * x) * 3.0) return Float64(Float64(Float64(t_0 + Float64(y * y)) * Float64(t_0 - Float64(y * y))) - Float64(Float64(y * y) * -2.0)) end
function tmp = code(x, y) tmp = (9.0 * (x ^ 4.0)) - ((y * y) * ((y * y) - 2.0)); end
function tmp = code(x, y) t_0 = (x * x) * 3.0; tmp = ((t_0 + (y * y)) * (t_0 - (y * y))) - ((y * y) * -2.0); end
code[x_, y_] := N[(N[(9.0 * N[Power[x, 4.0], $MachinePrecision]), $MachinePrecision] - N[(N[(y * y), $MachinePrecision] * N[(N[(y * y), $MachinePrecision] - 2.0), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
code[x_, y_] := Block[{t$95$0 = N[(N[(x * x), $MachinePrecision] * 3.0), $MachinePrecision]}, N[(N[(N[(t$95$0 + N[(y * y), $MachinePrecision]), $MachinePrecision] * N[(t$95$0 - N[(y * y), $MachinePrecision]), $MachinePrecision]), $MachinePrecision] - N[(N[(y * y), $MachinePrecision] * -2.0), $MachinePrecision]), $MachinePrecision]]
9 \cdot {x}^{4} - \left(y \cdot y\right) \cdot \left(y \cdot y - 2\right)
\begin{array}{l}
t_0 := \left(x \cdot x\right) \cdot 3\\
\left(t_0 + y \cdot y\right) \cdot \left(t_0 - y \cdot y\right) - \left(y \cdot y\right) \cdot -2
\end{array}
Results
Initial program 62.0
Applied egg-rr52.0
Applied egg-rr0
herbie shell --seed 2023010
(FPCore (x y)
:name "From Rump in a 1983 paper, rewritten"
:precision binary64
:pre (and (== x 10864.0) (== y 18817.0))
(- (* 9.0 (pow x 4.0)) (* (* y y) (- (* y y) 2.0))))