\[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}
\]
(FPCore (x y z t a b c i)
:precision binary64
(/
(+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t)
(+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i)))
↓
(FPCore (x y z t a b c i)
:precision binary64
(let* ((t_1 (+ c (* y (+ b (* y (+ y a))))))
(t_2 (* t_1 t_1))
(t_3 (* y (+ z (* y x))))
(t_4 (+ 230661.510616 (* y (+ 27464.7644705 t_3))))
(t_5 (/ (- z (* x a)) y))
(t_6
(+
t_5
(+
(- (/ 27464.7644705 (* y y)) (* (/ x y) (/ b y)))
(- x (* (/ a y) t_5)))))
(t_7 (* y t_1)))
(if (<= y -1.4208957114816286e+60)
t_6
(if (<= y 11875.750788032889)
(/ (+ (* y t_4) t) (+ i t_7))
(if (<= y 2.0917814408989145e+31)
(+
(/ t t_7)
(-
(/ t_4 t_1)
(*
i
(+
(/ t (* (pow y 2.0) t_2))
(+
(* 230661.510616 (/ 1.0 (* y t_2)))
(+ (* 27464.7644705 (/ 1.0 t_2)) (/ t_3 t_2)))))))
(if (<= y 7.220778728047763e+244) t_6 x))))))
\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}
if y < -1.4208957114816286e60 or 2.0917814408989145e31 < y < 7.220778728047763e244
Initial program 61.0
\[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}
\]
Applied egg-rr61.0
\[\leadsto \color{blue}{\mathsf{fma}\left(y, \mathsf{fma}\left(y, \mathsf{fma}\left(y, \mathsf{fma}\left(x, y, z\right), 27464.7644705\right), 230661.510616\right), t\right) \cdot \frac{1}{\mathsf{fma}\left(y, \mathsf{fma}\left(y, \mathsf{fma}\left(y, y + a, b\right), c\right), i\right)}}
\]
Taylor expanded in t around 0 61.4
\[\leadsto \color{blue}{\left(y \cdot \left(230661.510616 + y \cdot \left(27464.7644705 + \left(y \cdot x + z\right) \cdot y\right)\right)\right)} \cdot \frac{1}{\mathsf{fma}\left(y, \mathsf{fma}\left(y, \mathsf{fma}\left(y, y + a, b\right), c\right), i\right)}
\]
(+.f64 (+.f64 (-.f64 (/.f64 54929528941/2000000 (*.f64 y y)) (*.f64 (/.f64 x y) (/.f64 b y))) (-.f64 x (*.f64 (/.f64 a y) (/.f64 (-.f64 z (*.f64 x a)) y)))) (/.f64 (-.f64 z (*.f64 x a)) y)): 0 points increase in error, 0 points decrease in error
(+.f64 (+.f64 (-.f64 (/.f64 (Rewrite<= metadata-eval (*.f64 54929528941/2000000 1)) (*.f64 y y)) (*.f64 (/.f64 x y) (/.f64 b y))) (-.f64 x (*.f64 (/.f64 a y) (/.f64 (-.f64 z (*.f64 x a)) y)))) (/.f64 (-.f64 z (*.f64 x a)) y)): 0 points increase in error, 0 points decrease in error
(+.f64 (+.f64 (-.f64 (/.f64 (*.f64 54929528941/2000000 1) (Rewrite<= unpow2_binary64 (pow.f64 y 2))) (*.f64 (/.f64 x y) (/.f64 b y))) (-.f64 x (*.f64 (/.f64 a y) (/.f64 (-.f64 z (*.f64 x a)) y)))) (/.f64 (-.f64 z (*.f64 x a)) y)): 0 points increase in error, 0 points decrease in error
(+.f64 (+.f64 (-.f64 (Rewrite<= associate-*r/_binary64 (*.f64 54929528941/2000000 (/.f64 1 (pow.f64 y 2)))) (*.f64 (/.f64 x y) (/.f64 b y))) (-.f64 x (*.f64 (/.f64 a y) (/.f64 (-.f64 z (*.f64 x a)) y)))) (/.f64 (-.f64 z (*.f64 x a)) y)): 1 points increase in error, 0 points decrease in error
(+.f64 (+.f64 (-.f64 (*.f64 54929528941/2000000 (/.f64 1 (pow.f64 y 2))) (Rewrite<= times-frac_binary64 (/.f64 (*.f64 x b) (*.f64 y y)))) (-.f64 x (*.f64 (/.f64 a y) (/.f64 (-.f64 z (*.f64 x a)) y)))) (/.f64 (-.f64 z (*.f64 x a)) y)): 11 points increase in error, 2 points decrease in error
(+.f64 (+.f64 (-.f64 (*.f64 54929528941/2000000 (/.f64 1 (pow.f64 y 2))) (/.f64 (Rewrite<= *-commutative_binary64 (*.f64 b x)) (*.f64 y y))) (-.f64 x (*.f64 (/.f64 a y) (/.f64 (-.f64 z (*.f64 x a)) y)))) (/.f64 (-.f64 z (*.f64 x a)) y)): 0 points increase in error, 0 points decrease in error
(+.f64 (+.f64 (-.f64 (*.f64 54929528941/2000000 (/.f64 1 (pow.f64 y 2))) (/.f64 (*.f64 b x) (Rewrite<= unpow2_binary64 (pow.f64 y 2)))) (-.f64 x (*.f64 (/.f64 a y) (/.f64 (-.f64 z (*.f64 x a)) y)))) (/.f64 (-.f64 z (*.f64 x a)) y)): 0 points increase in error, 0 points decrease in error
(+.f64 (+.f64 (Rewrite<= unsub-neg_binary64 (+.f64 (*.f64 54929528941/2000000 (/.f64 1 (pow.f64 y 2))) (neg.f64 (/.f64 (*.f64 b x) (pow.f64 y 2))))) (-.f64 x (*.f64 (/.f64 a y) (/.f64 (-.f64 z (*.f64 x a)) y)))) (/.f64 (-.f64 z (*.f64 x a)) y)): 0 points increase in error, 0 points decrease in error
(+.f64 (+.f64 (+.f64 (*.f64 54929528941/2000000 (/.f64 1 (pow.f64 y 2))) (Rewrite<= mul-1-neg_binary64 (*.f64 -1 (/.f64 (*.f64 b x) (pow.f64 y 2))))) (-.f64 x (*.f64 (/.f64 a y) (/.f64 (-.f64 z (*.f64 x a)) y)))) (/.f64 (-.f64 z (*.f64 x a)) y)): 0 points increase in error, 0 points decrease in error
(+.f64 (+.f64 (+.f64 (*.f64 54929528941/2000000 (/.f64 1 (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 b x) (pow.f64 y 2)))) (-.f64 x (*.f64 (/.f64 a y) (/.f64 (-.f64 z (Rewrite<= *-commutative_binary64 (*.f64 a x))) y)))) (/.f64 (-.f64 z (*.f64 x a)) y)): 0 points increase in error, 0 points decrease in error
(+.f64 (+.f64 (+.f64 (*.f64 54929528941/2000000 (/.f64 1 (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 b x) (pow.f64 y 2)))) (-.f64 x (Rewrite<= times-frac_binary64 (/.f64 (*.f64 a (-.f64 z (*.f64 a x))) (*.f64 y y))))) (/.f64 (-.f64 z (*.f64 x a)) y)): 19 points increase in error, 2 points decrease in error
(+.f64 (+.f64 (+.f64 (*.f64 54929528941/2000000 (/.f64 1 (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 b x) (pow.f64 y 2)))) (-.f64 x (/.f64 (Rewrite=> *-commutative_binary64 (*.f64 (-.f64 z (*.f64 a x)) a)) (*.f64 y y)))) (/.f64 (-.f64 z (*.f64 x a)) y)): 0 points increase in error, 0 points decrease in error
(+.f64 (+.f64 (+.f64 (*.f64 54929528941/2000000 (/.f64 1 (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 b x) (pow.f64 y 2)))) (-.f64 x (/.f64 (*.f64 (-.f64 z (*.f64 a x)) a) (Rewrite<= unpow2_binary64 (pow.f64 y 2))))) (/.f64 (-.f64 z (*.f64 x a)) y)): 0 points increase in error, 0 points decrease in error
(+.f64 (+.f64 (+.f64 (*.f64 54929528941/2000000 (/.f64 1 (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 b x) (pow.f64 y 2)))) (Rewrite<= unsub-neg_binary64 (+.f64 x (neg.f64 (/.f64 (*.f64 (-.f64 z (*.f64 a x)) a) (pow.f64 y 2)))))) (/.f64 (-.f64 z (*.f64 x a)) y)): 0 points increase in error, 0 points decrease in error
(+.f64 (+.f64 (+.f64 (*.f64 54929528941/2000000 (/.f64 1 (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 b x) (pow.f64 y 2)))) (+.f64 x (Rewrite<= mul-1-neg_binary64 (*.f64 -1 (/.f64 (*.f64 (-.f64 z (*.f64 a x)) a) (pow.f64 y 2)))))) (/.f64 (-.f64 z (*.f64 x a)) y)): 0 points increase in error, 0 points decrease in error
(+.f64 (Rewrite<= associate-+l+_binary64 (+.f64 (+.f64 (+.f64 (*.f64 54929528941/2000000 (/.f64 1 (pow.f64 y 2))) (*.f64 -1 (/.f64 (*.f64 b x) (pow.f64 y 2)))) x) (*.f64 -1 (/.f64 (*.f64 (-.f64 z (*.f64 a x)) a) (pow.f64 y 2))))) (/.f64 (-.f64 z (*.f64 x a)) y)): 0 points increase in error, 0 points decrease in error
(+.f64 (+.f64 (Rewrite<= associate-+r+_binary64 (+.f64 (*.f64 54929528941/2000000 (/.f64 1 (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 (*.f64 b x) (pow.f64 y 2))) x))) (*.f64 -1 (/.f64 (*.f64 (-.f64 z (*.f64 a x)) a) (pow.f64 y 2)))) (/.f64 (-.f64 z (*.f64 x a)) y)): 0 points increase in error, 0 points decrease in error
(+.f64 (Rewrite<= +-commutative_binary64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (-.f64 z (*.f64 a x)) a) (pow.f64 y 2))) (+.f64 (*.f64 54929528941/2000000 (/.f64 1 (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 (*.f64 b x) (pow.f64 y 2))) x)))) (/.f64 (-.f64 z (*.f64 x a)) y)): 0 points increase in error, 0 points decrease in error
(+.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (-.f64 z (*.f64 a x)) a) (pow.f64 y 2))) (+.f64 (*.f64 54929528941/2000000 (/.f64 1 (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 (*.f64 b x) (pow.f64 y 2))) x))) (/.f64 (-.f64 z (Rewrite<= *-commutative_binary64 (*.f64 a x))) y)): 0 points increase in error, 0 points decrease in error
(+.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (-.f64 z (*.f64 a x)) a) (pow.f64 y 2))) (+.f64 (*.f64 54929528941/2000000 (/.f64 1 (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 (*.f64 b x) (pow.f64 y 2))) x))) (Rewrite=> div-sub_binary64 (-.f64 (/.f64 z y) (/.f64 (*.f64 a x) y)))): 0 points increase in error, 0 points decrease in error
(Rewrite<= associate--l+_binary64 (-.f64 (+.f64 (+.f64 (*.f64 -1 (/.f64 (*.f64 (-.f64 z (*.f64 a x)) a) (pow.f64 y 2))) (+.f64 (*.f64 54929528941/2000000 (/.f64 1 (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 (*.f64 b x) (pow.f64 y 2))) x))) (/.f64 z y)) (/.f64 (*.f64 a x) y))): 0 points increase in error, 0 points decrease in error
(-.f64 (Rewrite<= +-commutative_binary64 (+.f64 (/.f64 z y) (+.f64 (*.f64 -1 (/.f64 (*.f64 (-.f64 z (*.f64 a x)) a) (pow.f64 y 2))) (+.f64 (*.f64 54929528941/2000000 (/.f64 1 (pow.f64 y 2))) (+.f64 (*.f64 -1 (/.f64 (*.f64 b x) (pow.f64 y 2))) x))))) (/.f64 (*.f64 a x) y)): 0 points increase in error, 0 points decrease in error
if -1.4208957114816286e60 < y < 11875.750788032889
Initial program 2.9
\[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}
\]
if 11875.750788032889 < y < 2.0917814408989145e31
Initial program 18.6
\[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}
\]
Applied egg-rr18.6
\[\leadsto \color{blue}{\mathsf{fma}\left(y, \mathsf{fma}\left(y, \mathsf{fma}\left(y, \mathsf{fma}\left(x, y, z\right), 27464.7644705\right), 230661.510616\right), t\right) \cdot \frac{1}{\mathsf{fma}\left(y, \mathsf{fma}\left(y, \mathsf{fma}\left(y, y + a, b\right), c\right), i\right)}}
\]
Taylor expanded in i around 0 22.6
\[\leadsto \color{blue}{\frac{t}{y \cdot \left(c + y \cdot \left(\left(y + a\right) \cdot y + b\right)\right)} + \left(-1 \cdot \left(i \cdot \left(\frac{t}{{y}^{2} \cdot \left(\left(c + y \cdot \left(\left(y + a\right) \cdot y + b\right)\right) \cdot \left(c + \left(b + y \cdot \left(a + y\right)\right) \cdot y\right)\right)} + \left(230661.510616 \cdot \frac{1}{y \cdot \left(\left(c + y \cdot \left(\left(y + a\right) \cdot y + b\right)\right) \cdot \left(c + \left(b + y \cdot \left(a + y\right)\right) \cdot y\right)\right)} + \left(27464.7644705 \cdot \frac{1}{\left(c + y \cdot \left(\left(y + a\right) \cdot y + b\right)\right) \cdot \left(c + \left(b + y \cdot \left(a + y\right)\right) \cdot y\right)} + \frac{\left(y \cdot x + z\right) \cdot y}{\left(c + y \cdot \left(\left(y + a\right) \cdot y + b\right)\right) \cdot \left(c + \left(b + y \cdot \left(a + y\right)\right) \cdot y\right)}\right)\right)\right)\right) + \frac{230661.510616 + y \cdot \left(27464.7644705 + \left(y \cdot x + z\right) \cdot y\right)}{c + y \cdot \left(\left(y + a\right) \cdot y + b\right)}\right)}
\]
if 7.220778728047763e244 < y
Initial program 64.0
\[\frac{\left(\left(\left(x \cdot y + z\right) \cdot y + 27464.7644705\right) \cdot y + 230661.510616\right) \cdot y + t}{\left(\left(\left(y + a\right) \cdot y + b\right) \cdot y + c\right) \cdot y + i}
\]
Taylor expanded in y around inf 12.1
\[\leadsto \color{blue}{x}
\]
Recombined 4 regimes into one program.
Final simplification11.1
\[\leadsto \begin{array}{l}
\mathbf{if}\;y \leq -1.4208957114816286 \cdot 10^{+60}:\\
\;\;\;\;\frac{z - x \cdot a}{y} + \left(\left(\frac{27464.7644705}{y \cdot y} - \frac{x}{y} \cdot \frac{b}{y}\right) + \left(x - \frac{a}{y} \cdot \frac{z - x \cdot a}{y}\right)\right)\\
\mathbf{elif}\;y \leq 11875.750788032889:\\
\;\;\;\;\frac{y \cdot \left(230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + y \cdot x\right)\right)\right) + t}{i + y \cdot \left(c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\right)}\\
\mathbf{elif}\;y \leq 2.0917814408989145 \cdot 10^{+31}:\\
\;\;\;\;\frac{t}{y \cdot \left(c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\right)} + \left(\frac{230661.510616 + y \cdot \left(27464.7644705 + y \cdot \left(z + y \cdot x\right)\right)}{c + y \cdot \left(b + y \cdot \left(y + a\right)\right)} - i \cdot \left(\frac{t}{{y}^{2} \cdot \left(\left(c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\right) \cdot \left(c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\right)\right)} + \left(230661.510616 \cdot \frac{1}{y \cdot \left(\left(c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\right) \cdot \left(c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\right)\right)} + \left(27464.7644705 \cdot \frac{1}{\left(c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\right) \cdot \left(c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\right)} + \frac{y \cdot \left(z + y \cdot x\right)}{\left(c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\right) \cdot \left(c + y \cdot \left(b + y \cdot \left(y + a\right)\right)\right)}\right)\right)\right)\right)\\
\mathbf{elif}\;y \leq 7.220778728047763 \cdot 10^{+244}:\\
\;\;\;\;\frac{z - x \cdot a}{y} + \left(\left(\frac{27464.7644705}{y \cdot y} - \frac{x}{y} \cdot \frac{b}{y}\right) + \left(x - \frac{a}{y} \cdot \frac{z - x \cdot a}{y}\right)\right)\\
\mathbf{else}:\\
\;\;\;\;x\\
\end{array}
\]
herbie shell --seed 2022317
(FPCore (x y z t a b c i)
:name "Numeric.SpecFunctions:logGamma from math-functions-0.1.5.2"
:precision binary64
(/ (+ (* (+ (* (+ (* (+ (* x y) z) y) 27464.7644705) y) 230661.510616) y) t) (+ (* (+ (* (+ (* (+ y a) y) b) y) c) y) i)))