Average Error: 0.2 → 0.2
Time: 48.2s
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 r10608662 = a;
        double r10608663 = r10608662 * r10608662;
        double r10608664 = b;
        double r10608665 = r10608664 * r10608664;
        double r10608666 = r10608663 + r10608665;
        double r10608667 = 2.0;
        double r10608668 = pow(r10608666, r10608667);
        double r10608669 = 4.0;
        double r10608670 = 1.0;
        double r10608671 = r10608670 + r10608662;
        double r10608672 = r10608663 * r10608671;
        double r10608673 = 3.0;
        double r10608674 = r10608673 * r10608662;
        double r10608675 = r10608670 - r10608674;
        double r10608676 = r10608665 * r10608675;
        double r10608677 = r10608672 + r10608676;
        double r10608678 = r10608669 * r10608677;
        double r10608679 = r10608668 + r10608678;
        double r10608680 = r10608679 - r10608670;
        return r10608680;
}

double f(double a, double b) {
        double r10608681 = a;
        double r10608682 = r10608681 * r10608681;
        double r10608683 = b;
        double r10608684 = r10608683 * r10608683;
        double r10608685 = r10608682 + r10608684;
        double r10608686 = 2.0;
        double r10608687 = pow(r10608685, r10608686);
        double r10608688 = 1.0;
        double r10608689 = r10608681 + r10608688;
        double r10608690 = r10608682 * r10608689;
        double r10608691 = 3.0;
        double r10608692 = r10608691 * r10608681;
        double r10608693 = r10608688 - r10608692;
        double r10608694 = r10608684 * r10608693;
        double r10608695 = r10608690 + r10608694;
        double r10608696 = 4.0;
        double r10608697 = r10608695 * r10608696;
        double r10608698 = r10608687 + r10608697;
        double r10608699 = sqrt(r10608698);
        double r10608700 = r10608699 * r10608699;
        double r10608701 = r10608700 - r10608688;
        return r10608701;
}

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 2019168 
(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))