Average Error: 13.5 → 0.3
Time: 32.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{\frac{\frac{1}{\frac{a}{\pi}} - \frac{\pi}{b}}{2}}{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{\frac{\frac{1}{\frac{a}{\pi}} - \frac{\pi}{b}}{2}}{a + b}}{b - a}
double f(double a, double b) {
        double r2233753 = atan2(1.0, 0.0);
        double r2233754 = 2.0;
        double r2233755 = r2233753 / r2233754;
        double r2233756 = 1.0;
        double r2233757 = b;
        double r2233758 = r2233757 * r2233757;
        double r2233759 = a;
        double r2233760 = r2233759 * r2233759;
        double r2233761 = r2233758 - r2233760;
        double r2233762 = r2233756 / r2233761;
        double r2233763 = r2233755 * r2233762;
        double r2233764 = r2233756 / r2233759;
        double r2233765 = r2233756 / r2233757;
        double r2233766 = r2233764 - r2233765;
        double r2233767 = r2233763 * r2233766;
        return r2233767;
}

double f(double a, double b) {
        double r2233768 = 1.0;
        double r2233769 = a;
        double r2233770 = atan2(1.0, 0.0);
        double r2233771 = r2233769 / r2233770;
        double r2233772 = r2233768 / r2233771;
        double r2233773 = b;
        double r2233774 = r2233770 / r2233773;
        double r2233775 = r2233772 - r2233774;
        double r2233776 = 2.0;
        double r2233777 = r2233775 / r2233776;
        double r2233778 = r2233769 + r2233773;
        double r2233779 = r2233777 / r2233778;
        double r2233780 = r2233773 - r2233769;
        double r2233781 = r2233779 / r2233780;
        return r2233781;
}

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

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

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

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

    \[\leadsto \color{blue}{\frac{\frac{\mathsf{fma}\left(\frac{\pi}{2}, \frac{-1}{b}, \frac{\frac{\pi}{2}}{a}\right)}{b + a}}{b - a}}\]
  6. Taylor expanded around 0 0.2

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

    \[\leadsto \frac{\frac{\color{blue}{\frac{\frac{\pi}{a} - \frac{\pi}{b}}{2}}}{b + a}}{b - a}\]
  8. Using strategy rm
  9. Applied clear-num0.3

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

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

Reproduce

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