Average Error: 14.1 → 0.3
Time: 21.3s
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}{2} \cdot \left(\frac{\frac{1}{a} - \frac{1}{b}}{b - a} \cdot \frac{1}{b + a}\right)\]
\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}{2} \cdot \left(\frac{\frac{1}{a} - \frac{1}{b}}{b - a} \cdot \frac{1}{b + a}\right)
double f(double a, double b) {
        double r42611 = atan2(1.0, 0.0);
        double r42612 = 2.0;
        double r42613 = r42611 / r42612;
        double r42614 = 1.0;
        double r42615 = b;
        double r42616 = r42615 * r42615;
        double r42617 = a;
        double r42618 = r42617 * r42617;
        double r42619 = r42616 - r42618;
        double r42620 = r42614 / r42619;
        double r42621 = r42613 * r42620;
        double r42622 = r42614 / r42617;
        double r42623 = r42614 / r42615;
        double r42624 = r42622 - r42623;
        double r42625 = r42621 * r42624;
        return r42625;
}

double f(double a, double b) {
        double r42626 = atan2(1.0, 0.0);
        double r42627 = 2.0;
        double r42628 = r42626 / r42627;
        double r42629 = 1.0;
        double r42630 = a;
        double r42631 = r42629 / r42630;
        double r42632 = b;
        double r42633 = r42629 / r42632;
        double r42634 = r42631 - r42633;
        double r42635 = r42632 - r42630;
        double r42636 = r42634 / r42635;
        double r42637 = r42632 + r42630;
        double r42638 = r42629 / r42637;
        double r42639 = r42636 * r42638;
        double r42640 = r42628 * r42639;
        return r42640;
}

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

    \[\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 associate-*l*14.1

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

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

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

Reproduce

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