Average Error: 14.2 → 0.2
Time: 18.4s
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{0.5 \cdot \pi}{a + b}}{a \cdot b} \cdot 1\]
\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{0.5 \cdot \pi}{a + b}}{a \cdot b} \cdot 1
double f(double a, double b) {
        double r35622 = atan2(1.0, 0.0);
        double r35623 = 2.0;
        double r35624 = r35622 / r35623;
        double r35625 = 1.0;
        double r35626 = b;
        double r35627 = r35626 * r35626;
        double r35628 = a;
        double r35629 = r35628 * r35628;
        double r35630 = r35627 - r35629;
        double r35631 = r35625 / r35630;
        double r35632 = r35624 * r35631;
        double r35633 = r35625 / r35628;
        double r35634 = r35625 / r35626;
        double r35635 = r35633 - r35634;
        double r35636 = r35632 * r35635;
        return r35636;
}

double f(double a, double b) {
        double r35637 = 0.5;
        double r35638 = atan2(1.0, 0.0);
        double r35639 = r35637 * r35638;
        double r35640 = a;
        double r35641 = b;
        double r35642 = r35640 + r35641;
        double r35643 = r35639 / r35642;
        double r35644 = r35640 * r35641;
        double r35645 = r35643 / r35644;
        double r35646 = 1.0;
        double r35647 = r35645 * r35646;
        return r35647;
}

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

    \[\leadsto \color{blue}{\frac{\frac{\frac{1}{a} - \frac{1}{b}}{2} \cdot \pi}{\frac{\left(a + b\right) \cdot \left(b - a\right)}{1}}}\]
  3. Using strategy rm
  4. Applied associate-/r/9.4

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

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

    \[\leadsto \left(\frac{\pi}{a + b} \cdot \color{blue}{\frac{0.5}{a \cdot b}}\right) \cdot 1\]
  7. Using strategy rm
  8. Applied *-un-lft-identity0.3

    \[\leadsto \left(\frac{\pi}{\color{blue}{1 \cdot \left(a + b\right)}} \cdot \frac{0.5}{a \cdot b}\right) \cdot 1\]
  9. Applied *-un-lft-identity0.3

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

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

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

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

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

Reproduce

herbie shell --seed 2019179 
(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))))