Average Error: 14.9 → 0.2
Time: 25.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 \cdot \left(b - a\right)}{b - a} \cdot \frac{\frac{\frac{\pi}{2}}{b + a} \cdot 1}{a \cdot 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 \cdot \left(b - a\right)}{b - a} \cdot \frac{\frac{\frac{\pi}{2}}{b + a} \cdot 1}{a \cdot b}
double f(double a, double b) {
        double r87862 = atan2(1.0, 0.0);
        double r87863 = 2.0;
        double r87864 = r87862 / r87863;
        double r87865 = 1.0;
        double r87866 = b;
        double r87867 = r87866 * r87866;
        double r87868 = a;
        double r87869 = r87868 * r87868;
        double r87870 = r87867 - r87869;
        double r87871 = r87865 / r87870;
        double r87872 = r87864 * r87871;
        double r87873 = r87865 / r87868;
        double r87874 = r87865 / r87866;
        double r87875 = r87873 - r87874;
        double r87876 = r87872 * r87875;
        return r87876;
}

double f(double a, double b) {
        double r87877 = 1.0;
        double r87878 = b;
        double r87879 = a;
        double r87880 = r87878 - r87879;
        double r87881 = r87877 * r87880;
        double r87882 = r87881 / r87880;
        double r87883 = atan2(1.0, 0.0);
        double r87884 = 2.0;
        double r87885 = r87883 / r87884;
        double r87886 = r87878 + r87879;
        double r87887 = r87885 / r87886;
        double r87888 = r87887 * r87877;
        double r87889 = r87879 * r87878;
        double r87890 = r87888 / r87889;
        double r87891 = r87882 * r87890;
        return r87891;
}

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

    \[\left(\frac{\pi}{2} \cdot \frac{1}{b \cdot b - a \cdot a}\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)\]
  2. Using strategy rm
  3. Applied difference-of-squares10.1

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

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

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

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

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

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

    \[\leadsto \color{blue}{\frac{\left(\frac{\frac{\pi}{2}}{b + a} \cdot 1\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)}{b - a}}\]
  11. Using strategy rm
  12. Applied frac-sub0.3

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

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

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

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

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

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

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

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

Reproduce

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