Average Error: 2.4 → 0.4
Time: 23.7s
Precision: 64
\[i \gt \left(0\right)\]
\[\frac{\left(\frac{\left(\left(i \cdot i\right) \cdot \left(i \cdot i\right)\right)}{\left(\left(\left(2\right) \cdot i\right) \cdot \left(\left(2\right) \cdot i\right)\right)}\right)}{\left(\left(\left(\left(2\right) \cdot i\right) \cdot \left(\left(2\right) \cdot i\right)\right) - \left(1.0\right)\right)}\]
\[\frac{\frac{i}{\frac{2}{\frac{i}{i}}}}{2 \cdot i + 1.0} \cdot \frac{\frac{i}{\frac{2}{\frac{i}{i}}}}{2 \cdot i - 1.0}\]
\frac{\left(\frac{\left(\left(i \cdot i\right) \cdot \left(i \cdot i\right)\right)}{\left(\left(\left(2\right) \cdot i\right) \cdot \left(\left(2\right) \cdot i\right)\right)}\right)}{\left(\left(\left(\left(2\right) \cdot i\right) \cdot \left(\left(2\right) \cdot i\right)\right) - \left(1.0\right)\right)}
\frac{\frac{i}{\frac{2}{\frac{i}{i}}}}{2 \cdot i + 1.0} \cdot \frac{\frac{i}{\frac{2}{\frac{i}{i}}}}{2 \cdot i - 1.0}
double f(double i) {
        double r1488111 = i;
        double r1488112 = r1488111 * r1488111;
        double r1488113 = r1488112 * r1488112;
        double r1488114 = 2.0;
        double r1488115 = /* ERROR: no posit support in C */;
        double r1488116 = r1488115 * r1488111;
        double r1488117 = r1488116 * r1488116;
        double r1488118 = r1488113 / r1488117;
        double r1488119 = 1.0;
        double r1488120 = /* ERROR: no posit support in C */;
        double r1488121 = r1488117 - r1488120;
        double r1488122 = r1488118 / r1488121;
        return r1488122;
}

double f(double i) {
        double r1488123 = i;
        double r1488124 = 2.0;
        double r1488125 = r1488123 / r1488123;
        double r1488126 = r1488124 / r1488125;
        double r1488127 = r1488123 / r1488126;
        double r1488128 = r1488124 * r1488123;
        double r1488129 = 1.0;
        double r1488130 = r1488128 + r1488129;
        double r1488131 = r1488127 / r1488130;
        double r1488132 = r1488128 - r1488129;
        double r1488133 = r1488127 / r1488132;
        double r1488134 = r1488131 * r1488133;
        return r1488134;
}

Error

Bits error versus i

Derivation

  1. Initial program 2.4

    \[\frac{\left(\frac{\left(\left(i \cdot i\right) \cdot \left(i \cdot i\right)\right)}{\left(\left(\left(2\right) \cdot i\right) \cdot \left(\left(2\right) \cdot i\right)\right)}\right)}{\left(\left(\left(\left(2\right) \cdot i\right) \cdot \left(\left(2\right) \cdot i\right)\right) - \left(1.0\right)\right)}\]
  2. Using strategy rm
  3. Applied associate-/l*1.0

    \[\leadsto \frac{\color{blue}{\left(\frac{\left(i \cdot i\right)}{\left(\frac{\left(\left(\left(2\right) \cdot i\right) \cdot \left(\left(2\right) \cdot i\right)\right)}{\left(i \cdot i\right)}\right)}\right)}}{\left(\left(\left(\left(2\right) \cdot i\right) \cdot \left(\left(2\right) \cdot i\right)\right) - \left(1.0\right)\right)}\]
  4. Using strategy rm
  5. Applied difference-of-sqr-11.0

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

    \[\leadsto \frac{\left(\frac{\left(i \cdot i\right)}{\color{blue}{\left(\left(\frac{\left(\left(2\right) \cdot i\right)}{i}\right) \cdot \left(\frac{\left(\left(2\right) \cdot i\right)}{i}\right)\right)}}\right)}{\left(\left(\frac{\left(\left(2\right) \cdot i\right)}{\left(1.0\right)}\right) \cdot \left(\left(\left(2\right) \cdot i\right) - \left(1.0\right)\right)\right)}\]
  7. Applied p16-times-frac0.9

    \[\leadsto \frac{\color{blue}{\left(\left(\frac{i}{\left(\frac{\left(\left(2\right) \cdot i\right)}{i}\right)}\right) \cdot \left(\frac{i}{\left(\frac{\left(\left(2\right) \cdot i\right)}{i}\right)}\right)\right)}}{\left(\left(\frac{\left(\left(2\right) \cdot i\right)}{\left(1.0\right)}\right) \cdot \left(\left(\left(2\right) \cdot i\right) - \left(1.0\right)\right)\right)}\]
  8. Applied p16-times-frac0.5

    \[\leadsto \color{blue}{\left(\frac{\left(\frac{i}{\left(\frac{\left(\left(2\right) \cdot i\right)}{i}\right)}\right)}{\left(\frac{\left(\left(2\right) \cdot i\right)}{\left(1.0\right)}\right)}\right) \cdot \left(\frac{\left(\frac{i}{\left(\frac{\left(\left(2\right) \cdot i\right)}{i}\right)}\right)}{\left(\left(\left(2\right) \cdot i\right) - \left(1.0\right)\right)}\right)}\]
  9. Using strategy rm
  10. Applied associate-/l*0.4

    \[\leadsto \left(\frac{\left(\frac{i}{\left(\frac{\left(\left(2\right) \cdot i\right)}{i}\right)}\right)}{\left(\frac{\left(\left(2\right) \cdot i\right)}{\left(1.0\right)}\right)}\right) \cdot \left(\frac{\left(\frac{i}{\color{blue}{\left(\frac{\left(2\right)}{\left(\frac{i}{i}\right)}\right)}}\right)}{\left(\left(\left(2\right) \cdot i\right) - \left(1.0\right)\right)}\right)\]
  11. Using strategy rm
  12. Applied associate-/l*0.4

    \[\leadsto \left(\frac{\left(\frac{i}{\color{blue}{\left(\frac{\left(2\right)}{\left(\frac{i}{i}\right)}\right)}}\right)}{\left(\frac{\left(\left(2\right) \cdot i\right)}{\left(1.0\right)}\right)}\right) \cdot \left(\frac{\left(\frac{i}{\left(\frac{\left(2\right)}{\left(\frac{i}{i}\right)}\right)}\right)}{\left(\left(\left(2\right) \cdot i\right) - \left(1.0\right)\right)}\right)\]
  13. Final simplification0.4

    \[\leadsto \frac{\frac{i}{\frac{2}{\frac{i}{i}}}}{2 \cdot i + 1.0} \cdot \frac{\frac{i}{\frac{2}{\frac{i}{i}}}}{2 \cdot i - 1.0}\]

Reproduce

herbie shell --seed 2019120 
(FPCore (i)
  :name "Octave 3.8, jcobi/4, as called"
  :pre (and (>.p16 i (real->posit16 0)))
  (/.p16 (/.p16 (*.p16 (*.p16 i i) (*.p16 i i)) (*.p16 (*.p16 (real->posit16 2) i) (*.p16 (real->posit16 2) i))) (-.p16 (*.p16 (*.p16 (real->posit16 2) i) (*.p16 (real->posit16 2) i)) (real->posit16 1.0))))