Average Error: 24.3 → 7.2
Time: 18.3s
Precision: binary64
Cost: 3464
Math TeX FPCore C \[x + \frac{\left(y - x\right) \cdot \left(z - t\right)}{a - t}\]
↓
\[\begin{array}{l}
\mathbf{if}\;x + \frac{\left(y - x\right) \cdot \left(z - t\right)}{a - t} \leq -5.176650421125973 \cdot 10^{-303} \lor \neg \left(x + \frac{\left(y - x\right) \cdot \left(z - t\right)}{a - t} \leq 0\right):\\
\;\;\;\;x + \frac{y - x}{\frac{a - t}{z - t}}\\
\mathbf{else}:\\
\;\;\;\;\left(\left(y + \frac{x \cdot z}{t}\right) + \frac{y \cdot a}{t}\right) - \left(\frac{y \cdot z}{t} + \frac{x \cdot a}{t}\right)\\
\end{array}\]
x + \frac{\left(y - x\right) \cdot \left(z - t\right)}{a - t} ↓
\begin{array}{l}
\mathbf{if}\;x + \frac{\left(y - x\right) \cdot \left(z - t\right)}{a - t} \leq -5.176650421125973 \cdot 10^{-303} \lor \neg \left(x + \frac{\left(y - x\right) \cdot \left(z - t\right)}{a - t} \leq 0\right):\\
\;\;\;\;x + \frac{y - x}{\frac{a - t}{z - t}}\\
\mathbf{else}:\\
\;\;\;\;\left(\left(y + \frac{x \cdot z}{t}\right) + \frac{y \cdot a}{t}\right) - \left(\frac{y \cdot z}{t} + \frac{x \cdot a}{t}\right)\\
\end{array} (FPCore (x y z t a) :precision binary64 (+ x (/ (* (- y x) (- z t)) (- a t)))) ↓
(FPCore (x y z t a)
:precision binary64
(if (or (<= (+ x (/ (* (- y x) (- z t)) (- a t))) -5.176650421125973e-303)
(not (<= (+ x (/ (* (- y x) (- z t)) (- a t))) 0.0)))
(+ x (/ (- y x) (/ (- a t) (- z t))))
(- (+ (+ y (/ (* x z) t)) (/ (* y a) t)) (+ (/ (* y z) t) (/ (* x a) t))))) double code(double x, double y, double z, double t, double a) {
return x + (((y - x) * (z - t)) / (a - t));
}
↓
double code(double x, double y, double z, double t, double a) {
double tmp;
if (((x + (((y - x) * (z - t)) / (a - t))) <= -5.176650421125973e-303) || !((x + (((y - x) * (z - t)) / (a - t))) <= 0.0)) {
tmp = x + ((y - x) / ((a - t) / (z - t)));
} else {
tmp = ((y + ((x * z) / t)) + ((y * a) / t)) - (((y * z) / t) + ((x * a) / t));
}
return tmp;
}
Try it out Enter valid numbers for all inputs
Target Original 24.3 Target 9.6 Herbie 7.2
\[\begin{array}{l}
\mathbf{if}\;a < -1.6153062845442575 \cdot 10^{-142}:\\
\;\;\;\;x + \frac{y - x}{1} \cdot \frac{z - t}{a - t}\\
\mathbf{elif}\;a < 3.774403170083174 \cdot 10^{-182}:\\
\;\;\;\;y - \frac{z}{t} \cdot \left(y - x\right)\\
\mathbf{else}:\\
\;\;\;\;x + \frac{y - x}{1} \cdot \frac{z - t}{a - t}\\
\end{array}\]
Alternatives Alternative 1 Error 8.7 Cost 2696
\[\begin{array}{l}
\mathbf{if}\;x + \frac{\left(y - x\right) \cdot \left(z - t\right)}{a - t} \leq -5.176650421125973 \cdot 10^{-303} \lor \neg \left(x + \frac{\left(y - x\right) \cdot \left(z - t\right)}{a - t} \leq 0\right):\\
\;\;\;\;x + \frac{y - x}{\frac{a - t}{z - t}}\\
\mathbf{else}:\\
\;\;\;\;\left(y + \frac{x \cdot z}{t}\right) - \frac{y \cdot z}{t}\\
\end{array}\]
Alternative 2 Error 8.7 Cost 2696
\[\begin{array}{l}
\mathbf{if}\;x + \frac{\left(y - x\right) \cdot \left(z - t\right)}{a - t} \leq -5.176650421125973 \cdot 10^{-303} \lor \neg \left(x + \frac{\left(y - x\right) \cdot \left(z - t\right)}{a - t} \leq 0\right):\\
\;\;\;\;x + \left(y - x\right) \cdot \frac{z - t}{a - t}\\
\mathbf{else}:\\
\;\;\;\;\left(y + \frac{x \cdot z}{t}\right) - \frac{y \cdot z}{t}\\
\end{array}\]
Alternative 3 Error 10.9 Cost 2696
\[\begin{array}{l}
\mathbf{if}\;x + \frac{\left(y - x\right) \cdot \left(z - t\right)}{a - t} \leq -5.176650421125973 \cdot 10^{-303} \lor \neg \left(x + \frac{\left(y - x\right) \cdot \left(z - t\right)}{a - t} \leq 0\right):\\
\;\;\;\;x + \left(y - x\right) \cdot \frac{z - t}{a - t}\\
\mathbf{else}:\\
\;\;\;\;z \cdot \frac{y - x}{a - t}\\
\end{array}\]
Alternative 4 Error 18.5 Cost 2181
\[\begin{array}{l}
\mathbf{if}\;t \leq -2.243832669059716 \cdot 10^{+216}:\\
\;\;\;\;\frac{y}{\frac{a - t}{z - t}}\\
\mathbf{elif}\;t \leq -5.4161300115267595 \cdot 10^{-177}:\\
\;\;\;\;x + y \cdot \frac{z - t}{a - t}\\
\mathbf{elif}\;t \leq 3.3990608062305716 \cdot 10^{-41}:\\
\;\;\;\;x + \frac{y - x}{\frac{a - t}{z}}\\
\mathbf{elif}\;t \leq 1.355231778736394 \cdot 10^{+106}:\\
\;\;\;\;x + y \cdot \frac{z - t}{a - t}\\
\mathbf{elif}\;t \leq 7.993925956436287 \cdot 10^{+209}:\\
\;\;\;\;z \cdot \frac{y - x}{a - t}\\
\mathbf{else}:\\
\;\;\;\;y \cdot \frac{z - t}{a - t}\\
\end{array}\]
Alternative 5 Error 18.7 Cost 1988
\[\begin{array}{l}
\mathbf{if}\;t \leq -1.862483285948315 \cdot 10^{+66}:\\
\;\;\;\;y \cdot \frac{z - t}{a - t}\\
\mathbf{elif}\;t \leq -3.3822985341725177 \cdot 10^{-167}:\\
\;\;\;\;x + \frac{y \cdot \left(z - t\right)}{a - t}\\
\mathbf{elif}\;t \leq 6.999976732147868 \cdot 10^{-293}:\\
\;\;\;\;x + \frac{y - x}{\frac{a}{z - t}}\\
\mathbf{elif}\;t \leq 3.15615873131367 \cdot 10^{+87}:\\
\;\;\;\;x + \frac{y - x}{\frac{a - t}{z}}\\
\mathbf{else}:\\
\;\;\;\;\frac{y}{\frac{a - t}{z - t}}\\
\end{array}\]
Alternative 6 Error 22.3 Cost 1674
\[\begin{array}{l}
\mathbf{if}\;y \leq -2.436483155066167 \cdot 10^{-17}:\\
\;\;\;\;\frac{y}{\frac{a - t}{z - t}}\\
\mathbf{elif}\;y \leq 2.1928223815558746 \cdot 10^{+30}:\\
\;\;\;\;x + \frac{y - x}{\frac{a - t}{z}}\\
\mathbf{elif}\;y \leq 4.286444712015001 \cdot 10^{+62} \lor \neg \left(y \leq 1.4457588227513382 \cdot 10^{+128}\right):\\
\;\;\;\;y \cdot \frac{z - t}{a - t}\\
\mathbf{else}:\\
\;\;\;\;x + \left(y - x\right) \cdot \frac{z}{a - t}\\
\end{array}\]
Alternative 7 Error 22.5 Cost 1988
\[\begin{array}{l}
\mathbf{if}\;y \leq -1.3300816867749887 \cdot 10^{-17}:\\
\;\;\;\;\frac{y}{\frac{a - t}{z - t}}\\
\mathbf{elif}\;y \leq 1.4074725947547314 \cdot 10^{+20}:\\
\;\;\;\;x + \left(y - x\right) \cdot \frac{z}{a - t}\\
\mathbf{elif}\;y \leq 1.2430453641021008 \cdot 10^{+61}:\\
\;\;\;\;\frac{y}{\frac{a - t}{z - t}}\\
\mathbf{elif}\;y \leq 1.2305047984190505 \cdot 10^{+128}:\\
\;\;\;\;x + \left(y - x\right) \cdot \frac{z}{a - t}\\
\mathbf{else}:\\
\;\;\;\;y \cdot \frac{z - t}{a - t}\\
\end{array}\]
Alternative 8 Error 21.6 Cost 1667
\[\begin{array}{l}
\mathbf{if}\;a \leq -5.8095817005789545 \cdot 10^{+84}:\\
\;\;\;\;x + \frac{y - x}{\frac{a}{z - t}}\\
\mathbf{elif}\;a \leq 1.9705286202900668 \cdot 10^{-120}:\\
\;\;\;\;\frac{y}{\frac{a - t}{z - t}}\\
\mathbf{elif}\;a \leq 3.690147293093053 \cdot 10^{-15}:\\
\;\;\;\;z \cdot \frac{y - x}{a - t}\\
\mathbf{else}:\\
\;\;\;\;x + \frac{y - x}{\frac{a}{z - t}}\\
\end{array}\]
Alternative 9 Error 27.8 Cost 2509
\[\begin{array}{l}
\mathbf{if}\;y \leq -4.4933790013899865 \cdot 10^{-18}:\\
\;\;\;\;\frac{y}{\frac{a - t}{z - t}}\\
\mathbf{elif}\;y \leq 1.2830709588516494 \cdot 10^{-253}:\\
\;\;\;\;x + \frac{y - x}{\frac{a}{z}}\\
\mathbf{elif}\;y \leq 1.8832072673378197 \cdot 10^{-55}:\\
\;\;\;\;z \cdot \frac{y - x}{a - t}\\
\mathbf{elif}\;y \leq 1.0346537107323788 \cdot 10^{-37}:\\
\;\;\;\;x + \frac{y - x}{\frac{a}{z}}\\
\mathbf{elif}\;y \leq 65946506011.980484:\\
\;\;\;\;z \cdot \frac{y - x}{a - t}\\
\mathbf{elif}\;y \leq 4.19826399328792 \cdot 10^{+69} \lor \neg \left(y \leq 8.736939133402569 \cdot 10^{+92}\right):\\
\;\;\;\;y \cdot \frac{z - t}{a - t}\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}\]
Alternative 10 Error 27.8 Cost 2509
\[\begin{array}{l}
\mathbf{if}\;y \leq -1.505204305228059 \cdot 10^{-17}:\\
\;\;\;\;\frac{y}{\frac{a - t}{z - t}}\\
\mathbf{elif}\;y \leq 3.347435105176827 \cdot 10^{-253}:\\
\;\;\;\;x + \frac{y - x}{\frac{a}{z}}\\
\mathbf{elif}\;y \leq 2.091129715433925 \cdot 10^{-55}:\\
\;\;\;\;z \cdot \frac{y - x}{a - t}\\
\mathbf{elif}\;y \leq 3.002885773472767 \cdot 10^{-37}:\\
\;\;\;\;x + \frac{y - x}{\frac{a}{z}}\\
\mathbf{elif}\;y \leq 65946506011.980484:\\
\;\;\;\;z \cdot \frac{y - x}{a - t}\\
\mathbf{elif}\;y \leq 3.917320055467922 \cdot 10^{+69} \lor \neg \left(y \leq 8.736939133402569 \cdot 10^{+92}\right):\\
\;\;\;\;\frac{y}{\frac{a - t}{z - t}}\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}\]
Alternative 11 Error 23.9 Cost 904
\[\begin{array}{l}
\mathbf{if}\;a \leq -4.479083451051464 \cdot 10^{+84} \lor \neg \left(a \leq 7.461227417847208 \cdot 10^{-68}\right):\\
\;\;\;\;x + \frac{y - x}{\frac{a}{z}}\\
\mathbf{else}:\\
\;\;\;\;\frac{y}{\frac{a - t}{z - t}}\\
\end{array}\]
Alternative 12 Error 30.3 Cost 1169
\[\begin{array}{l}
\mathbf{if}\;y \leq -2.450248352175877 \cdot 10^{-21} \lor \neg \left(y \leq 9.417835694895733 \cdot 10^{-213} \lor \neg \left(y \leq 4.057792024377921 \cdot 10^{+69}\right) \land y \leq 8.736939133402569 \cdot 10^{+92}\right):\\
\;\;\;\;\frac{y}{\frac{a - t}{z - t}}\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}\]
Alternative 13 Error 36.0 Cost 706
\[\begin{array}{l}
\mathbf{if}\;t \leq -1.8190922429301292 \cdot 10^{+67}:\\
\;\;\;\;y\\
\mathbf{elif}\;t \leq 6.906028203678334 \cdot 10^{+85}:\\
\;\;\;\;x\\
\mathbf{else}:\\
\;\;\;\;y\\
\end{array}\]
Alternative 14 Error 45.8 Cost 64
\[x\]
Alternative 15 Error 61.8 Cost 64
\[1\]
Error Derivation Split input into 2 regimes if (+.f64 x (/.f64 (*.f64 (-.f64 y x) (-.f64 z t)) (-.f64 a t))) < -5.17665042112597284e-303 or 0.0 < (+.f64 x (/.f64 (*.f64 (-.f64 y x) (-.f64 z t)) (-.f64 a t))) Initial program 21.0
\[x + \frac{\left(y - x\right) \cdot \left(z - t\right)}{a - t}\]
Using strategy rm Applied associate-/l*_binary64_18096 7.7
\[\leadsto x + \color{blue}{\frac{y - x}{\frac{a - t}{z - t}}}\]
Simplified7.7
\[\leadsto \color{blue}{x + \frac{y - x}{\frac{a - t}{z - t}}}\]
if -5.17665042112597284e-303 < (+.f64 x (/.f64 (*.f64 (-.f64 y x) (-.f64 z t)) (-.f64 a t))) < 0.0 Initial program 60.9
\[x + \frac{\left(y - x\right) \cdot \left(z - t\right)}{a - t}\]
Taylor expanded around inf 0.8
\[\leadsto \color{blue}{\left(\frac{a \cdot y}{t} + \left(\frac{x \cdot z}{t} + y\right)\right) - \left(\frac{z \cdot y}{t} + \frac{a \cdot x}{t}\right)}\]
Simplified0.8
\[\leadsto \color{blue}{\left(\frac{y \cdot a}{t} + \left(y + \frac{x \cdot z}{t}\right)\right) - \left(\frac{y \cdot z}{t} + \frac{x \cdot a}{t}\right)}\]
Simplified0.8
\[\leadsto \color{blue}{\left(\left(y + \frac{x \cdot z}{t}\right) + \frac{y \cdot a}{t}\right) - \left(\frac{y \cdot z}{t} + \frac{x \cdot a}{t}\right)}\]
Recombined 2 regimes into one program. Final simplification7.2
\[\leadsto \begin{array}{l}
\mathbf{if}\;x + \frac{\left(y - x\right) \cdot \left(z - t\right)}{a - t} \leq -5.176650421125973 \cdot 10^{-303} \lor \neg \left(x + \frac{\left(y - x\right) \cdot \left(z - t\right)}{a - t} \leq 0\right):\\
\;\;\;\;x + \frac{y - x}{\frac{a - t}{z - t}}\\
\mathbf{else}:\\
\;\;\;\;\left(\left(y + \frac{x \cdot z}{t}\right) + \frac{y \cdot a}{t}\right) - \left(\frac{y \cdot z}{t} + \frac{x \cdot a}{t}\right)\\
\end{array}\]
Reproduce herbie shell --seed 2021044
(FPCore (x y z t a)
:name "Graphics.Rendering.Chart.Axis.Types:linMap from Chart-1.5.3"
:precision binary64
:herbie-target
(if (< a -1.6153062845442575e-142) (+ x (* (/ (- y x) 1.0) (/ (- z t) (- a t)))) (if (< a 3.774403170083174e-182) (- y (* (/ z t) (- y x))) (+ x (* (/ (- y x) 1.0) (/ (- z t) (- a t))))))
(+ x (/ (* (- y x) (- z t)) (- a t))))