Average Error: 14.5 → 0.3
Time: 32.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{\pi}{a + b} \cdot \frac{\frac{1}{a} - \frac{1}{b}}{\left(b - a\right) \cdot 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{\pi}{a + b} \cdot \frac{\frac{1}{a} - \frac{1}{b}}{\left(b - a\right) \cdot 2}
double f(double a, double b) {
        double r2140155 = atan2(1.0, 0.0);
        double r2140156 = 2.0;
        double r2140157 = r2140155 / r2140156;
        double r2140158 = 1.0;
        double r2140159 = b;
        double r2140160 = r2140159 * r2140159;
        double r2140161 = a;
        double r2140162 = r2140161 * r2140161;
        double r2140163 = r2140160 - r2140162;
        double r2140164 = r2140158 / r2140163;
        double r2140165 = r2140157 * r2140164;
        double r2140166 = r2140158 / r2140161;
        double r2140167 = r2140158 / r2140159;
        double r2140168 = r2140166 - r2140167;
        double r2140169 = r2140165 * r2140168;
        return r2140169;
}

double f(double a, double b) {
        double r2140170 = atan2(1.0, 0.0);
        double r2140171 = a;
        double r2140172 = b;
        double r2140173 = r2140171 + r2140172;
        double r2140174 = r2140170 / r2140173;
        double r2140175 = 1.0;
        double r2140176 = r2140175 / r2140171;
        double r2140177 = r2140175 / r2140172;
        double r2140178 = r2140176 - r2140177;
        double r2140179 = r2140172 - r2140171;
        double r2140180 = 2.0;
        double r2140181 = r2140179 * r2140180;
        double r2140182 = r2140178 / r2140181;
        double r2140183 = r2140174 * r2140182;
        return r2140183;
}

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

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

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

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

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

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

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

Reproduce

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