Average Error: 58.1 → 58.1
Time: 16.7s
Precision: 64
\[\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, -2 + \mathsf{fma}\left(-121, {33096}^{4}, \left(11 \cdot \left(77617 \cdot 77617\right)\right) \cdot \left(33096 \cdot 33096\right) - {33096}^{6}\right), \mathsf{fma}\left({33096}^{6}, 333.75, \mathsf{fma}\left(5.5, {33096}^{8}, \frac{77617}{2 \cdot 33096}\right)\right)\right)\]
\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, -2 + \mathsf{fma}\left(-121, {33096}^{4}, \left(11 \cdot \left(77617 \cdot 77617\right)\right) \cdot \left(33096 \cdot 33096\right) - {33096}^{6}\right), \mathsf{fma}\left({33096}^{6}, 333.75, \mathsf{fma}\left(5.5, {33096}^{8}, \frac{77617}{2 \cdot 33096}\right)\right)\right)
double f() {
        double r36339 = 333.75;
        double r36340 = 33096.0;
        double r36341 = 6.0;
        double r36342 = pow(r36340, r36341);
        double r36343 = r36339 * r36342;
        double r36344 = 77617.0;
        double r36345 = r36344 * r36344;
        double r36346 = 11.0;
        double r36347 = r36346 * r36345;
        double r36348 = r36340 * r36340;
        double r36349 = r36347 * r36348;
        double r36350 = -r36342;
        double r36351 = r36349 + r36350;
        double r36352 = -121.0;
        double r36353 = 4.0;
        double r36354 = pow(r36340, r36353);
        double r36355 = r36352 * r36354;
        double r36356 = r36351 + r36355;
        double r36357 = -2.0;
        double r36358 = r36356 + r36357;
        double r36359 = r36345 * r36358;
        double r36360 = r36343 + r36359;
        double r36361 = 5.5;
        double r36362 = 8.0;
        double r36363 = pow(r36340, r36362);
        double r36364 = r36361 * r36363;
        double r36365 = r36360 + r36364;
        double r36366 = 2.0;
        double r36367 = r36366 * r36340;
        double r36368 = r36344 / r36367;
        double r36369 = r36365 + r36368;
        return r36369;
}

double f() {
        double r36370 = 77617.0;
        double r36371 = r36370 * r36370;
        double r36372 = -2.0;
        double r36373 = -121.0;
        double r36374 = 33096.0;
        double r36375 = 4.0;
        double r36376 = pow(r36374, r36375);
        double r36377 = 11.0;
        double r36378 = r36377 * r36371;
        double r36379 = r36374 * r36374;
        double r36380 = r36378 * r36379;
        double r36381 = 6.0;
        double r36382 = pow(r36374, r36381);
        double r36383 = r36380 - r36382;
        double r36384 = fma(r36373, r36376, r36383);
        double r36385 = r36372 + r36384;
        double r36386 = 333.75;
        double r36387 = 5.5;
        double r36388 = 8.0;
        double r36389 = pow(r36374, r36388);
        double r36390 = 2.0;
        double r36391 = r36390 * r36374;
        double r36392 = r36370 / r36391;
        double r36393 = fma(r36387, r36389, r36392);
        double r36394 = fma(r36382, r36386, r36393);
        double r36395 = fma(r36371, r36385, r36394);
        return r36395;
}

Error

Derivation

  1. Initial program 58.1

    \[\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}\]
  2. Using strategy rm
  3. Applied *-un-lft-identity58.1

    \[\leadsto \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) + \color{blue}{1 \cdot \frac{77617}{2 \cdot 33096}}\]
  4. Applied *-un-lft-identity58.1

    \[\leadsto \color{blue}{1 \cdot \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)} + 1 \cdot \frac{77617}{2 \cdot 33096}\]
  5. Applied distribute-lft-out58.1

    \[\leadsto \color{blue}{1 \cdot \left(\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}\right)}\]
  6. Simplified58.1

    \[\leadsto 1 \cdot \color{blue}{\mathsf{fma}\left(77617 \cdot 77617, -2 + \mathsf{fma}\left(-121, {33096}^{4}, \left(11 \cdot \left(77617 \cdot 77617\right)\right) \cdot \left(33096 \cdot 33096\right) - {33096}^{6}\right), \mathsf{fma}\left({33096}^{6}, 333.75, \mathsf{fma}\left(5.5, {33096}^{8}, \frac{77617}{2 \cdot 33096}\right)\right)\right)}\]
  7. Final simplification58.1

    \[\leadsto \mathsf{fma}\left(77617 \cdot 77617, -2 + \mathsf{fma}\left(-121, {33096}^{4}, \left(11 \cdot \left(77617 \cdot 77617\right)\right) \cdot \left(33096 \cdot 33096\right) - {33096}^{6}\right), \mathsf{fma}\left({33096}^{6}, 333.75, \mathsf{fma}\left(5.5, {33096}^{8}, \frac{77617}{2 \cdot 33096}\right)\right)\right)\]

Reproduce

herbie shell --seed 2019323 +o rules:numerics
(FPCore ()
  :name "From Warwick Tucker's Validated Numerics"
  :precision binary64
  (+ (+ (+ (* 333.75 (pow 33096 6)) (* (* 77617 77617) (+ (+ (+ (* (* 11 (* 77617 77617)) (* 33096 33096)) (- (pow 33096 6))) (* -121 (pow 33096 4))) -2))) (* 5.5 (pow 33096 8))) (/ 77617 (* 2 33096))))