Average Error: 13.8 → 0.3
Time: 24.8s
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{1}{2}}{b \cdot a} \cdot \frac{\pi}{a + 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{\frac{1}{2}}{b \cdot a} \cdot \frac{\pi}{a + b}
double f(double a, double b) {
        double r1429212 = atan2(1.0, 0.0);
        double r1429213 = 2.0;
        double r1429214 = r1429212 / r1429213;
        double r1429215 = 1.0;
        double r1429216 = b;
        double r1429217 = r1429216 * r1429216;
        double r1429218 = a;
        double r1429219 = r1429218 * r1429218;
        double r1429220 = r1429217 - r1429219;
        double r1429221 = r1429215 / r1429220;
        double r1429222 = r1429214 * r1429221;
        double r1429223 = r1429215 / r1429218;
        double r1429224 = r1429215 / r1429216;
        double r1429225 = r1429223 - r1429224;
        double r1429226 = r1429222 * r1429225;
        return r1429226;
}

double f(double a, double b) {
        double r1429227 = 0.5;
        double r1429228 = b;
        double r1429229 = a;
        double r1429230 = r1429228 * r1429229;
        double r1429231 = r1429227 / r1429230;
        double r1429232 = atan2(1.0, 0.0);
        double r1429233 = r1429229 + r1429228;
        double r1429234 = r1429232 / r1429233;
        double r1429235 = r1429231 * r1429234;
        return r1429235;
}

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. Simplified0.3

    \[\leadsto \color{blue}{\frac{\frac{\frac{\pi}{a} + \frac{-\pi}{b}}{b - a}}{\left(a + b\right) \cdot 2}}\]
  3. Taylor expanded around -inf 0.2

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

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

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

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

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

Reproduce

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