Average Error: 0.2 → 0.1
Time: 18.1s
Precision: 64
\[\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 1\]
\[\left(\left(b \cdot b\right) \cdot 4 + \left(a \cdot \left(\left(\left(b \cdot b\right) \cdot 2 + a \cdot a\right) \cdot a\right) + {b}^{4}\right)\right) - 1\]
\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 1
\left(\left(b \cdot b\right) \cdot 4 + \left(a \cdot \left(\left(\left(b \cdot b\right) \cdot 2 + a \cdot a\right) \cdot a\right) + {b}^{4}\right)\right) - 1
double f(double a, double b) {
        double r8580118 = a;
        double r8580119 = r8580118 * r8580118;
        double r8580120 = b;
        double r8580121 = r8580120 * r8580120;
        double r8580122 = r8580119 + r8580121;
        double r8580123 = 2.0;
        double r8580124 = pow(r8580122, r8580123);
        double r8580125 = 4.0;
        double r8580126 = r8580125 * r8580121;
        double r8580127 = r8580124 + r8580126;
        double r8580128 = 1.0;
        double r8580129 = r8580127 - r8580128;
        return r8580129;
}

double f(double a, double b) {
        double r8580130 = b;
        double r8580131 = r8580130 * r8580130;
        double r8580132 = 4.0;
        double r8580133 = r8580131 * r8580132;
        double r8580134 = a;
        double r8580135 = 2.0;
        double r8580136 = r8580131 * r8580135;
        double r8580137 = r8580134 * r8580134;
        double r8580138 = r8580136 + r8580137;
        double r8580139 = r8580138 * r8580134;
        double r8580140 = r8580134 * r8580139;
        double r8580141 = pow(r8580130, r8580132);
        double r8580142 = r8580140 + r8580141;
        double r8580143 = r8580133 + r8580142;
        double r8580144 = 1.0;
        double r8580145 = r8580143 - r8580144;
        return r8580145;
}

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(b \cdot b\right)\right) - 1\]
  2. Taylor expanded around 0 0.0

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

    \[\leadsto \left(\color{blue}{\left(\left(b \cdot b\right) \cdot \left(b \cdot b\right) + \left(a \cdot a\right) \cdot \left(a \cdot a + \left(b \cdot b\right) \cdot 2\right)\right)} + 4 \cdot \left(b \cdot b\right)\right) - 1\]
  4. Using strategy rm
  5. Applied pow10.2

    \[\leadsto \left(\left(\left(b \cdot b\right) \cdot \left(b \cdot \color{blue}{{b}^{1}}\right) + \left(a \cdot a\right) \cdot \left(a \cdot a + \left(b \cdot b\right) \cdot 2\right)\right) + 4 \cdot \left(b \cdot b\right)\right) - 1\]
  6. Applied pow10.2

    \[\leadsto \left(\left(\left(b \cdot b\right) \cdot \left(\color{blue}{{b}^{1}} \cdot {b}^{1}\right) + \left(a \cdot a\right) \cdot \left(a \cdot a + \left(b \cdot b\right) \cdot 2\right)\right) + 4 \cdot \left(b \cdot b\right)\right) - 1\]
  7. Applied pow-prod-up0.2

    \[\leadsto \left(\left(\left(b \cdot b\right) \cdot \color{blue}{{b}^{\left(1 + 1\right)}} + \left(a \cdot a\right) \cdot \left(a \cdot a + \left(b \cdot b\right) \cdot 2\right)\right) + 4 \cdot \left(b \cdot b\right)\right) - 1\]
  8. Applied pow10.2

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

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

    \[\leadsto \left(\left(\color{blue}{{b}^{\left(1 + 1\right)}} \cdot {b}^{\left(1 + 1\right)} + \left(a \cdot a\right) \cdot \left(a \cdot a + \left(b \cdot b\right) \cdot 2\right)\right) + 4 \cdot \left(b \cdot b\right)\right) - 1\]
  11. Applied pow-prod-up0.1

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

    \[\leadsto \left(\left({b}^{\color{blue}{4}} + \left(a \cdot a\right) \cdot \left(a \cdot a + \left(b \cdot b\right) \cdot 2\right)\right) + 4 \cdot \left(b \cdot b\right)\right) - 1\]
  13. Using strategy rm
  14. Applied associate-*l*0.1

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

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

Reproduce

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