Average Error: 0.2 → 0.0
Time: 7.8s
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(1 \cdot {\left(\sqrt{a \cdot a + b \cdot b}\right)}^{\left(2 \cdot 2\right)} + 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(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(1 \cdot {\left(\sqrt{a \cdot a + b \cdot b}\right)}^{\left(2 \cdot 2\right)} + 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
double f(double a, double b) {
        double r198518 = a;
        double r198519 = r198518 * r198518;
        double r198520 = b;
        double r198521 = r198520 * r198520;
        double r198522 = r198519 + r198521;
        double r198523 = 2.0;
        double r198524 = pow(r198522, r198523);
        double r198525 = 4.0;
        double r198526 = 1.0;
        double r198527 = r198526 + r198518;
        double r198528 = r198519 * r198527;
        double r198529 = 3.0;
        double r198530 = r198529 * r198518;
        double r198531 = r198526 - r198530;
        double r198532 = r198521 * r198531;
        double r198533 = r198528 + r198532;
        double r198534 = r198525 * r198533;
        double r198535 = r198524 + r198534;
        double r198536 = r198535 - r198526;
        return r198536;
}

double f(double a, double b) {
        double r198537 = 1.0;
        double r198538 = a;
        double r198539 = r198538 * r198538;
        double r198540 = b;
        double r198541 = r198540 * r198540;
        double r198542 = r198539 + r198541;
        double r198543 = sqrt(r198542);
        double r198544 = 2.0;
        double r198545 = 2.0;
        double r198546 = r198544 * r198545;
        double r198547 = pow(r198543, r198546);
        double r198548 = r198537 * r198547;
        double r198549 = 4.0;
        double r198550 = 1.0;
        double r198551 = r198550 + r198538;
        double r198552 = r198539 * r198551;
        double r198553 = 3.0;
        double r198554 = r198553 * r198538;
        double r198555 = r198550 - r198554;
        double r198556 = r198541 * r198555;
        double r198557 = r198552 + r198556;
        double r198558 = r198549 * r198557;
        double r198559 = r198548 + r198558;
        double r198560 = r198559 - r198550;
        return r198560;
}

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. Using strategy rm
  3. Applied add-sqr-sqrt0.2

    \[\leadsto \left({\color{blue}{\left(\sqrt{a \cdot a + b \cdot b} \cdot \sqrt{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\]
  4. Applied unpow-prod-down0.2

    \[\leadsto \left(\color{blue}{{\left(\sqrt{a \cdot a + b \cdot b}\right)}^{2} \cdot {\left(\sqrt{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\]
  5. Using strategy rm
  6. Applied *-un-lft-identity0.2

    \[\leadsto \left({\left(\sqrt{a \cdot a + b \cdot b}\right)}^{2} \cdot {\left(\sqrt{\color{blue}{1 \cdot \left(a \cdot a + b \cdot b\right)}}\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\]
  7. Applied sqrt-prod0.2

    \[\leadsto \left({\left(\sqrt{a \cdot a + b \cdot b}\right)}^{2} \cdot {\color{blue}{\left(\sqrt{1} \cdot \sqrt{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\]
  8. Applied unpow-prod-down0.2

    \[\leadsto \left({\left(\sqrt{a \cdot a + b \cdot b}\right)}^{2} \cdot \color{blue}{\left({\left(\sqrt{1}\right)}^{2} \cdot {\left(\sqrt{a \cdot a + b \cdot b}\right)}^{2}\right)} + 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\]
  9. Applied *-un-lft-identity0.2

    \[\leadsto \left({\left(\sqrt{\color{blue}{1 \cdot \left(a \cdot a + b \cdot b\right)}}\right)}^{2} \cdot \left({\left(\sqrt{1}\right)}^{2} \cdot {\left(\sqrt{a \cdot a + b \cdot b}\right)}^{2}\right) + 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\]
  10. Applied sqrt-prod0.2

    \[\leadsto \left({\color{blue}{\left(\sqrt{1} \cdot \sqrt{a \cdot a + b \cdot b}\right)}}^{2} \cdot \left({\left(\sqrt{1}\right)}^{2} \cdot {\left(\sqrt{a \cdot a + b \cdot b}\right)}^{2}\right) + 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\]
  11. Applied unpow-prod-down0.2

    \[\leadsto \left(\color{blue}{\left({\left(\sqrt{1}\right)}^{2} \cdot {\left(\sqrt{a \cdot a + b \cdot b}\right)}^{2}\right)} \cdot \left({\left(\sqrt{1}\right)}^{2} \cdot {\left(\sqrt{a \cdot a + b \cdot b}\right)}^{2}\right) + 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\]
  12. Applied swap-sqr0.2

    \[\leadsto \left(\color{blue}{\left({\left(\sqrt{1}\right)}^{2} \cdot {\left(\sqrt{1}\right)}^{2}\right) \cdot \left({\left(\sqrt{a \cdot a + b \cdot b}\right)}^{2} \cdot {\left(\sqrt{a \cdot a + b \cdot b}\right)}^{2}\right)} + 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\]
  13. Simplified0.2

    \[\leadsto \left(\color{blue}{1} \cdot \left({\left(\sqrt{a \cdot a + b \cdot b}\right)}^{2} \cdot {\left(\sqrt{a \cdot a + b \cdot b}\right)}^{2}\right) + 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\]
  14. Simplified0.0

    \[\leadsto \left(1 \cdot \color{blue}{{\left(\sqrt{a \cdot a + b \cdot b}\right)}^{\left(2 \cdot 2\right)}} + 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\]
  15. Final simplification0.0

    \[\leadsto \left(1 \cdot {\left(\sqrt{a \cdot a + b \cdot b}\right)}^{\left(2 \cdot 2\right)} + 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\]

Reproduce

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