Average Error: 14.6 → 0.6
Time: 5.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{\frac{\left(\left(1 \cdot \left(b - a\right)\right) \cdot \pi\right) \cdot \frac{1}{b + a}}{2 \cdot \left(a \cdot b\right)}}{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{\left(\left(1 \cdot \left(b - a\right)\right) \cdot \pi\right) \cdot \frac{1}{b + a}}{2 \cdot \left(a \cdot b\right)}}{b - a}
double f(double a, double b) {
        double r39525 = atan2(1.0, 0.0);
        double r39526 = 2.0;
        double r39527 = r39525 / r39526;
        double r39528 = 1.0;
        double r39529 = b;
        double r39530 = r39529 * r39529;
        double r39531 = a;
        double r39532 = r39531 * r39531;
        double r39533 = r39530 - r39532;
        double r39534 = r39528 / r39533;
        double r39535 = r39527 * r39534;
        double r39536 = r39528 / r39531;
        double r39537 = r39528 / r39529;
        double r39538 = r39536 - r39537;
        double r39539 = r39535 * r39538;
        return r39539;
}

double f(double a, double b) {
        double r39540 = 1.0;
        double r39541 = b;
        double r39542 = a;
        double r39543 = r39541 - r39542;
        double r39544 = r39540 * r39543;
        double r39545 = atan2(1.0, 0.0);
        double r39546 = r39544 * r39545;
        double r39547 = r39541 + r39542;
        double r39548 = r39540 / r39547;
        double r39549 = r39546 * r39548;
        double r39550 = 2.0;
        double r39551 = r39542 * r39541;
        double r39552 = r39550 * r39551;
        double r39553 = r39549 / r39552;
        double r39554 = r39553 / r39543;
        return r39554;
}

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

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

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

    \[\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 associate-*r/9.2

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

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

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

    \[\leadsto \frac{\color{blue}{\frac{\pi \cdot \frac{1}{b + a}}{2}} \cdot \frac{1 \cdot b - a \cdot 1}{a \cdot b}}{b - a}\]
  11. Applied frac-times0.3

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

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

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

Reproduce

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