Average Error: 0.2 → 0.2
Time: 19.7s
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 r4242802 = a;
        double r4242803 = r4242802 * r4242802;
        double r4242804 = b;
        double r4242805 = r4242804 * r4242804;
        double r4242806 = r4242803 + r4242805;
        double r4242807 = 2.0;
        double r4242808 = pow(r4242806, r4242807);
        double r4242809 = 4.0;
        double r4242810 = 1.0;
        double r4242811 = r4242810 + r4242802;
        double r4242812 = r4242803 * r4242811;
        double r4242813 = 3.0;
        double r4242814 = r4242813 * r4242802;
        double r4242815 = r4242810 - r4242814;
        double r4242816 = r4242805 * r4242815;
        double r4242817 = r4242812 + r4242816;
        double r4242818 = r4242809 * r4242817;
        double r4242819 = r4242808 + r4242818;
        double r4242820 = r4242819 - r4242810;
        return r4242820;
}

double f(double a, double b) {
        double r4242821 = a;
        double r4242822 = r4242821 * r4242821;
        double r4242823 = b;
        double r4242824 = r4242823 * r4242823;
        double r4242825 = r4242822 + r4242824;
        double r4242826 = 2.0;
        double r4242827 = pow(r4242825, r4242826);
        double r4242828 = 1.0;
        double r4242829 = r4242821 + r4242828;
        double r4242830 = r4242822 * r4242829;
        double r4242831 = 3.0;
        double r4242832 = r4242831 * r4242821;
        double r4242833 = r4242828 - r4242832;
        double r4242834 = r4242824 * r4242833;
        double r4242835 = r4242830 + r4242834;
        double r4242836 = 4.0;
        double r4242837 = r4242835 * r4242836;
        double r4242838 = r4242827 + r4242837;
        double r4242839 = sqrt(r4242838);
        double r4242840 = r4242839 * r4242839;
        double r4242841 = r4242840 - r4242828;
        return r4242841;
}

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 2019155 
(FPCore (a b)
  :name "Bouland and Aaronson, Equation (25)"
  (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (+ (* (* a a) (+ 1 a)) (* (* b b) (- 1 (* 3 a)))))) 1))