Average Error: 46.7 → 0.2
Time: 21.1s
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 \cdot 2}}{\mathsf{fma}\left(-\frac{\sqrt{1}}{\sqrt{i}}, \frac{\sqrt{1}}{\sqrt{i}}, \frac{\sqrt{1}}{\sqrt{i}} \cdot \frac{\sqrt{1}}{\sqrt{i}}\right) + \mathsf{fma}\left(2 \cdot 2, i, \left(-\frac{\sqrt{1}}{\sqrt{i}}\right) \cdot \frac{\sqrt{1}}{\sqrt{i}}\right)}\]
\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 \cdot 2}}{\mathsf{fma}\left(-\frac{\sqrt{1}}{\sqrt{i}}, \frac{\sqrt{1}}{\sqrt{i}}, \frac{\sqrt{1}}{\sqrt{i}} \cdot \frac{\sqrt{1}}{\sqrt{i}}\right) + \mathsf{fma}\left(2 \cdot 2, i, \left(-\frac{\sqrt{1}}{\sqrt{i}}\right) \cdot \frac{\sqrt{1}}{\sqrt{i}}\right)}
double f(double i) {
        double r2884153 = i;
        double r2884154 = r2884153 * r2884153;
        double r2884155 = r2884154 * r2884154;
        double r2884156 = 2.0;
        double r2884157 = r2884156 * r2884153;
        double r2884158 = r2884157 * r2884157;
        double r2884159 = r2884155 / r2884158;
        double r2884160 = 1.0;
        double r2884161 = r2884158 - r2884160;
        double r2884162 = r2884159 / r2884161;
        return r2884162;
}

double f(double i) {
        double r2884163 = i;
        double r2884164 = 2.0;
        double r2884165 = r2884164 * r2884164;
        double r2884166 = r2884163 / r2884165;
        double r2884167 = 1.0;
        double r2884168 = sqrt(r2884167);
        double r2884169 = sqrt(r2884163);
        double r2884170 = r2884168 / r2884169;
        double r2884171 = -r2884170;
        double r2884172 = r2884170 * r2884170;
        double r2884173 = fma(r2884171, r2884170, r2884172);
        double r2884174 = r2884171 * r2884170;
        double r2884175 = fma(r2884165, r2884163, r2884174);
        double r2884176 = r2884173 + r2884175;
        double r2884177 = r2884166 / r2884176;
        return r2884177;
}

Error

Bits error versus i

Derivation

  1. Initial program 46.7

    \[\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. Simplified0.1

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

    \[\leadsto \frac{\frac{i}{2 \cdot 2}}{\left(2 \cdot 2\right) \cdot i - \frac{1}{\color{blue}{\sqrt{i} \cdot \sqrt{i}}}}\]
  5. Applied add-sqr-sqrt0.2

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

    \[\leadsto \frac{\frac{i}{2 \cdot 2}}{\left(2 \cdot 2\right) \cdot i - \color{blue}{\frac{\sqrt{1}}{\sqrt{i}} \cdot \frac{\sqrt{1}}{\sqrt{i}}}}\]
  7. Applied prod-diff0.2

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

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

Reproduce

herbie shell --seed 2019169 +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)))