Average Error: 14.7 → 0.3
Time: 18.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)\]
\[\left(0.5 \cdot \frac{1}{\frac{a \cdot b}{\pi}}\right) \cdot \frac{1}{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)
\left(0.5 \cdot \frac{1}{\frac{a \cdot b}{\pi}}\right) \cdot \frac{1}{b + a}
double f(double a, double b) {
        double r40373 = atan2(1.0, 0.0);
        double r40374 = 2.0;
        double r40375 = r40373 / r40374;
        double r40376 = 1.0;
        double r40377 = b;
        double r40378 = r40377 * r40377;
        double r40379 = a;
        double r40380 = r40379 * r40379;
        double r40381 = r40378 - r40380;
        double r40382 = r40376 / r40381;
        double r40383 = r40375 * r40382;
        double r40384 = r40376 / r40379;
        double r40385 = r40376 / r40377;
        double r40386 = r40384 - r40385;
        double r40387 = r40383 * r40386;
        return r40387;
}

double f(double a, double b) {
        double r40388 = 0.5;
        double r40389 = 1.0;
        double r40390 = a;
        double r40391 = b;
        double r40392 = r40390 * r40391;
        double r40393 = atan2(1.0, 0.0);
        double r40394 = r40392 / r40393;
        double r40395 = r40389 / r40394;
        double r40396 = r40388 * r40395;
        double r40397 = 1.0;
        double r40398 = r40391 + r40390;
        double r40399 = r40397 / r40398;
        double r40400 = r40396 * r40399;
        return r40400;
}

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

    \[\left(\frac{\pi}{2} \cdot \frac{1}{b \cdot b - a \cdot a}\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)\]
  2. Using strategy rm
  3. Applied associate-*l*14.7

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

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

    \[\leadsto \color{blue}{\left(\frac{\pi}{2} \cdot \frac{\frac{1}{a} - \frac{1}{b}}{b - a}\right) \cdot \frac{1}{b + a}}\]
  7. Taylor expanded around 0 0.3

    \[\leadsto \color{blue}{\left(0.5 \cdot \frac{\pi}{a \cdot b}\right)} \cdot \frac{1}{b + a}\]
  8. Using strategy rm
  9. Applied clear-num0.3

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

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

Reproduce

herbie shell --seed 2019347 
(FPCore (a b)
  :name "NMSE Section 6.1 mentioned, B"
  :precision binary64
  (* (* (/ PI 2) (/ 1 (- (* b b) (* a a)))) (- (/ 1 a) (/ 1 b))))