Average Error: 14.2 → 0.3
Time: 36.1s
Precision: 64
\[\left(\frac{\pi}{2} \cdot \frac{1}{b \cdot b - a \cdot a}\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)\]
\[\frac{1}{2} \cdot \frac{\frac{\pi}{b \cdot a}}{a + b}\]
\left(\frac{\pi}{2} \cdot \frac{1}{b \cdot b - a \cdot a}\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)
\frac{1}{2} \cdot \frac{\frac{\pi}{b \cdot a}}{a + b}
double f(double a, double b) {
        double r1150308 = atan2(1.0, 0.0);
        double r1150309 = 2.0;
        double r1150310 = r1150308 / r1150309;
        double r1150311 = 1.0;
        double r1150312 = b;
        double r1150313 = r1150312 * r1150312;
        double r1150314 = a;
        double r1150315 = r1150314 * r1150314;
        double r1150316 = r1150313 - r1150315;
        double r1150317 = r1150311 / r1150316;
        double r1150318 = r1150310 * r1150317;
        double r1150319 = r1150311 / r1150314;
        double r1150320 = r1150311 / r1150312;
        double r1150321 = r1150319 - r1150320;
        double r1150322 = r1150318 * r1150321;
        return r1150322;
}

double f(double a, double b) {
        double r1150323 = 0.5;
        double r1150324 = atan2(1.0, 0.0);
        double r1150325 = b;
        double r1150326 = a;
        double r1150327 = r1150325 * r1150326;
        double r1150328 = r1150324 / r1150327;
        double r1150329 = r1150326 + r1150325;
        double r1150330 = r1150328 / r1150329;
        double r1150331 = r1150323 * r1150330;
        return r1150331;
}

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 14.2

    \[\left(\frac{\pi}{2} \cdot \frac{1}{b \cdot b - a \cdot a}\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)\]
  2. Simplified0.3

    \[\leadsto \color{blue}{\frac{\frac{\frac{\pi}{a} - \frac{\pi}{b}}{b - a}}{a + b} \cdot \frac{1}{2}}\]
  3. Using strategy rm
  4. Applied *-un-lft-identity0.3

    \[\leadsto \frac{\frac{\frac{\pi}{a} - \frac{\pi}{b}}{\color{blue}{1 \cdot \left(b - a\right)}}}{a + b} \cdot \frac{1}{2}\]
  5. Applied div-inv0.3

    \[\leadsto \frac{\frac{\frac{\pi}{a} - \color{blue}{\pi \cdot \frac{1}{b}}}{1 \cdot \left(b - a\right)}}{a + b} \cdot \frac{1}{2}\]
  6. Applied div-inv0.3

    \[\leadsto \frac{\frac{\color{blue}{\pi \cdot \frac{1}{a}} - \pi \cdot \frac{1}{b}}{1 \cdot \left(b - a\right)}}{a + b} \cdot \frac{1}{2}\]
  7. Applied distribute-lft-out--0.3

    \[\leadsto \frac{\frac{\color{blue}{\pi \cdot \left(\frac{1}{a} - \frac{1}{b}\right)}}{1 \cdot \left(b - a\right)}}{a + b} \cdot \frac{1}{2}\]
  8. Applied times-frac0.3

    \[\leadsto \frac{\color{blue}{\frac{\pi}{1} \cdot \frac{\frac{1}{a} - \frac{1}{b}}{b - a}}}{a + b} \cdot \frac{1}{2}\]
  9. Simplified0.3

    \[\leadsto \frac{\color{blue}{\pi} \cdot \frac{\frac{1}{a} - \frac{1}{b}}{b - a}}{a + b} \cdot \frac{1}{2}\]
  10. Taylor expanded around -inf 0.3

    \[\leadsto \frac{\color{blue}{\frac{\pi}{a \cdot b}}}{a + b} \cdot \frac{1}{2}\]
  11. Final simplification0.3

    \[\leadsto \frac{1}{2} \cdot \frac{\frac{\pi}{b \cdot a}}{a + b}\]

Reproduce

herbie shell --seed 2019132 
(FPCore (a b)
  :name "NMSE Section 6.1 mentioned, B"
  (* (* (/ PI 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))))