Average Error: 14.9 → 0.2
Time: 28.0s
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 \cdot b} \cdot \frac{1}{2}}{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{\pi}{a \cdot b} \cdot \frac{1}{2}}{b + a}
double f(double a, double b) {
        double r1713630 = atan2(1.0, 0.0);
        double r1713631 = 2.0;
        double r1713632 = r1713630 / r1713631;
        double r1713633 = 1.0;
        double r1713634 = b;
        double r1713635 = r1713634 * r1713634;
        double r1713636 = a;
        double r1713637 = r1713636 * r1713636;
        double r1713638 = r1713635 - r1713637;
        double r1713639 = r1713633 / r1713638;
        double r1713640 = r1713632 * r1713639;
        double r1713641 = r1713633 / r1713636;
        double r1713642 = r1713633 / r1713634;
        double r1713643 = r1713641 - r1713642;
        double r1713644 = r1713640 * r1713643;
        return r1713644;
}

double f(double a, double b) {
        double r1713645 = atan2(1.0, 0.0);
        double r1713646 = a;
        double r1713647 = b;
        double r1713648 = r1713646 * r1713647;
        double r1713649 = r1713645 / r1713648;
        double r1713650 = 0.5;
        double r1713651 = r1713649 * r1713650;
        double r1713652 = r1713647 + r1713646;
        double r1713653 = r1713651 / r1713652;
        return r1713653;
}

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

    \[\left(\frac{\pi}{2} \cdot \frac{1}{b \cdot b - a \cdot a}\right) \cdot \left(\frac{1}{a} - \frac{1}{b}\right)\]
  2. Simplified10.0

    \[\leadsto \color{blue}{\frac{\frac{\frac{\pi}{2}}{a} - \frac{\frac{\pi}{2}}{b}}{\left(a + b\right) \cdot \left(b - a\right)}}\]
  3. Using strategy rm
  4. Applied *-un-lft-identity10.0

    \[\leadsto \frac{\frac{\frac{\pi}{2}}{a} - \color{blue}{1 \cdot \frac{\frac{\pi}{2}}{b}}}{\left(a + b\right) \cdot \left(b - a\right)}\]
  5. Applied *-un-lft-identity10.0

    \[\leadsto \frac{\color{blue}{1 \cdot \frac{\frac{\pi}{2}}{a}} - 1 \cdot \frac{\frac{\pi}{2}}{b}}{\left(a + b\right) \cdot \left(b - a\right)}\]
  6. Applied distribute-lft-out--10.0

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

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

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

    \[\leadsto \frac{\color{blue}{\frac{\frac{\pi}{2 \cdot a} - \frac{\pi}{2 \cdot b}}{b - a}}}{a + b}\]
  11. Taylor expanded around 0 0.2

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

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

Reproduce

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