Average Error: 58.1 → 58.1
Time: 18.2s
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 r13031 = 333.75;
        double r13032 = 33096.0;
        double r13033 = 6.0;
        double r13034 = pow(r13032, r13033);
        double r13035 = r13031 * r13034;
        double r13036 = 77617.0;
        double r13037 = r13036 * r13036;
        double r13038 = 11.0;
        double r13039 = r13038 * r13037;
        double r13040 = r13032 * r13032;
        double r13041 = r13039 * r13040;
        double r13042 = -r13034;
        double r13043 = r13041 + r13042;
        double r13044 = -121.0;
        double r13045 = 4.0;
        double r13046 = pow(r13032, r13045);
        double r13047 = r13044 * r13046;
        double r13048 = r13043 + r13047;
        double r13049 = -2.0;
        double r13050 = r13048 + r13049;
        double r13051 = r13037 * r13050;
        double r13052 = r13035 + r13051;
        double r13053 = 5.5;
        double r13054 = 8.0;
        double r13055 = pow(r13032, r13054);
        double r13056 = r13053 * r13055;
        double r13057 = r13052 + r13056;
        double r13058 = 2.0;
        double r13059 = r13058 * r13032;
        double r13060 = r13036 / r13059;
        double r13061 = r13057 + r13060;
        return r13061;
}

double f() {
        double r13062 = 77617.0;
        double r13063 = r13062 * r13062;
        double r13064 = -2.0;
        double r13065 = -121.0;
        double r13066 = 33096.0;
        double r13067 = 4.0;
        double r13068 = pow(r13066, r13067);
        double r13069 = 11.0;
        double r13070 = r13069 * r13063;
        double r13071 = r13066 * r13066;
        double r13072 = r13070 * r13071;
        double r13073 = 6.0;
        double r13074 = pow(r13066, r13073);
        double r13075 = r13072 - r13074;
        double r13076 = fma(r13065, r13068, r13075);
        double r13077 = r13064 + r13076;
        double r13078 = 333.75;
        double r13079 = 5.5;
        double r13080 = 8.0;
        double r13081 = pow(r13066, r13080);
        double r13082 = 2.0;
        double r13083 = r13082 * r13066;
        double r13084 = r13062 / r13083;
        double r13085 = fma(r13079, r13081, r13084);
        double r13086 = fma(r13074, r13078, r13085);
        double r13087 = fma(r13063, r13077, r13086);
        return r13087;
}

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 2019310 +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))))