Average Error: 0.5 → 0.5
Time: 1.0m
Precision: 64
\[\frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)\]
\[\left(\frac{\frac{\cos th}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt[3]{\sqrt{2}}}} \cdot \left(a1 \cdot a1\right)\right) \cdot \frac{1}{\sqrt{\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}}} + \left(a2 \cdot a2\right) \cdot \mathsf{log1p}\left(\mathsf{expm1}\left(\frac{\cos th}{\sqrt{2}}\right)\right)\]
\frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)
\left(\frac{\frac{\cos th}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt[3]{\sqrt{2}}}} \cdot \left(a1 \cdot a1\right)\right) \cdot \frac{1}{\sqrt{\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}}} + \left(a2 \cdot a2\right) \cdot \mathsf{log1p}\left(\mathsf{expm1}\left(\frac{\cos th}{\sqrt{2}}\right)\right)
double f(double a1, double a2, double th) {
        double r2385567 = th;
        double r2385568 = cos(r2385567);
        double r2385569 = 2.0;
        double r2385570 = sqrt(r2385569);
        double r2385571 = r2385568 / r2385570;
        double r2385572 = a1;
        double r2385573 = r2385572 * r2385572;
        double r2385574 = r2385571 * r2385573;
        double r2385575 = a2;
        double r2385576 = r2385575 * r2385575;
        double r2385577 = r2385571 * r2385576;
        double r2385578 = r2385574 + r2385577;
        return r2385578;
}

double f(double a1, double a2, double th) {
        double r2385579 = th;
        double r2385580 = cos(r2385579);
        double r2385581 = 2.0;
        double r2385582 = sqrt(r2385581);
        double r2385583 = sqrt(r2385582);
        double r2385584 = r2385580 / r2385583;
        double r2385585 = cbrt(r2385582);
        double r2385586 = sqrt(r2385585);
        double r2385587 = r2385584 / r2385586;
        double r2385588 = a1;
        double r2385589 = r2385588 * r2385588;
        double r2385590 = r2385587 * r2385589;
        double r2385591 = 1.0;
        double r2385592 = r2385585 * r2385585;
        double r2385593 = sqrt(r2385592);
        double r2385594 = r2385591 / r2385593;
        double r2385595 = r2385590 * r2385594;
        double r2385596 = a2;
        double r2385597 = r2385596 * r2385596;
        double r2385598 = r2385580 / r2385582;
        double r2385599 = expm1(r2385598);
        double r2385600 = log1p(r2385599);
        double r2385601 = r2385597 * r2385600;
        double r2385602 = r2385595 + r2385601;
        return r2385602;
}

Error

Bits error versus a1

Bits error versus a2

Bits error versus th

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.5

    \[\frac{\cos th}{\sqrt{2}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)\]
  2. Using strategy rm
  3. Applied add-sqr-sqrt0.5

    \[\leadsto \frac{\cos th}{\sqrt{\color{blue}{\sqrt{2} \cdot \sqrt{2}}}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)\]
  4. Applied sqrt-prod0.5

    \[\leadsto \frac{\cos th}{\color{blue}{\sqrt{\sqrt{2}} \cdot \sqrt{\sqrt{2}}}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)\]
  5. Applied associate-/r*0.5

    \[\leadsto \color{blue}{\frac{\frac{\cos th}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt{2}}}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)\]
  6. Using strategy rm
  7. Applied add-cube-cbrt0.5

    \[\leadsto \frac{\frac{\cos th}{\sqrt{\sqrt{2}}}}{\sqrt{\color{blue}{\left(\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}\right) \cdot \sqrt[3]{\sqrt{2}}}}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)\]
  8. Applied sqrt-prod0.6

    \[\leadsto \frac{\frac{\cos th}{\sqrt{\sqrt{2}}}}{\color{blue}{\sqrt{\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}} \cdot \sqrt{\sqrt[3]{\sqrt{2}}}}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)\]
  9. Applied *-un-lft-identity0.6

    \[\leadsto \frac{\color{blue}{1 \cdot \frac{\cos th}{\sqrt{\sqrt{2}}}}}{\sqrt{\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}} \cdot \sqrt{\sqrt[3]{\sqrt{2}}}} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)\]
  10. Applied times-frac0.5

    \[\leadsto \color{blue}{\left(\frac{1}{\sqrt{\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}}} \cdot \frac{\frac{\cos th}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt[3]{\sqrt{2}}}}\right)} \cdot \left(a1 \cdot a1\right) + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)\]
  11. Applied associate-*l*0.5

    \[\leadsto \color{blue}{\frac{1}{\sqrt{\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}}} \cdot \left(\frac{\frac{\cos th}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt[3]{\sqrt{2}}}} \cdot \left(a1 \cdot a1\right)\right)} + \frac{\cos th}{\sqrt{2}} \cdot \left(a2 \cdot a2\right)\]
  12. Using strategy rm
  13. Applied log1p-expm1-u0.5

    \[\leadsto \frac{1}{\sqrt{\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}}} \cdot \left(\frac{\frac{\cos th}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt[3]{\sqrt{2}}}} \cdot \left(a1 \cdot a1\right)\right) + \color{blue}{\mathsf{log1p}\left(\mathsf{expm1}\left(\frac{\cos th}{\sqrt{2}}\right)\right)} \cdot \left(a2 \cdot a2\right)\]
  14. Final simplification0.5

    \[\leadsto \left(\frac{\frac{\cos th}{\sqrt{\sqrt{2}}}}{\sqrt{\sqrt[3]{\sqrt{2}}}} \cdot \left(a1 \cdot a1\right)\right) \cdot \frac{1}{\sqrt{\sqrt[3]{\sqrt{2}} \cdot \sqrt[3]{\sqrt{2}}}} + \left(a2 \cdot a2\right) \cdot \mathsf{log1p}\left(\mathsf{expm1}\left(\frac{\cos th}{\sqrt{2}}\right)\right)\]

Reproduce

herbie shell --seed 2019168 +o rules:numerics
(FPCore (a1 a2 th)
  :name "Migdal et al, Equation (64)"
  (+ (* (/ (cos th) (sqrt 2.0)) (* a1 a1)) (* (/ (cos th) (sqrt 2.0)) (* a2 a2))))