Average Error: 14.2 → 0.3
Time: 32.3s
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{\frac{\frac{\frac{-1}{a + b}}{2}}{b} \cdot \pi + \frac{\frac{\frac{\pi}{a + b}}{2}}{a}}{b - a}\]
\left(\frac{\pi}{2} \cdot \frac{1}{b \cdot b - a \cdot a}\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)
\frac{\frac{\frac{\frac{-1}{a + b}}{2}}{b} \cdot \pi + \frac{\frac{\frac{\pi}{a + b}}{2}}{a}}{b - a}
double f(double a, double b) {
        double r1584449 = atan2(1.0, 0.0);
        double r1584450 = 2.0;
        double r1584451 = r1584449 / r1584450;
        double r1584452 = 1.0;
        double r1584453 = b;
        double r1584454 = r1584453 * r1584453;
        double r1584455 = a;
        double r1584456 = r1584455 * r1584455;
        double r1584457 = r1584454 - r1584456;
        double r1584458 = r1584452 / r1584457;
        double r1584459 = r1584451 * r1584458;
        double r1584460 = r1584452 / r1584455;
        double r1584461 = r1584452 / r1584453;
        double r1584462 = r1584460 - r1584461;
        double r1584463 = r1584459 * r1584462;
        return r1584463;
}

double f(double a, double b) {
        double r1584464 = -1.0;
        double r1584465 = a;
        double r1584466 = b;
        double r1584467 = r1584465 + r1584466;
        double r1584468 = r1584464 / r1584467;
        double r1584469 = 2.0;
        double r1584470 = r1584468 / r1584469;
        double r1584471 = r1584470 / r1584466;
        double r1584472 = atan2(1.0, 0.0);
        double r1584473 = r1584471 * r1584472;
        double r1584474 = r1584472 / r1584467;
        double r1584475 = r1584474 / r1584469;
        double r1584476 = r1584475 / r1584465;
        double r1584477 = r1584473 + r1584476;
        double r1584478 = r1584466 - r1584465;
        double r1584479 = r1584477 / r1584478;
        return r1584479;
}

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.2

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

    \[\leadsto \frac{\frac{\frac{\frac{\pi}{a + b}}{2}}{a} + \left(-\frac{\frac{\frac{\pi}{a + b}}{2}}{\color{blue}{1 \cdot b}}\right)}{b - a}\]
  5. Applied *-un-lft-identity0.2

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

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

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

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

    \[\leadsto \frac{\frac{\frac{\frac{\pi}{a + b}}{2}}{a} + \left(-\color{blue}{\pi} \cdot \frac{\frac{\frac{1}{a + b}}{2}}{b}\right)}{b - a}\]
  10. Final simplification0.3

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

Reproduce

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