\left(\left(333.75 \cdot {y}^{6} + \left(x \cdot x\right) \cdot \left(\left(\left(\left(\left(\left(11 \cdot x\right) \cdot x\right) \cdot y\right) \cdot y - {y}^{6}\right) - 121 \cdot {y}^{4}\right) - 2\right)\right) + 5.5 \cdot {y}^{8}\right) + \frac{x}{2 \cdot y}0.5 \cdot \frac{x}{y} - 2 \cdot \left(x \cdot x\right)double f(double x, double y) {
double r1341707 = 333.75;
double r1341708 = y;
double r1341709 = 6.0;
double r1341710 = pow(r1341708, r1341709);
double r1341711 = r1341707 * r1341710;
double r1341712 = x;
double r1341713 = r1341712 * r1341712;
double r1341714 = 11.0;
double r1341715 = r1341714 * r1341712;
double r1341716 = r1341715 * r1341712;
double r1341717 = r1341716 * r1341708;
double r1341718 = r1341717 * r1341708;
double r1341719 = r1341718 - r1341710;
double r1341720 = 121.0;
double r1341721 = 4.0;
double r1341722 = pow(r1341708, r1341721);
double r1341723 = r1341720 * r1341722;
double r1341724 = r1341719 - r1341723;
double r1341725 = 2.0;
double r1341726 = r1341724 - r1341725;
double r1341727 = r1341713 * r1341726;
double r1341728 = r1341711 + r1341727;
double r1341729 = 5.5;
double r1341730 = 8.0;
double r1341731 = pow(r1341708, r1341730);
double r1341732 = r1341729 * r1341731;
double r1341733 = r1341728 + r1341732;
double r1341734 = r1341725 * r1341708;
double r1341735 = r1341712 / r1341734;
double r1341736 = r1341733 + r1341735;
return r1341736;
}
double f(double x, double y) {
double r1341737 = 0.5;
double r1341738 = x;
double r1341739 = y;
double r1341740 = r1341738 / r1341739;
double r1341741 = r1341737 * r1341740;
double r1341742 = 2.0;
double r1341743 = r1341738 * r1341738;
double r1341744 = r1341742 * r1341743;
double r1341745 = r1341741 - r1341744;
return r1341745;
}
Results
Initial program 58.1
Simplified58.1
Taylor expanded around 0 57.1
Simplified57.1
Final simplification57.1
herbie shell --seed 2019174
(FPCore (x y)
:name "Rump's expression from Stadtherr's award speech"
:pre (and (== x 77617.0) (== y 33096.0))
(+ (+ (+ (* 333.75 (pow y 6.0)) (* (* x x) (- (- (- (* (* (* (* 11.0 x) x) y) y) (pow y 6.0)) (* 121.0 (pow y 4.0))) 2.0))) (* 5.5 (pow y 8.0))) (/ x (* 2.0 y))))