Average Error: 14.1 → 0.2
Time: 23.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{\pi}{a + b} \cdot \frac{1}{2}}{b \cdot 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{\pi}{a + b} \cdot \frac{1}{2}}{b \cdot a}
double f(double a, double b) {
        double r1575733 = atan2(1.0, 0.0);
        double r1575734 = 2.0;
        double r1575735 = r1575733 / r1575734;
        double r1575736 = 1.0;
        double r1575737 = b;
        double r1575738 = r1575737 * r1575737;
        double r1575739 = a;
        double r1575740 = r1575739 * r1575739;
        double r1575741 = r1575738 - r1575740;
        double r1575742 = r1575736 / r1575741;
        double r1575743 = r1575735 * r1575742;
        double r1575744 = r1575736 / r1575739;
        double r1575745 = r1575736 / r1575737;
        double r1575746 = r1575744 - r1575745;
        double r1575747 = r1575743 * r1575746;
        return r1575747;
}

double f(double a, double b) {
        double r1575748 = atan2(1.0, 0.0);
        double r1575749 = a;
        double r1575750 = b;
        double r1575751 = r1575749 + r1575750;
        double r1575752 = r1575748 / r1575751;
        double r1575753 = 0.5;
        double r1575754 = r1575752 * r1575753;
        double r1575755 = r1575750 * r1575749;
        double r1575756 = r1575754 / r1575755;
        return r1575756;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

    \[\leadsto \frac{\pi}{a + b} \cdot \color{blue}{\frac{\frac{1}{2}}{a \cdot b}}\]
  15. Using strategy rm
  16. Applied associate-*r/0.2

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

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

Reproduce

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