Rosa's DopplerBench

Percentage Accurate: 72.3% → 98.0%
Time: 8.7s
Alternatives: 12
Speedup: 1.1×

Specification

?
\[\begin{array}{l} \\ \frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \end{array} \]
(FPCore (u v t1) :precision binary64 (/ (* (- t1) v) (* (+ t1 u) (+ t1 u))))
double code(double u, double v, double t1) {
	return (-t1 * v) / ((t1 + u) * (t1 + u));
}
real(8) function code(u, v, t1)
    real(8), intent (in) :: u
    real(8), intent (in) :: v
    real(8), intent (in) :: t1
    code = (-t1 * v) / ((t1 + u) * (t1 + u))
end function
public static double code(double u, double v, double t1) {
	return (-t1 * v) / ((t1 + u) * (t1 + u));
}
def code(u, v, t1):
	return (-t1 * v) / ((t1 + u) * (t1 + u))
function code(u, v, t1)
	return Float64(Float64(Float64(-t1) * v) / Float64(Float64(t1 + u) * Float64(t1 + u)))
end
function tmp = code(u, v, t1)
	tmp = (-t1 * v) / ((t1 + u) * (t1 + u));
end
code[u_, v_, t1_] := N[(N[((-t1) * v), $MachinePrecision] / N[(N[(t1 + u), $MachinePrecision] * N[(t1 + u), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}
\end{array}

Sampling outcomes in binary64 precision:

Local Percentage Accuracy vs ?

The average percentage accuracy by input value. Horizontal axis shows value of an input variable; the variable is choosen in the title. Vertical axis is accuracy; higher is better. Red represent the original program, while blue represents Herbie's suggestion. These can be toggled with buttons below the plot. The line is an average while dots represent individual samples.

Accuracy vs Speed?

Herbie found 12 alternatives:

AlternativeAccuracySpeedup
The accuracy (vertical axis) and speed (horizontal axis) of each alternatives. Up and to the right is better. The red square shows the initial program, and each blue circle shows an alternative.The line shows the best available speed-accuracy tradeoffs.

Initial Program: 72.3% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \end{array} \]
(FPCore (u v t1) :precision binary64 (/ (* (- t1) v) (* (+ t1 u) (+ t1 u))))
double code(double u, double v, double t1) {
	return (-t1 * v) / ((t1 + u) * (t1 + u));
}
real(8) function code(u, v, t1)
    real(8), intent (in) :: u
    real(8), intent (in) :: v
    real(8), intent (in) :: t1
    code = (-t1 * v) / ((t1 + u) * (t1 + u))
end function
public static double code(double u, double v, double t1) {
	return (-t1 * v) / ((t1 + u) * (t1 + u));
}
def code(u, v, t1):
	return (-t1 * v) / ((t1 + u) * (t1 + u))
function code(u, v, t1)
	return Float64(Float64(Float64(-t1) * v) / Float64(Float64(t1 + u) * Float64(t1 + u)))
end
function tmp = code(u, v, t1)
	tmp = (-t1 * v) / ((t1 + u) * (t1 + u));
end
code[u_, v_, t1_] := N[(N[((-t1) * v), $MachinePrecision] / N[(N[(t1 + u), $MachinePrecision] * N[(t1 + u), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)}
\end{array}

Alternative 1: 98.0% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \frac{-t1}{t1 + u} \cdot \frac{v}{t1 + u} \end{array} \]
(FPCore (u v t1) :precision binary64 (* (/ (- t1) (+ t1 u)) (/ v (+ t1 u))))
double code(double u, double v, double t1) {
	return (-t1 / (t1 + u)) * (v / (t1 + u));
}
real(8) function code(u, v, t1)
    real(8), intent (in) :: u
    real(8), intent (in) :: v
    real(8), intent (in) :: t1
    code = (-t1 / (t1 + u)) * (v / (t1 + u))
end function
public static double code(double u, double v, double t1) {
	return (-t1 / (t1 + u)) * (v / (t1 + u));
}
def code(u, v, t1):
	return (-t1 / (t1 + u)) * (v / (t1 + u))
function code(u, v, t1)
	return Float64(Float64(Float64(-t1) / Float64(t1 + u)) * Float64(v / Float64(t1 + u)))
end
function tmp = code(u, v, t1)
	tmp = (-t1 / (t1 + u)) * (v / (t1 + u));
end
code[u_, v_, t1_] := N[(N[((-t1) / N[(t1 + u), $MachinePrecision]), $MachinePrecision] * N[(v / N[(t1 + u), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\frac{-t1}{t1 + u} \cdot \frac{v}{t1 + u}
\end{array}
Derivation
  1. Initial program 70.9%

    \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
  2. Step-by-step derivation
    1. times-frac97.3%

      \[\leadsto \color{blue}{\frac{-t1}{t1 + u} \cdot \frac{v}{t1 + u}} \]
  3. Simplified97.3%

    \[\leadsto \color{blue}{\frac{-t1}{t1 + u} \cdot \frac{v}{t1 + u}} \]
  4. Final simplification97.3%

    \[\leadsto \frac{-t1}{t1 + u} \cdot \frac{v}{t1 + u} \]

Alternative 2: 78.8% accurate, 1.0× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;t1 \leq -2.8 \cdot 10^{-21} \lor \neg \left(t1 \leq 9.8 \cdot 10^{+56}\right):\\ \;\;\;\;\frac{v}{u \cdot -2 - t1}\\ \mathbf{else}:\\ \;\;\;\;\frac{v}{u} \cdot \frac{-t1}{u}\\ \end{array} \end{array} \]
(FPCore (u v t1)
 :precision binary64
 (if (or (<= t1 -2.8e-21) (not (<= t1 9.8e+56)))
   (/ v (- (* u -2.0) t1))
   (* (/ v u) (/ (- t1) u))))
double code(double u, double v, double t1) {
	double tmp;
	if ((t1 <= -2.8e-21) || !(t1 <= 9.8e+56)) {
		tmp = v / ((u * -2.0) - t1);
	} else {
		tmp = (v / u) * (-t1 / u);
	}
	return tmp;
}
real(8) function code(u, v, t1)
    real(8), intent (in) :: u
    real(8), intent (in) :: v
    real(8), intent (in) :: t1
    real(8) :: tmp
    if ((t1 <= (-2.8d-21)) .or. (.not. (t1 <= 9.8d+56))) then
        tmp = v / ((u * (-2.0d0)) - t1)
    else
        tmp = (v / u) * (-t1 / u)
    end if
    code = tmp
end function
public static double code(double u, double v, double t1) {
	double tmp;
	if ((t1 <= -2.8e-21) || !(t1 <= 9.8e+56)) {
		tmp = v / ((u * -2.0) - t1);
	} else {
		tmp = (v / u) * (-t1 / u);
	}
	return tmp;
}
def code(u, v, t1):
	tmp = 0
	if (t1 <= -2.8e-21) or not (t1 <= 9.8e+56):
		tmp = v / ((u * -2.0) - t1)
	else:
		tmp = (v / u) * (-t1 / u)
	return tmp
function code(u, v, t1)
	tmp = 0.0
	if ((t1 <= -2.8e-21) || !(t1 <= 9.8e+56))
		tmp = Float64(v / Float64(Float64(u * -2.0) - t1));
	else
		tmp = Float64(Float64(v / u) * Float64(Float64(-t1) / u));
	end
	return tmp
end
function tmp_2 = code(u, v, t1)
	tmp = 0.0;
	if ((t1 <= -2.8e-21) || ~((t1 <= 9.8e+56)))
		tmp = v / ((u * -2.0) - t1);
	else
		tmp = (v / u) * (-t1 / u);
	end
	tmp_2 = tmp;
end
code[u_, v_, t1_] := If[Or[LessEqual[t1, -2.8e-21], N[Not[LessEqual[t1, 9.8e+56]], $MachinePrecision]], N[(v / N[(N[(u * -2.0), $MachinePrecision] - t1), $MachinePrecision]), $MachinePrecision], N[(N[(v / u), $MachinePrecision] * N[((-t1) / u), $MachinePrecision]), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;t1 \leq -2.8 \cdot 10^{-21} \lor \neg \left(t1 \leq 9.8 \cdot 10^{+56}\right):\\
\;\;\;\;\frac{v}{u \cdot -2 - t1}\\

\mathbf{else}:\\
\;\;\;\;\frac{v}{u} \cdot \frac{-t1}{u}\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if t1 < -2.80000000000000004e-21 or 9.8000000000000005e56 < t1

    1. Initial program 58.2%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Step-by-step derivation
      1. *-commutative58.2%

        \[\leadsto \frac{\color{blue}{v \cdot \left(-t1\right)}}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
      2. times-frac99.9%

        \[\leadsto \color{blue}{\frac{v}{t1 + u} \cdot \frac{-t1}{t1 + u}} \]
      3. neg-mul-199.9%

        \[\leadsto \frac{v}{t1 + u} \cdot \frac{\color{blue}{-1 \cdot t1}}{t1 + u} \]
      4. associate-/l*99.9%

        \[\leadsto \frac{v}{t1 + u} \cdot \color{blue}{\frac{-1}{\frac{t1 + u}{t1}}} \]
      5. associate-*r/99.9%

        \[\leadsto \color{blue}{\frac{\frac{v}{t1 + u} \cdot -1}{\frac{t1 + u}{t1}}} \]
      6. associate-/l*99.9%

        \[\leadsto \color{blue}{\frac{\frac{v}{t1 + u}}{\frac{\frac{t1 + u}{t1}}{-1}}} \]
      7. associate-/l/99.9%

        \[\leadsto \frac{\frac{v}{t1 + u}}{\color{blue}{\frac{t1 + u}{-1 \cdot t1}}} \]
      8. neg-mul-199.9%

        \[\leadsto \frac{\frac{v}{t1 + u}}{\frac{t1 + u}{\color{blue}{-t1}}} \]
      9. *-lft-identity99.9%

        \[\leadsto \frac{\frac{v}{t1 + u}}{\color{blue}{1 \cdot \frac{t1 + u}{-t1}}} \]
      10. metadata-eval99.9%

        \[\leadsto \frac{\frac{v}{t1 + u}}{\color{blue}{\frac{-1}{-1}} \cdot \frac{t1 + u}{-t1}} \]
      11. times-frac99.9%

        \[\leadsto \frac{\frac{v}{t1 + u}}{\color{blue}{\frac{-1 \cdot \left(t1 + u\right)}{-1 \cdot \left(-t1\right)}}} \]
      12. neg-mul-199.9%

        \[\leadsto \frac{\frac{v}{t1 + u}}{\frac{-1 \cdot \left(t1 + u\right)}{\color{blue}{-\left(-t1\right)}}} \]
      13. remove-double-neg99.9%

        \[\leadsto \frac{\frac{v}{t1 + u}}{\frac{-1 \cdot \left(t1 + u\right)}{\color{blue}{t1}}} \]
      14. neg-mul-199.9%

        \[\leadsto \frac{\frac{v}{t1 + u}}{\frac{\color{blue}{-\left(t1 + u\right)}}{t1}} \]
      15. sub0-neg99.9%

        \[\leadsto \frac{\frac{v}{t1 + u}}{\frac{\color{blue}{0 - \left(t1 + u\right)}}{t1}} \]
      16. associate--r+99.9%

        \[\leadsto \frac{\frac{v}{t1 + u}}{\frac{\color{blue}{\left(0 - t1\right) - u}}{t1}} \]
      17. neg-sub099.9%

        \[\leadsto \frac{\frac{v}{t1 + u}}{\frac{\color{blue}{\left(-t1\right)} - u}{t1}} \]
      18. div-sub99.9%

        \[\leadsto \frac{\frac{v}{t1 + u}}{\color{blue}{\frac{-t1}{t1} - \frac{u}{t1}}} \]
      19. distribute-frac-neg99.9%

        \[\leadsto \frac{\frac{v}{t1 + u}}{\color{blue}{\left(-\frac{t1}{t1}\right)} - \frac{u}{t1}} \]
      20. *-inverses99.9%

        \[\leadsto \frac{\frac{v}{t1 + u}}{\left(-\color{blue}{1}\right) - \frac{u}{t1}} \]
      21. metadata-eval99.9%

        \[\leadsto \frac{\frac{v}{t1 + u}}{\color{blue}{-1} - \frac{u}{t1}} \]
    3. Simplified99.9%

      \[\leadsto \color{blue}{\frac{\frac{v}{t1 + u}}{-1 - \frac{u}{t1}}} \]
    4. Taylor expanded in v around 0 98.3%

      \[\leadsto \color{blue}{-1 \cdot \frac{v}{\left(t1 + u\right) \cdot \left(1 + \frac{u}{t1}\right)}} \]
    5. Step-by-step derivation
      1. associate-*r/98.3%

        \[\leadsto \color{blue}{\frac{-1 \cdot v}{\left(t1 + u\right) \cdot \left(1 + \frac{u}{t1}\right)}} \]
      2. neg-mul-198.3%

        \[\leadsto \frac{\color{blue}{-v}}{\left(t1 + u\right) \cdot \left(1 + \frac{u}{t1}\right)} \]
      3. +-commutative98.3%

        \[\leadsto \frac{-v}{\left(t1 + u\right) \cdot \color{blue}{\left(\frac{u}{t1} + 1\right)}} \]
    6. Simplified98.3%

      \[\leadsto \color{blue}{\frac{-v}{\left(t1 + u\right) \cdot \left(\frac{u}{t1} + 1\right)}} \]
    7. Step-by-step derivation
      1. frac-2neg98.3%

        \[\leadsto \color{blue}{\frac{-\left(-v\right)}{-\left(t1 + u\right) \cdot \left(\frac{u}{t1} + 1\right)}} \]
      2. div-inv98.0%

        \[\leadsto \color{blue}{\left(-\left(-v\right)\right) \cdot \frac{1}{-\left(t1 + u\right) \cdot \left(\frac{u}{t1} + 1\right)}} \]
      3. add-sqr-sqrt60.3%

        \[\leadsto \left(-\color{blue}{\sqrt{-v} \cdot \sqrt{-v}}\right) \cdot \frac{1}{-\left(t1 + u\right) \cdot \left(\frac{u}{t1} + 1\right)} \]
      4. sqrt-unprod58.1%

        \[\leadsto \left(-\color{blue}{\sqrt{\left(-v\right) \cdot \left(-v\right)}}\right) \cdot \frac{1}{-\left(t1 + u\right) \cdot \left(\frac{u}{t1} + 1\right)} \]
      5. sqr-neg58.1%

        \[\leadsto \left(-\sqrt{\color{blue}{v \cdot v}}\right) \cdot \frac{1}{-\left(t1 + u\right) \cdot \left(\frac{u}{t1} + 1\right)} \]
      6. sqrt-unprod12.0%

        \[\leadsto \left(-\color{blue}{\sqrt{v} \cdot \sqrt{v}}\right) \cdot \frac{1}{-\left(t1 + u\right) \cdot \left(\frac{u}{t1} + 1\right)} \]
      7. add-sqr-sqrt32.5%

        \[\leadsto \left(-\color{blue}{v}\right) \cdot \frac{1}{-\left(t1 + u\right) \cdot \left(\frac{u}{t1} + 1\right)} \]
      8. add-sqr-sqrt20.6%

        \[\leadsto \color{blue}{\left(\sqrt{-v} \cdot \sqrt{-v}\right)} \cdot \frac{1}{-\left(t1 + u\right) \cdot \left(\frac{u}{t1} + 1\right)} \]
      9. sqrt-unprod48.2%

        \[\leadsto \color{blue}{\sqrt{\left(-v\right) \cdot \left(-v\right)}} \cdot \frac{1}{-\left(t1 + u\right) \cdot \left(\frac{u}{t1} + 1\right)} \]
      10. sqr-neg48.2%

        \[\leadsto \sqrt{\color{blue}{v \cdot v}} \cdot \frac{1}{-\left(t1 + u\right) \cdot \left(\frac{u}{t1} + 1\right)} \]
      11. sqrt-unprod37.5%

        \[\leadsto \color{blue}{\left(\sqrt{v} \cdot \sqrt{v}\right)} \cdot \frac{1}{-\left(t1 + u\right) \cdot \left(\frac{u}{t1} + 1\right)} \]
      12. add-sqr-sqrt98.0%

        \[\leadsto \color{blue}{v} \cdot \frac{1}{-\left(t1 + u\right) \cdot \left(\frac{u}{t1} + 1\right)} \]
    8. Applied egg-rr98.0%

      \[\leadsto \color{blue}{v \cdot \frac{1}{-\left(t1 + u\right) \cdot \left(\frac{u}{t1} + 1\right)}} \]
    9. Step-by-step derivation
      1. associate-*r/98.3%

        \[\leadsto \color{blue}{\frac{v \cdot 1}{-\left(t1 + u\right) \cdot \left(\frac{u}{t1} + 1\right)}} \]
      2. *-rgt-identity98.3%

        \[\leadsto \frac{\color{blue}{v}}{-\left(t1 + u\right) \cdot \left(\frac{u}{t1} + 1\right)} \]
      3. distribute-rgt-neg-in98.3%

        \[\leadsto \frac{v}{\color{blue}{\left(t1 + u\right) \cdot \left(-\left(\frac{u}{t1} + 1\right)\right)}} \]
      4. +-commutative98.3%

        \[\leadsto \frac{v}{\left(t1 + u\right) \cdot \left(-\color{blue}{\left(1 + \frac{u}{t1}\right)}\right)} \]
      5. distribute-neg-in98.3%

        \[\leadsto \frac{v}{\left(t1 + u\right) \cdot \color{blue}{\left(\left(-1\right) + \left(-\frac{u}{t1}\right)\right)}} \]
      6. metadata-eval98.3%

        \[\leadsto \frac{v}{\left(t1 + u\right) \cdot \left(\color{blue}{-1} + \left(-\frac{u}{t1}\right)\right)} \]
      7. sub-neg98.3%

        \[\leadsto \frac{v}{\left(t1 + u\right) \cdot \color{blue}{\left(-1 - \frac{u}{t1}\right)}} \]
    10. Simplified98.3%

      \[\leadsto \color{blue}{\frac{v}{\left(t1 + u\right) \cdot \left(-1 - \frac{u}{t1}\right)}} \]
    11. Taylor expanded in t1 around inf 86.3%

      \[\leadsto \frac{v}{\color{blue}{-1 \cdot t1 + -2 \cdot u}} \]
    12. Step-by-step derivation
      1. +-commutative86.3%

        \[\leadsto \frac{v}{\color{blue}{-2 \cdot u + -1 \cdot t1}} \]
      2. mul-1-neg86.3%

        \[\leadsto \frac{v}{-2 \cdot u + \color{blue}{\left(-t1\right)}} \]
      3. unsub-neg86.3%

        \[\leadsto \frac{v}{\color{blue}{-2 \cdot u - t1}} \]
      4. *-commutative86.3%

        \[\leadsto \frac{v}{\color{blue}{u \cdot -2} - t1} \]
    13. Simplified86.3%

      \[\leadsto \frac{v}{\color{blue}{u \cdot -2 - t1}} \]

    if -2.80000000000000004e-21 < t1 < 9.8000000000000005e56

    1. Initial program 81.1%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Taylor expanded in t1 around 0 72.2%

      \[\leadsto \frac{\left(-t1\right) \cdot v}{\color{blue}{{u}^{2}}} \]
    3. Step-by-step derivation
      1. unpow272.2%

        \[\leadsto \frac{\left(-t1\right) \cdot v}{\color{blue}{u \cdot u}} \]
    4. Simplified72.2%

      \[\leadsto \frac{\left(-t1\right) \cdot v}{\color{blue}{u \cdot u}} \]
    5. Step-by-step derivation
      1. expm1-log1p-u63.0%

        \[\leadsto \color{blue}{\mathsf{expm1}\left(\mathsf{log1p}\left(\frac{\left(-t1\right) \cdot v}{u \cdot u}\right)\right)} \]
      2. expm1-udef50.8%

        \[\leadsto \color{blue}{e^{\mathsf{log1p}\left(\frac{\left(-t1\right) \cdot v}{u \cdot u}\right)} - 1} \]
      3. div-inv50.4%

        \[\leadsto e^{\mathsf{log1p}\left(\color{blue}{\left(\left(-t1\right) \cdot v\right) \cdot \frac{1}{u \cdot u}}\right)} - 1 \]
      4. associate-*l*49.3%

        \[\leadsto e^{\mathsf{log1p}\left(\color{blue}{\left(-t1\right) \cdot \left(v \cdot \frac{1}{u \cdot u}\right)}\right)} - 1 \]
      5. add-sqr-sqrt23.0%

        \[\leadsto e^{\mathsf{log1p}\left(\color{blue}{\left(\sqrt{-t1} \cdot \sqrt{-t1}\right)} \cdot \left(v \cdot \frac{1}{u \cdot u}\right)\right)} - 1 \]
      6. sqrt-unprod45.3%

        \[\leadsto e^{\mathsf{log1p}\left(\color{blue}{\sqrt{\left(-t1\right) \cdot \left(-t1\right)}} \cdot \left(v \cdot \frac{1}{u \cdot u}\right)\right)} - 1 \]
      7. sqr-neg45.3%

        \[\leadsto e^{\mathsf{log1p}\left(\sqrt{\color{blue}{t1 \cdot t1}} \cdot \left(v \cdot \frac{1}{u \cdot u}\right)\right)} - 1 \]
      8. sqrt-unprod22.4%

        \[\leadsto e^{\mathsf{log1p}\left(\color{blue}{\left(\sqrt{t1} \cdot \sqrt{t1}\right)} \cdot \left(v \cdot \frac{1}{u \cdot u}\right)\right)} - 1 \]
      9. add-sqr-sqrt44.6%

        \[\leadsto e^{\mathsf{log1p}\left(\color{blue}{t1} \cdot \left(v \cdot \frac{1}{u \cdot u}\right)\right)} - 1 \]
      10. pow244.6%

        \[\leadsto e^{\mathsf{log1p}\left(t1 \cdot \left(v \cdot \frac{1}{\color{blue}{{u}^{2}}}\right)\right)} - 1 \]
      11. pow-flip44.6%

        \[\leadsto e^{\mathsf{log1p}\left(t1 \cdot \left(v \cdot \color{blue}{{u}^{\left(-2\right)}}\right)\right)} - 1 \]
      12. metadata-eval44.6%

        \[\leadsto e^{\mathsf{log1p}\left(t1 \cdot \left(v \cdot {u}^{\color{blue}{-2}}\right)\right)} - 1 \]
    6. Applied egg-rr44.6%

      \[\leadsto \color{blue}{e^{\mathsf{log1p}\left(t1 \cdot \left(v \cdot {u}^{-2}\right)\right)} - 1} \]
    7. Step-by-step derivation
      1. expm1-def44.3%

        \[\leadsto \color{blue}{\mathsf{expm1}\left(\mathsf{log1p}\left(t1 \cdot \left(v \cdot {u}^{-2}\right)\right)\right)} \]
      2. expm1-log1p44.3%

        \[\leadsto \color{blue}{t1 \cdot \left(v \cdot {u}^{-2}\right)} \]
      3. associate-*r*44.4%

        \[\leadsto \color{blue}{\left(t1 \cdot v\right) \cdot {u}^{-2}} \]
      4. *-commutative44.4%

        \[\leadsto \color{blue}{\left(v \cdot t1\right)} \cdot {u}^{-2} \]
      5. metadata-eval44.4%

        \[\leadsto \left(v \cdot t1\right) \cdot {u}^{\color{blue}{\left(2 \cdot -1\right)}} \]
      6. pow-sqr44.4%

        \[\leadsto \left(v \cdot t1\right) \cdot \color{blue}{\left({u}^{-1} \cdot {u}^{-1}\right)} \]
      7. unpow-144.4%

        \[\leadsto \left(v \cdot t1\right) \cdot \left(\color{blue}{\frac{1}{u}} \cdot {u}^{-1}\right) \]
      8. unpow-144.4%

        \[\leadsto \left(v \cdot t1\right) \cdot \left(\frac{1}{u} \cdot \color{blue}{\frac{1}{u}}\right) \]
      9. associate-*r*44.6%

        \[\leadsto \color{blue}{\left(\left(v \cdot t1\right) \cdot \frac{1}{u}\right) \cdot \frac{1}{u}} \]
      10. associate-*r/44.6%

        \[\leadsto \color{blue}{\frac{\left(v \cdot t1\right) \cdot 1}{u}} \cdot \frac{1}{u} \]
      11. associate-*l/44.6%

        \[\leadsto \color{blue}{\left(\frac{v \cdot t1}{u} \cdot 1\right)} \cdot \frac{1}{u} \]
      12. *-rgt-identity44.6%

        \[\leadsto \color{blue}{\frac{v \cdot t1}{u}} \cdot \frac{1}{u} \]
      13. associate-*r/44.6%

        \[\leadsto \color{blue}{\frac{\frac{v \cdot t1}{u} \cdot 1}{u}} \]
      14. *-rgt-identity44.6%

        \[\leadsto \frac{\color{blue}{\frac{v \cdot t1}{u}}}{u} \]
      15. associate-*r/44.4%

        \[\leadsto \frac{\color{blue}{v \cdot \frac{t1}{u}}}{u} \]
      16. associate-*r/44.5%

        \[\leadsto \color{blue}{v \cdot \frac{\frac{t1}{u}}{u}} \]
      17. associate-/r*44.4%

        \[\leadsto v \cdot \color{blue}{\frac{t1}{u \cdot u}} \]
    8. Simplified44.4%

      \[\leadsto \color{blue}{v \cdot \frac{t1}{u \cdot u}} \]
    9. Step-by-step derivation
      1. add-sqr-sqrt18.6%

        \[\leadsto \color{blue}{\left(\sqrt{v} \cdot \sqrt{v}\right)} \cdot \frac{t1}{u \cdot u} \]
      2. sqrt-unprod50.4%

        \[\leadsto \color{blue}{\sqrt{v \cdot v}} \cdot \frac{t1}{u \cdot u} \]
      3. sqr-neg50.4%

        \[\leadsto \sqrt{\color{blue}{\left(-v\right) \cdot \left(-v\right)}} \cdot \frac{t1}{u \cdot u} \]
      4. sqrt-unprod40.7%

        \[\leadsto \color{blue}{\left(\sqrt{-v} \cdot \sqrt{-v}\right)} \cdot \frac{t1}{u \cdot u} \]
      5. add-sqr-sqrt72.8%

        \[\leadsto \color{blue}{\left(-v\right)} \cdot \frac{t1}{u \cdot u} \]
      6. distribute-lft-neg-out72.8%

        \[\leadsto \color{blue}{-v \cdot \frac{t1}{u \cdot u}} \]
      7. associate-*r/72.2%

        \[\leadsto -\color{blue}{\frac{v \cdot t1}{u \cdot u}} \]
      8. times-frac80.0%

        \[\leadsto -\color{blue}{\frac{v}{u} \cdot \frac{t1}{u}} \]
    10. Applied egg-rr80.0%

      \[\leadsto \color{blue}{-\frac{v}{u} \cdot \frac{t1}{u}} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification82.8%

    \[\leadsto \begin{array}{l} \mathbf{if}\;t1 \leq -2.8 \cdot 10^{-21} \lor \neg \left(t1 \leq 9.8 \cdot 10^{+56}\right):\\ \;\;\;\;\frac{v}{u \cdot -2 - t1}\\ \mathbf{else}:\\ \;\;\;\;\frac{v}{u} \cdot \frac{-t1}{u}\\ \end{array} \]

Alternative 3: 66.6% accurate, 1.1× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;u \leq -1.5 \cdot 10^{-14} \lor \neg \left(u \leq 1.2 \cdot 10^{+116}\right):\\ \;\;\;\;v \cdot \frac{t1}{u \cdot u}\\ \mathbf{else}:\\ \;\;\;\;\frac{-v}{t1}\\ \end{array} \end{array} \]
(FPCore (u v t1)
 :precision binary64
 (if (or (<= u -1.5e-14) (not (<= u 1.2e+116)))
   (* v (/ t1 (* u u)))
   (/ (- v) t1)))
double code(double u, double v, double t1) {
	double tmp;
	if ((u <= -1.5e-14) || !(u <= 1.2e+116)) {
		tmp = v * (t1 / (u * u));
	} else {
		tmp = -v / t1;
	}
	return tmp;
}
real(8) function code(u, v, t1)
    real(8), intent (in) :: u
    real(8), intent (in) :: v
    real(8), intent (in) :: t1
    real(8) :: tmp
    if ((u <= (-1.5d-14)) .or. (.not. (u <= 1.2d+116))) then
        tmp = v * (t1 / (u * u))
    else
        tmp = -v / t1
    end if
    code = tmp
end function
public static double code(double u, double v, double t1) {
	double tmp;
	if ((u <= -1.5e-14) || !(u <= 1.2e+116)) {
		tmp = v * (t1 / (u * u));
	} else {
		tmp = -v / t1;
	}
	return tmp;
}
def code(u, v, t1):
	tmp = 0
	if (u <= -1.5e-14) or not (u <= 1.2e+116):
		tmp = v * (t1 / (u * u))
	else:
		tmp = -v / t1
	return tmp
function code(u, v, t1)
	tmp = 0.0
	if ((u <= -1.5e-14) || !(u <= 1.2e+116))
		tmp = Float64(v * Float64(t1 / Float64(u * u)));
	else
		tmp = Float64(Float64(-v) / t1);
	end
	return tmp
end
function tmp_2 = code(u, v, t1)
	tmp = 0.0;
	if ((u <= -1.5e-14) || ~((u <= 1.2e+116)))
		tmp = v * (t1 / (u * u));
	else
		tmp = -v / t1;
	end
	tmp_2 = tmp;
end
code[u_, v_, t1_] := If[Or[LessEqual[u, -1.5e-14], N[Not[LessEqual[u, 1.2e+116]], $MachinePrecision]], N[(v * N[(t1 / N[(u * u), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], N[((-v) / t1), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;u \leq -1.5 \cdot 10^{-14} \lor \neg \left(u \leq 1.2 \cdot 10^{+116}\right):\\
\;\;\;\;v \cdot \frac{t1}{u \cdot u}\\

\mathbf{else}:\\
\;\;\;\;\frac{-v}{t1}\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if u < -1.4999999999999999e-14 or 1.2e116 < u

    1. Initial program 74.6%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Taylor expanded in t1 around 0 71.3%

      \[\leadsto \frac{\left(-t1\right) \cdot v}{\color{blue}{{u}^{2}}} \]
    3. Step-by-step derivation
      1. unpow271.3%

        \[\leadsto \frac{\left(-t1\right) \cdot v}{\color{blue}{u \cdot u}} \]
    4. Simplified71.3%

      \[\leadsto \frac{\left(-t1\right) \cdot v}{\color{blue}{u \cdot u}} \]
    5. Step-by-step derivation
      1. expm1-log1p-u70.4%

        \[\leadsto \color{blue}{\mathsf{expm1}\left(\mathsf{log1p}\left(\frac{\left(-t1\right) \cdot v}{u \cdot u}\right)\right)} \]
      2. expm1-udef63.6%

        \[\leadsto \color{blue}{e^{\mathsf{log1p}\left(\frac{\left(-t1\right) \cdot v}{u \cdot u}\right)} - 1} \]
      3. div-inv63.6%

        \[\leadsto e^{\mathsf{log1p}\left(\color{blue}{\left(\left(-t1\right) \cdot v\right) \cdot \frac{1}{u \cdot u}}\right)} - 1 \]
      4. associate-*l*64.1%

        \[\leadsto e^{\mathsf{log1p}\left(\color{blue}{\left(-t1\right) \cdot \left(v \cdot \frac{1}{u \cdot u}\right)}\right)} - 1 \]
      5. add-sqr-sqrt31.5%

        \[\leadsto e^{\mathsf{log1p}\left(\color{blue}{\left(\sqrt{-t1} \cdot \sqrt{-t1}\right)} \cdot \left(v \cdot \frac{1}{u \cdot u}\right)\right)} - 1 \]
      6. sqrt-unprod58.6%

        \[\leadsto e^{\mathsf{log1p}\left(\color{blue}{\sqrt{\left(-t1\right) \cdot \left(-t1\right)}} \cdot \left(v \cdot \frac{1}{u \cdot u}\right)\right)} - 1 \]
      7. sqr-neg58.6%

        \[\leadsto e^{\mathsf{log1p}\left(\sqrt{\color{blue}{t1 \cdot t1}} \cdot \left(v \cdot \frac{1}{u \cdot u}\right)\right)} - 1 \]
      8. sqrt-unprod32.4%

        \[\leadsto e^{\mathsf{log1p}\left(\color{blue}{\left(\sqrt{t1} \cdot \sqrt{t1}\right)} \cdot \left(v \cdot \frac{1}{u \cdot u}\right)\right)} - 1 \]
      9. add-sqr-sqrt63.8%

        \[\leadsto e^{\mathsf{log1p}\left(\color{blue}{t1} \cdot \left(v \cdot \frac{1}{u \cdot u}\right)\right)} - 1 \]
      10. pow263.8%

        \[\leadsto e^{\mathsf{log1p}\left(t1 \cdot \left(v \cdot \frac{1}{\color{blue}{{u}^{2}}}\right)\right)} - 1 \]
      11. pow-flip63.8%

        \[\leadsto e^{\mathsf{log1p}\left(t1 \cdot \left(v \cdot \color{blue}{{u}^{\left(-2\right)}}\right)\right)} - 1 \]
      12. metadata-eval63.8%

        \[\leadsto e^{\mathsf{log1p}\left(t1 \cdot \left(v \cdot {u}^{\color{blue}{-2}}\right)\right)} - 1 \]
    6. Applied egg-rr63.8%

      \[\leadsto \color{blue}{e^{\mathsf{log1p}\left(t1 \cdot \left(v \cdot {u}^{-2}\right)\right)} - 1} \]
    7. Step-by-step derivation
      1. expm1-def63.6%

        \[\leadsto \color{blue}{\mathsf{expm1}\left(\mathsf{log1p}\left(t1 \cdot \left(v \cdot {u}^{-2}\right)\right)\right)} \]
      2. expm1-log1p63.6%

        \[\leadsto \color{blue}{t1 \cdot \left(v \cdot {u}^{-2}\right)} \]
      3. associate-*r*63.2%

        \[\leadsto \color{blue}{\left(t1 \cdot v\right) \cdot {u}^{-2}} \]
      4. *-commutative63.2%

        \[\leadsto \color{blue}{\left(v \cdot t1\right)} \cdot {u}^{-2} \]
      5. metadata-eval63.2%

        \[\leadsto \left(v \cdot t1\right) \cdot {u}^{\color{blue}{\left(2 \cdot -1\right)}} \]
      6. pow-sqr63.2%

        \[\leadsto \left(v \cdot t1\right) \cdot \color{blue}{\left({u}^{-1} \cdot {u}^{-1}\right)} \]
      7. unpow-163.2%

        \[\leadsto \left(v \cdot t1\right) \cdot \left(\color{blue}{\frac{1}{u}} \cdot {u}^{-1}\right) \]
      8. unpow-163.2%

        \[\leadsto \left(v \cdot t1\right) \cdot \left(\frac{1}{u} \cdot \color{blue}{\frac{1}{u}}\right) \]
      9. associate-*r*63.0%

        \[\leadsto \color{blue}{\left(\left(v \cdot t1\right) \cdot \frac{1}{u}\right) \cdot \frac{1}{u}} \]
      10. associate-*r/63.0%

        \[\leadsto \color{blue}{\frac{\left(v \cdot t1\right) \cdot 1}{u}} \cdot \frac{1}{u} \]
      11. associate-*l/63.0%

        \[\leadsto \color{blue}{\left(\frac{v \cdot t1}{u} \cdot 1\right)} \cdot \frac{1}{u} \]
      12. *-rgt-identity63.0%

        \[\leadsto \color{blue}{\frac{v \cdot t1}{u}} \cdot \frac{1}{u} \]
      13. associate-*r/63.0%

        \[\leadsto \color{blue}{\frac{\frac{v \cdot t1}{u} \cdot 1}{u}} \]
      14. *-rgt-identity63.0%

        \[\leadsto \frac{\color{blue}{\frac{v \cdot t1}{u}}}{u} \]
      15. associate-*r/63.1%

        \[\leadsto \frac{\color{blue}{v \cdot \frac{t1}{u}}}{u} \]
      16. associate-*r/63.3%

        \[\leadsto \color{blue}{v \cdot \frac{\frac{t1}{u}}{u}} \]
      17. associate-/r*63.7%

        \[\leadsto v \cdot \color{blue}{\frac{t1}{u \cdot u}} \]
    8. Simplified63.7%

      \[\leadsto \color{blue}{v \cdot \frac{t1}{u \cdot u}} \]

    if -1.4999999999999999e-14 < u < 1.2e116

    1. Initial program 68.1%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Step-by-step derivation
      1. times-frac95.4%

        \[\leadsto \color{blue}{\frac{-t1}{t1 + u} \cdot \frac{v}{t1 + u}} \]
    3. Simplified95.4%

      \[\leadsto \color{blue}{\frac{-t1}{t1 + u} \cdot \frac{v}{t1 + u}} \]
    4. Taylor expanded in t1 around inf 68.7%

      \[\leadsto \color{blue}{-1 \cdot \frac{v}{t1}} \]
    5. Step-by-step derivation
      1. associate-*r/68.7%

        \[\leadsto \color{blue}{\frac{-1 \cdot v}{t1}} \]
      2. neg-mul-168.7%

        \[\leadsto \frac{\color{blue}{-v}}{t1} \]
    6. Simplified68.7%

      \[\leadsto \color{blue}{\frac{-v}{t1}} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification66.5%

    \[\leadsto \begin{array}{l} \mathbf{if}\;u \leq -1.5 \cdot 10^{-14} \lor \neg \left(u \leq 1.2 \cdot 10^{+116}\right):\\ \;\;\;\;v \cdot \frac{t1}{u \cdot u}\\ \mathbf{else}:\\ \;\;\;\;\frac{-v}{t1}\\ \end{array} \]

Alternative 4: 66.6% accurate, 1.1× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;u \leq -1.4 \cdot 10^{-14}:\\ \;\;\;\;v \cdot \frac{t1}{u \cdot u}\\ \mathbf{elif}\;u \leq 6.2 \cdot 10^{+114}:\\ \;\;\;\;\frac{-v}{t1}\\ \mathbf{else}:\\ \;\;\;\;\frac{v}{\frac{u \cdot u}{t1}}\\ \end{array} \end{array} \]
(FPCore (u v t1)
 :precision binary64
 (if (<= u -1.4e-14)
   (* v (/ t1 (* u u)))
   (if (<= u 6.2e+114) (/ (- v) t1) (/ v (/ (* u u) t1)))))
double code(double u, double v, double t1) {
	double tmp;
	if (u <= -1.4e-14) {
		tmp = v * (t1 / (u * u));
	} else if (u <= 6.2e+114) {
		tmp = -v / t1;
	} else {
		tmp = v / ((u * u) / t1);
	}
	return tmp;
}
real(8) function code(u, v, t1)
    real(8), intent (in) :: u
    real(8), intent (in) :: v
    real(8), intent (in) :: t1
    real(8) :: tmp
    if (u <= (-1.4d-14)) then
        tmp = v * (t1 / (u * u))
    else if (u <= 6.2d+114) then
        tmp = -v / t1
    else
        tmp = v / ((u * u) / t1)
    end if
    code = tmp
end function
public static double code(double u, double v, double t1) {
	double tmp;
	if (u <= -1.4e-14) {
		tmp = v * (t1 / (u * u));
	} else if (u <= 6.2e+114) {
		tmp = -v / t1;
	} else {
		tmp = v / ((u * u) / t1);
	}
	return tmp;
}
def code(u, v, t1):
	tmp = 0
	if u <= -1.4e-14:
		tmp = v * (t1 / (u * u))
	elif u <= 6.2e+114:
		tmp = -v / t1
	else:
		tmp = v / ((u * u) / t1)
	return tmp
function code(u, v, t1)
	tmp = 0.0
	if (u <= -1.4e-14)
		tmp = Float64(v * Float64(t1 / Float64(u * u)));
	elseif (u <= 6.2e+114)
		tmp = Float64(Float64(-v) / t1);
	else
		tmp = Float64(v / Float64(Float64(u * u) / t1));
	end
	return tmp
end
function tmp_2 = code(u, v, t1)
	tmp = 0.0;
	if (u <= -1.4e-14)
		tmp = v * (t1 / (u * u));
	elseif (u <= 6.2e+114)
		tmp = -v / t1;
	else
		tmp = v / ((u * u) / t1);
	end
	tmp_2 = tmp;
end
code[u_, v_, t1_] := If[LessEqual[u, -1.4e-14], N[(v * N[(t1 / N[(u * u), $MachinePrecision]), $MachinePrecision]), $MachinePrecision], If[LessEqual[u, 6.2e+114], N[((-v) / t1), $MachinePrecision], N[(v / N[(N[(u * u), $MachinePrecision] / t1), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;u \leq -1.4 \cdot 10^{-14}:\\
\;\;\;\;v \cdot \frac{t1}{u \cdot u}\\

\mathbf{elif}\;u \leq 6.2 \cdot 10^{+114}:\\
\;\;\;\;\frac{-v}{t1}\\

\mathbf{else}:\\
\;\;\;\;\frac{v}{\frac{u \cdot u}{t1}}\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if u < -1.4e-14

    1. Initial program 75.7%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Taylor expanded in t1 around 0 69.3%

      \[\leadsto \frac{\left(-t1\right) \cdot v}{\color{blue}{{u}^{2}}} \]
    3. Step-by-step derivation
      1. unpow269.3%

        \[\leadsto \frac{\left(-t1\right) \cdot v}{\color{blue}{u \cdot u}} \]
    4. Simplified69.3%

      \[\leadsto \frac{\left(-t1\right) \cdot v}{\color{blue}{u \cdot u}} \]
    5. Step-by-step derivation
      1. expm1-log1p-u67.8%

        \[\leadsto \color{blue}{\mathsf{expm1}\left(\mathsf{log1p}\left(\frac{\left(-t1\right) \cdot v}{u \cdot u}\right)\right)} \]
      2. expm1-udef58.2%

        \[\leadsto \color{blue}{e^{\mathsf{log1p}\left(\frac{\left(-t1\right) \cdot v}{u \cdot u}\right)} - 1} \]
      3. div-inv58.2%

        \[\leadsto e^{\mathsf{log1p}\left(\color{blue}{\left(\left(-t1\right) \cdot v\right) \cdot \frac{1}{u \cdot u}}\right)} - 1 \]
      4. associate-*l*58.5%

        \[\leadsto e^{\mathsf{log1p}\left(\color{blue}{\left(-t1\right) \cdot \left(v \cdot \frac{1}{u \cdot u}\right)}\right)} - 1 \]
      5. add-sqr-sqrt35.0%

        \[\leadsto e^{\mathsf{log1p}\left(\color{blue}{\left(\sqrt{-t1} \cdot \sqrt{-t1}\right)} \cdot \left(v \cdot \frac{1}{u \cdot u}\right)\right)} - 1 \]
      6. sqrt-unprod53.6%

        \[\leadsto e^{\mathsf{log1p}\left(\color{blue}{\sqrt{\left(-t1\right) \cdot \left(-t1\right)}} \cdot \left(v \cdot \frac{1}{u \cdot u}\right)\right)} - 1 \]
      7. sqr-neg53.6%

        \[\leadsto e^{\mathsf{log1p}\left(\sqrt{\color{blue}{t1 \cdot t1}} \cdot \left(v \cdot \frac{1}{u \cdot u}\right)\right)} - 1 \]
      8. sqrt-unprod22.9%

        \[\leadsto e^{\mathsf{log1p}\left(\color{blue}{\left(\sqrt{t1} \cdot \sqrt{t1}\right)} \cdot \left(v \cdot \frac{1}{u \cdot u}\right)\right)} - 1 \]
      9. add-sqr-sqrt57.9%

        \[\leadsto e^{\mathsf{log1p}\left(\color{blue}{t1} \cdot \left(v \cdot \frac{1}{u \cdot u}\right)\right)} - 1 \]
      10. pow257.9%

        \[\leadsto e^{\mathsf{log1p}\left(t1 \cdot \left(v \cdot \frac{1}{\color{blue}{{u}^{2}}}\right)\right)} - 1 \]
      11. pow-flip57.9%

        \[\leadsto e^{\mathsf{log1p}\left(t1 \cdot \left(v \cdot \color{blue}{{u}^{\left(-2\right)}}\right)\right)} - 1 \]
      12. metadata-eval57.9%

        \[\leadsto e^{\mathsf{log1p}\left(t1 \cdot \left(v \cdot {u}^{\color{blue}{-2}}\right)\right)} - 1 \]
    6. Applied egg-rr57.9%

      \[\leadsto \color{blue}{e^{\mathsf{log1p}\left(t1 \cdot \left(v \cdot {u}^{-2}\right)\right)} - 1} \]
    7. Step-by-step derivation
      1. expm1-def57.5%

        \[\leadsto \color{blue}{\mathsf{expm1}\left(\mathsf{log1p}\left(t1 \cdot \left(v \cdot {u}^{-2}\right)\right)\right)} \]
      2. expm1-log1p57.6%

        \[\leadsto \color{blue}{t1 \cdot \left(v \cdot {u}^{-2}\right)} \]
      3. associate-*r*57.3%

        \[\leadsto \color{blue}{\left(t1 \cdot v\right) \cdot {u}^{-2}} \]
      4. *-commutative57.3%

        \[\leadsto \color{blue}{\left(v \cdot t1\right)} \cdot {u}^{-2} \]
      5. metadata-eval57.3%

        \[\leadsto \left(v \cdot t1\right) \cdot {u}^{\color{blue}{\left(2 \cdot -1\right)}} \]
      6. pow-sqr57.3%

        \[\leadsto \left(v \cdot t1\right) \cdot \color{blue}{\left({u}^{-1} \cdot {u}^{-1}\right)} \]
      7. unpow-157.3%

        \[\leadsto \left(v \cdot t1\right) \cdot \left(\color{blue}{\frac{1}{u}} \cdot {u}^{-1}\right) \]
      8. unpow-157.3%

        \[\leadsto \left(v \cdot t1\right) \cdot \left(\frac{1}{u} \cdot \color{blue}{\frac{1}{u}}\right) \]
      9. associate-*r*56.9%

        \[\leadsto \color{blue}{\left(\left(v \cdot t1\right) \cdot \frac{1}{u}\right) \cdot \frac{1}{u}} \]
      10. associate-*r/56.9%

        \[\leadsto \color{blue}{\frac{\left(v \cdot t1\right) \cdot 1}{u}} \cdot \frac{1}{u} \]
      11. associate-*l/56.9%

        \[\leadsto \color{blue}{\left(\frac{v \cdot t1}{u} \cdot 1\right)} \cdot \frac{1}{u} \]
      12. *-rgt-identity56.9%

        \[\leadsto \color{blue}{\frac{v \cdot t1}{u}} \cdot \frac{1}{u} \]
      13. associate-*r/56.9%

        \[\leadsto \color{blue}{\frac{\frac{v \cdot t1}{u} \cdot 1}{u}} \]
      14. *-rgt-identity56.9%

        \[\leadsto \frac{\color{blue}{\frac{v \cdot t1}{u}}}{u} \]
      15. associate-*r/57.0%

        \[\leadsto \frac{\color{blue}{v \cdot \frac{t1}{u}}}{u} \]
      16. associate-*r/57.2%

        \[\leadsto \color{blue}{v \cdot \frac{\frac{t1}{u}}{u}} \]
      17. associate-/r*57.8%

        \[\leadsto v \cdot \color{blue}{\frac{t1}{u \cdot u}} \]
    8. Simplified57.8%

      \[\leadsto \color{blue}{v \cdot \frac{t1}{u \cdot u}} \]

    if -1.4e-14 < u < 6.2000000000000001e114

    1. Initial program 68.1%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Step-by-step derivation
      1. times-frac95.4%

        \[\leadsto \color{blue}{\frac{-t1}{t1 + u} \cdot \frac{v}{t1 + u}} \]
    3. Simplified95.4%

      \[\leadsto \color{blue}{\frac{-t1}{t1 + u} \cdot \frac{v}{t1 + u}} \]
    4. Taylor expanded in t1 around inf 68.7%

      \[\leadsto \color{blue}{-1 \cdot \frac{v}{t1}} \]
    5. Step-by-step derivation
      1. associate-*r/68.7%

        \[\leadsto \color{blue}{\frac{-1 \cdot v}{t1}} \]
      2. neg-mul-168.7%

        \[\leadsto \frac{\color{blue}{-v}}{t1} \]
    6. Simplified68.7%

      \[\leadsto \color{blue}{\frac{-v}{t1}} \]

    if 6.2000000000000001e114 < u

    1. Initial program 73.4%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Taylor expanded in t1 around 0 73.5%

      \[\leadsto \frac{\left(-t1\right) \cdot v}{\color{blue}{{u}^{2}}} \]
    3. Step-by-step derivation
      1. unpow273.5%

        \[\leadsto \frac{\left(-t1\right) \cdot v}{\color{blue}{u \cdot u}} \]
    4. Simplified73.5%

      \[\leadsto \frac{\left(-t1\right) \cdot v}{\color{blue}{u \cdot u}} \]
    5. Step-by-step derivation
      1. expm1-log1p-u73.4%

        \[\leadsto \color{blue}{\mathsf{expm1}\left(\mathsf{log1p}\left(\frac{\left(-t1\right) \cdot v}{u \cdot u}\right)\right)} \]
      2. expm1-udef69.8%

        \[\leadsto \color{blue}{e^{\mathsf{log1p}\left(\frac{\left(-t1\right) \cdot v}{u \cdot u}\right)} - 1} \]
      3. div-inv69.8%

        \[\leadsto e^{\mathsf{log1p}\left(\color{blue}{\left(\left(-t1\right) \cdot v\right) \cdot \frac{1}{u \cdot u}}\right)} - 1 \]
      4. associate-*l*70.5%

        \[\leadsto e^{\mathsf{log1p}\left(\color{blue}{\left(-t1\right) \cdot \left(v \cdot \frac{1}{u \cdot u}\right)}\right)} - 1 \]
      5. add-sqr-sqrt27.4%

        \[\leadsto e^{\mathsf{log1p}\left(\color{blue}{\left(\sqrt{-t1} \cdot \sqrt{-t1}\right)} \cdot \left(v \cdot \frac{1}{u \cdot u}\right)\right)} - 1 \]
      6. sqrt-unprod64.2%

        \[\leadsto e^{\mathsf{log1p}\left(\color{blue}{\sqrt{\left(-t1\right) \cdot \left(-t1\right)}} \cdot \left(v \cdot \frac{1}{u \cdot u}\right)\right)} - 1 \]
      7. sqr-neg64.2%

        \[\leadsto e^{\mathsf{log1p}\left(\sqrt{\color{blue}{t1 \cdot t1}} \cdot \left(v \cdot \frac{1}{u \cdot u}\right)\right)} - 1 \]
      8. sqrt-unprod43.1%

        \[\leadsto e^{\mathsf{log1p}\left(\color{blue}{\left(\sqrt{t1} \cdot \sqrt{t1}\right)} \cdot \left(v \cdot \frac{1}{u \cdot u}\right)\right)} - 1 \]
      9. add-sqr-sqrt70.6%

        \[\leadsto e^{\mathsf{log1p}\left(\color{blue}{t1} \cdot \left(v \cdot \frac{1}{u \cdot u}\right)\right)} - 1 \]
      10. pow270.6%

        \[\leadsto e^{\mathsf{log1p}\left(t1 \cdot \left(v \cdot \frac{1}{\color{blue}{{u}^{2}}}\right)\right)} - 1 \]
      11. pow-flip70.5%

        \[\leadsto e^{\mathsf{log1p}\left(t1 \cdot \left(v \cdot \color{blue}{{u}^{\left(-2\right)}}\right)\right)} - 1 \]
      12. metadata-eval70.5%

        \[\leadsto e^{\mathsf{log1p}\left(t1 \cdot \left(v \cdot {u}^{\color{blue}{-2}}\right)\right)} - 1 \]
    6. Applied egg-rr70.5%

      \[\leadsto \color{blue}{e^{\mathsf{log1p}\left(t1 \cdot \left(v \cdot {u}^{-2}\right)\right)} - 1} \]
    7. Step-by-step derivation
      1. expm1-def70.4%

        \[\leadsto \color{blue}{\mathsf{expm1}\left(\mathsf{log1p}\left(t1 \cdot \left(v \cdot {u}^{-2}\right)\right)\right)} \]
      2. expm1-log1p70.5%

        \[\leadsto \color{blue}{t1 \cdot \left(v \cdot {u}^{-2}\right)} \]
      3. associate-*r*69.8%

        \[\leadsto \color{blue}{\left(t1 \cdot v\right) \cdot {u}^{-2}} \]
      4. *-commutative69.8%

        \[\leadsto \color{blue}{\left(v \cdot t1\right)} \cdot {u}^{-2} \]
      5. metadata-eval69.8%

        \[\leadsto \left(v \cdot t1\right) \cdot {u}^{\color{blue}{\left(2 \cdot -1\right)}} \]
      6. pow-sqr69.8%

        \[\leadsto \left(v \cdot t1\right) \cdot \color{blue}{\left({u}^{-1} \cdot {u}^{-1}\right)} \]
      7. unpow-169.8%

        \[\leadsto \left(v \cdot t1\right) \cdot \left(\color{blue}{\frac{1}{u}} \cdot {u}^{-1}\right) \]
      8. unpow-169.8%

        \[\leadsto \left(v \cdot t1\right) \cdot \left(\frac{1}{u} \cdot \color{blue}{\frac{1}{u}}\right) \]
      9. associate-*r*69.8%

        \[\leadsto \color{blue}{\left(\left(v \cdot t1\right) \cdot \frac{1}{u}\right) \cdot \frac{1}{u}} \]
      10. associate-*r/69.8%

        \[\leadsto \color{blue}{\frac{\left(v \cdot t1\right) \cdot 1}{u}} \cdot \frac{1}{u} \]
      11. associate-*l/69.8%

        \[\leadsto \color{blue}{\left(\frac{v \cdot t1}{u} \cdot 1\right)} \cdot \frac{1}{u} \]
      12. *-rgt-identity69.8%

        \[\leadsto \color{blue}{\frac{v \cdot t1}{u}} \cdot \frac{1}{u} \]
      13. associate-*r/69.8%

        \[\leadsto \color{blue}{\frac{\frac{v \cdot t1}{u} \cdot 1}{u}} \]
      14. *-rgt-identity69.8%

        \[\leadsto \frac{\color{blue}{\frac{v \cdot t1}{u}}}{u} \]
      15. associate-*r/70.1%

        \[\leadsto \frac{\color{blue}{v \cdot \frac{t1}{u}}}{u} \]
      16. associate-*r/70.1%

        \[\leadsto \color{blue}{v \cdot \frac{\frac{t1}{u}}{u}} \]
      17. associate-/r*70.5%

        \[\leadsto v \cdot \color{blue}{\frac{t1}{u \cdot u}} \]
    8. Simplified70.5%

      \[\leadsto \color{blue}{v \cdot \frac{t1}{u \cdot u}} \]
    9. Taylor expanded in v around 0 69.8%

      \[\leadsto \color{blue}{\frac{t1 \cdot v}{{u}^{2}}} \]
    10. Step-by-step derivation
      1. unpow269.8%

        \[\leadsto \frac{t1 \cdot v}{\color{blue}{u \cdot u}} \]
      2. *-commutative69.8%

        \[\leadsto \frac{\color{blue}{v \cdot t1}}{u \cdot u} \]
      3. associate-/l*70.5%

        \[\leadsto \color{blue}{\frac{v}{\frac{u \cdot u}{t1}}} \]
    11. Simplified70.5%

      \[\leadsto \color{blue}{\frac{v}{\frac{u \cdot u}{t1}}} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification66.5%

    \[\leadsto \begin{array}{l} \mathbf{if}\;u \leq -1.4 \cdot 10^{-14}:\\ \;\;\;\;v \cdot \frac{t1}{u \cdot u}\\ \mathbf{elif}\;u \leq 6.2 \cdot 10^{+114}:\\ \;\;\;\;\frac{-v}{t1}\\ \mathbf{else}:\\ \;\;\;\;\frac{v}{\frac{u \cdot u}{t1}}\\ \end{array} \]

Alternative 5: 95.1% accurate, 1.1× speedup?

\[\begin{array}{l} \\ \frac{v}{\left(t1 + u\right) \cdot \left(-1 - \frac{u}{t1}\right)} \end{array} \]
(FPCore (u v t1) :precision binary64 (/ v (* (+ t1 u) (- -1.0 (/ u t1)))))
double code(double u, double v, double t1) {
	return v / ((t1 + u) * (-1.0 - (u / t1)));
}
real(8) function code(u, v, t1)
    real(8), intent (in) :: u
    real(8), intent (in) :: v
    real(8), intent (in) :: t1
    code = v / ((t1 + u) * ((-1.0d0) - (u / t1)))
end function
public static double code(double u, double v, double t1) {
	return v / ((t1 + u) * (-1.0 - (u / t1)));
}
def code(u, v, t1):
	return v / ((t1 + u) * (-1.0 - (u / t1)))
function code(u, v, t1)
	return Float64(v / Float64(Float64(t1 + u) * Float64(-1.0 - Float64(u / t1))))
end
function tmp = code(u, v, t1)
	tmp = v / ((t1 + u) * (-1.0 - (u / t1)));
end
code[u_, v_, t1_] := N[(v / N[(N[(t1 + u), $MachinePrecision] * N[(-1.0 - N[(u / t1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\frac{v}{\left(t1 + u\right) \cdot \left(-1 - \frac{u}{t1}\right)}
\end{array}
Derivation
  1. Initial program 70.9%

    \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
  2. Step-by-step derivation
    1. *-commutative70.9%

      \[\leadsto \frac{\color{blue}{v \cdot \left(-t1\right)}}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. times-frac97.3%

      \[\leadsto \color{blue}{\frac{v}{t1 + u} \cdot \frac{-t1}{t1 + u}} \]
    3. neg-mul-197.3%

      \[\leadsto \frac{v}{t1 + u} \cdot \frac{\color{blue}{-1 \cdot t1}}{t1 + u} \]
    4. associate-/l*97.3%

      \[\leadsto \frac{v}{t1 + u} \cdot \color{blue}{\frac{-1}{\frac{t1 + u}{t1}}} \]
    5. associate-*r/97.3%

      \[\leadsto \color{blue}{\frac{\frac{v}{t1 + u} \cdot -1}{\frac{t1 + u}{t1}}} \]
    6. associate-/l*97.3%

      \[\leadsto \color{blue}{\frac{\frac{v}{t1 + u}}{\frac{\frac{t1 + u}{t1}}{-1}}} \]
    7. associate-/l/97.3%

      \[\leadsto \frac{\frac{v}{t1 + u}}{\color{blue}{\frac{t1 + u}{-1 \cdot t1}}} \]
    8. neg-mul-197.3%

      \[\leadsto \frac{\frac{v}{t1 + u}}{\frac{t1 + u}{\color{blue}{-t1}}} \]
    9. *-lft-identity97.3%

      \[\leadsto \frac{\frac{v}{t1 + u}}{\color{blue}{1 \cdot \frac{t1 + u}{-t1}}} \]
    10. metadata-eval97.3%

      \[\leadsto \frac{\frac{v}{t1 + u}}{\color{blue}{\frac{-1}{-1}} \cdot \frac{t1 + u}{-t1}} \]
    11. times-frac97.3%

      \[\leadsto \frac{\frac{v}{t1 + u}}{\color{blue}{\frac{-1 \cdot \left(t1 + u\right)}{-1 \cdot \left(-t1\right)}}} \]
    12. neg-mul-197.3%

      \[\leadsto \frac{\frac{v}{t1 + u}}{\frac{-1 \cdot \left(t1 + u\right)}{\color{blue}{-\left(-t1\right)}}} \]
    13. remove-double-neg97.3%

      \[\leadsto \frac{\frac{v}{t1 + u}}{\frac{-1 \cdot \left(t1 + u\right)}{\color{blue}{t1}}} \]
    14. neg-mul-197.3%

      \[\leadsto \frac{\frac{v}{t1 + u}}{\frac{\color{blue}{-\left(t1 + u\right)}}{t1}} \]
    15. sub0-neg97.3%

      \[\leadsto \frac{\frac{v}{t1 + u}}{\frac{\color{blue}{0 - \left(t1 + u\right)}}{t1}} \]
    16. associate--r+97.3%

      \[\leadsto \frac{\frac{v}{t1 + u}}{\frac{\color{blue}{\left(0 - t1\right) - u}}{t1}} \]
    17. neg-sub097.3%

      \[\leadsto \frac{\frac{v}{t1 + u}}{\frac{\color{blue}{\left(-t1\right)} - u}{t1}} \]
    18. div-sub97.3%

      \[\leadsto \frac{\frac{v}{t1 + u}}{\color{blue}{\frac{-t1}{t1} - \frac{u}{t1}}} \]
    19. distribute-frac-neg97.3%

      \[\leadsto \frac{\frac{v}{t1 + u}}{\color{blue}{\left(-\frac{t1}{t1}\right)} - \frac{u}{t1}} \]
    20. *-inverses97.3%

      \[\leadsto \frac{\frac{v}{t1 + u}}{\left(-\color{blue}{1}\right) - \frac{u}{t1}} \]
    21. metadata-eval97.3%

      \[\leadsto \frac{\frac{v}{t1 + u}}{\color{blue}{-1} - \frac{u}{t1}} \]
  3. Simplified97.3%

    \[\leadsto \color{blue}{\frac{\frac{v}{t1 + u}}{-1 - \frac{u}{t1}}} \]
  4. Taylor expanded in v around 0 95.5%

    \[\leadsto \color{blue}{-1 \cdot \frac{v}{\left(t1 + u\right) \cdot \left(1 + \frac{u}{t1}\right)}} \]
  5. Step-by-step derivation
    1. associate-*r/95.5%

      \[\leadsto \color{blue}{\frac{-1 \cdot v}{\left(t1 + u\right) \cdot \left(1 + \frac{u}{t1}\right)}} \]
    2. neg-mul-195.5%

      \[\leadsto \frac{\color{blue}{-v}}{\left(t1 + u\right) \cdot \left(1 + \frac{u}{t1}\right)} \]
    3. +-commutative95.5%

      \[\leadsto \frac{-v}{\left(t1 + u\right) \cdot \color{blue}{\left(\frac{u}{t1} + 1\right)}} \]
  6. Simplified95.5%

    \[\leadsto \color{blue}{\frac{-v}{\left(t1 + u\right) \cdot \left(\frac{u}{t1} + 1\right)}} \]
  7. Step-by-step derivation
    1. frac-2neg95.5%

      \[\leadsto \color{blue}{\frac{-\left(-v\right)}{-\left(t1 + u\right) \cdot \left(\frac{u}{t1} + 1\right)}} \]
    2. div-inv95.3%

      \[\leadsto \color{blue}{\left(-\left(-v\right)\right) \cdot \frac{1}{-\left(t1 + u\right) \cdot \left(\frac{u}{t1} + 1\right)}} \]
    3. add-sqr-sqrt53.8%

      \[\leadsto \left(-\color{blue}{\sqrt{-v} \cdot \sqrt{-v}}\right) \cdot \frac{1}{-\left(t1 + u\right) \cdot \left(\frac{u}{t1} + 1\right)} \]
    4. sqrt-unprod56.5%

      \[\leadsto \left(-\color{blue}{\sqrt{\left(-v\right) \cdot \left(-v\right)}}\right) \cdot \frac{1}{-\left(t1 + u\right) \cdot \left(\frac{u}{t1} + 1\right)} \]
    5. sqr-neg56.5%

      \[\leadsto \left(-\sqrt{\color{blue}{v \cdot v}}\right) \cdot \frac{1}{-\left(t1 + u\right) \cdot \left(\frac{u}{t1} + 1\right)} \]
    6. sqrt-unprod15.7%

      \[\leadsto \left(-\color{blue}{\sqrt{v} \cdot \sqrt{v}}\right) \cdot \frac{1}{-\left(t1 + u\right) \cdot \left(\frac{u}{t1} + 1\right)} \]
    7. add-sqr-sqrt39.2%

      \[\leadsto \left(-\color{blue}{v}\right) \cdot \frac{1}{-\left(t1 + u\right) \cdot \left(\frac{u}{t1} + 1\right)} \]
    8. add-sqr-sqrt23.5%

      \[\leadsto \color{blue}{\left(\sqrt{-v} \cdot \sqrt{-v}\right)} \cdot \frac{1}{-\left(t1 + u\right) \cdot \left(\frac{u}{t1} + 1\right)} \]
    9. sqrt-unprod53.1%

      \[\leadsto \color{blue}{\sqrt{\left(-v\right) \cdot \left(-v\right)}} \cdot \frac{1}{-\left(t1 + u\right) \cdot \left(\frac{u}{t1} + 1\right)} \]
    10. sqr-neg53.1%

      \[\leadsto \sqrt{\color{blue}{v \cdot v}} \cdot \frac{1}{-\left(t1 + u\right) \cdot \left(\frac{u}{t1} + 1\right)} \]
    11. sqrt-unprod41.3%

      \[\leadsto \color{blue}{\left(\sqrt{v} \cdot \sqrt{v}\right)} \cdot \frac{1}{-\left(t1 + u\right) \cdot \left(\frac{u}{t1} + 1\right)} \]
    12. add-sqr-sqrt95.3%

      \[\leadsto \color{blue}{v} \cdot \frac{1}{-\left(t1 + u\right) \cdot \left(\frac{u}{t1} + 1\right)} \]
  8. Applied egg-rr95.3%

    \[\leadsto \color{blue}{v \cdot \frac{1}{-\left(t1 + u\right) \cdot \left(\frac{u}{t1} + 1\right)}} \]
  9. Step-by-step derivation
    1. associate-*r/95.5%

      \[\leadsto \color{blue}{\frac{v \cdot 1}{-\left(t1 + u\right) \cdot \left(\frac{u}{t1} + 1\right)}} \]
    2. *-rgt-identity95.5%

      \[\leadsto \frac{\color{blue}{v}}{-\left(t1 + u\right) \cdot \left(\frac{u}{t1} + 1\right)} \]
    3. distribute-rgt-neg-in95.5%

      \[\leadsto \frac{v}{\color{blue}{\left(t1 + u\right) \cdot \left(-\left(\frac{u}{t1} + 1\right)\right)}} \]
    4. +-commutative95.5%

      \[\leadsto \frac{v}{\left(t1 + u\right) \cdot \left(-\color{blue}{\left(1 + \frac{u}{t1}\right)}\right)} \]
    5. distribute-neg-in95.5%

      \[\leadsto \frac{v}{\left(t1 + u\right) \cdot \color{blue}{\left(\left(-1\right) + \left(-\frac{u}{t1}\right)\right)}} \]
    6. metadata-eval95.5%

      \[\leadsto \frac{v}{\left(t1 + u\right) \cdot \left(\color{blue}{-1} + \left(-\frac{u}{t1}\right)\right)} \]
    7. sub-neg95.5%

      \[\leadsto \frac{v}{\left(t1 + u\right) \cdot \color{blue}{\left(-1 - \frac{u}{t1}\right)}} \]
  10. Simplified95.5%

    \[\leadsto \color{blue}{\frac{v}{\left(t1 + u\right) \cdot \left(-1 - \frac{u}{t1}\right)}} \]
  11. Final simplification95.5%

    \[\leadsto \frac{v}{\left(t1 + u\right) \cdot \left(-1 - \frac{u}{t1}\right)} \]

Alternative 6: 97.8% accurate, 1.1× speedup?

\[\begin{array}{l} \\ \frac{\frac{v}{t1 + u}}{-1 - \frac{u}{t1}} \end{array} \]
(FPCore (u v t1) :precision binary64 (/ (/ v (+ t1 u)) (- -1.0 (/ u t1))))
double code(double u, double v, double t1) {
	return (v / (t1 + u)) / (-1.0 - (u / t1));
}
real(8) function code(u, v, t1)
    real(8), intent (in) :: u
    real(8), intent (in) :: v
    real(8), intent (in) :: t1
    code = (v / (t1 + u)) / ((-1.0d0) - (u / t1))
end function
public static double code(double u, double v, double t1) {
	return (v / (t1 + u)) / (-1.0 - (u / t1));
}
def code(u, v, t1):
	return (v / (t1 + u)) / (-1.0 - (u / t1))
function code(u, v, t1)
	return Float64(Float64(v / Float64(t1 + u)) / Float64(-1.0 - Float64(u / t1)))
end
function tmp = code(u, v, t1)
	tmp = (v / (t1 + u)) / (-1.0 - (u / t1));
end
code[u_, v_, t1_] := N[(N[(v / N[(t1 + u), $MachinePrecision]), $MachinePrecision] / N[(-1.0 - N[(u / t1), $MachinePrecision]), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\frac{\frac{v}{t1 + u}}{-1 - \frac{u}{t1}}
\end{array}
Derivation
  1. Initial program 70.9%

    \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
  2. Step-by-step derivation
    1. *-commutative70.9%

      \[\leadsto \frac{\color{blue}{v \cdot \left(-t1\right)}}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. times-frac97.3%

      \[\leadsto \color{blue}{\frac{v}{t1 + u} \cdot \frac{-t1}{t1 + u}} \]
    3. neg-mul-197.3%

      \[\leadsto \frac{v}{t1 + u} \cdot \frac{\color{blue}{-1 \cdot t1}}{t1 + u} \]
    4. associate-/l*97.3%

      \[\leadsto \frac{v}{t1 + u} \cdot \color{blue}{\frac{-1}{\frac{t1 + u}{t1}}} \]
    5. associate-*r/97.3%

      \[\leadsto \color{blue}{\frac{\frac{v}{t1 + u} \cdot -1}{\frac{t1 + u}{t1}}} \]
    6. associate-/l*97.3%

      \[\leadsto \color{blue}{\frac{\frac{v}{t1 + u}}{\frac{\frac{t1 + u}{t1}}{-1}}} \]
    7. associate-/l/97.3%

      \[\leadsto \frac{\frac{v}{t1 + u}}{\color{blue}{\frac{t1 + u}{-1 \cdot t1}}} \]
    8. neg-mul-197.3%

      \[\leadsto \frac{\frac{v}{t1 + u}}{\frac{t1 + u}{\color{blue}{-t1}}} \]
    9. *-lft-identity97.3%

      \[\leadsto \frac{\frac{v}{t1 + u}}{\color{blue}{1 \cdot \frac{t1 + u}{-t1}}} \]
    10. metadata-eval97.3%

      \[\leadsto \frac{\frac{v}{t1 + u}}{\color{blue}{\frac{-1}{-1}} \cdot \frac{t1 + u}{-t1}} \]
    11. times-frac97.3%

      \[\leadsto \frac{\frac{v}{t1 + u}}{\color{blue}{\frac{-1 \cdot \left(t1 + u\right)}{-1 \cdot \left(-t1\right)}}} \]
    12. neg-mul-197.3%

      \[\leadsto \frac{\frac{v}{t1 + u}}{\frac{-1 \cdot \left(t1 + u\right)}{\color{blue}{-\left(-t1\right)}}} \]
    13. remove-double-neg97.3%

      \[\leadsto \frac{\frac{v}{t1 + u}}{\frac{-1 \cdot \left(t1 + u\right)}{\color{blue}{t1}}} \]
    14. neg-mul-197.3%

      \[\leadsto \frac{\frac{v}{t1 + u}}{\frac{\color{blue}{-\left(t1 + u\right)}}{t1}} \]
    15. sub0-neg97.3%

      \[\leadsto \frac{\frac{v}{t1 + u}}{\frac{\color{blue}{0 - \left(t1 + u\right)}}{t1}} \]
    16. associate--r+97.3%

      \[\leadsto \frac{\frac{v}{t1 + u}}{\frac{\color{blue}{\left(0 - t1\right) - u}}{t1}} \]
    17. neg-sub097.3%

      \[\leadsto \frac{\frac{v}{t1 + u}}{\frac{\color{blue}{\left(-t1\right)} - u}{t1}} \]
    18. div-sub97.3%

      \[\leadsto \frac{\frac{v}{t1 + u}}{\color{blue}{\frac{-t1}{t1} - \frac{u}{t1}}} \]
    19. distribute-frac-neg97.3%

      \[\leadsto \frac{\frac{v}{t1 + u}}{\color{blue}{\left(-\frac{t1}{t1}\right)} - \frac{u}{t1}} \]
    20. *-inverses97.3%

      \[\leadsto \frac{\frac{v}{t1 + u}}{\left(-\color{blue}{1}\right) - \frac{u}{t1}} \]
    21. metadata-eval97.3%

      \[\leadsto \frac{\frac{v}{t1 + u}}{\color{blue}{-1} - \frac{u}{t1}} \]
  3. Simplified97.3%

    \[\leadsto \color{blue}{\frac{\frac{v}{t1 + u}}{-1 - \frac{u}{t1}}} \]
  4. Final simplification97.3%

    \[\leadsto \frac{\frac{v}{t1 + u}}{-1 - \frac{u}{t1}} \]

Alternative 7: 58.7% accurate, 1.3× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;u \leq -4.9 \cdot 10^{+192}:\\ \;\;\;\;\frac{-v}{u}\\ \mathbf{elif}\;u \leq 9.5 \cdot 10^{+99}:\\ \;\;\;\;\frac{-v}{t1}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\frac{u}{v}}\\ \end{array} \end{array} \]
(FPCore (u v t1)
 :precision binary64
 (if (<= u -4.9e+192)
   (/ (- v) u)
   (if (<= u 9.5e+99) (/ (- v) t1) (/ 1.0 (/ u v)))))
double code(double u, double v, double t1) {
	double tmp;
	if (u <= -4.9e+192) {
		tmp = -v / u;
	} else if (u <= 9.5e+99) {
		tmp = -v / t1;
	} else {
		tmp = 1.0 / (u / v);
	}
	return tmp;
}
real(8) function code(u, v, t1)
    real(8), intent (in) :: u
    real(8), intent (in) :: v
    real(8), intent (in) :: t1
    real(8) :: tmp
    if (u <= (-4.9d+192)) then
        tmp = -v / u
    else if (u <= 9.5d+99) then
        tmp = -v / t1
    else
        tmp = 1.0d0 / (u / v)
    end if
    code = tmp
end function
public static double code(double u, double v, double t1) {
	double tmp;
	if (u <= -4.9e+192) {
		tmp = -v / u;
	} else if (u <= 9.5e+99) {
		tmp = -v / t1;
	} else {
		tmp = 1.0 / (u / v);
	}
	return tmp;
}
def code(u, v, t1):
	tmp = 0
	if u <= -4.9e+192:
		tmp = -v / u
	elif u <= 9.5e+99:
		tmp = -v / t1
	else:
		tmp = 1.0 / (u / v)
	return tmp
function code(u, v, t1)
	tmp = 0.0
	if (u <= -4.9e+192)
		tmp = Float64(Float64(-v) / u);
	elseif (u <= 9.5e+99)
		tmp = Float64(Float64(-v) / t1);
	else
		tmp = Float64(1.0 / Float64(u / v));
	end
	return tmp
end
function tmp_2 = code(u, v, t1)
	tmp = 0.0;
	if (u <= -4.9e+192)
		tmp = -v / u;
	elseif (u <= 9.5e+99)
		tmp = -v / t1;
	else
		tmp = 1.0 / (u / v);
	end
	tmp_2 = tmp;
end
code[u_, v_, t1_] := If[LessEqual[u, -4.9e+192], N[((-v) / u), $MachinePrecision], If[LessEqual[u, 9.5e+99], N[((-v) / t1), $MachinePrecision], N[(1.0 / N[(u / v), $MachinePrecision]), $MachinePrecision]]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;u \leq -4.9 \cdot 10^{+192}:\\
\;\;\;\;\frac{-v}{u}\\

\mathbf{elif}\;u \leq 9.5 \cdot 10^{+99}:\\
\;\;\;\;\frac{-v}{t1}\\

\mathbf{else}:\\
\;\;\;\;\frac{1}{\frac{u}{v}}\\


\end{array}
\end{array}
Derivation
  1. Split input into 3 regimes
  2. if u < -4.90000000000000047e192

    1. Initial program 78.2%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Step-by-step derivation
      1. *-commutative78.2%

        \[\leadsto \frac{\color{blue}{v \cdot \left(-t1\right)}}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
      2. times-frac99.9%

        \[\leadsto \color{blue}{\frac{v}{t1 + u} \cdot \frac{-t1}{t1 + u}} \]
      3. neg-mul-199.9%

        \[\leadsto \frac{v}{t1 + u} \cdot \frac{\color{blue}{-1 \cdot t1}}{t1 + u} \]
      4. associate-/l*99.9%

        \[\leadsto \frac{v}{t1 + u} \cdot \color{blue}{\frac{-1}{\frac{t1 + u}{t1}}} \]
      5. associate-*r/99.9%

        \[\leadsto \color{blue}{\frac{\frac{v}{t1 + u} \cdot -1}{\frac{t1 + u}{t1}}} \]
      6. associate-/l*99.9%

        \[\leadsto \color{blue}{\frac{\frac{v}{t1 + u}}{\frac{\frac{t1 + u}{t1}}{-1}}} \]
      7. associate-/l/99.9%

        \[\leadsto \frac{\frac{v}{t1 + u}}{\color{blue}{\frac{t1 + u}{-1 \cdot t1}}} \]
      8. neg-mul-199.9%

        \[\leadsto \frac{\frac{v}{t1 + u}}{\frac{t1 + u}{\color{blue}{-t1}}} \]
      9. *-lft-identity99.9%

        \[\leadsto \frac{\frac{v}{t1 + u}}{\color{blue}{1 \cdot \frac{t1 + u}{-t1}}} \]
      10. metadata-eval99.9%

        \[\leadsto \frac{\frac{v}{t1 + u}}{\color{blue}{\frac{-1}{-1}} \cdot \frac{t1 + u}{-t1}} \]
      11. times-frac99.9%

        \[\leadsto \frac{\frac{v}{t1 + u}}{\color{blue}{\frac{-1 \cdot \left(t1 + u\right)}{-1 \cdot \left(-t1\right)}}} \]
      12. neg-mul-199.9%

        \[\leadsto \frac{\frac{v}{t1 + u}}{\frac{-1 \cdot \left(t1 + u\right)}{\color{blue}{-\left(-t1\right)}}} \]
      13. remove-double-neg99.9%

        \[\leadsto \frac{\frac{v}{t1 + u}}{\frac{-1 \cdot \left(t1 + u\right)}{\color{blue}{t1}}} \]
      14. neg-mul-199.9%

        \[\leadsto \frac{\frac{v}{t1 + u}}{\frac{\color{blue}{-\left(t1 + u\right)}}{t1}} \]
      15. sub0-neg99.9%

        \[\leadsto \frac{\frac{v}{t1 + u}}{\frac{\color{blue}{0 - \left(t1 + u\right)}}{t1}} \]
      16. associate--r+99.9%

        \[\leadsto \frac{\frac{v}{t1 + u}}{\frac{\color{blue}{\left(0 - t1\right) - u}}{t1}} \]
      17. neg-sub099.9%

        \[\leadsto \frac{\frac{v}{t1 + u}}{\frac{\color{blue}{\left(-t1\right)} - u}{t1}} \]
      18. div-sub99.9%

        \[\leadsto \frac{\frac{v}{t1 + u}}{\color{blue}{\frac{-t1}{t1} - \frac{u}{t1}}} \]
      19. distribute-frac-neg99.9%

        \[\leadsto \frac{\frac{v}{t1 + u}}{\color{blue}{\left(-\frac{t1}{t1}\right)} - \frac{u}{t1}} \]
      20. *-inverses99.9%

        \[\leadsto \frac{\frac{v}{t1 + u}}{\left(-\color{blue}{1}\right) - \frac{u}{t1}} \]
      21. metadata-eval99.9%

        \[\leadsto \frac{\frac{v}{t1 + u}}{\color{blue}{-1} - \frac{u}{t1}} \]
    3. Simplified99.9%

      \[\leadsto \color{blue}{\frac{\frac{v}{t1 + u}}{-1 - \frac{u}{t1}}} \]
    4. Taylor expanded in t1 around inf 56.8%

      \[\leadsto \frac{\color{blue}{\frac{v}{t1}}}{-1 - \frac{u}{t1}} \]
    5. Taylor expanded in t1 around 0 40.6%

      \[\leadsto \color{blue}{-1 \cdot \frac{v}{u}} \]
    6. Step-by-step derivation
      1. associate-*r/40.6%

        \[\leadsto \color{blue}{\frac{-1 \cdot v}{u}} \]
      2. neg-mul-140.6%

        \[\leadsto \frac{\color{blue}{-v}}{u} \]
    7. Simplified40.6%

      \[\leadsto \color{blue}{\frac{-v}{u}} \]

    if -4.90000000000000047e192 < u < 9.49999999999999908e99

    1. Initial program 68.8%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Step-by-step derivation
      1. times-frac96.2%

        \[\leadsto \color{blue}{\frac{-t1}{t1 + u} \cdot \frac{v}{t1 + u}} \]
    3. Simplified96.2%

      \[\leadsto \color{blue}{\frac{-t1}{t1 + u} \cdot \frac{v}{t1 + u}} \]
    4. Taylor expanded in t1 around inf 62.4%

      \[\leadsto \color{blue}{-1 \cdot \frac{v}{t1}} \]
    5. Step-by-step derivation
      1. associate-*r/62.4%

        \[\leadsto \color{blue}{\frac{-1 \cdot v}{t1}} \]
      2. neg-mul-162.4%

        \[\leadsto \frac{\color{blue}{-v}}{t1} \]
    6. Simplified62.4%

      \[\leadsto \color{blue}{\frac{-v}{t1}} \]

    if 9.49999999999999908e99 < u

    1. Initial program 74.9%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Step-by-step derivation
      1. associate-/l*75.6%

        \[\leadsto \color{blue}{\frac{-t1}{\frac{\left(t1 + u\right) \cdot \left(t1 + u\right)}{v}}} \]
      2. associate-/l*91.2%

        \[\leadsto \frac{-t1}{\color{blue}{\frac{t1 + u}{\frac{v}{t1 + u}}}} \]
    3. Simplified91.2%

      \[\leadsto \color{blue}{\frac{-t1}{\frac{t1 + u}{\frac{v}{t1 + u}}}} \]
    4. Taylor expanded in t1 around inf 40.9%

      \[\leadsto \frac{-t1}{\frac{t1 + u}{\color{blue}{\frac{v}{t1}}}} \]
    5. Step-by-step derivation
      1. clear-num44.1%

        \[\leadsto \color{blue}{\frac{1}{\frac{\frac{t1 + u}{\frac{v}{t1}}}{-t1}}} \]
      2. inv-pow44.1%

        \[\leadsto \color{blue}{{\left(\frac{\frac{t1 + u}{\frac{v}{t1}}}{-t1}\right)}^{-1}} \]
      3. div-inv44.1%

        \[\leadsto {\left(\frac{\color{blue}{\left(t1 + u\right) \cdot \frac{1}{\frac{v}{t1}}}}{-t1}\right)}^{-1} \]
      4. clear-num44.1%

        \[\leadsto {\left(\frac{\left(t1 + u\right) \cdot \color{blue}{\frac{t1}{v}}}{-t1}\right)}^{-1} \]
      5. add-sqr-sqrt15.5%

        \[\leadsto {\left(\frac{\left(t1 + u\right) \cdot \frac{t1}{v}}{\color{blue}{\sqrt{-t1} \cdot \sqrt{-t1}}}\right)}^{-1} \]
      6. sqrt-unprod37.4%

        \[\leadsto {\left(\frac{\left(t1 + u\right) \cdot \frac{t1}{v}}{\color{blue}{\sqrt{\left(-t1\right) \cdot \left(-t1\right)}}}\right)}^{-1} \]
      7. sqr-neg37.4%

        \[\leadsto {\left(\frac{\left(t1 + u\right) \cdot \frac{t1}{v}}{\sqrt{\color{blue}{t1 \cdot t1}}}\right)}^{-1} \]
      8. sqrt-unprod24.7%

        \[\leadsto {\left(\frac{\left(t1 + u\right) \cdot \frac{t1}{v}}{\color{blue}{\sqrt{t1} \cdot \sqrt{t1}}}\right)}^{-1} \]
      9. add-sqr-sqrt40.5%

        \[\leadsto {\left(\frac{\left(t1 + u\right) \cdot \frac{t1}{v}}{\color{blue}{t1}}\right)}^{-1} \]
    6. Applied egg-rr40.5%

      \[\leadsto \color{blue}{{\left(\frac{\left(t1 + u\right) \cdot \frac{t1}{v}}{t1}\right)}^{-1}} \]
    7. Step-by-step derivation
      1. unpow-140.5%

        \[\leadsto \color{blue}{\frac{1}{\frac{\left(t1 + u\right) \cdot \frac{t1}{v}}{t1}}} \]
      2. associate-/l*40.5%

        \[\leadsto \frac{1}{\color{blue}{\frac{t1 + u}{\frac{t1}{\frac{t1}{v}}}}} \]
      3. associate-/r/40.7%

        \[\leadsto \frac{1}{\frac{t1 + u}{\color{blue}{\frac{t1}{t1} \cdot v}}} \]
      4. *-inverses40.7%

        \[\leadsto \frac{1}{\frac{t1 + u}{\color{blue}{1} \cdot v}} \]
      5. *-lft-identity40.7%

        \[\leadsto \frac{1}{\frac{t1 + u}{\color{blue}{v}}} \]
    8. Simplified40.7%

      \[\leadsto \color{blue}{\frac{1}{\frac{t1 + u}{v}}} \]
    9. Taylor expanded in t1 around 0 40.7%

      \[\leadsto \frac{1}{\color{blue}{\frac{u}{v}}} \]
  3. Recombined 3 regimes into one program.
  4. Final simplification55.9%

    \[\leadsto \begin{array}{l} \mathbf{if}\;u \leq -4.9 \cdot 10^{+192}:\\ \;\;\;\;\frac{-v}{u}\\ \mathbf{elif}\;u \leq 9.5 \cdot 10^{+99}:\\ \;\;\;\;\frac{-v}{t1}\\ \mathbf{else}:\\ \;\;\;\;\frac{1}{\frac{u}{v}}\\ \end{array} \]

Alternative 8: 58.7% accurate, 1.5× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;u \leq -2.6 \cdot 10^{+192} \lor \neg \left(u \leq 6 \cdot 10^{+116}\right):\\ \;\;\;\;\frac{-v}{u}\\ \mathbf{else}:\\ \;\;\;\;\frac{-v}{t1}\\ \end{array} \end{array} \]
(FPCore (u v t1)
 :precision binary64
 (if (or (<= u -2.6e+192) (not (<= u 6e+116))) (/ (- v) u) (/ (- v) t1)))
double code(double u, double v, double t1) {
	double tmp;
	if ((u <= -2.6e+192) || !(u <= 6e+116)) {
		tmp = -v / u;
	} else {
		tmp = -v / t1;
	}
	return tmp;
}
real(8) function code(u, v, t1)
    real(8), intent (in) :: u
    real(8), intent (in) :: v
    real(8), intent (in) :: t1
    real(8) :: tmp
    if ((u <= (-2.6d+192)) .or. (.not. (u <= 6d+116))) then
        tmp = -v / u
    else
        tmp = -v / t1
    end if
    code = tmp
end function
public static double code(double u, double v, double t1) {
	double tmp;
	if ((u <= -2.6e+192) || !(u <= 6e+116)) {
		tmp = -v / u;
	} else {
		tmp = -v / t1;
	}
	return tmp;
}
def code(u, v, t1):
	tmp = 0
	if (u <= -2.6e+192) or not (u <= 6e+116):
		tmp = -v / u
	else:
		tmp = -v / t1
	return tmp
function code(u, v, t1)
	tmp = 0.0
	if ((u <= -2.6e+192) || !(u <= 6e+116))
		tmp = Float64(Float64(-v) / u);
	else
		tmp = Float64(Float64(-v) / t1);
	end
	return tmp
end
function tmp_2 = code(u, v, t1)
	tmp = 0.0;
	if ((u <= -2.6e+192) || ~((u <= 6e+116)))
		tmp = -v / u;
	else
		tmp = -v / t1;
	end
	tmp_2 = tmp;
end
code[u_, v_, t1_] := If[Or[LessEqual[u, -2.6e+192], N[Not[LessEqual[u, 6e+116]], $MachinePrecision]], N[((-v) / u), $MachinePrecision], N[((-v) / t1), $MachinePrecision]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;u \leq -2.6 \cdot 10^{+192} \lor \neg \left(u \leq 6 \cdot 10^{+116}\right):\\
\;\;\;\;\frac{-v}{u}\\

\mathbf{else}:\\
\;\;\;\;\frac{-v}{t1}\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if u < -2.60000000000000003e192 or 5.9999999999999997e116 < u

    1. Initial program 74.9%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Step-by-step derivation
      1. *-commutative74.9%

        \[\leadsto \frac{\color{blue}{v \cdot \left(-t1\right)}}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
      2. times-frac99.9%

        \[\leadsto \color{blue}{\frac{v}{t1 + u} \cdot \frac{-t1}{t1 + u}} \]
      3. neg-mul-199.9%

        \[\leadsto \frac{v}{t1 + u} \cdot \frac{\color{blue}{-1 \cdot t1}}{t1 + u} \]
      4. associate-/l*99.9%

        \[\leadsto \frac{v}{t1 + u} \cdot \color{blue}{\frac{-1}{\frac{t1 + u}{t1}}} \]
      5. associate-*r/99.8%

        \[\leadsto \color{blue}{\frac{\frac{v}{t1 + u} \cdot -1}{\frac{t1 + u}{t1}}} \]
      6. associate-/l*99.8%

        \[\leadsto \color{blue}{\frac{\frac{v}{t1 + u}}{\frac{\frac{t1 + u}{t1}}{-1}}} \]
      7. associate-/l/99.8%

        \[\leadsto \frac{\frac{v}{t1 + u}}{\color{blue}{\frac{t1 + u}{-1 \cdot t1}}} \]
      8. neg-mul-199.8%

        \[\leadsto \frac{\frac{v}{t1 + u}}{\frac{t1 + u}{\color{blue}{-t1}}} \]
      9. *-lft-identity99.8%

        \[\leadsto \frac{\frac{v}{t1 + u}}{\color{blue}{1 \cdot \frac{t1 + u}{-t1}}} \]
      10. metadata-eval99.8%

        \[\leadsto \frac{\frac{v}{t1 + u}}{\color{blue}{\frac{-1}{-1}} \cdot \frac{t1 + u}{-t1}} \]
      11. times-frac99.8%

        \[\leadsto \frac{\frac{v}{t1 + u}}{\color{blue}{\frac{-1 \cdot \left(t1 + u\right)}{-1 \cdot \left(-t1\right)}}} \]
      12. neg-mul-199.8%

        \[\leadsto \frac{\frac{v}{t1 + u}}{\frac{-1 \cdot \left(t1 + u\right)}{\color{blue}{-\left(-t1\right)}}} \]
      13. remove-double-neg99.8%

        \[\leadsto \frac{\frac{v}{t1 + u}}{\frac{-1 \cdot \left(t1 + u\right)}{\color{blue}{t1}}} \]
      14. neg-mul-199.8%

        \[\leadsto \frac{\frac{v}{t1 + u}}{\frac{\color{blue}{-\left(t1 + u\right)}}{t1}} \]
      15. sub0-neg99.8%

        \[\leadsto \frac{\frac{v}{t1 + u}}{\frac{\color{blue}{0 - \left(t1 + u\right)}}{t1}} \]
      16. associate--r+99.8%

        \[\leadsto \frac{\frac{v}{t1 + u}}{\frac{\color{blue}{\left(0 - t1\right) - u}}{t1}} \]
      17. neg-sub099.8%

        \[\leadsto \frac{\frac{v}{t1 + u}}{\frac{\color{blue}{\left(-t1\right)} - u}{t1}} \]
      18. div-sub99.8%

        \[\leadsto \frac{\frac{v}{t1 + u}}{\color{blue}{\frac{-t1}{t1} - \frac{u}{t1}}} \]
      19. distribute-frac-neg99.8%

        \[\leadsto \frac{\frac{v}{t1 + u}}{\color{blue}{\left(-\frac{t1}{t1}\right)} - \frac{u}{t1}} \]
      20. *-inverses99.8%

        \[\leadsto \frac{\frac{v}{t1 + u}}{\left(-\color{blue}{1}\right) - \frac{u}{t1}} \]
      21. metadata-eval99.8%

        \[\leadsto \frac{\frac{v}{t1 + u}}{\color{blue}{-1} - \frac{u}{t1}} \]
    3. Simplified99.8%

      \[\leadsto \color{blue}{\frac{\frac{v}{t1 + u}}{-1 - \frac{u}{t1}}} \]
    4. Taylor expanded in t1 around inf 56.7%

      \[\leadsto \frac{\color{blue}{\frac{v}{t1}}}{-1 - \frac{u}{t1}} \]
    5. Taylor expanded in t1 around 0 38.9%

      \[\leadsto \color{blue}{-1 \cdot \frac{v}{u}} \]
    6. Step-by-step derivation
      1. associate-*r/38.9%

        \[\leadsto \color{blue}{\frac{-1 \cdot v}{u}} \]
      2. neg-mul-138.9%

        \[\leadsto \frac{\color{blue}{-v}}{u} \]
    7. Simplified38.9%

      \[\leadsto \color{blue}{\frac{-v}{u}} \]

    if -2.60000000000000003e192 < u < 5.9999999999999997e116

    1. Initial program 69.3%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Step-by-step derivation
      1. times-frac96.3%

        \[\leadsto \color{blue}{\frac{-t1}{t1 + u} \cdot \frac{v}{t1 + u}} \]
    3. Simplified96.3%

      \[\leadsto \color{blue}{\frac{-t1}{t1 + u} \cdot \frac{v}{t1 + u}} \]
    4. Taylor expanded in t1 around inf 62.0%

      \[\leadsto \color{blue}{-1 \cdot \frac{v}{t1}} \]
    5. Step-by-step derivation
      1. associate-*r/62.0%

        \[\leadsto \color{blue}{\frac{-1 \cdot v}{t1}} \]
      2. neg-mul-162.0%

        \[\leadsto \frac{\color{blue}{-v}}{t1} \]
    6. Simplified62.0%

      \[\leadsto \color{blue}{\frac{-v}{t1}} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification55.3%

    \[\leadsto \begin{array}{l} \mathbf{if}\;u \leq -2.6 \cdot 10^{+192} \lor \neg \left(u \leq 6 \cdot 10^{+116}\right):\\ \;\;\;\;\frac{-v}{u}\\ \mathbf{else}:\\ \;\;\;\;\frac{-v}{t1}\\ \end{array} \]

Alternative 9: 58.5% accurate, 1.5× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;u \leq -7.5 \cdot 10^{+192}:\\ \;\;\;\;\frac{v}{u}\\ \mathbf{elif}\;u \leq 1.1 \cdot 10^{+100}:\\ \;\;\;\;\frac{-v}{t1}\\ \mathbf{else}:\\ \;\;\;\;\frac{v}{u}\\ \end{array} \end{array} \]
(FPCore (u v t1)
 :precision binary64
 (if (<= u -7.5e+192) (/ v u) (if (<= u 1.1e+100) (/ (- v) t1) (/ v u))))
double code(double u, double v, double t1) {
	double tmp;
	if (u <= -7.5e+192) {
		tmp = v / u;
	} else if (u <= 1.1e+100) {
		tmp = -v / t1;
	} else {
		tmp = v / u;
	}
	return tmp;
}
real(8) function code(u, v, t1)
    real(8), intent (in) :: u
    real(8), intent (in) :: v
    real(8), intent (in) :: t1
    real(8) :: tmp
    if (u <= (-7.5d+192)) then
        tmp = v / u
    else if (u <= 1.1d+100) then
        tmp = -v / t1
    else
        tmp = v / u
    end if
    code = tmp
end function
public static double code(double u, double v, double t1) {
	double tmp;
	if (u <= -7.5e+192) {
		tmp = v / u;
	} else if (u <= 1.1e+100) {
		tmp = -v / t1;
	} else {
		tmp = v / u;
	}
	return tmp;
}
def code(u, v, t1):
	tmp = 0
	if u <= -7.5e+192:
		tmp = v / u
	elif u <= 1.1e+100:
		tmp = -v / t1
	else:
		tmp = v / u
	return tmp
function code(u, v, t1)
	tmp = 0.0
	if (u <= -7.5e+192)
		tmp = Float64(v / u);
	elseif (u <= 1.1e+100)
		tmp = Float64(Float64(-v) / t1);
	else
		tmp = Float64(v / u);
	end
	return tmp
end
function tmp_2 = code(u, v, t1)
	tmp = 0.0;
	if (u <= -7.5e+192)
		tmp = v / u;
	elseif (u <= 1.1e+100)
		tmp = -v / t1;
	else
		tmp = v / u;
	end
	tmp_2 = tmp;
end
code[u_, v_, t1_] := If[LessEqual[u, -7.5e+192], N[(v / u), $MachinePrecision], If[LessEqual[u, 1.1e+100], N[((-v) / t1), $MachinePrecision], N[(v / u), $MachinePrecision]]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;u \leq -7.5 \cdot 10^{+192}:\\
\;\;\;\;\frac{v}{u}\\

\mathbf{elif}\;u \leq 1.1 \cdot 10^{+100}:\\
\;\;\;\;\frac{-v}{t1}\\

\mathbf{else}:\\
\;\;\;\;\frac{v}{u}\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if u < -7.5e192 or 1.1e100 < u

    1. Initial program 75.8%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Step-by-step derivation
      1. associate-/l*76.5%

        \[\leadsto \color{blue}{\frac{-t1}{\frac{\left(t1 + u\right) \cdot \left(t1 + u\right)}{v}}} \]
      2. associate-/l*91.3%

        \[\leadsto \frac{-t1}{\color{blue}{\frac{t1 + u}{\frac{v}{t1 + u}}}} \]
    3. Simplified91.3%

      \[\leadsto \color{blue}{\frac{-t1}{\frac{t1 + u}{\frac{v}{t1 + u}}}} \]
    4. Taylor expanded in t1 around inf 40.6%

      \[\leadsto \frac{-t1}{\frac{t1 + u}{\color{blue}{\frac{v}{t1}}}} \]
    5. Step-by-step derivation
      1. clear-num42.9%

        \[\leadsto \color{blue}{\frac{1}{\frac{\frac{t1 + u}{\frac{v}{t1}}}{-t1}}} \]
      2. inv-pow42.9%

        \[\leadsto \color{blue}{{\left(\frac{\frac{t1 + u}{\frac{v}{t1}}}{-t1}\right)}^{-1}} \]
      3. div-inv42.9%

        \[\leadsto {\left(\frac{\color{blue}{\left(t1 + u\right) \cdot \frac{1}{\frac{v}{t1}}}}{-t1}\right)}^{-1} \]
      4. clear-num42.9%

        \[\leadsto {\left(\frac{\left(t1 + u\right) \cdot \color{blue}{\frac{t1}{v}}}{-t1}\right)}^{-1} \]
      5. add-sqr-sqrt18.0%

        \[\leadsto {\left(\frac{\left(t1 + u\right) \cdot \frac{t1}{v}}{\color{blue}{\sqrt{-t1} \cdot \sqrt{-t1}}}\right)}^{-1} \]
      6. sqrt-unprod40.2%

        \[\leadsto {\left(\frac{\left(t1 + u\right) \cdot \frac{t1}{v}}{\color{blue}{\sqrt{\left(-t1\right) \cdot \left(-t1\right)}}}\right)}^{-1} \]
      7. sqr-neg40.2%

        \[\leadsto {\left(\frac{\left(t1 + u\right) \cdot \frac{t1}{v}}{\sqrt{\color{blue}{t1 \cdot t1}}}\right)}^{-1} \]
      8. sqrt-unprod22.1%

        \[\leadsto {\left(\frac{\left(t1 + u\right) \cdot \frac{t1}{v}}{\color{blue}{\sqrt{t1} \cdot \sqrt{t1}}}\right)}^{-1} \]
      9. add-sqr-sqrt40.4%

        \[\leadsto {\left(\frac{\left(t1 + u\right) \cdot \frac{t1}{v}}{\color{blue}{t1}}\right)}^{-1} \]
    6. Applied egg-rr40.4%

      \[\leadsto \color{blue}{{\left(\frac{\left(t1 + u\right) \cdot \frac{t1}{v}}{t1}\right)}^{-1}} \]
    7. Step-by-step derivation
      1. unpow-140.4%

        \[\leadsto \color{blue}{\frac{1}{\frac{\left(t1 + u\right) \cdot \frac{t1}{v}}{t1}}} \]
      2. associate-/l*40.3%

        \[\leadsto \frac{1}{\color{blue}{\frac{t1 + u}{\frac{t1}{\frac{t1}{v}}}}} \]
      3. associate-/r/40.6%

        \[\leadsto \frac{1}{\frac{t1 + u}{\color{blue}{\frac{t1}{t1} \cdot v}}} \]
      4. *-inverses40.6%

        \[\leadsto \frac{1}{\frac{t1 + u}{\color{blue}{1} \cdot v}} \]
      5. *-lft-identity40.6%

        \[\leadsto \frac{1}{\frac{t1 + u}{\color{blue}{v}}} \]
    8. Simplified40.6%

      \[\leadsto \color{blue}{\frac{1}{\frac{t1 + u}{v}}} \]
    9. Taylor expanded in t1 around 0 38.2%

      \[\leadsto \color{blue}{\frac{v}{u}} \]

    if -7.5e192 < u < 1.1e100

    1. Initial program 68.8%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Step-by-step derivation
      1. times-frac96.2%

        \[\leadsto \color{blue}{\frac{-t1}{t1 + u} \cdot \frac{v}{t1 + u}} \]
    3. Simplified96.2%

      \[\leadsto \color{blue}{\frac{-t1}{t1 + u} \cdot \frac{v}{t1 + u}} \]
    4. Taylor expanded in t1 around inf 62.4%

      \[\leadsto \color{blue}{-1 \cdot \frac{v}{t1}} \]
    5. Step-by-step derivation
      1. associate-*r/62.4%

        \[\leadsto \color{blue}{\frac{-1 \cdot v}{t1}} \]
      2. neg-mul-162.4%

        \[\leadsto \frac{\color{blue}{-v}}{t1} \]
    6. Simplified62.4%

      \[\leadsto \color{blue}{\frac{-v}{t1}} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification55.1%

    \[\leadsto \begin{array}{l} \mathbf{if}\;u \leq -7.5 \cdot 10^{+192}:\\ \;\;\;\;\frac{v}{u}\\ \mathbf{elif}\;u \leq 1.1 \cdot 10^{+100}:\\ \;\;\;\;\frac{-v}{t1}\\ \mathbf{else}:\\ \;\;\;\;\frac{v}{u}\\ \end{array} \]

Alternative 10: 22.8% accurate, 1.7× speedup?

\[\begin{array}{l} \\ \begin{array}{l} \mathbf{if}\;t1 \leq -1.2 \cdot 10^{+158}:\\ \;\;\;\;\frac{v}{t1}\\ \mathbf{elif}\;t1 \leq 2.85 \cdot 10^{+215}:\\ \;\;\;\;\frac{v}{u}\\ \mathbf{else}:\\ \;\;\;\;\frac{v}{t1}\\ \end{array} \end{array} \]
(FPCore (u v t1)
 :precision binary64
 (if (<= t1 -1.2e+158) (/ v t1) (if (<= t1 2.85e+215) (/ v u) (/ v t1))))
double code(double u, double v, double t1) {
	double tmp;
	if (t1 <= -1.2e+158) {
		tmp = v / t1;
	} else if (t1 <= 2.85e+215) {
		tmp = v / u;
	} else {
		tmp = v / t1;
	}
	return tmp;
}
real(8) function code(u, v, t1)
    real(8), intent (in) :: u
    real(8), intent (in) :: v
    real(8), intent (in) :: t1
    real(8) :: tmp
    if (t1 <= (-1.2d+158)) then
        tmp = v / t1
    else if (t1 <= 2.85d+215) then
        tmp = v / u
    else
        tmp = v / t1
    end if
    code = tmp
end function
public static double code(double u, double v, double t1) {
	double tmp;
	if (t1 <= -1.2e+158) {
		tmp = v / t1;
	} else if (t1 <= 2.85e+215) {
		tmp = v / u;
	} else {
		tmp = v / t1;
	}
	return tmp;
}
def code(u, v, t1):
	tmp = 0
	if t1 <= -1.2e+158:
		tmp = v / t1
	elif t1 <= 2.85e+215:
		tmp = v / u
	else:
		tmp = v / t1
	return tmp
function code(u, v, t1)
	tmp = 0.0
	if (t1 <= -1.2e+158)
		tmp = Float64(v / t1);
	elseif (t1 <= 2.85e+215)
		tmp = Float64(v / u);
	else
		tmp = Float64(v / t1);
	end
	return tmp
end
function tmp_2 = code(u, v, t1)
	tmp = 0.0;
	if (t1 <= -1.2e+158)
		tmp = v / t1;
	elseif (t1 <= 2.85e+215)
		tmp = v / u;
	else
		tmp = v / t1;
	end
	tmp_2 = tmp;
end
code[u_, v_, t1_] := If[LessEqual[t1, -1.2e+158], N[(v / t1), $MachinePrecision], If[LessEqual[t1, 2.85e+215], N[(v / u), $MachinePrecision], N[(v / t1), $MachinePrecision]]]
\begin{array}{l}

\\
\begin{array}{l}
\mathbf{if}\;t1 \leq -1.2 \cdot 10^{+158}:\\
\;\;\;\;\frac{v}{t1}\\

\mathbf{elif}\;t1 \leq 2.85 \cdot 10^{+215}:\\
\;\;\;\;\frac{v}{u}\\

\mathbf{else}:\\
\;\;\;\;\frac{v}{t1}\\


\end{array}
\end{array}
Derivation
  1. Split input into 2 regimes
  2. if t1 < -1.20000000000000004e158 or 2.85e215 < t1

    1. Initial program 45.8%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Step-by-step derivation
      1. associate-/l*47.3%

        \[\leadsto \color{blue}{\frac{-t1}{\frac{\left(t1 + u\right) \cdot \left(t1 + u\right)}{v}}} \]
      2. associate-/l*62.6%

        \[\leadsto \frac{-t1}{\color{blue}{\frac{t1 + u}{\frac{v}{t1 + u}}}} \]
    3. Simplified62.6%

      \[\leadsto \color{blue}{\frac{-t1}{\frac{t1 + u}{\frac{v}{t1 + u}}}} \]
    4. Step-by-step derivation
      1. frac-2neg62.6%

        \[\leadsto \frac{-t1}{\color{blue}{\frac{-\left(t1 + u\right)}{-\frac{v}{t1 + u}}}} \]
      2. div-inv62.6%

        \[\leadsto \frac{-t1}{\color{blue}{\left(-\left(t1 + u\right)\right) \cdot \frac{1}{-\frac{v}{t1 + u}}}} \]
      3. distribute-neg-in62.6%

        \[\leadsto \frac{-t1}{\color{blue}{\left(\left(-t1\right) + \left(-u\right)\right)} \cdot \frac{1}{-\frac{v}{t1 + u}}} \]
      4. add-sqr-sqrt40.5%

        \[\leadsto \frac{-t1}{\left(\color{blue}{\sqrt{-t1} \cdot \sqrt{-t1}} + \left(-u\right)\right) \cdot \frac{1}{-\frac{v}{t1 + u}}} \]
      5. sqrt-unprod47.3%

        \[\leadsto \frac{-t1}{\left(\color{blue}{\sqrt{\left(-t1\right) \cdot \left(-t1\right)}} + \left(-u\right)\right) \cdot \frac{1}{-\frac{v}{t1 + u}}} \]
      6. sqr-neg47.3%

        \[\leadsto \frac{-t1}{\left(\sqrt{\color{blue}{t1 \cdot t1}} + \left(-u\right)\right) \cdot \frac{1}{-\frac{v}{t1 + u}}} \]
      7. sqrt-unprod13.5%

        \[\leadsto \frac{-t1}{\left(\color{blue}{\sqrt{t1} \cdot \sqrt{t1}} + \left(-u\right)\right) \cdot \frac{1}{-\frac{v}{t1 + u}}} \]
      8. add-sqr-sqrt47.1%

        \[\leadsto \frac{-t1}{\left(\color{blue}{t1} + \left(-u\right)\right) \cdot \frac{1}{-\frac{v}{t1 + u}}} \]
      9. sub-neg47.1%

        \[\leadsto \frac{-t1}{\color{blue}{\left(t1 - u\right)} \cdot \frac{1}{-\frac{v}{t1 + u}}} \]
      10. distribute-neg-frac47.1%

        \[\leadsto \frac{-t1}{\left(t1 - u\right) \cdot \frac{1}{\color{blue}{\frac{-v}{t1 + u}}}} \]
    5. Applied egg-rr47.1%

      \[\leadsto \frac{-t1}{\color{blue}{\left(t1 - u\right) \cdot \frac{1}{\frac{-v}{t1 + u}}}} \]
    6. Step-by-step derivation
      1. associate-/r/47.1%

        \[\leadsto \frac{-t1}{\left(t1 - u\right) \cdot \color{blue}{\left(\frac{1}{-v} \cdot \left(t1 + u\right)\right)}} \]
    7. Simplified47.1%

      \[\leadsto \frac{-t1}{\color{blue}{\left(t1 - u\right) \cdot \left(\frac{1}{-v} \cdot \left(t1 + u\right)\right)}} \]
    8. Taylor expanded in t1 around inf 46.4%

      \[\leadsto \color{blue}{\frac{v}{t1}} \]

    if -1.20000000000000004e158 < t1 < 2.85e215

    1. Initial program 78.1%

      \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
    2. Step-by-step derivation
      1. associate-/l*78.4%

        \[\leadsto \color{blue}{\frac{-t1}{\frac{\left(t1 + u\right) \cdot \left(t1 + u\right)}{v}}} \]
      2. associate-/l*88.2%

        \[\leadsto \frac{-t1}{\color{blue}{\frac{t1 + u}{\frac{v}{t1 + u}}}} \]
    3. Simplified88.2%

      \[\leadsto \color{blue}{\frac{-t1}{\frac{t1 + u}{\frac{v}{t1 + u}}}} \]
    4. Taylor expanded in t1 around inf 41.2%

      \[\leadsto \frac{-t1}{\frac{t1 + u}{\color{blue}{\frac{v}{t1}}}} \]
    5. Step-by-step derivation
      1. clear-num42.4%

        \[\leadsto \color{blue}{\frac{1}{\frac{\frac{t1 + u}{\frac{v}{t1}}}{-t1}}} \]
      2. inv-pow42.4%

        \[\leadsto \color{blue}{{\left(\frac{\frac{t1 + u}{\frac{v}{t1}}}{-t1}\right)}^{-1}} \]
      3. div-inv42.4%

        \[\leadsto {\left(\frac{\color{blue}{\left(t1 + u\right) \cdot \frac{1}{\frac{v}{t1}}}}{-t1}\right)}^{-1} \]
      4. clear-num42.3%

        \[\leadsto {\left(\frac{\left(t1 + u\right) \cdot \color{blue}{\frac{t1}{v}}}{-t1}\right)}^{-1} \]
      5. add-sqr-sqrt19.5%

        \[\leadsto {\left(\frac{\left(t1 + u\right) \cdot \frac{t1}{v}}{\color{blue}{\sqrt{-t1} \cdot \sqrt{-t1}}}\right)}^{-1} \]
      6. sqrt-unprod37.2%

        \[\leadsto {\left(\frac{\left(t1 + u\right) \cdot \frac{t1}{v}}{\color{blue}{\sqrt{\left(-t1\right) \cdot \left(-t1\right)}}}\right)}^{-1} \]
      7. sqr-neg37.2%

        \[\leadsto {\left(\frac{\left(t1 + u\right) \cdot \frac{t1}{v}}{\sqrt{\color{blue}{t1 \cdot t1}}}\right)}^{-1} \]
      8. sqrt-unprod11.2%

        \[\leadsto {\left(\frac{\left(t1 + u\right) \cdot \frac{t1}{v}}{\color{blue}{\sqrt{t1} \cdot \sqrt{t1}}}\right)}^{-1} \]
      9. add-sqr-sqrt19.8%

        \[\leadsto {\left(\frac{\left(t1 + u\right) \cdot \frac{t1}{v}}{\color{blue}{t1}}\right)}^{-1} \]
    6. Applied egg-rr19.8%

      \[\leadsto \color{blue}{{\left(\frac{\left(t1 + u\right) \cdot \frac{t1}{v}}{t1}\right)}^{-1}} \]
    7. Step-by-step derivation
      1. unpow-119.8%

        \[\leadsto \color{blue}{\frac{1}{\frac{\left(t1 + u\right) \cdot \frac{t1}{v}}{t1}}} \]
      2. associate-/l*19.8%

        \[\leadsto \frac{1}{\color{blue}{\frac{t1 + u}{\frac{t1}{\frac{t1}{v}}}}} \]
      3. associate-/r/20.0%

        \[\leadsto \frac{1}{\frac{t1 + u}{\color{blue}{\frac{t1}{t1} \cdot v}}} \]
      4. *-inverses20.0%

        \[\leadsto \frac{1}{\frac{t1 + u}{\color{blue}{1} \cdot v}} \]
      5. *-lft-identity20.0%

        \[\leadsto \frac{1}{\frac{t1 + u}{\color{blue}{v}}} \]
    8. Simplified20.0%

      \[\leadsto \color{blue}{\frac{1}{\frac{t1 + u}{v}}} \]
    9. Taylor expanded in t1 around 0 20.2%

      \[\leadsto \color{blue}{\frac{v}{u}} \]
  3. Recombined 2 regimes into one program.
  4. Final simplification26.1%

    \[\leadsto \begin{array}{l} \mathbf{if}\;t1 \leq -1.2 \cdot 10^{+158}:\\ \;\;\;\;\frac{v}{t1}\\ \mathbf{elif}\;t1 \leq 2.85 \cdot 10^{+215}:\\ \;\;\;\;\frac{v}{u}\\ \mathbf{else}:\\ \;\;\;\;\frac{v}{t1}\\ \end{array} \]

Alternative 11: 62.2% accurate, 2.0× speedup?

\[\begin{array}{l} \\ \frac{-v}{t1 + u} \end{array} \]
(FPCore (u v t1) :precision binary64 (/ (- v) (+ t1 u)))
double code(double u, double v, double t1) {
	return -v / (t1 + u);
}
real(8) function code(u, v, t1)
    real(8), intent (in) :: u
    real(8), intent (in) :: v
    real(8), intent (in) :: t1
    code = -v / (t1 + u)
end function
public static double code(double u, double v, double t1) {
	return -v / (t1 + u);
}
def code(u, v, t1):
	return -v / (t1 + u)
function code(u, v, t1)
	return Float64(Float64(-v) / Float64(t1 + u))
end
function tmp = code(u, v, t1)
	tmp = -v / (t1 + u);
end
code[u_, v_, t1_] := N[((-v) / N[(t1 + u), $MachinePrecision]), $MachinePrecision]
\begin{array}{l}

\\
\frac{-v}{t1 + u}
\end{array}
Derivation
  1. Initial program 70.9%

    \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
  2. Step-by-step derivation
    1. associate-/l*71.5%

      \[\leadsto \color{blue}{\frac{-t1}{\frac{\left(t1 + u\right) \cdot \left(t1 + u\right)}{v}}} \]
    2. associate-/l*82.5%

      \[\leadsto \frac{-t1}{\color{blue}{\frac{t1 + u}{\frac{v}{t1 + u}}}} \]
  3. Simplified82.5%

    \[\leadsto \color{blue}{\frac{-t1}{\frac{t1 + u}{\frac{v}{t1 + u}}}} \]
  4. Taylor expanded in t1 around inf 45.9%

    \[\leadsto \frac{-t1}{\frac{t1 + u}{\color{blue}{\frac{v}{t1}}}} \]
  5. Taylor expanded in v around 0 57.2%

    \[\leadsto \color{blue}{-1 \cdot \frac{v}{t1 + u}} \]
  6. Step-by-step derivation
    1. associate-*r/57.2%

      \[\leadsto \color{blue}{\frac{-1 \cdot v}{t1 + u}} \]
    2. neg-mul-157.2%

      \[\leadsto \frac{\color{blue}{-v}}{t1 + u} \]
  7. Simplified57.2%

    \[\leadsto \color{blue}{\frac{-v}{t1 + u}} \]
  8. Final simplification57.2%

    \[\leadsto \frac{-v}{t1 + u} \]

Alternative 12: 14.5% accurate, 4.0× speedup?

\[\begin{array}{l} \\ \frac{v}{t1} \end{array} \]
(FPCore (u v t1) :precision binary64 (/ v t1))
double code(double u, double v, double t1) {
	return v / t1;
}
real(8) function code(u, v, t1)
    real(8), intent (in) :: u
    real(8), intent (in) :: v
    real(8), intent (in) :: t1
    code = v / t1
end function
public static double code(double u, double v, double t1) {
	return v / t1;
}
def code(u, v, t1):
	return v / t1
function code(u, v, t1)
	return Float64(v / t1)
end
function tmp = code(u, v, t1)
	tmp = v / t1;
end
code[u_, v_, t1_] := N[(v / t1), $MachinePrecision]
\begin{array}{l}

\\
\frac{v}{t1}
\end{array}
Derivation
  1. Initial program 70.9%

    \[\frac{\left(-t1\right) \cdot v}{\left(t1 + u\right) \cdot \left(t1 + u\right)} \]
  2. Step-by-step derivation
    1. associate-/l*71.5%

      \[\leadsto \color{blue}{\frac{-t1}{\frac{\left(t1 + u\right) \cdot \left(t1 + u\right)}{v}}} \]
    2. associate-/l*82.5%

      \[\leadsto \frac{-t1}{\color{blue}{\frac{t1 + u}{\frac{v}{t1 + u}}}} \]
  3. Simplified82.5%

    \[\leadsto \color{blue}{\frac{-t1}{\frac{t1 + u}{\frac{v}{t1 + u}}}} \]
  4. Step-by-step derivation
    1. frac-2neg82.5%

      \[\leadsto \frac{-t1}{\color{blue}{\frac{-\left(t1 + u\right)}{-\frac{v}{t1 + u}}}} \]
    2. div-inv82.5%

      \[\leadsto \frac{-t1}{\color{blue}{\left(-\left(t1 + u\right)\right) \cdot \frac{1}{-\frac{v}{t1 + u}}}} \]
    3. distribute-neg-in82.5%

      \[\leadsto \frac{-t1}{\color{blue}{\left(\left(-t1\right) + \left(-u\right)\right)} \cdot \frac{1}{-\frac{v}{t1 + u}}} \]
    4. add-sqr-sqrt38.2%

      \[\leadsto \frac{-t1}{\left(\color{blue}{\sqrt{-t1} \cdot \sqrt{-t1}} + \left(-u\right)\right) \cdot \frac{1}{-\frac{v}{t1 + u}}} \]
    5. sqrt-unprod68.2%

      \[\leadsto \frac{-t1}{\left(\color{blue}{\sqrt{\left(-t1\right) \cdot \left(-t1\right)}} + \left(-u\right)\right) \cdot \frac{1}{-\frac{v}{t1 + u}}} \]
    6. sqr-neg68.2%

      \[\leadsto \frac{-t1}{\left(\sqrt{\color{blue}{t1 \cdot t1}} + \left(-u\right)\right) \cdot \frac{1}{-\frac{v}{t1 + u}}} \]
    7. sqrt-unprod32.3%

      \[\leadsto \frac{-t1}{\left(\color{blue}{\sqrt{t1} \cdot \sqrt{t1}} + \left(-u\right)\right) \cdot \frac{1}{-\frac{v}{t1 + u}}} \]
    8. add-sqr-sqrt59.9%

      \[\leadsto \frac{-t1}{\left(\color{blue}{t1} + \left(-u\right)\right) \cdot \frac{1}{-\frac{v}{t1 + u}}} \]
    9. sub-neg59.9%

      \[\leadsto \frac{-t1}{\color{blue}{\left(t1 - u\right)} \cdot \frac{1}{-\frac{v}{t1 + u}}} \]
    10. distribute-neg-frac59.9%

      \[\leadsto \frac{-t1}{\left(t1 - u\right) \cdot \frac{1}{\color{blue}{\frac{-v}{t1 + u}}}} \]
  5. Applied egg-rr59.9%

    \[\leadsto \frac{-t1}{\color{blue}{\left(t1 - u\right) \cdot \frac{1}{\frac{-v}{t1 + u}}}} \]
  6. Step-by-step derivation
    1. associate-/r/59.9%

      \[\leadsto \frac{-t1}{\left(t1 - u\right) \cdot \color{blue}{\left(\frac{1}{-v} \cdot \left(t1 + u\right)\right)}} \]
  7. Simplified59.9%

    \[\leadsto \frac{-t1}{\color{blue}{\left(t1 - u\right) \cdot \left(\frac{1}{-v} \cdot \left(t1 + u\right)\right)}} \]
  8. Taylor expanded in t1 around inf 14.0%

    \[\leadsto \color{blue}{\frac{v}{t1}} \]
  9. Final simplification14.0%

    \[\leadsto \frac{v}{t1} \]

Reproduce

?
herbie shell --seed 2023182 
(FPCore (u v t1)
  :name "Rosa's DopplerBench"
  :precision binary64
  (/ (* (- t1) v) (* (+ t1 u) (+ t1 u))))