Average Error: 13.8 → 0.3
Time: 24.2s
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{\pi \cdot \frac{\frac{1}{a} - \frac{1}{b}}{a + b}}{\left(b - a\right) \cdot 2}\]
\left(\frac{\pi}{2} \cdot \frac{1}{b \cdot b - a \cdot a}\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)
\frac{\pi \cdot \frac{\frac{1}{a} - \frac{1}{b}}{a + b}}{\left(b - a\right) \cdot 2}
double f(double a, double b) {
        double r1043597 = atan2(1.0, 0.0);
        double r1043598 = 2.0;
        double r1043599 = r1043597 / r1043598;
        double r1043600 = 1.0;
        double r1043601 = b;
        double r1043602 = r1043601 * r1043601;
        double r1043603 = a;
        double r1043604 = r1043603 * r1043603;
        double r1043605 = r1043602 - r1043604;
        double r1043606 = r1043600 / r1043605;
        double r1043607 = r1043599 * r1043606;
        double r1043608 = r1043600 / r1043603;
        double r1043609 = r1043600 / r1043601;
        double r1043610 = r1043608 - r1043609;
        double r1043611 = r1043607 * r1043610;
        return r1043611;
}

double f(double a, double b) {
        double r1043612 = atan2(1.0, 0.0);
        double r1043613 = 1.0;
        double r1043614 = a;
        double r1043615 = r1043613 / r1043614;
        double r1043616 = b;
        double r1043617 = r1043613 / r1043616;
        double r1043618 = r1043615 - r1043617;
        double r1043619 = r1043614 + r1043616;
        double r1043620 = r1043618 / r1043619;
        double r1043621 = r1043612 * r1043620;
        double r1043622 = r1043616 - r1043614;
        double r1043623 = 2.0;
        double r1043624 = r1043622 * r1043623;
        double r1043625 = r1043621 / r1043624;
        return r1043625;
}

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 13.8

    \[\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} + \left(-\frac{\pi}{b}\right)}{a + b}}{\left(b - a\right) \cdot 2}}\]
  3. Using strategy rm
  4. Applied *-un-lft-identity0.3

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

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

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

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

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

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

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

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

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

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

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

Reproduce

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