9 \cdot {x}^{4} - \left(y \cdot y\right) \cdot \left(y \cdot y - 2\right)\mathsf{fma}\left({y}^{2}, 2, \mathsf{fma}\left(\sqrt{9}, \sqrt{{x}^{4}}, \sqrt{{y}^{4}}\right) \cdot \left(\sqrt{9} \cdot \sqrt{{x}^{4}} - \sqrt{{y}^{4}}\right)\right)double code(double x, double y) {
return ((double) (((double) (9.0 * ((double) pow(x, 4.0)))) - ((double) (((double) (y * y)) * ((double) (((double) (y * y)) - 2.0))))));
}
double code(double x, double y) {
return ((double) fma(((double) pow(y, 2.0)), 2.0, ((double) (((double) fma(((double) sqrt(9.0)), ((double) sqrt(((double) pow(x, 4.0)))), ((double) sqrt(((double) pow(y, 4.0)))))) * ((double) (((double) (((double) sqrt(9.0)) * ((double) sqrt(((double) pow(x, 4.0)))))) - ((double) sqrt(((double) pow(y, 4.0))))))))));
}
Results
Initial program 62.0
Taylor expanded around 0 62.0
Simplified52.0
rmApplied add-sqr-sqrt52.0
Applied add-sqr-sqrt52.0
Applied add-sqr-sqrt52.0
Applied unswap-sqr52.0
Applied difference-of-squares0
Simplified0
Final simplification0
herbie shell --seed 2020114 +o rules:numerics
(FPCore (x y)
:name "From Rump in a 1983 paper, rewritten"
:precision binary64
:pre (and (== x 10864) (== y 18817))
(- (* 9 (pow x 4)) (* (* y y) (- (* y y) 2))))