Average Error: 46.9 → 0.0
Time: 17.4s
Precision: 64
\[i \gt 0.0\]
\[\frac{\frac{\left(i \cdot i\right) \cdot \left(i \cdot i\right)}{\left(2 \cdot i\right) \cdot \left(2 \cdot i\right)}}{\left(2 \cdot i\right) \cdot \left(2 \cdot i\right) - 1}\]
\[\frac{\frac{i}{2}}{\mathsf{fma}\left(2, i, \sqrt{1}\right)} \cdot \frac{\frac{i}{2}}{2 \cdot i - \sqrt{1}}\]
\frac{\frac{\left(i \cdot i\right) \cdot \left(i \cdot i\right)}{\left(2 \cdot i\right) \cdot \left(2 \cdot i\right)}}{\left(2 \cdot i\right) \cdot \left(2 \cdot i\right) - 1}
\frac{\frac{i}{2}}{\mathsf{fma}\left(2, i, \sqrt{1}\right)} \cdot \frac{\frac{i}{2}}{2 \cdot i - \sqrt{1}}
double f(double i) {
        double r11276906 = i;
        double r11276907 = r11276906 * r11276906;
        double r11276908 = r11276907 * r11276907;
        double r11276909 = 2.0;
        double r11276910 = r11276909 * r11276906;
        double r11276911 = r11276910 * r11276910;
        double r11276912 = r11276908 / r11276911;
        double r11276913 = 1.0;
        double r11276914 = r11276911 - r11276913;
        double r11276915 = r11276912 / r11276914;
        return r11276915;
}

double f(double i) {
        double r11276916 = i;
        double r11276917 = 2.0;
        double r11276918 = r11276916 / r11276917;
        double r11276919 = 1.0;
        double r11276920 = sqrt(r11276919);
        double r11276921 = fma(r11276917, r11276916, r11276920);
        double r11276922 = r11276918 / r11276921;
        double r11276923 = r11276917 * r11276916;
        double r11276924 = r11276923 - r11276920;
        double r11276925 = r11276918 / r11276924;
        double r11276926 = r11276922 * r11276925;
        return r11276926;
}

Error

Bits error versus i

Derivation

  1. Initial program 46.9

    \[\frac{\frac{\left(i \cdot i\right) \cdot \left(i \cdot i\right)}{\left(2 \cdot i\right) \cdot \left(2 \cdot i\right)}}{\left(2 \cdot i\right) \cdot \left(2 \cdot i\right) - 1}\]
  2. Simplified15.8

    \[\leadsto \color{blue}{\frac{i}{2} \cdot \frac{\frac{i}{2}}{\left(2 \cdot i\right) \cdot \left(2 \cdot i\right) - 1}}\]
  3. Using strategy rm
  4. Applied add-sqr-sqrt15.8

    \[\leadsto \frac{i}{2} \cdot \frac{\frac{i}{2}}{\left(2 \cdot i\right) \cdot \left(2 \cdot i\right) - \color{blue}{\sqrt{1} \cdot \sqrt{1}}}\]
  5. Applied difference-of-squares15.8

    \[\leadsto \frac{i}{2} \cdot \frac{\frac{i}{2}}{\color{blue}{\left(2 \cdot i + \sqrt{1}\right) \cdot \left(2 \cdot i - \sqrt{1}\right)}}\]
  6. Applied *-un-lft-identity15.8

    \[\leadsto \frac{i}{2} \cdot \frac{\frac{i}{\color{blue}{1 \cdot 2}}}{\left(2 \cdot i + \sqrt{1}\right) \cdot \left(2 \cdot i - \sqrt{1}\right)}\]
  7. Applied *-un-lft-identity15.8

    \[\leadsto \frac{i}{2} \cdot \frac{\frac{\color{blue}{1 \cdot i}}{1 \cdot 2}}{\left(2 \cdot i + \sqrt{1}\right) \cdot \left(2 \cdot i - \sqrt{1}\right)}\]
  8. Applied times-frac15.8

    \[\leadsto \frac{i}{2} \cdot \frac{\color{blue}{\frac{1}{1} \cdot \frac{i}{2}}}{\left(2 \cdot i + \sqrt{1}\right) \cdot \left(2 \cdot i - \sqrt{1}\right)}\]
  9. Applied times-frac0.1

    \[\leadsto \frac{i}{2} \cdot \color{blue}{\left(\frac{\frac{1}{1}}{2 \cdot i + \sqrt{1}} \cdot \frac{\frac{i}{2}}{2 \cdot i - \sqrt{1}}\right)}\]
  10. Applied associate-*r*0.1

    \[\leadsto \color{blue}{\left(\frac{i}{2} \cdot \frac{\frac{1}{1}}{2 \cdot i + \sqrt{1}}\right) \cdot \frac{\frac{i}{2}}{2 \cdot i - \sqrt{1}}}\]
  11. Simplified0.0

    \[\leadsto \color{blue}{\frac{\frac{i}{2}}{\mathsf{fma}\left(2, i, \sqrt{1}\right)}} \cdot \frac{\frac{i}{2}}{2 \cdot i - \sqrt{1}}\]
  12. Final simplification0.0

    \[\leadsto \frac{\frac{i}{2}}{\mathsf{fma}\left(2, i, \sqrt{1}\right)} \cdot \frac{\frac{i}{2}}{2 \cdot i - \sqrt{1}}\]

Reproduce

herbie shell --seed 2019173 +o rules:numerics
(FPCore (i)
  :name "Octave 3.8, jcobi/4, as called"
  :pre (and (> i 0.0))
  (/ (/ (* (* i i) (* i i)) (* (* 2.0 i) (* 2.0 i))) (- (* (* 2.0 i) (* 2.0 i)) 1.0)))