\left(\left(333.75 \cdot {33096}^{6} + \left(77617 \cdot 77617\right) \cdot \left(\left(\left(\left(11 \cdot \left(77617 \cdot 77617\right)\right) \cdot \left(33096 \cdot 33096\right) + \left(-{33096}^{6}\right)\right) + -121 \cdot {33096}^{4}\right) + -2\right)\right) + 5.5 \cdot {33096}^{8}\right) + \frac{77617}{2 \cdot 33096}\mathsf{fma}\left(77617 \cdot 77617, \mathsf{fma}\left(77617 \cdot 77617, \left(33096 \cdot 33096\right) \cdot 11, \mathsf{fma}\left({33096}^{4}, -121, -2 - {33096}^{6}\right)\right), \mathsf{fma}\left(333.75, {33096}^{6}, \mathsf{fma}\left({33096}^{8}, 5.5, \frac{\frac{77617}{33096}}{2}\right)\right)\right)double f() {
double r34550 = 333.75;
double r34551 = 33096.0;
double r34552 = 6.0;
double r34553 = pow(r34551, r34552);
double r34554 = r34550 * r34553;
double r34555 = 77617.0;
double r34556 = r34555 * r34555;
double r34557 = 11.0;
double r34558 = r34557 * r34556;
double r34559 = r34551 * r34551;
double r34560 = r34558 * r34559;
double r34561 = -r34553;
double r34562 = r34560 + r34561;
double r34563 = -121.0;
double r34564 = 4.0;
double r34565 = pow(r34551, r34564);
double r34566 = r34563 * r34565;
double r34567 = r34562 + r34566;
double r34568 = -2.0;
double r34569 = r34567 + r34568;
double r34570 = r34556 * r34569;
double r34571 = r34554 + r34570;
double r34572 = 5.5;
double r34573 = 8.0;
double r34574 = pow(r34551, r34573);
double r34575 = r34572 * r34574;
double r34576 = r34571 + r34575;
double r34577 = 2.0;
double r34578 = r34577 * r34551;
double r34579 = r34555 / r34578;
double r34580 = r34576 + r34579;
return r34580;
}
double f() {
double r34581 = 77617.0;
double r34582 = r34581 * r34581;
double r34583 = 33096.0;
double r34584 = r34583 * r34583;
double r34585 = 11.0;
double r34586 = r34584 * r34585;
double r34587 = 4.0;
double r34588 = pow(r34583, r34587);
double r34589 = -121.0;
double r34590 = -2.0;
double r34591 = 6.0;
double r34592 = pow(r34583, r34591);
double r34593 = r34590 - r34592;
double r34594 = fma(r34588, r34589, r34593);
double r34595 = fma(r34582, r34586, r34594);
double r34596 = 333.75;
double r34597 = 8.0;
double r34598 = pow(r34583, r34597);
double r34599 = 5.5;
double r34600 = r34581 / r34583;
double r34601 = 2.0;
double r34602 = r34600 / r34601;
double r34603 = fma(r34598, r34599, r34602);
double r34604 = fma(r34596, r34592, r34603);
double r34605 = fma(r34582, r34595, r34604);
return r34605;
}
Initial program 58.1
Simplified58.1
Final simplification58.1
herbie shell --seed 2019174 +o rules:numerics
(FPCore ()
:name "From Warwick Tucker's Validated Numerics"
(+ (+ (+ (* 333.75 (pow 33096.0 6.0)) (* (* 77617.0 77617.0) (+ (+ (+ (* (* 11.0 (* 77617.0 77617.0)) (* 33096.0 33096.0)) (- (pow 33096.0 6.0))) (* -121.0 (pow 33096.0 4.0))) -2.0))) (* 5.5 (pow 33096.0 8.0))) (/ 77617.0 (* 2.0 33096.0))))