Average Error: 58.1 → 58.1
Time: 18.1s
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 r60031 = 333.75;
        double r60032 = 33096.0;
        double r60033 = 6.0;
        double r60034 = pow(r60032, r60033);
        double r60035 = r60031 * r60034;
        double r60036 = 77617.0;
        double r60037 = r60036 * r60036;
        double r60038 = 11.0;
        double r60039 = r60038 * r60037;
        double r60040 = r60032 * r60032;
        double r60041 = r60039 * r60040;
        double r60042 = -r60034;
        double r60043 = r60041 + r60042;
        double r60044 = -121.0;
        double r60045 = 4.0;
        double r60046 = pow(r60032, r60045);
        double r60047 = r60044 * r60046;
        double r60048 = r60043 + r60047;
        double r60049 = -2.0;
        double r60050 = r60048 + r60049;
        double r60051 = r60037 * r60050;
        double r60052 = r60035 + r60051;
        double r60053 = 5.5;
        double r60054 = 8.0;
        double r60055 = pow(r60032, r60054);
        double r60056 = r60053 * r60055;
        double r60057 = r60052 + r60056;
        double r60058 = 2.0;
        double r60059 = r60058 * r60032;
        double r60060 = r60036 / r60059;
        double r60061 = r60057 + r60060;
        return r60061;
}

double f() {
        double r60062 = 77617.0;
        double r60063 = r60062 * r60062;
        double r60064 = -2.0;
        double r60065 = -121.0;
        double r60066 = 33096.0;
        double r60067 = 4.0;
        double r60068 = pow(r60066, r60067);
        double r60069 = 11.0;
        double r60070 = r60069 * r60063;
        double r60071 = r60066 * r60066;
        double r60072 = r60070 * r60071;
        double r60073 = 6.0;
        double r60074 = pow(r60066, r60073);
        double r60075 = r60072 - r60074;
        double r60076 = fma(r60065, r60068, r60075);
        double r60077 = r60064 + r60076;
        double r60078 = 333.75;
        double r60079 = 5.5;
        double r60080 = 8.0;
        double r60081 = pow(r60066, r60080);
        double r60082 = 2.0;
        double r60083 = r60082 * r60066;
        double r60084 = r60062 / r60083;
        double r60085 = fma(r60079, r60081, r60084);
        double r60086 = fma(r60074, r60078, r60085);
        double r60087 = fma(r60063, r60077, r60086);
        return r60087;
}

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