Average Error: 58.1 → 58.1
Time: 18.5s
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 r35824 = 333.75;
        double r35825 = 33096.0;
        double r35826 = 6.0;
        double r35827 = pow(r35825, r35826);
        double r35828 = r35824 * r35827;
        double r35829 = 77617.0;
        double r35830 = r35829 * r35829;
        double r35831 = 11.0;
        double r35832 = r35831 * r35830;
        double r35833 = r35825 * r35825;
        double r35834 = r35832 * r35833;
        double r35835 = -r35827;
        double r35836 = r35834 + r35835;
        double r35837 = -121.0;
        double r35838 = 4.0;
        double r35839 = pow(r35825, r35838);
        double r35840 = r35837 * r35839;
        double r35841 = r35836 + r35840;
        double r35842 = -2.0;
        double r35843 = r35841 + r35842;
        double r35844 = r35830 * r35843;
        double r35845 = r35828 + r35844;
        double r35846 = 5.5;
        double r35847 = 8.0;
        double r35848 = pow(r35825, r35847);
        double r35849 = r35846 * r35848;
        double r35850 = r35845 + r35849;
        double r35851 = 2.0;
        double r35852 = r35851 * r35825;
        double r35853 = r35829 / r35852;
        double r35854 = r35850 + r35853;
        return r35854;
}

double f() {
        double r35855 = 77617.0;
        double r35856 = r35855 * r35855;
        double r35857 = -2.0;
        double r35858 = -121.0;
        double r35859 = 33096.0;
        double r35860 = 4.0;
        double r35861 = pow(r35859, r35860);
        double r35862 = 11.0;
        double r35863 = r35862 * r35856;
        double r35864 = r35859 * r35859;
        double r35865 = r35863 * r35864;
        double r35866 = 6.0;
        double r35867 = pow(r35859, r35866);
        double r35868 = r35865 - r35867;
        double r35869 = fma(r35858, r35861, r35868);
        double r35870 = r35857 + r35869;
        double r35871 = 333.75;
        double r35872 = 5.5;
        double r35873 = 8.0;
        double r35874 = pow(r35859, r35873);
        double r35875 = 2.0;
        double r35876 = r35875 * r35859;
        double r35877 = r35855 / r35876;
        double r35878 = fma(r35872, r35874, r35877);
        double r35879 = fma(r35867, r35871, r35878);
        double r35880 = fma(r35856, r35870, r35879);
        return r35880;
}

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