Average Error: 0.2 → 0.2
Time: 4.3s
Precision: 64
\[\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 1\]
\[\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 1\]
\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 1
\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(b \cdot b\right)\right) - 1
double f(double a, double b) {
        double r264677 = a;
        double r264678 = r264677 * r264677;
        double r264679 = b;
        double r264680 = r264679 * r264679;
        double r264681 = r264678 + r264680;
        double r264682 = 2.0;
        double r264683 = pow(r264681, r264682);
        double r264684 = 4.0;
        double r264685 = r264684 * r264680;
        double r264686 = r264683 + r264685;
        double r264687 = 1.0;
        double r264688 = r264686 - r264687;
        return r264688;
}

double f(double a, double b) {
        double r264689 = a;
        double r264690 = r264689 * r264689;
        double r264691 = b;
        double r264692 = r264691 * r264691;
        double r264693 = r264690 + r264692;
        double r264694 = 2.0;
        double r264695 = pow(r264693, r264694);
        double r264696 = 4.0;
        double r264697 = r264696 * r264692;
        double r264698 = r264695 + r264697;
        double r264699 = 1.0;
        double r264700 = r264698 - r264699;
        return r264700;
}

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(b \cdot b\right)\right) - 1\]
  2. Final simplification0.2

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

Reproduce

herbie shell --seed 2019353 +o rules:numerics
(FPCore (a b)
  :name "Bouland and Aaronson, Equation (26)"
  :precision binary64
  (- (+ (pow (+ (* a a) (* b b)) 2) (* 4 (* b b))) 1))