Average Error: 0.2 → 0.2
Time: 17.4s
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(3 + a\right)\right)\right) - 1\]
\[\left(\sqrt{{\left(a \cdot a + b \cdot b\right)}^{2} + \left(\left(a + 3\right) \cdot \left(b \cdot b\right) + \left(a \cdot a\right) \cdot \left(1 - a\right)\right) \cdot 4} + 1\right) \cdot \left(\sqrt{\sqrt{{\left(a \cdot a + b \cdot b\right)}^{2} + \left(\left(a + 3\right) \cdot \left(b \cdot b\right) + \left(a \cdot a\right) \cdot \left(1 - a\right)\right) \cdot 4}} \cdot \sqrt{\sqrt{{\left(a \cdot a + b \cdot b\right)}^{2} + \left(\left(a + 3\right) \cdot \left(b \cdot b\right) + \left(a \cdot a\right) \cdot \left(1 - a\right)\right) \cdot 4}} - 1\right)\]
\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(3 + a\right)\right)\right) - 1
\left(\sqrt{{\left(a \cdot a + b \cdot b\right)}^{2} + \left(\left(a + 3\right) \cdot \left(b \cdot b\right) + \left(a \cdot a\right) \cdot \left(1 - a\right)\right) \cdot 4} + 1\right) \cdot \left(\sqrt{\sqrt{{\left(a \cdot a + b \cdot b\right)}^{2} + \left(\left(a + 3\right) \cdot \left(b \cdot b\right) + \left(a \cdot a\right) \cdot \left(1 - a\right)\right) \cdot 4}} \cdot \sqrt{\sqrt{{\left(a \cdot a + b \cdot b\right)}^{2} + \left(\left(a + 3\right) \cdot \left(b \cdot b\right) + \left(a \cdot a\right) \cdot \left(1 - a\right)\right) \cdot 4}} - 1\right)
double f(double a, double b) {
        double r10622387 = a;
        double r10622388 = r10622387 * r10622387;
        double r10622389 = b;
        double r10622390 = r10622389 * r10622389;
        double r10622391 = r10622388 + r10622390;
        double r10622392 = 2.0;
        double r10622393 = pow(r10622391, r10622392);
        double r10622394 = 4.0;
        double r10622395 = 1.0;
        double r10622396 = r10622395 - r10622387;
        double r10622397 = r10622388 * r10622396;
        double r10622398 = 3.0;
        double r10622399 = r10622398 + r10622387;
        double r10622400 = r10622390 * r10622399;
        double r10622401 = r10622397 + r10622400;
        double r10622402 = r10622394 * r10622401;
        double r10622403 = r10622393 + r10622402;
        double r10622404 = r10622403 - r10622395;
        return r10622404;
}

double f(double a, double b) {
        double r10622405 = a;
        double r10622406 = r10622405 * r10622405;
        double r10622407 = b;
        double r10622408 = r10622407 * r10622407;
        double r10622409 = r10622406 + r10622408;
        double r10622410 = 2.0;
        double r10622411 = pow(r10622409, r10622410);
        double r10622412 = 3.0;
        double r10622413 = r10622405 + r10622412;
        double r10622414 = r10622413 * r10622408;
        double r10622415 = 1.0;
        double r10622416 = r10622415 - r10622405;
        double r10622417 = r10622406 * r10622416;
        double r10622418 = r10622414 + r10622417;
        double r10622419 = 4.0;
        double r10622420 = r10622418 * r10622419;
        double r10622421 = r10622411 + r10622420;
        double r10622422 = sqrt(r10622421);
        double r10622423 = r10622422 + r10622415;
        double r10622424 = sqrt(r10622422);
        double r10622425 = r10622424 * r10622424;
        double r10622426 = r10622425 - r10622415;
        double r10622427 = r10622423 * r10622426;
        return r10622427;
}

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(3 + a\right)\right)\right) - 1\]
  2. Using strategy rm
  3. Applied *-un-lft-identity0.2

    \[\leadsto \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(3 + a\right)\right)\right) - \color{blue}{1 \cdot 1}\]
  4. Applied add-sqr-sqrt0.2

    \[\leadsto \color{blue}{\sqrt{{\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(3 + a\right)\right)} \cdot \sqrt{{\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(3 + a\right)\right)}} - 1 \cdot 1\]
  5. Applied difference-of-squares0.2

    \[\leadsto \color{blue}{\left(\sqrt{{\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(3 + a\right)\right)} + 1\right) \cdot \left(\sqrt{{\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(3 + a\right)\right)} - 1\right)}\]
  6. Using strategy rm
  7. Applied add-sqr-sqrt0.2

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

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

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

Reproduce

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