| Alternative 1 | |
|---|---|
| Accuracy | 81.8% |
| Cost | 61273 |
(FPCore (x l t)
:precision binary64
(/.f64
(*.f64 (sqrt.f64 2) t)
(sqrt.f64
(-.f64
(*.f64
(/.f64 (+.f64 x 1) (-.f64 x 1))
(+.f64 (*.f64 l l) (*.f64 2 (*.f64 t t))))
(*.f64 l l)))))(FPCore (x l t)
:precision binary64
(let* ((t_1 (*.f64 (sqrt.f64 2) t))
(t_2
(*.f64
(sqrt.f64 2)
(/.f64
t
(sqrt.f64
(+.f64
(+.f64 (*.f64 2 (*.f64 t t)) (*.f64 (*.f64 l l) 0))
(*.f64 2 (/.f64 (*.f64 l l) x)))))))
(t_3 (/.f64 (+.f64 1 x) (+.f64 x -1)))
(t_4 (/.f64 1 (sqrt.f64 t_3))))
(if (<=.f64 t_1 -399999999999999966445568)
(neg.f64 (sqrt.f64 (/.f64 1 t_3)))
(if (<=.f64
t_1
-4763410263543689/95268205270873786358080970147496530326800480428008152797215483387004752771599292606210513399154418065180265231976520474104247304665780191232)
t_2
(if (<=.f64
t_1
-8618206661096855/172364133221937103085272756482216056112753534658909761028039668631756215232006744379020625060744018369805777923479247838020220755974022884986972234404720831691332769255536872593544438018353486799545737272878084128768)
-1
(if (<=.f64
t_1
75075168288047/7507516828804700229971157695509256861311759593549503536677899390762631562619231707947410198580331380848554019184705462619182690666302243261761460906639905160039726922590902577336628349889145412319979767917902626154330339044684617119264613887239597666074624)
(*.f64 t (sqrt.f64 (/.f64 2 (*.f64 (*.f64 l l) (/.f64 2 x)))))
(if (<=.f64
t_1
7229475734293037/180736893357325919804742965901096183254486650358500961579737723575212405143116703993975930943694719806137463391890175780999890999416217020648099397663164550811570949854893831716648452639533025774320471006645409943407034368)
t_4
(if (<=.f64
t_1
5363123171977039/107262463439540776796592199985646769019834926564739147021788491549774112240588375814414994385335227421520254865491888406830031062495572559571469192048672768)
(*.f64
(sqrt.f64 2)
(/.f64 t (sqrt.f64 (*.f64 2 (/.f64 l (/.f64 x l))))))
(if (<=.f64 t_1 4000000000000000053150220288) t_2 t_4)))))))))\mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), t\right), \mathsf{sqrt.f64}\left(\mathsf{\_.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{\_.f64}\left(x, 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(t, t\right)\right)\right)\right), \mathsf{*.f64}\left(\ell, \ell\right)\right)\right)\right)
\begin{array}{l}
t_1 := \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), t\right)\\
t_2 := \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(t, \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(t, t\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), 0\right)\right), \mathsf{*.f64}\left(2, \mathsf{/.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), x\right)\right)\right)\right)\right)\right)\\
t_3 := \mathsf{/.f64}\left(\mathsf{+.f64}\left(1, x\right), \mathsf{+.f64}\left(x, -1\right)\right)\\
t_4 := \mathsf{/.f64}\left(1, \mathsf{sqrt.f64}\left(t_3\right)\right)\\
\mathbf{if}\;\mathsf{<=.f64}\left(t_1, -399999999999999966445568\right):\\
\;\;\;\;\mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(1, t_3\right)\right)\right)\\
\mathbf{elif}\;\mathsf{<=.f64}\left(t_1, \frac{-4763410263543689}{95268205270873786358080970147496530326800480428008152797215483387004752771599292606210513399154418065180265231976520474104247304665780191232}\right):\\
\;\;\;\;t_2\\
\mathbf{elif}\;\mathsf{<=.f64}\left(t_1, \frac{-8618206661096855}{172364133221937103085272756482216056112753534658909761028039668631756215232006744379020625060744018369805777923479247838020220755974022884986972234404720831691332769255536872593544438018353486799545737272878084128768}\right):\\
\;\;\;\;-1\\
\mathbf{elif}\;\mathsf{<=.f64}\left(t_1, \frac{75075168288047}{7507516828804700229971157695509256861311759593549503536677899390762631562619231707947410198580331380848554019184705462619182690666302243261761460906639905160039726922590902577336628349889145412319979767917902626154330339044684617119264613887239597666074624}\right):\\
\;\;\;\;\mathsf{*.f64}\left(t, \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \mathsf{/.f64}\left(2, x\right)\right)\right)\right)\right)\\
\mathbf{elif}\;\mathsf{<=.f64}\left(t_1, \frac{7229475734293037}{180736893357325919804742965901096183254486650358500961579737723575212405143116703993975930943694719806137463391890175780999890999416217020648099397663164550811570949854893831716648452639533025774320471006645409943407034368}\right):\\
\;\;\;\;t_4\\
\mathbf{elif}\;\mathsf{<=.f64}\left(t_1, \frac{5363123171977039}{107262463439540776796592199985646769019834926564739147021788491549774112240588375814414994385335227421520254865491888406830031062495572559571469192048672768}\right):\\
\;\;\;\;\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(t, \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{/.f64}\left(\ell, \mathsf{/.f64}\left(x, \ell\right)\right)\right)\right)\right)\right)\\
\mathbf{elif}\;\mathsf{<=.f64}\left(t_1, 4000000000000000053150220288\right):\\
\;\;\;\;t_2\\
\mathbf{else}:\\
\;\;\;\;t_4\\
\end{array}
if (*.f64 (sqrt.f64 2) t) < -3.9999999999999997e23Initial program 31.5%
Simplified31.5%
[Start]31.5 | \[ \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), t\right), \mathsf{sqrt.f64}\left(\mathsf{\_.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{\_.f64}\left(x, 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(t, t\right)\right)\right)\right), \mathsf{*.f64}\left(\ell, \ell\right)\right)\right)\right)
\] |
|---|---|
associate-/l* [=>]31.5 | \[ \color{blue}{\mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{\_.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{\_.f64}\left(x, 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(t, t\right)\right)\right)\right), \mathsf{*.f64}\left(\ell, \ell\right)\right)\right), t\right)\right)}
\] |
fma-neg [=>]31.5 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(\color{blue}{\mathsf{fma.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{\_.f64}\left(x, 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(t, t\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right)\right)\right)}\right), t\right)\right)
\] |
remove-double-neg [<=]31.5 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{\_.f64}\left(x, 1\right)\right), \color{blue}{\mathsf{neg.f64}\left(\mathsf{neg.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(t, t\right)\right)\right)\right)\right)}, \mathsf{neg.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right)\right)\right)\right), t\right)\right)
\] |
fma-neg [<=]31.5 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(\color{blue}{\mathsf{\_.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{\_.f64}\left(x, 1\right)\right), \mathsf{neg.f64}\left(\mathsf{neg.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(t, t\right)\right)\right)\right)\right)\right), \mathsf{*.f64}\left(\ell, \ell\right)\right)}\right), t\right)\right)
\] |
sub-neg [=>]31.5 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{\_.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \color{blue}{\mathsf{+.f64}\left(x, \mathsf{neg.f64}\left(1\right)\right)}\right), \mathsf{neg.f64}\left(\mathsf{neg.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(t, t\right)\right)\right)\right)\right)\right), \mathsf{*.f64}\left(\ell, \ell\right)\right)\right), t\right)\right)
\] |
metadata-eval [=>]31.5 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{\_.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(x, \color{blue}{-1}\right)\right), \mathsf{neg.f64}\left(\mathsf{neg.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(t, t\right)\right)\right)\right)\right)\right), \mathsf{*.f64}\left(\ell, \ell\right)\right)\right), t\right)\right)
\] |
remove-double-neg [=>]31.5 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{\_.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(x, -1\right)\right), \color{blue}{\mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(t, t\right)\right)\right)}\right), \mathsf{*.f64}\left(\ell, \ell\right)\right)\right), t\right)\right)
\] |
fma-def [=>]31.5 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{\_.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(x, -1\right)\right), \color{blue}{\mathsf{fma.f64}\left(\ell, \ell, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(t, t\right)\right)\right)}\right), \mathsf{*.f64}\left(\ell, \ell\right)\right)\right), t\right)\right)
\] |
Taylor expanded in t around -inf 92.2%
Simplified92.2%
[Start]92.2 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{*.f64}\left(-1, \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(1, x\right), \mathsf{\_.f64}\left(x, 1\right)\right)\right)\right)\right)\right)
\] |
|---|---|
mul-1-neg [=>]92.2 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \color{blue}{\mathsf{neg.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(1, x\right), \mathsf{\_.f64}\left(x, 1\right)\right)\right)\right)\right)}\right)
\] |
*-commutative [=>]92.2 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{neg.f64}\left(\color{blue}{\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(1, x\right), \mathsf{\_.f64}\left(x, 1\right)\right)\right), \mathsf{sqrt.f64}\left(2\right)\right)}\right)\right)
\] |
distribute-rgt-neg-in [=>]92.2 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \color{blue}{\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(1, x\right), \mathsf{\_.f64}\left(x, 1\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(2\right)\right)\right)}\right)
\] |
+-commutative [=>]92.2 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\color{blue}{\mathsf{+.f64}\left(x, 1\right)}, \mathsf{\_.f64}\left(x, 1\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(2\right)\right)\right)\right)
\] |
sub-neg [=>]92.2 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \color{blue}{\mathsf{+.f64}\left(x, \mathsf{neg.f64}\left(1\right)\right)}\right)\right), \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(2\right)\right)\right)\right)
\] |
metadata-eval [=>]92.2 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(x, \color{blue}{-1}\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(2\right)\right)\right)\right)
\] |
+-commutative [=>]92.2 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \color{blue}{\mathsf{+.f64}\left(-1, x\right)}\right)\right), \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(2\right)\right)\right)\right)
\] |
Applied egg-rr92.2%
[Start]92.2 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(-1, x\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(2\right)\right)\right)\right)
\] |
|---|---|
frac-2neg [=>]92.2 | \[ \color{blue}{\mathsf{/.f64}\left(\mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(2\right)\right), \mathsf{neg.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(-1, x\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(2\right)\right)\right)\right)\right)}
\] |
neg-sub0 [=>]92.2 | \[ \mathsf{/.f64}\left(\color{blue}{\mathsf{\_.f64}\left(0, \mathsf{sqrt.f64}\left(2\right)\right)}, \mathsf{neg.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(-1, x\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(2\right)\right)\right)\right)\right)
\] |
metadata-eval [<=]92.2 | \[ \mathsf{/.f64}\left(\mathsf{\_.f64}\left(\color{blue}{\mathsf{log.f64}\left(1\right)}, \mathsf{sqrt.f64}\left(2\right)\right), \mathsf{neg.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(-1, x\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(2\right)\right)\right)\right)\right)
\] |
div-sub [=>]92.2 | \[ \color{blue}{\mathsf{\_.f64}\left(\mathsf{/.f64}\left(\mathsf{log.f64}\left(1\right), \mathsf{neg.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(-1, x\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(2\right)\right)\right)\right)\right), \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{neg.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(-1, x\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(2\right)\right)\right)\right)\right)\right)}
\] |
metadata-eval [=>]92.2 | \[ \mathsf{\_.f64}\left(\mathsf{/.f64}\left(\color{blue}{0}, \mathsf{neg.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(-1, x\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(2\right)\right)\right)\right)\right), \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{neg.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(-1, x\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(2\right)\right)\right)\right)\right)\right)
\] |
distribute-rgt-neg-out [=>]92.2 | \[ \mathsf{\_.f64}\left(\mathsf{/.f64}\left(0, \mathsf{neg.f64}\left(\color{blue}{\mathsf{neg.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(-1, x\right)\right)\right), \mathsf{sqrt.f64}\left(2\right)\right)\right)}\right)\right), \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{neg.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(-1, x\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(2\right)\right)\right)\right)\right)\right)
\] |
remove-double-neg [=>]92.2 | \[ \mathsf{\_.f64}\left(\mathsf{/.f64}\left(0, \color{blue}{\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(-1, x\right)\right)\right), \mathsf{sqrt.f64}\left(2\right)\right)}\right), \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{neg.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(-1, x\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(2\right)\right)\right)\right)\right)\right)
\] |
sqrt-unprod [=>]92.2 | \[ \mathsf{\_.f64}\left(\mathsf{/.f64}\left(0, \color{blue}{\mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(-1, x\right)\right), 2\right)\right)}\right), \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{neg.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(-1, x\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(2\right)\right)\right)\right)\right)\right)
\] |
+-commutative [=>]92.2 | \[ \mathsf{\_.f64}\left(\mathsf{/.f64}\left(0, \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \color{blue}{\mathsf{+.f64}\left(x, -1\right)}\right), 2\right)\right)\right), \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{neg.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(-1, x\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(2\right)\right)\right)\right)\right)\right)
\] |
Simplified92.2%
[Start]92.2 | \[ \mathsf{\_.f64}\left(\mathsf{/.f64}\left(0, \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(x, -1\right)\right), 2\right)\right)\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(x, -1\right)\right), 2\right)\right)\right)\right)
\] |
|---|---|
div0 [=>]92.2 | \[ \mathsf{\_.f64}\left(\color{blue}{0}, \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(x, -1\right)\right), 2\right)\right)\right)\right)
\] |
neg-sub0 [<=]92.2 | \[ \color{blue}{\mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(x, -1\right)\right), 2\right)\right)\right)\right)}
\] |
*-commutative [=>]92.2 | \[ \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(2, \color{blue}{\mathsf{*.f64}\left(2, \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(x, -1\right)\right)\right)}\right)\right)\right)
\] |
associate-/r* [=>]92.2 | \[ \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(\color{blue}{\mathsf{/.f64}\left(\mathsf{/.f64}\left(2, 2\right), \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(x, -1\right)\right)\right)}\right)\right)
\] |
metadata-eval [=>]92.2 | \[ \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\color{blue}{1}, \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(x, -1\right)\right)\right)\right)\right)
\] |
+-commutative [=>]92.2 | \[ \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(1, \mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \color{blue}{\mathsf{+.f64}\left(-1, x\right)}\right)\right)\right)\right)
\] |
if -3.9999999999999997e23 < (*.f64 (sqrt.f64 2) t) < -4.99999999999999967e-125 or 5.00000000000000015e-140 < (*.f64 (sqrt.f64 2) t) < 4.0000000000000001e27Initial program 57.2%
Simplified57.1%
[Start]57.2 | \[ \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), t\right), \mathsf{sqrt.f64}\left(\mathsf{\_.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{\_.f64}\left(x, 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(t, t\right)\right)\right)\right), \mathsf{*.f64}\left(\ell, \ell\right)\right)\right)\right)
\] |
|---|---|
associate-*r/ [<=]57.1 | \[ \color{blue}{\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(t, \mathsf{sqrt.f64}\left(\mathsf{\_.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{\_.f64}\left(x, 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(t, t\right)\right)\right)\right), \mathsf{*.f64}\left(\ell, \ell\right)\right)\right)\right)\right)}
\] |
fma-neg [=>]57.1 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(t, \mathsf{sqrt.f64}\left(\color{blue}{\mathsf{fma.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{\_.f64}\left(x, 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(t, t\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right)\right)\right)}\right)\right)\right)
\] |
sub-neg [=>]57.1 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(t, \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \color{blue}{\mathsf{+.f64}\left(x, \mathsf{neg.f64}\left(1\right)\right)}\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(t, t\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right)\right)\right)\right)\right)\right)
\] |
metadata-eval [=>]57.1 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(t, \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(x, \color{blue}{-1}\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(t, t\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right)\right)\right)\right)\right)\right)
\] |
+-commutative [=>]57.1 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(t, \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(x, -1\right)\right), \color{blue}{\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(t, t\right)\right), \mathsf{*.f64}\left(\ell, \ell\right)\right)}, \mathsf{neg.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right)\right)\right)\right)\right)\right)
\] |
fma-def [=>]57.1 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(t, \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(x, -1\right)\right), \color{blue}{\mathsf{fma.f64}\left(2, \mathsf{*.f64}\left(t, t\right), \mathsf{*.f64}\left(\ell, \ell\right)\right)}, \mathsf{neg.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right)\right)\right)\right)\right)\right)
\] |
distribute-rgt-neg-in [=>]57.1 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(t, \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(x, -1\right)\right), \mathsf{fma.f64}\left(2, \mathsf{*.f64}\left(t, t\right), \mathsf{*.f64}\left(\ell, \ell\right)\right), \color{blue}{\mathsf{*.f64}\left(\ell, \mathsf{neg.f64}\left(\ell\right)\right)}\right)\right)\right)\right)
\] |
Taylor expanded in x around inf 56.3%
Simplified81.9%
[Start]56.3 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(t, \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{pow.f64}\left(\ell, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{pow.f64}\left(\ell, 2\right), \mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right)\right), x\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right), \mathsf{*.f64}\left(-1, \mathsf{pow.f64}\left(\ell, 2\right)\right)\right)\right)\right)\right)\right)\right)
\] |
|---|---|
unpow2 [=>]56.3 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(t, \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\color{blue}{\mathsf{*.f64}\left(\ell, \ell\right)}, \mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{pow.f64}\left(\ell, 2\right), \mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right)\right), x\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right), \mathsf{*.f64}\left(-1, \mathsf{pow.f64}\left(\ell, 2\right)\right)\right)\right)\right)\right)\right)\right)
\] |
+-commutative [=>]56.3 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(t, \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \color{blue}{\mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right), \mathsf{*.f64}\left(-1, \mathsf{pow.f64}\left(\ell, 2\right)\right)\right), \mathsf{*.f64}\left(2, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{pow.f64}\left(\ell, 2\right), \mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right)\right), x\right)\right)\right)}\right)\right)\right)\right)
\] |
associate-+r+ [=>]67.8 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(t, \mathsf{sqrt.f64}\left(\color{blue}{\mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right), \mathsf{*.f64}\left(-1, \mathsf{pow.f64}\left(\ell, 2\right)\right)\right)\right), \mathsf{*.f64}\left(2, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{pow.f64}\left(\ell, 2\right), \mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right)\right), x\right)\right)\right)}\right)\right)\right)
\] |
+-commutative [<=]67.8 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(t, \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \color{blue}{\mathsf{+.f64}\left(\mathsf{*.f64}\left(-1, \mathsf{pow.f64}\left(\ell, 2\right)\right), \mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right)\right)}\right), \mathsf{*.f64}\left(2, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{pow.f64}\left(\ell, 2\right), \mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right)\right), x\right)\right)\right)\right)\right)\right)
\] |
associate-+r+ [=>]81.8 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(t, \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\color{blue}{\mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \mathsf{*.f64}\left(-1, \mathsf{pow.f64}\left(\ell, 2\right)\right)\right), \mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right)\right)}, \mathsf{*.f64}\left(2, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{pow.f64}\left(\ell, 2\right), \mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right)\right), x\right)\right)\right)\right)\right)\right)
\] |
unpow2 [=>]81.9 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(t, \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \mathsf{*.f64}\left(-1, \color{blue}{\mathsf{*.f64}\left(\ell, \ell\right)}\right)\right), \mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right)\right), \mathsf{*.f64}\left(2, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{pow.f64}\left(\ell, 2\right), \mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right)\right), x\right)\right)\right)\right)\right)\right)
\] |
distribute-rgt1-in [=>]81.9 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(t, \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{+.f64}\left(\color{blue}{\mathsf{*.f64}\left(\mathsf{+.f64}\left(-1, 1\right), \mathsf{*.f64}\left(\ell, \ell\right)\right)}, \mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right)\right), \mathsf{*.f64}\left(2, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{pow.f64}\left(\ell, 2\right), \mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right)\right), x\right)\right)\right)\right)\right)\right)
\] |
metadata-eval [=>]81.9 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(t, \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\color{blue}{0}, \mathsf{*.f64}\left(\ell, \ell\right)\right), \mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right)\right), \mathsf{*.f64}\left(2, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{pow.f64}\left(\ell, 2\right), \mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right)\right), x\right)\right)\right)\right)\right)\right)
\] |
unpow2 [=>]81.9 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(t, \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(0, \mathsf{*.f64}\left(\ell, \ell\right)\right), \mathsf{*.f64}\left(2, \color{blue}{\mathsf{*.f64}\left(t, t\right)}\right)\right), \mathsf{*.f64}\left(2, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{pow.f64}\left(\ell, 2\right), \mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right)\right), x\right)\right)\right)\right)\right)\right)
\] |
Taylor expanded in t around 0 81.3%
Simplified81.3%
[Start]81.3 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(t, \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(0, \mathsf{*.f64}\left(\ell, \ell\right)\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(t, t\right)\right)\right), \mathsf{*.f64}\left(2, \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\ell, 2\right), x\right)\right)\right)\right)\right)\right)
\] |
|---|---|
unpow2 [=>]81.3 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(t, \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(0, \mathsf{*.f64}\left(\ell, \ell\right)\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(t, t\right)\right)\right), \mathsf{*.f64}\left(2, \mathsf{/.f64}\left(\color{blue}{\mathsf{*.f64}\left(\ell, \ell\right)}, x\right)\right)\right)\right)\right)\right)
\] |
if -4.99999999999999967e-125 < (*.f64 (sqrt.f64 2) t) < -4.99999999999999991e-200Initial program 20.1%
Simplified20.0%
[Start]20.1 | \[ \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), t\right), \mathsf{sqrt.f64}\left(\mathsf{\_.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{\_.f64}\left(x, 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(t, t\right)\right)\right)\right), \mathsf{*.f64}\left(\ell, \ell\right)\right)\right)\right)
\] |
|---|---|
associate-/l* [=>]20.0 | \[ \color{blue}{\mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{\_.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{\_.f64}\left(x, 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(t, t\right)\right)\right)\right), \mathsf{*.f64}\left(\ell, \ell\right)\right)\right), t\right)\right)}
\] |
fma-neg [=>]20.0 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(\color{blue}{\mathsf{fma.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{\_.f64}\left(x, 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(t, t\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right)\right)\right)}\right), t\right)\right)
\] |
remove-double-neg [<=]20.0 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{\_.f64}\left(x, 1\right)\right), \color{blue}{\mathsf{neg.f64}\left(\mathsf{neg.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(t, t\right)\right)\right)\right)\right)}, \mathsf{neg.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right)\right)\right)\right), t\right)\right)
\] |
fma-neg [<=]20.0 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(\color{blue}{\mathsf{\_.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{\_.f64}\left(x, 1\right)\right), \mathsf{neg.f64}\left(\mathsf{neg.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(t, t\right)\right)\right)\right)\right)\right), \mathsf{*.f64}\left(\ell, \ell\right)\right)}\right), t\right)\right)
\] |
sub-neg [=>]20.0 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{\_.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \color{blue}{\mathsf{+.f64}\left(x, \mathsf{neg.f64}\left(1\right)\right)}\right), \mathsf{neg.f64}\left(\mathsf{neg.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(t, t\right)\right)\right)\right)\right)\right), \mathsf{*.f64}\left(\ell, \ell\right)\right)\right), t\right)\right)
\] |
metadata-eval [=>]20.0 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{\_.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(x, \color{blue}{-1}\right)\right), \mathsf{neg.f64}\left(\mathsf{neg.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(t, t\right)\right)\right)\right)\right)\right), \mathsf{*.f64}\left(\ell, \ell\right)\right)\right), t\right)\right)
\] |
remove-double-neg [=>]20.0 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{\_.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(x, -1\right)\right), \color{blue}{\mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(t, t\right)\right)\right)}\right), \mathsf{*.f64}\left(\ell, \ell\right)\right)\right), t\right)\right)
\] |
fma-def [=>]20.0 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{\_.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(x, -1\right)\right), \color{blue}{\mathsf{fma.f64}\left(\ell, \ell, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(t, t\right)\right)\right)}\right), \mathsf{*.f64}\left(\ell, \ell\right)\right)\right), t\right)\right)
\] |
Taylor expanded in t around -inf 53.2%
Simplified53.2%
[Start]53.2 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{*.f64}\left(-1, \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(1, x\right), \mathsf{\_.f64}\left(x, 1\right)\right)\right)\right)\right)\right)
\] |
|---|---|
mul-1-neg [=>]53.2 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \color{blue}{\mathsf{neg.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(1, x\right), \mathsf{\_.f64}\left(x, 1\right)\right)\right)\right)\right)}\right)
\] |
*-commutative [=>]53.2 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{neg.f64}\left(\color{blue}{\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(1, x\right), \mathsf{\_.f64}\left(x, 1\right)\right)\right), \mathsf{sqrt.f64}\left(2\right)\right)}\right)\right)
\] |
distribute-rgt-neg-in [=>]53.2 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \color{blue}{\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(1, x\right), \mathsf{\_.f64}\left(x, 1\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(2\right)\right)\right)}\right)
\] |
+-commutative [=>]53.2 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\color{blue}{\mathsf{+.f64}\left(x, 1\right)}, \mathsf{\_.f64}\left(x, 1\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(2\right)\right)\right)\right)
\] |
sub-neg [=>]53.2 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \color{blue}{\mathsf{+.f64}\left(x, \mathsf{neg.f64}\left(1\right)\right)}\right)\right), \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(2\right)\right)\right)\right)
\] |
metadata-eval [=>]53.2 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(x, \color{blue}{-1}\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(2\right)\right)\right)\right)
\] |
+-commutative [=>]53.2 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \color{blue}{\mathsf{+.f64}\left(-1, x\right)}\right)\right), \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(2\right)\right)\right)\right)
\] |
Taylor expanded in x around inf 52.7%
if -4.99999999999999991e-200 < (*.f64 (sqrt.f64 2) t) < 1e-242Initial program 1.7%
Simplified1.7%
[Start]1.7 | \[ \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), t\right), \mathsf{sqrt.f64}\left(\mathsf{\_.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{\_.f64}\left(x, 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(t, t\right)\right)\right)\right), \mathsf{*.f64}\left(\ell, \ell\right)\right)\right)\right)
\] |
|---|---|
associate-*l/ [<=]1.7 | \[ \color{blue}{\mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{sqrt.f64}\left(\mathsf{\_.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{\_.f64}\left(x, 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(t, t\right)\right)\right)\right), \mathsf{*.f64}\left(\ell, \ell\right)\right)\right)\right), t\right)}
\] |
Taylor expanded in x around inf 49.9%
Simplified49.9%
[Start]49.9 | \[ \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{sqrt.f64}\left(\mathsf{\_.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{pow.f64}\left(\ell, 2\right), x\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{/.f64}\left(\mathsf{pow.f64}\left(t, 2\right), x\right)\right), \mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right)\right)\right), \mathsf{*.f64}\left(-1, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{pow.f64}\left(\ell, 2\right), \mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right)\right), x\right)\right)\right)\right)\right), t\right)
\] |
|---|---|
associate--l+ [=>]49.9 | \[ \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{sqrt.f64}\left(\color{blue}{\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{pow.f64}\left(\ell, 2\right), x\right), \mathsf{\_.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{/.f64}\left(\mathsf{pow.f64}\left(t, 2\right), x\right)\right), \mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right)\right), \mathsf{*.f64}\left(-1, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{pow.f64}\left(\ell, 2\right), \mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right)\right), x\right)\right)\right)\right)}\right)\right), t\right)
\] |
unpow2 [=>]49.9 | \[ \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\color{blue}{\mathsf{*.f64}\left(\ell, \ell\right)}, x\right), \mathsf{\_.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{/.f64}\left(\mathsf{pow.f64}\left(t, 2\right), x\right)\right), \mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right)\right), \mathsf{*.f64}\left(-1, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{pow.f64}\left(\ell, 2\right), \mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right)\right), x\right)\right)\right)\right)\right)\right), t\right)
\] |
distribute-lft-out [=>]49.9 | \[ \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), x\right), \mathsf{\_.f64}\left(\color{blue}{\mathsf{*.f64}\left(2, \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{pow.f64}\left(t, 2\right), x\right), \mathsf{pow.f64}\left(t, 2\right)\right)\right)}, \mathsf{*.f64}\left(-1, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{pow.f64}\left(\ell, 2\right), \mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right)\right), x\right)\right)\right)\right)\right)\right), t\right)
\] |
unpow2 [=>]49.9 | \[ \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), x\right), \mathsf{\_.f64}\left(\mathsf{*.f64}\left(2, \mathsf{+.f64}\left(\mathsf{/.f64}\left(\color{blue}{\mathsf{*.f64}\left(t, t\right)}, x\right), \mathsf{pow.f64}\left(t, 2\right)\right)\right), \mathsf{*.f64}\left(-1, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{pow.f64}\left(\ell, 2\right), \mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right)\right), x\right)\right)\right)\right)\right)\right), t\right)
\] |
unpow2 [=>]49.9 | \[ \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), x\right), \mathsf{\_.f64}\left(\mathsf{*.f64}\left(2, \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(t, t\right), x\right), \color{blue}{\mathsf{*.f64}\left(t, t\right)}\right)\right), \mathsf{*.f64}\left(-1, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{pow.f64}\left(\ell, 2\right), \mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right)\right), x\right)\right)\right)\right)\right)\right), t\right)
\] |
mul-1-neg [=>]49.9 | \[ \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), x\right), \mathsf{\_.f64}\left(\mathsf{*.f64}\left(2, \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(t, t\right), x\right), \mathsf{*.f64}\left(t, t\right)\right)\right), \color{blue}{\mathsf{neg.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{pow.f64}\left(\ell, 2\right), \mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right)\right), x\right)\right)}\right)\right)\right)\right), t\right)
\] |
unpow2 [=>]49.9 | \[ \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), x\right), \mathsf{\_.f64}\left(\mathsf{*.f64}\left(2, \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(t, t\right), x\right), \mathsf{*.f64}\left(t, t\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(\color{blue}{\mathsf{*.f64}\left(\ell, \ell\right)}, \mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right)\right), x\right)\right)\right)\right)\right)\right), t\right)
\] |
+-commutative [=>]49.9 | \[ \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), x\right), \mathsf{\_.f64}\left(\mathsf{*.f64}\left(2, \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(t, t\right), x\right), \mathsf{*.f64}\left(t, t\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{/.f64}\left(\color{blue}{\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right), \mathsf{*.f64}\left(\ell, \ell\right)\right)}, x\right)\right)\right)\right)\right)\right), t\right)
\] |
unpow2 [=>]49.9 | \[ \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), x\right), \mathsf{\_.f64}\left(\mathsf{*.f64}\left(2, \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(t, t\right), x\right), \mathsf{*.f64}\left(t, t\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \color{blue}{\mathsf{*.f64}\left(t, t\right)}\right), \mathsf{*.f64}\left(\ell, \ell\right)\right), x\right)\right)\right)\right)\right)\right), t\right)
\] |
fma-udef [<=]49.9 | \[ \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), x\right), \mathsf{\_.f64}\left(\mathsf{*.f64}\left(2, \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(t, t\right), x\right), \mathsf{*.f64}\left(t, t\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{/.f64}\left(\color{blue}{\mathsf{fma.f64}\left(2, \mathsf{*.f64}\left(t, t\right), \mathsf{*.f64}\left(\ell, \ell\right)\right)}, x\right)\right)\right)\right)\right)\right), t\right)
\] |
Taylor expanded in l around -inf 44.2%
Simplified44.2%
[Start]44.2 | \[ \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{*.f64}\left(-1, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \ell\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(1, x\right)\right)\right)\right)\right), t\right)
\] |
|---|---|
mul-1-neg [=>]44.2 | \[ \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \color{blue}{\mathsf{neg.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \ell\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(1, x\right)\right)\right)\right)}\right), t\right)
\] |
distribute-rgt-neg-in [=>]44.2 | \[ \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \color{blue}{\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \ell\right), \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(1, x\right)\right)\right)\right)}\right), t\right)
\] |
*-commutative [=>]44.2 | \[ \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{*.f64}\left(\color{blue}{\mathsf{*.f64}\left(\ell, \mathsf{sqrt.f64}\left(2\right)\right)}, \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(1, x\right)\right)\right)\right)\right), t\right)
\] |
Applied egg-rr49.4%
[Start]44.2 | \[ \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{sqrt.f64}\left(2\right)\right), \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(1, x\right)\right)\right)\right)\right), t\right)
\] |
|---|---|
add-sqr-sqrt [=>]32.3 | \[ \mathsf{*.f64}\left(\color{blue}{\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{sqrt.f64}\left(2\right)\right), \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(1, x\right)\right)\right)\right)\right)\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{sqrt.f64}\left(2\right)\right), \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(1, x\right)\right)\right)\right)\right)\right)\right)}, t\right)
\] |
sqrt-unprod [=>]51.1 | \[ \mathsf{*.f64}\left(\color{blue}{\mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{sqrt.f64}\left(2\right)\right), \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(1, x\right)\right)\right)\right)\right), \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{sqrt.f64}\left(2\right)\right), \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(1, x\right)\right)\right)\right)\right)\right)\right)}, t\right)
\] |
frac-times [=>]51.0 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\color{blue}{\mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{sqrt.f64}\left(2\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{sqrt.f64}\left(2\right)\right), \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(1, x\right)\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{sqrt.f64}\left(2\right)\right), \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(1, x\right)\right)\right)\right)\right)\right)}\right), t\right)
\] |
add-sqr-sqrt [<=]51.0 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\color{blue}{2}, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{sqrt.f64}\left(2\right)\right), \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(1, x\right)\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{sqrt.f64}\left(2\right)\right), \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(1, x\right)\right)\right)\right)\right)\right)\right), t\right)
\] |
*-commutative [=>]51.0 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\color{blue}{\mathsf{*.f64}\left(\mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(1, x\right)\right)\right), \mathsf{*.f64}\left(\ell, \mathsf{sqrt.f64}\left(2\right)\right)\right)}, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{sqrt.f64}\left(2\right)\right), \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(1, x\right)\right)\right)\right)\right)\right)\right), t\right)
\] |
*-commutative [=>]51.0 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(1, x\right)\right)\right), \mathsf{*.f64}\left(\ell, \mathsf{sqrt.f64}\left(2\right)\right)\right), \color{blue}{\mathsf{*.f64}\left(\mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(1, x\right)\right)\right), \mathsf{*.f64}\left(\ell, \mathsf{sqrt.f64}\left(2\right)\right)\right)}\right)\right)\right), t\right)
\] |
swap-sqr [=>]49.3 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(2, \color{blue}{\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(1, x\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(1, x\right)\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{sqrt.f64}\left(2\right)\right), \mathsf{*.f64}\left(\ell, \mathsf{sqrt.f64}\left(2\right)\right)\right)\right)}\right)\right), t\right)
\] |
sqr-neg [=>]49.3 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\color{blue}{\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(1, x\right)\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(1, x\right)\right)\right)}, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{sqrt.f64}\left(2\right)\right), \mathsf{*.f64}\left(\ell, \mathsf{sqrt.f64}\left(2\right)\right)\right)\right)\right)\right), t\right)
\] |
add-sqr-sqrt [<=]49.3 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\color{blue}{\mathsf{/.f64}\left(1, x\right)}, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \mathsf{sqrt.f64}\left(2\right)\right), \mathsf{*.f64}\left(\ell, \mathsf{sqrt.f64}\left(2\right)\right)\right)\right)\right)\right), t\right)
\] |
*-commutative [=>]49.3 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{/.f64}\left(1, x\right), \mathsf{*.f64}\left(\color{blue}{\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \ell\right)}, \mathsf{*.f64}\left(\ell, \mathsf{sqrt.f64}\left(2\right)\right)\right)\right)\right)\right), t\right)
\] |
*-commutative [=>]49.3 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{/.f64}\left(1, x\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \ell\right), \color{blue}{\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \ell\right)}\right)\right)\right)\right), t\right)
\] |
swap-sqr [=>]49.3 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{/.f64}\left(1, x\right), \color{blue}{\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{sqrt.f64}\left(2\right)\right), \mathsf{*.f64}\left(\ell, \ell\right)\right)}\right)\right)\right), t\right)
\] |
Simplified49.4%
[Start]49.4 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{/.f64}\left(1, x\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(\ell, \ell\right)\right)\right)\right)\right), t\right)
\] |
|---|---|
associate-*r* [=>]49.4 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(2, \color{blue}{\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(1, x\right), 2\right), \mathsf{*.f64}\left(\ell, \ell\right)\right)}\right)\right), t\right)
\] |
*-commutative [=>]49.4 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(2, \color{blue}{\mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(1, x\right), 2\right)\right)}\right)\right), t\right)
\] |
associate-*l/ [=>]49.4 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \color{blue}{\mathsf{/.f64}\left(\mathsf{*.f64}\left(1, 2\right), x\right)}\right)\right)\right), t\right)
\] |
metadata-eval [=>]49.4 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(2, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \mathsf{/.f64}\left(\color{blue}{2}, x\right)\right)\right)\right), t\right)
\] |
if 1e-242 < (*.f64 (sqrt.f64 2) t) < 4.00000000000000011e-206 or 4.0000000000000001e27 < (*.f64 (sqrt.f64 2) t) Initial program 31.1%
Simplified31.2%
[Start]31.1 | \[ \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), t\right), \mathsf{sqrt.f64}\left(\mathsf{\_.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{\_.f64}\left(x, 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(t, t\right)\right)\right)\right), \mathsf{*.f64}\left(\ell, \ell\right)\right)\right)\right)
\] |
|---|---|
associate-/l* [=>]31.2 | \[ \color{blue}{\mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{\_.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{\_.f64}\left(x, 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(t, t\right)\right)\right)\right), \mathsf{*.f64}\left(\ell, \ell\right)\right)\right), t\right)\right)}
\] |
fma-neg [=>]31.2 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(\color{blue}{\mathsf{fma.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{\_.f64}\left(x, 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(t, t\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right)\right)\right)}\right), t\right)\right)
\] |
remove-double-neg [<=]31.2 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{\_.f64}\left(x, 1\right)\right), \color{blue}{\mathsf{neg.f64}\left(\mathsf{neg.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(t, t\right)\right)\right)\right)\right)}, \mathsf{neg.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right)\right)\right)\right), t\right)\right)
\] |
fma-neg [<=]31.2 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(\color{blue}{\mathsf{\_.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{\_.f64}\left(x, 1\right)\right), \mathsf{neg.f64}\left(\mathsf{neg.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(t, t\right)\right)\right)\right)\right)\right), \mathsf{*.f64}\left(\ell, \ell\right)\right)}\right), t\right)\right)
\] |
sub-neg [=>]31.2 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{\_.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \color{blue}{\mathsf{+.f64}\left(x, \mathsf{neg.f64}\left(1\right)\right)}\right), \mathsf{neg.f64}\left(\mathsf{neg.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(t, t\right)\right)\right)\right)\right)\right), \mathsf{*.f64}\left(\ell, \ell\right)\right)\right), t\right)\right)
\] |
metadata-eval [=>]31.2 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{\_.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(x, \color{blue}{-1}\right)\right), \mathsf{neg.f64}\left(\mathsf{neg.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(t, t\right)\right)\right)\right)\right)\right), \mathsf{*.f64}\left(\ell, \ell\right)\right)\right), t\right)\right)
\] |
remove-double-neg [=>]31.2 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{\_.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(x, -1\right)\right), \color{blue}{\mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(t, t\right)\right)\right)}\right), \mathsf{*.f64}\left(\ell, \ell\right)\right)\right), t\right)\right)
\] |
fma-def [=>]31.2 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{\_.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(x, -1\right)\right), \color{blue}{\mathsf{fma.f64}\left(\ell, \ell, \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(t, t\right)\right)\right)}\right), \mathsf{*.f64}\left(\ell, \ell\right)\right)\right), t\right)\right)
\] |
Taylor expanded in t around -inf 1.6%
Simplified1.6%
[Start]1.6 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{*.f64}\left(-1, \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(1, x\right), \mathsf{\_.f64}\left(x, 1\right)\right)\right)\right)\right)\right)
\] |
|---|---|
mul-1-neg [=>]1.6 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \color{blue}{\mathsf{neg.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(1, x\right), \mathsf{\_.f64}\left(x, 1\right)\right)\right)\right)\right)}\right)
\] |
*-commutative [=>]1.6 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{neg.f64}\left(\color{blue}{\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(1, x\right), \mathsf{\_.f64}\left(x, 1\right)\right)\right), \mathsf{sqrt.f64}\left(2\right)\right)}\right)\right)
\] |
distribute-rgt-neg-in [=>]1.6 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \color{blue}{\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(1, x\right), \mathsf{\_.f64}\left(x, 1\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(2\right)\right)\right)}\right)
\] |
+-commutative [=>]1.6 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\color{blue}{\mathsf{+.f64}\left(x, 1\right)}, \mathsf{\_.f64}\left(x, 1\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(2\right)\right)\right)\right)
\] |
sub-neg [=>]1.6 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \color{blue}{\mathsf{+.f64}\left(x, \mathsf{neg.f64}\left(1\right)\right)}\right)\right), \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(2\right)\right)\right)\right)
\] |
metadata-eval [=>]1.6 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(x, \color{blue}{-1}\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(2\right)\right)\right)\right)
\] |
+-commutative [=>]1.6 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \color{blue}{\mathsf{+.f64}\left(-1, x\right)}\right)\right), \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(2\right)\right)\right)\right)
\] |
Applied egg-rr89.7%
[Start]1.6 | \[ \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(-1, x\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(2\right)\right)\right)\right)
\] |
|---|---|
*-un-lft-identity [=>]1.6 | \[ \mathsf{/.f64}\left(\color{blue}{\mathsf{*.f64}\left(1, \mathsf{sqrt.f64}\left(2\right)\right)}, \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(-1, x\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(2\right)\right)\right)\right)
\] |
times-frac [=>]1.6 | \[ \color{blue}{\mathsf{*.f64}\left(\mathsf{/.f64}\left(1, \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(-1, x\right)\right)\right)\right), \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(2\right)\right)\right)\right)}
\] |
+-commutative [=>]1.6 | \[ \mathsf{*.f64}\left(\mathsf{/.f64}\left(1, \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \color{blue}{\mathsf{+.f64}\left(x, -1\right)}\right)\right)\right), \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(2\right)\right)\right)\right)
\] |
add-sqr-sqrt [=>]0.0 | \[ \mathsf{*.f64}\left(\mathsf{/.f64}\left(1, \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(x, -1\right)\right)\right)\right), \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \color{blue}{\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(2\right)\right)\right), \mathsf{sqrt.f64}\left(\mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(2\right)\right)\right)\right)}\right)\right)
\] |
sqrt-unprod [=>]89.7 | \[ \mathsf{*.f64}\left(\mathsf{/.f64}\left(1, \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(x, -1\right)\right)\right)\right), \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \color{blue}{\mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(\mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(2\right)\right), \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(2\right)\right)\right)\right)}\right)\right)
\] |
sqr-neg [=>]89.7 | \[ \mathsf{*.f64}\left(\mathsf{/.f64}\left(1, \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(x, -1\right)\right)\right)\right), \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{sqrt.f64}\left(\color{blue}{\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{sqrt.f64}\left(2\right)\right)}\right)\right)\right)
\] |
add-sqr-sqrt [<=]89.7 | \[ \mathsf{*.f64}\left(\mathsf{/.f64}\left(1, \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(x, -1\right)\right)\right)\right), \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{sqrt.f64}\left(\color{blue}{2}\right)\right)\right)
\] |
Simplified89.7%
[Start]89.7 | \[ \mathsf{*.f64}\left(\mathsf{/.f64}\left(1, \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(x, -1\right)\right)\right)\right), \mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{sqrt.f64}\left(2\right)\right)\right)
\] |
|---|---|
*-inverses [=>]89.7 | \[ \mathsf{*.f64}\left(\mathsf{/.f64}\left(1, \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(x, -1\right)\right)\right)\right), \color{blue}{1}\right)
\] |
*-rgt-identity [=>]89.7 | \[ \color{blue}{\mathsf{/.f64}\left(1, \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(x, -1\right)\right)\right)\right)}
\] |
+-commutative [=>]89.7 | \[ \mathsf{/.f64}\left(1, \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \color{blue}{\mathsf{+.f64}\left(-1, x\right)}\right)\right)\right)
\] |
if 4.00000000000000011e-206 < (*.f64 (sqrt.f64 2) t) < 5.00000000000000015e-140Initial program 13.5%
Simplified13.5%
[Start]13.5 | \[ \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), t\right), \mathsf{sqrt.f64}\left(\mathsf{\_.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{\_.f64}\left(x, 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(t, t\right)\right)\right)\right), \mathsf{*.f64}\left(\ell, \ell\right)\right)\right)\right)
\] |
|---|---|
associate-*r/ [<=]13.5 | \[ \color{blue}{\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(t, \mathsf{sqrt.f64}\left(\mathsf{\_.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{\_.f64}\left(x, 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(t, t\right)\right)\right)\right), \mathsf{*.f64}\left(\ell, \ell\right)\right)\right)\right)\right)}
\] |
fma-neg [=>]13.5 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(t, \mathsf{sqrt.f64}\left(\color{blue}{\mathsf{fma.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{\_.f64}\left(x, 1\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(t, t\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right)\right)\right)}\right)\right)\right)
\] |
sub-neg [=>]13.5 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(t, \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \color{blue}{\mathsf{+.f64}\left(x, \mathsf{neg.f64}\left(1\right)\right)}\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(t, t\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right)\right)\right)\right)\right)\right)
\] |
metadata-eval [=>]13.5 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(t, \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(x, \color{blue}{-1}\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \mathsf{*.f64}\left(2, \mathsf{*.f64}\left(t, t\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right)\right)\right)\right)\right)\right)
\] |
+-commutative [=>]13.5 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(t, \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(x, -1\right)\right), \color{blue}{\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{*.f64}\left(t, t\right)\right), \mathsf{*.f64}\left(\ell, \ell\right)\right)}, \mathsf{neg.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right)\right)\right)\right)\right)\right)
\] |
fma-def [=>]13.5 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(t, \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(x, -1\right)\right), \color{blue}{\mathsf{fma.f64}\left(2, \mathsf{*.f64}\left(t, t\right), \mathsf{*.f64}\left(\ell, \ell\right)\right)}, \mathsf{neg.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right)\right)\right)\right)\right)\right)
\] |
distribute-rgt-neg-in [=>]13.5 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(t, \mathsf{sqrt.f64}\left(\mathsf{fma.f64}\left(\mathsf{/.f64}\left(\mathsf{+.f64}\left(x, 1\right), \mathsf{+.f64}\left(x, -1\right)\right), \mathsf{fma.f64}\left(2, \mathsf{*.f64}\left(t, t\right), \mathsf{*.f64}\left(\ell, \ell\right)\right), \color{blue}{\mathsf{*.f64}\left(\ell, \mathsf{neg.f64}\left(\ell\right)\right)}\right)\right)\right)\right)
\] |
Taylor expanded in x around inf 12.4%
Simplified46.4%
[Start]12.4 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(t, \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{pow.f64}\left(\ell, 2\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{pow.f64}\left(\ell, 2\right), \mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right)\right), x\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right), \mathsf{*.f64}\left(-1, \mathsf{pow.f64}\left(\ell, 2\right)\right)\right)\right)\right)\right)\right)\right)
\] |
|---|---|
unpow2 [=>]12.4 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(t, \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\color{blue}{\mathsf{*.f64}\left(\ell, \ell\right)}, \mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{pow.f64}\left(\ell, 2\right), \mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right)\right), x\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right), \mathsf{*.f64}\left(-1, \mathsf{pow.f64}\left(\ell, 2\right)\right)\right)\right)\right)\right)\right)\right)
\] |
+-commutative [=>]12.4 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(t, \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \color{blue}{\mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right), \mathsf{*.f64}\left(-1, \mathsf{pow.f64}\left(\ell, 2\right)\right)\right), \mathsf{*.f64}\left(2, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{pow.f64}\left(\ell, 2\right), \mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right)\right), x\right)\right)\right)}\right)\right)\right)\right)
\] |
associate-+r+ [=>]41.1 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(t, \mathsf{sqrt.f64}\left(\color{blue}{\mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right), \mathsf{*.f64}\left(-1, \mathsf{pow.f64}\left(\ell, 2\right)\right)\right)\right), \mathsf{*.f64}\left(2, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{pow.f64}\left(\ell, 2\right), \mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right)\right), x\right)\right)\right)}\right)\right)\right)
\] |
+-commutative [<=]41.1 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(t, \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \color{blue}{\mathsf{+.f64}\left(\mathsf{*.f64}\left(-1, \mathsf{pow.f64}\left(\ell, 2\right)\right), \mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right)\right)}\right), \mathsf{*.f64}\left(2, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{pow.f64}\left(\ell, 2\right), \mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right)\right), x\right)\right)\right)\right)\right)\right)
\] |
associate-+r+ [=>]46.4 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(t, \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\color{blue}{\mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \mathsf{*.f64}\left(-1, \mathsf{pow.f64}\left(\ell, 2\right)\right)\right), \mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right)\right)}, \mathsf{*.f64}\left(2, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{pow.f64}\left(\ell, 2\right), \mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right)\right), x\right)\right)\right)\right)\right)\right)
\] |
unpow2 [=>]46.4 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(t, \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\ell, \ell\right), \mathsf{*.f64}\left(-1, \color{blue}{\mathsf{*.f64}\left(\ell, \ell\right)}\right)\right), \mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right)\right), \mathsf{*.f64}\left(2, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{pow.f64}\left(\ell, 2\right), \mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right)\right), x\right)\right)\right)\right)\right)\right)
\] |
distribute-rgt1-in [=>]46.4 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(t, \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{+.f64}\left(\color{blue}{\mathsf{*.f64}\left(\mathsf{+.f64}\left(-1, 1\right), \mathsf{*.f64}\left(\ell, \ell\right)\right)}, \mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right)\right), \mathsf{*.f64}\left(2, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{pow.f64}\left(\ell, 2\right), \mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right)\right), x\right)\right)\right)\right)\right)\right)
\] |
metadata-eval [=>]46.4 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(t, \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\color{blue}{0}, \mathsf{*.f64}\left(\ell, \ell\right)\right), \mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right)\right), \mathsf{*.f64}\left(2, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{pow.f64}\left(\ell, 2\right), \mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right)\right), x\right)\right)\right)\right)\right)\right)
\] |
unpow2 [=>]46.4 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(t, \mathsf{sqrt.f64}\left(\mathsf{+.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(0, \mathsf{*.f64}\left(\ell, \ell\right)\right), \mathsf{*.f64}\left(2, \color{blue}{\mathsf{*.f64}\left(t, t\right)}\right)\right), \mathsf{*.f64}\left(2, \mathsf{/.f64}\left(\mathsf{+.f64}\left(\mathsf{pow.f64}\left(\ell, 2\right), \mathsf{*.f64}\left(2, \mathsf{pow.f64}\left(t, 2\right)\right)\right), x\right)\right)\right)\right)\right)\right)
\] |
Taylor expanded in l around inf 38.8%
Simplified45.6%
[Start]38.8 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(t, \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{/.f64}\left(\mathsf{pow.f64}\left(\ell, 2\right), x\right)\right)\right)\right)\right)
\] |
|---|---|
unpow2 [=>]38.8 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(t, \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \mathsf{/.f64}\left(\color{blue}{\mathsf{*.f64}\left(\ell, \ell\right)}, x\right)\right)\right)\right)\right)
\] |
associate-/l* [=>]45.6 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(2\right), \mathsf{/.f64}\left(t, \mathsf{sqrt.f64}\left(\mathsf{*.f64}\left(2, \color{blue}{\mathsf{/.f64}\left(\ell, \mathsf{/.f64}\left(x, \ell\right)\right)}\right)\right)\right)\right)
\] |
Final simplification80.3%
| Alternative 1 | |
|---|---|
| Accuracy | 81.8% |
| Cost | 61273 |
| Alternative 2 | |
|---|---|
| Accuracy | 81.8% |
| Cost | 61145 |
| Alternative 3 | |
|---|---|
| Accuracy | 82.0% |
| Cost | 61144 |
| Alternative 4 | |
|---|---|
| Accuracy | 81.6% |
| Cost | 54617 |
| Alternative 5 | |
|---|---|
| Accuracy | 81.7% |
| Cost | 54617 |
| Alternative 6 | |
|---|---|
| Accuracy | 81.6% |
| Cost | 54489 |
| Alternative 7 | |
|---|---|
| Accuracy | 78.1% |
| Cost | 40145 |
| Alternative 8 | |
|---|---|
| Accuracy | 77.4% |
| Cost | 33617 |
| Alternative 9 | |
|---|---|
| Accuracy | 76.4% |
| Cost | 7636 |
| Alternative 10 | |
|---|---|
| Accuracy | 76.6% |
| Cost | 7636 |
| Alternative 11 | |
|---|---|
| Accuracy | 75.7% |
| Cost | 7248 |
| Alternative 12 | |
|---|---|
| Accuracy | 75.6% |
| Cost | 7248 |
| Alternative 13 | |
|---|---|
| Accuracy | 76.0% |
| Cost | 7248 |
| Alternative 14 | |
|---|---|
| Accuracy | 76.0% |
| Cost | 7248 |
| Alternative 15 | |
|---|---|
| Accuracy | 76.6% |
| Cost | 6984 |
| Alternative 16 | |
|---|---|
| Accuracy | 76.0% |
| Cost | 836 |
| Alternative 17 | |
|---|---|
| Accuracy | 75.9% |
| Cost | 452 |
| Alternative 18 | |
|---|---|
| Accuracy | 75.8% |
| Cost | 196 |
| Alternative 19 | |
|---|---|
| Accuracy | 38.6% |
| Cost | 64 |
herbie shell --seed 2023144
(FPCore (x l t)
:name "Toniolo and Linder, Equation (7)"
:precision binary64
(/ (* (sqrt 2.0) t) (sqrt (- (* (/ (+ x 1.0) (- x 1.0)) (+ (* l l) (* 2.0 (* t t)))) (* l l)))))