Average Error: 14.2 → 0.3
Time: 15.1s
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}{\frac{2 \cdot \left(b - a\right)}{1 \cdot b - a \cdot 1}} \cdot \frac{\frac{1}{b + a}}{a \cdot 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{\pi}{\frac{2 \cdot \left(b - a\right)}{1 \cdot b - a \cdot 1}} \cdot \frac{\frac{1}{b + a}}{a \cdot b}
double f(double a, double b) {
        double r47368 = atan2(1.0, 0.0);
        double r47369 = 2.0;
        double r47370 = r47368 / r47369;
        double r47371 = 1.0;
        double r47372 = b;
        double r47373 = r47372 * r47372;
        double r47374 = a;
        double r47375 = r47374 * r47374;
        double r47376 = r47373 - r47375;
        double r47377 = r47371 / r47376;
        double r47378 = r47370 * r47377;
        double r47379 = r47371 / r47374;
        double r47380 = r47371 / r47372;
        double r47381 = r47379 - r47380;
        double r47382 = r47378 * r47381;
        return r47382;
}

double f(double a, double b) {
        double r47383 = atan2(1.0, 0.0);
        double r47384 = 2.0;
        double r47385 = b;
        double r47386 = a;
        double r47387 = r47385 - r47386;
        double r47388 = r47384 * r47387;
        double r47389 = 1.0;
        double r47390 = r47389 * r47385;
        double r47391 = r47386 * r47389;
        double r47392 = r47390 - r47391;
        double r47393 = r47388 / r47392;
        double r47394 = r47383 / r47393;
        double r47395 = r47385 + r47386;
        double r47396 = r47389 / r47395;
        double r47397 = r47386 * r47385;
        double r47398 = r47396 / r47397;
        double r47399 = r47394 * r47398;
        return r47399;
}

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

    \[\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 difference-of-squares9.6

    \[\leadsto \left(\frac{\pi}{2} \cdot \frac{1}{\color{blue}{\left(b + a\right) \cdot \left(b - a\right)}}\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)\]
  4. Applied associate-/r*9.0

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

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

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

    \[\leadsto \color{blue}{\frac{\pi \cdot \frac{1}{b + a}}{\frac{2 \cdot \left(b - a\right)}{\frac{1}{a} - \frac{1}{b}}}}\]
  10. Using strategy rm
  11. Applied frac-sub0.3

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

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

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

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

Reproduce

herbie shell --seed 2019198 
(FPCore (a b)
  :name "NMSE Section 6.1 mentioned, B"
  (* (* (/ PI 2.0) (/ 1.0 (- (* b b) (* a a)))) (- (/ 1.0 a) (/ 1.0 b))))