Average Error: 13.8 → 4.4
Time: 57.6s
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{1}{b + a}}{\frac{a}{\pi} \cdot \left(b - a\right)} + \frac{\frac{\pi}{b + a}}{b - a} \cdot \frac{-1}{b}}{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{1}{b + a}}{\frac{a}{\pi} \cdot \left(b - a\right)} + \frac{\frac{\pi}{b + a}}{b - a} \cdot \frac{-1}{b}}{2}
double f(double a, double b) {
        double r2076063 = atan2(1.0, 0.0);
        double r2076064 = 2.0;
        double r2076065 = r2076063 / r2076064;
        double r2076066 = 1.0;
        double r2076067 = b;
        double r2076068 = r2076067 * r2076067;
        double r2076069 = a;
        double r2076070 = r2076069 * r2076069;
        double r2076071 = r2076068 - r2076070;
        double r2076072 = r2076066 / r2076071;
        double r2076073 = r2076065 * r2076072;
        double r2076074 = r2076066 / r2076069;
        double r2076075 = r2076066 / r2076067;
        double r2076076 = r2076074 - r2076075;
        double r2076077 = r2076073 * r2076076;
        return r2076077;
}

double f(double a, double b) {
        double r2076078 = 1.0;
        double r2076079 = b;
        double r2076080 = a;
        double r2076081 = r2076079 + r2076080;
        double r2076082 = r2076078 / r2076081;
        double r2076083 = atan2(1.0, 0.0);
        double r2076084 = r2076080 / r2076083;
        double r2076085 = r2076079 - r2076080;
        double r2076086 = r2076084 * r2076085;
        double r2076087 = r2076082 / r2076086;
        double r2076088 = r2076083 / r2076081;
        double r2076089 = r2076088 / r2076085;
        double r2076090 = -1.0;
        double r2076091 = r2076090 / r2076079;
        double r2076092 = r2076089 * r2076091;
        double r2076093 = r2076087 + r2076092;
        double r2076094 = 2.0;
        double r2076095 = r2076093 / r2076094;
        return r2076095;
}

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. Simplified13.8

    \[\leadsto \color{blue}{\frac{\mathsf{fma}\left(\left(\frac{\pi}{b \cdot b - a \cdot a}\right), \left(\frac{-1}{b}\right), \left(\frac{\frac{\pi}{b \cdot b - a \cdot a}}{a}\right)\right)}{2}}\]
  3. Using strategy rm
  4. Applied difference-of-squares13.8

    \[\leadsto \frac{\mathsf{fma}\left(\left(\frac{\pi}{b \cdot b - a \cdot a}\right), \left(\frac{-1}{b}\right), \left(\frac{\frac{\pi}{\color{blue}{\left(b + a\right) \cdot \left(b - a\right)}}}{a}\right)\right)}{2}\]
  5. Applied *-un-lft-identity13.8

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

    \[\leadsto \frac{\mathsf{fma}\left(\left(\frac{\pi}{b \cdot b - a \cdot a}\right), \left(\frac{-1}{b}\right), \left(\frac{\color{blue}{\frac{1}{b + a} \cdot \frac{\pi}{b - a}}}{a}\right)\right)}{2}\]
  7. Applied associate-/l*9.4

    \[\leadsto \frac{\mathsf{fma}\left(\left(\frac{\pi}{b \cdot b - a \cdot a}\right), \left(\frac{-1}{b}\right), \color{blue}{\left(\frac{\frac{1}{b + a}}{\frac{a}{\frac{\pi}{b - a}}}\right)}\right)}{2}\]
  8. Using strategy rm
  9. Applied difference-of-squares4.6

    \[\leadsto \frac{\mathsf{fma}\left(\left(\frac{\pi}{\color{blue}{\left(b + a\right) \cdot \left(b - a\right)}}\right), \left(\frac{-1}{b}\right), \left(\frac{\frac{1}{b + a}}{\frac{a}{\frac{\pi}{b - a}}}\right)\right)}{2}\]
  10. Applied associate-/r*4.4

    \[\leadsto \frac{\mathsf{fma}\left(\color{blue}{\left(\frac{\frac{\pi}{b + a}}{b - a}\right)}, \left(\frac{-1}{b}\right), \left(\frac{\frac{1}{b + a}}{\frac{a}{\frac{\pi}{b - a}}}\right)\right)}{2}\]
  11. Using strategy rm
  12. Applied associate-/r/4.4

    \[\leadsto \frac{\mathsf{fma}\left(\left(\frac{\frac{\pi}{b + a}}{b - a}\right), \left(\frac{-1}{b}\right), \left(\frac{\frac{1}{b + a}}{\color{blue}{\frac{a}{\pi} \cdot \left(b - a\right)}}\right)\right)}{2}\]
  13. Using strategy rm
  14. Applied fma-udef4.4

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

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

Reproduce

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