Average Error: 14.2 → 0.3
Time: 53.2s
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{\pi}{a + b} \cdot \left(\frac{1}{a} - \frac{1}{b}\right)}{\frac{b - a}{\frac{1}{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{\frac{\pi}{a + b} \cdot \left(\frac{1}{a} - \frac{1}{b}\right)}{\frac{b - a}{\frac{1}{2}}}
double f(double a, double b) {
        double r1722356 = atan2(1.0, 0.0);
        double r1722357 = 2.0;
        double r1722358 = r1722356 / r1722357;
        double r1722359 = 1.0;
        double r1722360 = b;
        double r1722361 = r1722360 * r1722360;
        double r1722362 = a;
        double r1722363 = r1722362 * r1722362;
        double r1722364 = r1722361 - r1722363;
        double r1722365 = r1722359 / r1722364;
        double r1722366 = r1722358 * r1722365;
        double r1722367 = r1722359 / r1722362;
        double r1722368 = r1722359 / r1722360;
        double r1722369 = r1722367 - r1722368;
        double r1722370 = r1722366 * r1722369;
        return r1722370;
}

double f(double a, double b) {
        double r1722371 = atan2(1.0, 0.0);
        double r1722372 = a;
        double r1722373 = b;
        double r1722374 = r1722372 + r1722373;
        double r1722375 = r1722371 / r1722374;
        double r1722376 = 1.0;
        double r1722377 = r1722376 / r1722372;
        double r1722378 = r1722376 / r1722373;
        double r1722379 = r1722377 - r1722378;
        double r1722380 = r1722375 * r1722379;
        double r1722381 = r1722373 - r1722372;
        double r1722382 = 0.5;
        double r1722383 = r1722381 / r1722382;
        double r1722384 = r1722380 / r1722383;
        return r1722384;
}

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

    \[\leadsto \color{blue}{\frac{\frac{\pi}{a} - \frac{\pi}{b}}{\frac{b \cdot b - a \cdot a}{\frac{1}{2}}}}\]
  3. Using strategy rm
  4. Applied *-un-lft-identity14.1

    \[\leadsto \frac{\frac{\pi}{a} - \frac{\pi}{b}}{\frac{b \cdot b - a \cdot a}{\color{blue}{1 \cdot \frac{1}{2}}}}\]
  5. Applied difference-of-squares9.7

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

    \[\leadsto \frac{\frac{\pi}{a} - \frac{\pi}{b}}{\color{blue}{\frac{b + a}{1} \cdot \frac{b - a}{\frac{1}{2}}}}\]
  7. Applied div-inv9.7

    \[\leadsto \frac{\frac{\pi}{a} - \color{blue}{\pi \cdot \frac{1}{b}}}{\frac{b + a}{1} \cdot \frac{b - a}{\frac{1}{2}}}\]
  8. Applied div-inv9.7

    \[\leadsto \frac{\color{blue}{\pi \cdot \frac{1}{a}} - \pi \cdot \frac{1}{b}}{\frac{b + a}{1} \cdot \frac{b - a}{\frac{1}{2}}}\]
  9. Applied distribute-lft-out--9.7

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

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

    \[\leadsto \color{blue}{\frac{\pi}{a + b}} \cdot \frac{\frac{1}{a} - \frac{1}{b}}{\frac{b - a}{\frac{1}{2}}}\]
  12. Using strategy rm
  13. Applied associate-*r/0.3

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

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

Reproduce

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