Average Error: 0.2 → 0.2
Time: 5.1s
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({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(\left(\sqrt[3]{\left(a \cdot a\right) \cdot \left(1 - a\right)} \cdot \sqrt[3]{\left(a \cdot a\right) \cdot \left(1 - a\right)}\right) \cdot \sqrt[3]{\left(a \cdot a\right) \cdot \left(1 - a\right)} + \left(b \cdot b\right) \cdot \left(3 + a\right)\right)\right) - 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(3 + a\right)\right)\right) - 1
\left({\left(a \cdot a + b \cdot b\right)}^{2} + 4 \cdot \left(\left(\sqrt[3]{\left(a \cdot a\right) \cdot \left(1 - a\right)} \cdot \sqrt[3]{\left(a \cdot a\right) \cdot \left(1 - a\right)}\right) \cdot \sqrt[3]{\left(a \cdot a\right) \cdot \left(1 - a\right)} + \left(b \cdot b\right) \cdot \left(3 + a\right)\right)\right) - 1
double f(double a, double b) {
        double r305086 = a;
        double r305087 = r305086 * r305086;
        double r305088 = b;
        double r305089 = r305088 * r305088;
        double r305090 = r305087 + r305089;
        double r305091 = 2.0;
        double r305092 = pow(r305090, r305091);
        double r305093 = 4.0;
        double r305094 = 1.0;
        double r305095 = r305094 - r305086;
        double r305096 = r305087 * r305095;
        double r305097 = 3.0;
        double r305098 = r305097 + r305086;
        double r305099 = r305089 * r305098;
        double r305100 = r305096 + r305099;
        double r305101 = r305093 * r305100;
        double r305102 = r305092 + r305101;
        double r305103 = r305102 - r305094;
        return r305103;
}

double f(double a, double b) {
        double r305104 = a;
        double r305105 = r305104 * r305104;
        double r305106 = b;
        double r305107 = r305106 * r305106;
        double r305108 = r305105 + r305107;
        double r305109 = 2.0;
        double r305110 = pow(r305108, r305109);
        double r305111 = 4.0;
        double r305112 = 1.0;
        double r305113 = r305112 - r305104;
        double r305114 = r305105 * r305113;
        double r305115 = cbrt(r305114);
        double r305116 = r305115 * r305115;
        double r305117 = r305116 * r305115;
        double r305118 = 3.0;
        double r305119 = r305118 + r305104;
        double r305120 = r305107 * r305119;
        double r305121 = r305117 + r305120;
        double r305122 = r305111 * r305121;
        double r305123 = r305110 + r305122;
        double r305124 = r305123 - r305112;
        return r305124;
}

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 add-cube-cbrt0.2

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

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

Reproduce

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