Average Error: 14.6 → 0.4
Time: 39.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{\frac{\pi}{2}}{\left(b + a\right) \cdot \left(a \cdot \left(b - a\right)\right)} - \frac{\frac{\frac{\frac{\pi}{2}}{b + a}}{b}}{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{\pi}{2}}{\left(b + a\right) \cdot \left(a \cdot \left(b - a\right)\right)} - \frac{\frac{\frac{\frac{\pi}{2}}{b + a}}{b}}{b - a}
double f(double a, double b) {
        double r1413953 = atan2(1.0, 0.0);
        double r1413954 = 2.0;
        double r1413955 = r1413953 / r1413954;
        double r1413956 = 1.0;
        double r1413957 = b;
        double r1413958 = r1413957 * r1413957;
        double r1413959 = a;
        double r1413960 = r1413959 * r1413959;
        double r1413961 = r1413958 - r1413960;
        double r1413962 = r1413956 / r1413961;
        double r1413963 = r1413955 * r1413962;
        double r1413964 = r1413956 / r1413959;
        double r1413965 = r1413956 / r1413957;
        double r1413966 = r1413964 - r1413965;
        double r1413967 = r1413963 * r1413966;
        return r1413967;
}

double f(double a, double b) {
        double r1413968 = atan2(1.0, 0.0);
        double r1413969 = 2.0;
        double r1413970 = r1413968 / r1413969;
        double r1413971 = b;
        double r1413972 = a;
        double r1413973 = r1413971 + r1413972;
        double r1413974 = r1413971 - r1413972;
        double r1413975 = r1413972 * r1413974;
        double r1413976 = r1413973 * r1413975;
        double r1413977 = r1413970 / r1413976;
        double r1413978 = r1413970 / r1413973;
        double r1413979 = r1413978 / r1413971;
        double r1413980 = r1413979 / r1413974;
        double r1413981 = r1413977 - r1413980;
        return r1413981;
}

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

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

    \[\leadsto \color{blue}{\frac{\frac{\frac{\frac{\pi}{2}}{a + b}}{b - a}}{a} - \frac{\frac{\frac{\frac{\pi}{2}}{a + b}}{b - a}}{b}}\]
  3. Using strategy rm
  4. Applied associate-/l/4.7

    \[\leadsto \color{blue}{\frac{\frac{\frac{\pi}{2}}{a + b}}{a \cdot \left(b - a\right)}} - \frac{\frac{\frac{\frac{\pi}{2}}{a + b}}{b - a}}{b}\]
  5. Using strategy rm
  6. Applied associate-/l/0.2

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

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

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

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

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

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

Reproduce

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