Average Error: 0.0 → 0.0
Time: 30.2s
Precision: 64
\[\frac{1.0 + \frac{2.0 \cdot t}{1.0 + t} \cdot \frac{2.0 \cdot t}{1.0 + t}}{2.0 + \frac{2.0 \cdot t}{1.0 + t} \cdot \frac{2.0 \cdot t}{1.0 + t}}\]
\[\frac{1.0 + \left(\log \left(\sqrt{e^{\frac{t \cdot 2.0}{1.0 + t} \cdot \frac{t \cdot 2.0}{1.0 + t}}}\right) + \log \left(\sqrt{e^{\frac{t \cdot 2.0}{1.0 + t} \cdot \frac{t \cdot 2.0}{1.0 + t}}}\right)\right)}{2.0 + \frac{t \cdot 2.0}{1.0 + t} \cdot \frac{t \cdot 2.0}{1.0 + t}}\]
\frac{1.0 + \frac{2.0 \cdot t}{1.0 + t} \cdot \frac{2.0 \cdot t}{1.0 + t}}{2.0 + \frac{2.0 \cdot t}{1.0 + t} \cdot \frac{2.0 \cdot t}{1.0 + t}}
\frac{1.0 + \left(\log \left(\sqrt{e^{\frac{t \cdot 2.0}{1.0 + t} \cdot \frac{t \cdot 2.0}{1.0 + t}}}\right) + \log \left(\sqrt{e^{\frac{t \cdot 2.0}{1.0 + t} \cdot \frac{t \cdot 2.0}{1.0 + t}}}\right)\right)}{2.0 + \frac{t \cdot 2.0}{1.0 + t} \cdot \frac{t \cdot 2.0}{1.0 + t}}
double f(double t) {
        double r2826688 = 1.0;
        double r2826689 = 2.0;
        double r2826690 = t;
        double r2826691 = r2826689 * r2826690;
        double r2826692 = r2826688 + r2826690;
        double r2826693 = r2826691 / r2826692;
        double r2826694 = r2826693 * r2826693;
        double r2826695 = r2826688 + r2826694;
        double r2826696 = r2826689 + r2826694;
        double r2826697 = r2826695 / r2826696;
        return r2826697;
}

double f(double t) {
        double r2826698 = 1.0;
        double r2826699 = t;
        double r2826700 = 2.0;
        double r2826701 = r2826699 * r2826700;
        double r2826702 = r2826698 + r2826699;
        double r2826703 = r2826701 / r2826702;
        double r2826704 = r2826703 * r2826703;
        double r2826705 = exp(r2826704);
        double r2826706 = sqrt(r2826705);
        double r2826707 = log(r2826706);
        double r2826708 = r2826707 + r2826707;
        double r2826709 = r2826698 + r2826708;
        double r2826710 = r2826700 + r2826704;
        double r2826711 = r2826709 / r2826710;
        return r2826711;
}

Error

Bits error versus t

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

    \[\frac{1.0 + \frac{2.0 \cdot t}{1.0 + t} \cdot \frac{2.0 \cdot t}{1.0 + t}}{2.0 + \frac{2.0 \cdot t}{1.0 + t} \cdot \frac{2.0 \cdot t}{1.0 + t}}\]
  2. Using strategy rm
  3. Applied add-log-exp0.0

    \[\leadsto \frac{1.0 + \color{blue}{\log \left(e^{\frac{2.0 \cdot t}{1.0 + t} \cdot \frac{2.0 \cdot t}{1.0 + t}}\right)}}{2.0 + \frac{2.0 \cdot t}{1.0 + t} \cdot \frac{2.0 \cdot t}{1.0 + t}}\]
  4. Using strategy rm
  5. Applied add-sqr-sqrt0.0

    \[\leadsto \frac{1.0 + \log \color{blue}{\left(\sqrt{e^{\frac{2.0 \cdot t}{1.0 + t} \cdot \frac{2.0 \cdot t}{1.0 + t}}} \cdot \sqrt{e^{\frac{2.0 \cdot t}{1.0 + t} \cdot \frac{2.0 \cdot t}{1.0 + t}}}\right)}}{2.0 + \frac{2.0 \cdot t}{1.0 + t} \cdot \frac{2.0 \cdot t}{1.0 + t}}\]
  6. Applied log-prod0.0

    \[\leadsto \frac{1.0 + \color{blue}{\left(\log \left(\sqrt{e^{\frac{2.0 \cdot t}{1.0 + t} \cdot \frac{2.0 \cdot t}{1.0 + t}}}\right) + \log \left(\sqrt{e^{\frac{2.0 \cdot t}{1.0 + t} \cdot \frac{2.0 \cdot t}{1.0 + t}}}\right)\right)}}{2.0 + \frac{2.0 \cdot t}{1.0 + t} \cdot \frac{2.0 \cdot t}{1.0 + t}}\]
  7. Final simplification0.0

    \[\leadsto \frac{1.0 + \left(\log \left(\sqrt{e^{\frac{t \cdot 2.0}{1.0 + t} \cdot \frac{t \cdot 2.0}{1.0 + t}}}\right) + \log \left(\sqrt{e^{\frac{t \cdot 2.0}{1.0 + t} \cdot \frac{t \cdot 2.0}{1.0 + t}}}\right)\right)}{2.0 + \frac{t \cdot 2.0}{1.0 + t} \cdot \frac{t \cdot 2.0}{1.0 + t}}\]

Reproduce

herbie shell --seed 2019165 
(FPCore (t)
  :name "Kahan p13 Example 1"
  (/ (+ 1.0 (* (/ (* 2.0 t) (+ 1.0 t)) (/ (* 2.0 t) (+ 1.0 t)))) (+ 2.0 (* (/ (* 2.0 t) (+ 1.0 t)) (/ (* 2.0 t) (+ 1.0 t))))))