Average Error: 0.2 → 1.0
Time: 20.8s
Precision: 64
\[\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 1\]
\[\left({a}^{4} + \left(b \cdot \left(b \cdot b + \left(a \cdot a\right) \cdot 2\right)\right) \cdot b\right) - 1\]
\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 1
\left({a}^{4} + \left(b \cdot \left(b \cdot b + \left(a \cdot a\right) \cdot 2\right)\right) \cdot b\right) - 1
double f(double a, double b) {
        double r8017092 = a;
        double r8017093 = r8017092 * r8017092;
        double r8017094 = b;
        double r8017095 = r8017094 * r8017094;
        double r8017096 = r8017093 + r8017095;
        double r8017097 = 2.0;
        double r8017098 = pow(r8017096, r8017097);
        double r8017099 = 4.0;
        double r8017100 = r8017099 * r8017095;
        double r8017101 = r8017098 + r8017100;
        double r8017102 = 1.0;
        double r8017103 = r8017101 - r8017102;
        return r8017103;
}

double f(double a, double b) {
        double r8017104 = a;
        double r8017105 = 4.0;
        double r8017106 = pow(r8017104, r8017105);
        double r8017107 = b;
        double r8017108 = r8017107 * r8017107;
        double r8017109 = r8017104 * r8017104;
        double r8017110 = 2.0;
        double r8017111 = r8017109 * r8017110;
        double r8017112 = r8017108 + r8017111;
        double r8017113 = r8017107 * r8017112;
        double r8017114 = r8017113 * r8017107;
        double r8017115 = r8017106 + r8017114;
        double r8017116 = 1.0;
        double r8017117 = r8017115 - r8017116;
        return r8017117;
}

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 inf 1.0

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

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

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

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

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

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

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

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

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

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

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

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

Reproduce

herbie shell --seed 2019169 
(FPCore (a b)
  :name "Bouland and Aaronson, Equation (26)"
  (- (+ (pow (+ (* a a) (* b b)) 2.0) (* 4.0 (* b b))) 1.0))