Average Error: 14.3 → 0.3
Time: 19.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{\frac{\pi}{2} \cdot \left(\left(\frac{1}{a} - \frac{1}{b}\right) \cdot 1\right)}{b + a}}{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{\frac{\pi}{2} \cdot \left(\left(\frac{1}{a} - \frac{1}{b}\right) \cdot 1\right)}{b + a}}{b - a}
double f(double a, double b) {
        double r44137 = atan2(1.0, 0.0);
        double r44138 = 2.0;
        double r44139 = r44137 / r44138;
        double r44140 = 1.0;
        double r44141 = b;
        double r44142 = r44141 * r44141;
        double r44143 = a;
        double r44144 = r44143 * r44143;
        double r44145 = r44142 - r44144;
        double r44146 = r44140 / r44145;
        double r44147 = r44139 * r44146;
        double r44148 = r44140 / r44143;
        double r44149 = r44140 / r44141;
        double r44150 = r44148 - r44149;
        double r44151 = r44147 * r44150;
        return r44151;
}

double f(double a, double b) {
        double r44152 = atan2(1.0, 0.0);
        double r44153 = 2.0;
        double r44154 = r44152 / r44153;
        double r44155 = 1.0;
        double r44156 = a;
        double r44157 = r44155 / r44156;
        double r44158 = b;
        double r44159 = r44155 / r44158;
        double r44160 = r44157 - r44159;
        double r44161 = r44160 * r44155;
        double r44162 = r44154 * r44161;
        double r44163 = r44158 + r44156;
        double r44164 = r44162 / r44163;
        double r44165 = r44158 - r44156;
        double r44166 = r44164 / r44165;
        return r44166;
}

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

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

    \[\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. Using strategy rm
  6. Applied associate-*l/0.3

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

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

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

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

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

Reproduce

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