Average Error: 14.9 → 0.0
Time: 19.6s
Precision: 64
\[\frac{x}{x \cdot x + 1}\]
\[\begin{array}{l} \mathbf{if}\;x \le -45266.24690235777:\\ \;\;\;\;\left(\frac{1}{\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot x} + \frac{1}{x}\right) - \frac{\frac{1}{x}}{x \cdot x}\\ \mathbf{elif}\;x \le 370.7004599643339:\\ \;\;\;\;\frac{x}{\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right) + 1} \cdot \left(\left(1 - x \cdot x\right) + \left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\frac{1}{\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot x} + \frac{1}{x}\right) - \frac{\frac{1}{x}}{x \cdot x}\\ \end{array}\]
\frac{x}{x \cdot x + 1}
\begin{array}{l}
\mathbf{if}\;x \le -45266.24690235777:\\
\;\;\;\;\left(\frac{1}{\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot x} + \frac{1}{x}\right) - \frac{\frac{1}{x}}{x \cdot x}\\

\mathbf{elif}\;x \le 370.7004599643339:\\
\;\;\;\;\frac{x}{\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right) + 1} \cdot \left(\left(1 - x \cdot x\right) + \left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\\

\mathbf{else}:\\
\;\;\;\;\left(\frac{1}{\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot x} + \frac{1}{x}\right) - \frac{\frac{1}{x}}{x \cdot x}\\

\end{array}
double f(double x) {
        double r1597167 = x;
        double r1597168 = r1597167 * r1597167;
        double r1597169 = 1.0;
        double r1597170 = r1597168 + r1597169;
        double r1597171 = r1597167 / r1597170;
        return r1597171;
}

double f(double x) {
        double r1597172 = x;
        double r1597173 = -45266.24690235777;
        bool r1597174 = r1597172 <= r1597173;
        double r1597175 = 1.0;
        double r1597176 = r1597172 * r1597172;
        double r1597177 = r1597176 * r1597176;
        double r1597178 = r1597177 * r1597172;
        double r1597179 = r1597175 / r1597178;
        double r1597180 = r1597175 / r1597172;
        double r1597181 = r1597179 + r1597180;
        double r1597182 = r1597180 / r1597176;
        double r1597183 = r1597181 - r1597182;
        double r1597184 = 370.7004599643339;
        bool r1597185 = r1597172 <= r1597184;
        double r1597186 = r1597176 * r1597172;
        double r1597187 = r1597186 * r1597186;
        double r1597188 = r1597187 + r1597175;
        double r1597189 = r1597172 / r1597188;
        double r1597190 = r1597175 - r1597176;
        double r1597191 = r1597190 + r1597177;
        double r1597192 = r1597189 * r1597191;
        double r1597193 = r1597185 ? r1597192 : r1597183;
        double r1597194 = r1597174 ? r1597183 : r1597193;
        return r1597194;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original14.9
Target0.1
Herbie0.0
\[\frac{1}{x + \frac{1}{x}}\]

Derivation

  1. Split input into 2 regimes
  2. if x < -45266.24690235777 or 370.7004599643339 < x

    1. Initial program 29.6

      \[\frac{x}{x \cdot x + 1}\]
    2. Using strategy rm
    3. Applied flip3-+52.9

      \[\leadsto \frac{x}{\color{blue}{\frac{{\left(x \cdot x\right)}^{3} + {1}^{3}}{\left(x \cdot x\right) \cdot \left(x \cdot x\right) + \left(1 \cdot 1 - \left(x \cdot x\right) \cdot 1\right)}}}\]
    4. Applied associate-/r/52.9

      \[\leadsto \color{blue}{\frac{x}{{\left(x \cdot x\right)}^{3} + {1}^{3}} \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right) + \left(1 \cdot 1 - \left(x \cdot x\right) \cdot 1\right)\right)}\]
    5. Simplified52.9

      \[\leadsto \color{blue}{\frac{x}{\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right) + 1}} \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right) + \left(1 \cdot 1 - \left(x \cdot x\right) \cdot 1\right)\right)\]
    6. Taylor expanded around -inf 0.0

      \[\leadsto \color{blue}{\left(\frac{1}{{x}^{5}} + \frac{1}{x}\right) - \frac{1}{{x}^{3}}}\]
    7. Simplified0.0

      \[\leadsto \color{blue}{\left(\frac{1}{\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot x} + \frac{1}{x}\right) - \frac{\frac{1}{x}}{x \cdot x}}\]

    if -45266.24690235777 < x < 370.7004599643339

    1. Initial program 0.0

      \[\frac{x}{x \cdot x + 1}\]
    2. Using strategy rm
    3. Applied flip3-+0.0

      \[\leadsto \frac{x}{\color{blue}{\frac{{\left(x \cdot x\right)}^{3} + {1}^{3}}{\left(x \cdot x\right) \cdot \left(x \cdot x\right) + \left(1 \cdot 1 - \left(x \cdot x\right) \cdot 1\right)}}}\]
    4. Applied associate-/r/0.0

      \[\leadsto \color{blue}{\frac{x}{{\left(x \cdot x\right)}^{3} + {1}^{3}} \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right) + \left(1 \cdot 1 - \left(x \cdot x\right) \cdot 1\right)\right)}\]
    5. Simplified0.0

      \[\leadsto \color{blue}{\frac{x}{\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right) + 1}} \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right) + \left(1 \cdot 1 - \left(x \cdot x\right) \cdot 1\right)\right)\]
  3. Recombined 2 regimes into one program.
  4. Final simplification0.0

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -45266.24690235777:\\ \;\;\;\;\left(\frac{1}{\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot x} + \frac{1}{x}\right) - \frac{\frac{1}{x}}{x \cdot x}\\ \mathbf{elif}\;x \le 370.7004599643339:\\ \;\;\;\;\frac{x}{\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right) + 1} \cdot \left(\left(1 - x \cdot x\right) + \left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\frac{1}{\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot x} + \frac{1}{x}\right) - \frac{\frac{1}{x}}{x \cdot x}\\ \end{array}\]

Reproduce

herbie shell --seed 2019139 
(FPCore (x)
  :name "x / (x^2 + 1)"

  :herbie-target
  (/ 1 (+ x (/ 1 x)))

  (/ x (+ (* x x) 1)))