Average Error: 14.2 → 0.3
Time: 59.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{\pi}{b + a}}{\frac{1}{\frac{1}{a} - \frac{1}{b}}}}{b - a} \cdot \frac{1}{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{\frac{\frac{\pi}{b + a}}{\frac{1}{\frac{1}{a} - \frac{1}{b}}}}{b - a} \cdot \frac{1}{2}
double f(double a, double b) {
        double r1982719 = atan2(1.0, 0.0);
        double r1982720 = 2.0;
        double r1982721 = r1982719 / r1982720;
        double r1982722 = 1.0;
        double r1982723 = b;
        double r1982724 = r1982723 * r1982723;
        double r1982725 = a;
        double r1982726 = r1982725 * r1982725;
        double r1982727 = r1982724 - r1982726;
        double r1982728 = r1982722 / r1982727;
        double r1982729 = r1982721 * r1982728;
        double r1982730 = r1982722 / r1982725;
        double r1982731 = r1982722 / r1982723;
        double r1982732 = r1982730 - r1982731;
        double r1982733 = r1982729 * r1982732;
        return r1982733;
}

double f(double a, double b) {
        double r1982734 = atan2(1.0, 0.0);
        double r1982735 = b;
        double r1982736 = a;
        double r1982737 = r1982735 + r1982736;
        double r1982738 = r1982734 / r1982737;
        double r1982739 = 1.0;
        double r1982740 = r1982739 / r1982736;
        double r1982741 = r1982739 / r1982735;
        double r1982742 = r1982740 - r1982741;
        double r1982743 = r1982739 / r1982742;
        double r1982744 = r1982738 / r1982743;
        double r1982745 = r1982735 - r1982736;
        double r1982746 = r1982744 / r1982745;
        double r1982747 = 0.5;
        double r1982748 = r1982746 * r1982747;
        return r1982748;
}

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. Simplified9.5

    \[\leadsto \color{blue}{\frac{\frac{\pi}{a} - \frac{\pi}{b}}{\left(a + b\right) \cdot \left(2 \cdot \left(b - a\right)\right)}}\]
  3. Using strategy rm
  4. Applied associate-/r*0.3

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

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

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

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

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

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

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

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

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

    \[\leadsto \color{blue}{\frac{1}{2}} \cdot \frac{\frac{\frac{\pi}{a} - \frac{\pi}{b}}{a + b}}{b - a}\]
  15. Using strategy rm
  16. Applied div-inv0.3

    \[\leadsto \frac{1}{2} \cdot \frac{\frac{\frac{\pi}{a} - \color{blue}{\pi \cdot \frac{1}{b}}}{a + b}}{b - a}\]
  17. Applied div-inv0.3

    \[\leadsto \frac{1}{2} \cdot \frac{\frac{\color{blue}{\pi \cdot \frac{1}{a}} - \pi \cdot \frac{1}{b}}{a + b}}{b - a}\]
  18. Applied distribute-lft-out--0.3

    \[\leadsto \frac{1}{2} \cdot \frac{\frac{\color{blue}{\pi \cdot \left(\frac{1}{a} - \frac{1}{b}\right)}}{a + b}}{b - a}\]
  19. Applied associate-/l*0.3

    \[\leadsto \frac{1}{2} \cdot \frac{\color{blue}{\frac{\pi}{\frac{a + b}{\frac{1}{a} - \frac{1}{b}}}}}{b - a}\]
  20. Using strategy rm
  21. Applied div-inv0.3

    \[\leadsto \frac{1}{2} \cdot \frac{\frac{\pi}{\color{blue}{\left(a + b\right) \cdot \frac{1}{\frac{1}{a} - \frac{1}{b}}}}}{b - a}\]
  22. Applied associate-/r*0.3

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

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

Reproduce

herbie shell --seed 2019135 +o rules:numerics
(FPCore (a b)
  :name "NMSE Section 6.1 mentioned, B"
  (* (* (/ PI 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))))