Average Error: 0.2 → 0.2
Time: 27.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(1 - 3 \cdot a\right)\right)\right) - 1\]
\[\sqrt{{\left(a \cdot a + b \cdot b\right)}^{2} + \left(\left(a \cdot a\right) \cdot \left(a + 1\right) + \left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)\right) \cdot 4} \cdot \sqrt{{\left(a \cdot a + b \cdot b\right)}^{2} + \left(\left(a \cdot a\right) \cdot \left(a + 1\right) + \left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)\right) \cdot 4} - 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
\sqrt{{\left(a \cdot a + b \cdot b\right)}^{2} + \left(\left(a \cdot a\right) \cdot \left(a + 1\right) + \left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)\right) \cdot 4} \cdot \sqrt{{\left(a \cdot a + b \cdot b\right)}^{2} + \left(\left(a \cdot a\right) \cdot \left(a + 1\right) + \left(b \cdot b\right) \cdot \left(1 - 3 \cdot a\right)\right) \cdot 4} - 1
double f(double a, double b) {
        double r13310659 = a;
        double r13310660 = r13310659 * r13310659;
        double r13310661 = b;
        double r13310662 = r13310661 * r13310661;
        double r13310663 = r13310660 + r13310662;
        double r13310664 = 2.0;
        double r13310665 = pow(r13310663, r13310664);
        double r13310666 = 4.0;
        double r13310667 = 1.0;
        double r13310668 = r13310667 + r13310659;
        double r13310669 = r13310660 * r13310668;
        double r13310670 = 3.0;
        double r13310671 = r13310670 * r13310659;
        double r13310672 = r13310667 - r13310671;
        double r13310673 = r13310662 * r13310672;
        double r13310674 = r13310669 + r13310673;
        double r13310675 = r13310666 * r13310674;
        double r13310676 = r13310665 + r13310675;
        double r13310677 = r13310676 - r13310667;
        return r13310677;
}

double f(double a, double b) {
        double r13310678 = a;
        double r13310679 = r13310678 * r13310678;
        double r13310680 = b;
        double r13310681 = r13310680 * r13310680;
        double r13310682 = r13310679 + r13310681;
        double r13310683 = 2.0;
        double r13310684 = pow(r13310682, r13310683);
        double r13310685 = 1.0;
        double r13310686 = r13310678 + r13310685;
        double r13310687 = r13310679 * r13310686;
        double r13310688 = 3.0;
        double r13310689 = r13310688 * r13310678;
        double r13310690 = r13310685 - r13310689;
        double r13310691 = r13310681 * r13310690;
        double r13310692 = r13310687 + r13310691;
        double r13310693 = 4.0;
        double r13310694 = r13310692 * r13310693;
        double r13310695 = r13310684 + r13310694;
        double r13310696 = sqrt(r13310695);
        double r13310697 = r13310696 * r13310696;
        double r13310698 = r13310697 - r13310685;
        return r13310698;
}

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 \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(1 - 3 \cdot 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(1 - 3 \cdot a\right)\right)}} - 1\]
  4. Final simplification0.2

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

Reproduce

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