Average Error: 0.2 → 0.0
Time: 24.3s
Precision: 64
\[\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(\left(a \cdot a\right) \cdot \left(1 + a\right) + \left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)\right)\right) - 1\]
\[\left(\left(\left(a \cdot a\right) \cdot a + \left(b \cdot b + a \cdot a\right)\right) \cdot 4 + \left(-12 \cdot \left(\left(b \cdot b\right) \cdot a\right) + {\left(\sqrt{b \cdot b + a \cdot a}\right)}^{4}\right)\right) - 1\]
\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(\left(a \cdot a\right) \cdot \left(1 + a\right) + \left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)\right)\right) - 1
\left(\left(\left(a \cdot a\right) \cdot a + \left(b \cdot b + a \cdot a\right)\right) \cdot 4 + \left(-12 \cdot \left(\left(b \cdot b\right) \cdot a\right) + {\left(\sqrt{b \cdot b + a \cdot a}\right)}^{4}\right)\right) - 1
double f(double a, double b) {
        double r7790820 = a;
        double r7790821 = r7790820 * r7790820;
        double r7790822 = b;
        double r7790823 = r7790822 * r7790822;
        double r7790824 = r7790821 + r7790823;
        double r7790825 = 2.0;
        double r7790826 = pow(r7790824, r7790825);
        double r7790827 = 4.0;
        double r7790828 = 1.0;
        double r7790829 = r7790828 + r7790820;
        double r7790830 = r7790821 * r7790829;
        double r7790831 = 3.0;
        double r7790832 = r7790831 * r7790820;
        double r7790833 = r7790828 - r7790832;
        double r7790834 = r7790823 * r7790833;
        double r7790835 = r7790830 + r7790834;
        double r7790836 = r7790827 * r7790835;
        double r7790837 = r7790826 + r7790836;
        double r7790838 = r7790837 - r7790828;
        return r7790838;
}

double f(double a, double b) {
        double r7790839 = a;
        double r7790840 = r7790839 * r7790839;
        double r7790841 = r7790840 * r7790839;
        double r7790842 = b;
        double r7790843 = r7790842 * r7790842;
        double r7790844 = r7790843 + r7790840;
        double r7790845 = r7790841 + r7790844;
        double r7790846 = 4.0;
        double r7790847 = r7790845 * r7790846;
        double r7790848 = -12.0;
        double r7790849 = r7790843 * r7790839;
        double r7790850 = r7790848 * r7790849;
        double r7790851 = sqrt(r7790844);
        double r7790852 = pow(r7790851, r7790846);
        double r7790853 = r7790850 + r7790852;
        double r7790854 = r7790847 + r7790853;
        double r7790855 = 1.0;
        double r7790856 = r7790854 - r7790855;
        return r7790856;
}

Error

Bits error versus a

Bits error versus b

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.2

    \[\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(\left(a \cdot a\right) \cdot \left(1 + a\right) + \left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)\right)\right) - 1\]
  2. Simplified0.2

    \[\leadsto \color{blue}{\left(4 \cdot \left(\left(a \cdot a\right) \cdot a + \left(a \cdot a + b \cdot b\right)\right) + \left(\left(a \cdot a + b \cdot b\right) \cdot \left(a \cdot a + b \cdot b\right) + -12 \cdot \left(a \cdot \left(b \cdot b\right)\right)\right)\right) - 1}\]
  3. Using strategy rm
  4. Applied add-sqr-sqrt0.2

    \[\leadsto \left(4 \cdot \left(\left(a \cdot a\right) \cdot a + \left(a \cdot a + b \cdot b\right)\right) + \left(\color{blue}{\left(\sqrt{a \cdot a + b \cdot b} \cdot \sqrt{a \cdot a + b \cdot b}\right)} \cdot \left(a \cdot a + b \cdot b\right) + -12 \cdot \left(a \cdot \left(b \cdot b\right)\right)\right)\right) - 1\]
  5. Applied associate-*l*0.1

    \[\leadsto \left(4 \cdot \left(\left(a \cdot a\right) \cdot a + \left(a \cdot a + b \cdot b\right)\right) + \left(\color{blue}{\sqrt{a \cdot a + b \cdot b} \cdot \left(\sqrt{a \cdot a + b \cdot b} \cdot \left(a \cdot a + b \cdot b\right)\right)} + -12 \cdot \left(a \cdot \left(b \cdot b\right)\right)\right)\right) - 1\]
  6. Using strategy rm
  7. Applied add-sqr-sqrt0.1

    \[\leadsto \left(4 \cdot \left(\left(a \cdot a\right) \cdot a + \left(a \cdot a + b \cdot b\right)\right) + \left(\sqrt{a \cdot a + b \cdot b} \cdot \left(\sqrt{a \cdot a + b \cdot b} \cdot \color{blue}{\left(\sqrt{a \cdot a + b \cdot b} \cdot \sqrt{a \cdot a + b \cdot b}\right)}\right) + -12 \cdot \left(a \cdot \left(b \cdot b\right)\right)\right)\right) - 1\]
  8. Applied cube-unmult0.1

    \[\leadsto \left(4 \cdot \left(\left(a \cdot a\right) \cdot a + \left(a \cdot a + b \cdot b\right)\right) + \left(\sqrt{a \cdot a + b \cdot b} \cdot \color{blue}{{\left(\sqrt{a \cdot a + b \cdot b}\right)}^{3}} + -12 \cdot \left(a \cdot \left(b \cdot b\right)\right)\right)\right) - 1\]
  9. Applied pow10.1

    \[\leadsto \left(4 \cdot \left(\left(a \cdot a\right) \cdot a + \left(a \cdot a + b \cdot b\right)\right) + \left(\color{blue}{{\left(\sqrt{a \cdot a + b \cdot b}\right)}^{1}} \cdot {\left(\sqrt{a \cdot a + b \cdot b}\right)}^{3} + -12 \cdot \left(a \cdot \left(b \cdot b\right)\right)\right)\right) - 1\]
  10. Applied pow-prod-up0.0

    \[\leadsto \left(4 \cdot \left(\left(a \cdot a\right) \cdot a + \left(a \cdot a + b \cdot b\right)\right) + \left(\color{blue}{{\left(\sqrt{a \cdot a + b \cdot b}\right)}^{\left(1 + 3\right)}} + -12 \cdot \left(a \cdot \left(b \cdot b\right)\right)\right)\right) - 1\]
  11. Simplified0.0

    \[\leadsto \left(4 \cdot \left(\left(a \cdot a\right) \cdot a + \left(a \cdot a + b \cdot b\right)\right) + \left({\left(\sqrt{a \cdot a + b \cdot b}\right)}^{\color{blue}{4}} + -12 \cdot \left(a \cdot \left(b \cdot b\right)\right)\right)\right) - 1\]
  12. Final simplification0.0

    \[\leadsto \left(\left(\left(a \cdot a\right) \cdot a + \left(b \cdot b + a \cdot a\right)\right) \cdot 4 + \left(-12 \cdot \left(\left(b \cdot b\right) \cdot a\right) + {\left(\sqrt{b \cdot b + a \cdot a}\right)}^{4}\right)\right) - 1\]

Reproduce

herbie shell --seed 2019144 
(FPCore (a b)
  :name "Bouland and Aaronson, Equation (25)"
  (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (+ 1 a)) (* (* b b) (- 1 (* 3 a)))))) 1))