| Alternative 1 | |
|---|---|
| Accuracy | 68.1% |
| Cost | 28048 |
(FPCore (d h l M D)
:precision binary64
(*.f64
(*.f64 (pow.f64 (/.f64 d h) (/.f64 1 2)) (pow.f64 (/.f64 d l) (/.f64 1 2)))
(-.f64
1
(*.f64
(*.f64 (/.f64 1 2) (pow.f64 (/.f64 (*.f64 M D) (*.f64 2 d)) 2))
(/.f64 h l)))))(FPCore (d h l M D)
:precision binary64
(let* ((t_0 (sqrt.f64 (/.f64 d h)))
(t_1 (sqrt.f64 (neg.f64 d)))
(t_2 (/.f64 t_1 (sqrt.f64 (neg.f64 l)))))
(if (<=.f64
h
-10999999999999999171953497884844250523529691012412235626036558041901464462448164171098019924470539502084351596882522486672778602423884998913414301791154048434817917175130382501194005217280)
(*.f64
t_0
(*.f64
t_2
(fma.f64
(pow.f64 (*.f64 M (/.f64 (/.f64 D d) 2)) 2)
(/.f64 -1/2 (/.f64 l h))
1)))
(if (<=.f64
h
-6931674235302037/86645927941275464361825443254471365732388658605494267974077486894206915868925800719999200190754361815543475342543861619655442432)
(*.f64
(*.f64 d (sqrt.f64 (/.f64 1 (*.f64 h l))))
(+.f64
(/.f64
(*.f64 (*.f64 h 1/2) (pow.f64 (*.f64 1/2 (/.f64 (*.f64 M D) d)) 2))
l)
-1))
(if (<=.f64
h
-8688048222344579/129672361527531029953512745740348785969138944757576153124864291552832900356653379574990845279596993571506183956603149661949848471106617978371464838566061365220661931356297172615168)
(*.f64
t_0
(*.f64
t_2
(-.f64
1
(*.f64
1/2
(*.f64
(pow.f64 (*.f64 (/.f64 D d) (/.f64 M 2)) 2)
(/.f64 h l))))))
(if (<=.f64
h
-3119885634089587/70906491683854249133971333415503528601229677279443476631916611638829262598057001759775558209235971002092300595769547131083230268742795262708226708464736682213924924871800416657575912944521796077262840069882938251784694133132833485038618990914757637167551284096438594475925700608)
(*.f64 d (neg.f64 (sqrt.f64 (/.f64 (/.f64 1 l) h))))
(if (<=.f64
h
-20240225330731/101201126653655309176247673359458653524778324882071059178450679013715169783997673445980191850718562247593538932158405955694904368692896738433506699970369254960758712138283180682233453871046608170619883839236372534281003741712346349309051677824579778170405028256179384776166707307615251266093163754323003131653853870546747392)
(*.f64
(*.f64 (/.f64 t_1 (sqrt.f64 (neg.f64 h))) (sqrt.f64 (/.f64 d l)))
(-.f64
1
(*.f64
1/8
(*.f64
(/.f64 (*.f64 M M) d)
(/.f64 (*.f64 D (*.f64 h D)) (*.f64 d l))))))
(*.f64
(+.f64
1
(*.f64
(pow.f64 (*.f64 (/.f64 D d) (*.f64 M 1/2)) 2)
(*.f64 -1/2 (/.f64 h l))))
(/.f64 d (*.f64 (sqrt.f64 h) (sqrt.f64 l)))))))))))\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(d, h\right), \mathsf{/.f64}\left(1, 2\right)\right), \mathsf{pow.f64}\left(\mathsf{/.f64}\left(d, \ell\right), \mathsf{/.f64}\left(1, 2\right)\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(1, 2\right), \mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), \mathsf{*.f64}\left(2, d\right)\right), 2\right)\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)
\begin{array}{l}
t_0 := \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right)\\
t_1 := \mathsf{sqrt.f64}\left(\mathsf{neg.f64}\left(d\right)\right)\\
t_2 := \mathsf{/.f64}\left(t_1, \mathsf{sqrt.f64}\left(\mathsf{neg.f64}\left(\ell\right)\right)\right)\\
\mathbf{if}\;\mathsf{<=.f64}\left(h, -10999999999999999171953497884844250523529691012412235626036558041901464462448164171098019924470539502084351596882522486672778602423884998913414301791154048434817917175130382501194005217280\right):\\
\;\;\;\;\mathsf{*.f64}\left(t_0, \mathsf{*.f64}\left(t_2, \mathsf{fma.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(M, \mathsf{/.f64}\left(\mathsf{/.f64}\left(D, d\right), 2\right)\right), 2\right), \mathsf{/.f64}\left(\frac{-1}{2}, \mathsf{/.f64}\left(\ell, h\right)\right), 1\right)\right)\right)\\
\mathbf{elif}\;\mathsf{<=.f64}\left(h, \frac{-6931674235302037}{86645927941275464361825443254471365732388658605494267974077486894206915868925800719999200190754361815543475342543861619655442432}\right):\\
\;\;\;\;\mathsf{*.f64}\left(\mathsf{*.f64}\left(d, \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(1, \mathsf{*.f64}\left(h, \ell\right)\right)\right)\right), \mathsf{+.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(h, \frac{1}{2}\right), \mathsf{pow.f64}\left(\mathsf{*.f64}\left(\frac{1}{2}, \mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), d\right)\right), 2\right)\right), \ell\right), -1\right)\right)\\
\mathbf{elif}\;\mathsf{<=.f64}\left(h, \frac{-8688048222344579}{129672361527531029953512745740348785969138944757576153124864291552832900356653379574990845279596993571506183956603149661949848471106617978371464838566061365220661931356297172615168}\right):\\
\;\;\;\;\mathsf{*.f64}\left(t_0, \mathsf{*.f64}\left(t_2, \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\frac{1}{2}, \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(D, d\right), \mathsf{/.f64}\left(M, 2\right)\right), 2\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)\right)\right)\\
\mathbf{elif}\;\mathsf{<=.f64}\left(h, \frac{-3119885634089587}{70906491683854249133971333415503528601229677279443476631916611638829262598057001759775558209235971002092300595769547131083230268742795262708226708464736682213924924871800416657575912944521796077262840069882938251784694133132833485038618990914757637167551284096438594475925700608}\right):\\
\;\;\;\;\mathsf{*.f64}\left(d, \mathsf{neg.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(\mathsf{/.f64}\left(1, \ell\right), h\right)\right)\right)\right)\\
\mathbf{elif}\;\mathsf{<=.f64}\left(h, \frac{-20240225330731}{101201126653655309176247673359458653524778324882071059178450679013715169783997673445980191850718562247593538932158405955694904368692896738433506699970369254960758712138283180682233453871046608170619883839236372534281003741712346349309051677824579778170405028256179384776166707307615251266093163754323003131653853870546747392}\right):\\
\;\;\;\;\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(t_1, \mathsf{sqrt.f64}\left(\mathsf{neg.f64}\left(h\right)\right)\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\frac{1}{8}, \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, M\right), d\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(D, \mathsf{*.f64}\left(h, D\right)\right), \mathsf{*.f64}\left(d, \ell\right)\right)\right)\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{*.f64}\left(\mathsf{+.f64}\left(1, \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(D, d\right), \mathsf{*.f64}\left(M, \frac{1}{2}\right)\right), 2\right), \mathsf{*.f64}\left(\frac{-1}{2}, \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right), \mathsf{/.f64}\left(d, \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(h\right), \mathsf{sqrt.f64}\left(\ell\right)\right)\right)\right)\\
\end{array}
if h < -1.0999999999999999e187Initial program 47.1%
Simplified47.4%
[Start]47.1 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(d, h\right), \mathsf{/.f64}\left(1, 2\right)\right), \mathsf{pow.f64}\left(\mathsf{/.f64}\left(d, \ell\right), \mathsf{/.f64}\left(1, 2\right)\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(1, 2\right), \mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), \mathsf{*.f64}\left(2, d\right)\right), 2\right)\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)
\] |
|---|---|
associate-*l* [=>]46.9 | \[ \color{blue}{\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(d, h\right), \mathsf{/.f64}\left(1, 2\right)\right), \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(d, \ell\right), \mathsf{/.f64}\left(1, 2\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(1, 2\right), \mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), \mathsf{*.f64}\left(2, d\right)\right), 2\right)\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)\right)}
\] |
metadata-eval [=>]46.9 | \[ \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(d, h\right), \color{blue}{\frac{1}{2}}\right), \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(d, \ell\right), \mathsf{/.f64}\left(1, 2\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(1, 2\right), \mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), \mathsf{*.f64}\left(2, d\right)\right), 2\right)\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)\right)
\] |
unpow1/2 [=>]46.9 | \[ \mathsf{*.f64}\left(\color{blue}{\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right)}, \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(d, \ell\right), \mathsf{/.f64}\left(1, 2\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(1, 2\right), \mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), \mathsf{*.f64}\left(2, d\right)\right), 2\right)\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)\right)
\] |
metadata-eval [=>]46.9 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(d, \ell\right), \color{blue}{\frac{1}{2}}\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(1, 2\right), \mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), \mathsf{*.f64}\left(2, d\right)\right), 2\right)\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)\right)
\] |
unpow1/2 [=>]46.9 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{*.f64}\left(\color{blue}{\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)}, \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(1, 2\right), \mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), \mathsf{*.f64}\left(2, d\right)\right), 2\right)\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)\right)
\] |
sub-neg [=>]46.9 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right), \color{blue}{\mathsf{+.f64}\left(1, \mathsf{neg.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(1, 2\right), \mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), \mathsf{*.f64}\left(2, d\right)\right), 2\right)\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)}\right)\right)
\] |
+-commutative [=>]46.9 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right), \color{blue}{\mathsf{+.f64}\left(\mathsf{neg.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(1, 2\right), \mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), \mathsf{*.f64}\left(2, d\right)\right), 2\right)\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right), 1\right)}\right)\right)
\] |
*-commutative [=>]46.9 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right), \mathsf{+.f64}\left(\mathsf{neg.f64}\left(\mathsf{*.f64}\left(\color{blue}{\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), \mathsf{*.f64}\left(2, d\right)\right), 2\right), \mathsf{/.f64}\left(1, 2\right)\right)}, \mathsf{/.f64}\left(h, \ell\right)\right)\right), 1\right)\right)\right)
\] |
associate-*l* [=>]46.9 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right), \mathsf{+.f64}\left(\mathsf{neg.f64}\left(\color{blue}{\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), \mathsf{*.f64}\left(2, d\right)\right), 2\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(1, 2\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right)}\right), 1\right)\right)\right)
\] |
distribute-rgt-neg-in [=>]46.9 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right), \mathsf{+.f64}\left(\color{blue}{\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), \mathsf{*.f64}\left(2, d\right)\right), 2\right), \mathsf{neg.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(1, 2\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)}, 1\right)\right)\right)
\] |
*-commutative [<=]46.9 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right), \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), \mathsf{*.f64}\left(2, d\right)\right), 2\right), \mathsf{neg.f64}\left(\color{blue}{\mathsf{*.f64}\left(\mathsf{/.f64}\left(h, \ell\right), \mathsf{/.f64}\left(1, 2\right)\right)}\right)\right), 1\right)\right)\right)
\] |
Applied egg-rr48.3%
[Start]47.4 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right), \mathsf{fma.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(M, \mathsf{/.f64}\left(\mathsf{/.f64}\left(D, d\right), 2\right)\right), 2\right), \mathsf{/.f64}\left(\frac{-1}{2}, \mathsf{/.f64}\left(\ell, h\right)\right), 1\right)\right)\right)
\] |
|---|---|
frac-2neg [=>]47.4 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\color{blue}{\mathsf{/.f64}\left(\mathsf{neg.f64}\left(d\right), \mathsf{neg.f64}\left(\ell\right)\right)}\right), \mathsf{fma.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(M, \mathsf{/.f64}\left(\mathsf{/.f64}\left(D, d\right), 2\right)\right), 2\right), \mathsf{/.f64}\left(\frac{-1}{2}, \mathsf{/.f64}\left(\ell, h\right)\right), 1\right)\right)\right)
\] |
sqrt-div [=>]48.3 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{*.f64}\left(\color{blue}{\mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{neg.f64}\left(d\right)\right), \mathsf{sqrt.f64}\left(\mathsf{neg.f64}\left(\ell\right)\right)\right)}, \mathsf{fma.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(M, \mathsf{/.f64}\left(\mathsf{/.f64}\left(D, d\right), 2\right)\right), 2\right), \mathsf{/.f64}\left(\frac{-1}{2}, \mathsf{/.f64}\left(\ell, h\right)\right), 1\right)\right)\right)
\] |
if -1.0999999999999999e187 < h < -7.99999999999999983e-113Initial program 66.1%
Applied egg-rr51.5%
[Start]66.1 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(d, h\right), \mathsf{/.f64}\left(1, 2\right)\right), \mathsf{pow.f64}\left(\mathsf{/.f64}\left(d, \ell\right), \mathsf{/.f64}\left(1, 2\right)\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(1, 2\right), \mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), \mathsf{*.f64}\left(2, d\right)\right), 2\right)\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)
\] |
|---|---|
pow1 [=>]66.1 | \[ \color{blue}{\mathsf{pow.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(d, h\right), \mathsf{/.f64}\left(1, 2\right)\right), \mathsf{pow.f64}\left(\mathsf{/.f64}\left(d, \ell\right), \mathsf{/.f64}\left(1, 2\right)\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(1, 2\right), \mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), \mathsf{*.f64}\left(2, d\right)\right), 2\right)\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right), 1\right)}
\] |
Taylor expanded in d around -inf 71.4%
Simplified71.4%
[Start]71.4 | \[ \mathsf{pow.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(-1, \mathsf{*.f64}\left(d, \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(1, \mathsf{*.f64}\left(\ell, h\right)\right)\right)\right)\right), \mathsf{\_.f64}\left(1, \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(\frac{1}{2}, \mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), d\right)\right), 2\right), \mathsf{*.f64}\left(\frac{1}{2}, h\right)\right), \ell\right)\right)\right), 1\right)
\] |
|---|---|
mul-1-neg [=>]71.4 | \[ \mathsf{pow.f64}\left(\mathsf{*.f64}\left(\color{blue}{\mathsf{neg.f64}\left(\mathsf{*.f64}\left(d, \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(1, \mathsf{*.f64}\left(\ell, h\right)\right)\right)\right)\right)}, \mathsf{\_.f64}\left(1, \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(\frac{1}{2}, \mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), d\right)\right), 2\right), \mathsf{*.f64}\left(\frac{1}{2}, h\right)\right), \ell\right)\right)\right), 1\right)
\] |
*-commutative [<=]71.4 | \[ \mathsf{pow.f64}\left(\mathsf{*.f64}\left(\mathsf{neg.f64}\left(\color{blue}{\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(1, \mathsf{*.f64}\left(\ell, h\right)\right)\right), d\right)}\right), \mathsf{\_.f64}\left(1, \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(\frac{1}{2}, \mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), d\right)\right), 2\right), \mathsf{*.f64}\left(\frac{1}{2}, h\right)\right), \ell\right)\right)\right), 1\right)
\] |
distribute-rgt-neg-in [=>]71.4 | \[ \mathsf{pow.f64}\left(\mathsf{*.f64}\left(\color{blue}{\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(1, \mathsf{*.f64}\left(\ell, h\right)\right)\right), \mathsf{neg.f64}\left(d\right)\right)}, \mathsf{\_.f64}\left(1, \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(\frac{1}{2}, \mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), d\right)\right), 2\right), \mathsf{*.f64}\left(\frac{1}{2}, h\right)\right), \ell\right)\right)\right), 1\right)
\] |
if -7.99999999999999983e-113 < h < -6.69999999999999999e-164Initial program 66.7%
Simplified65.5%
[Start]66.7 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(d, h\right), \mathsf{/.f64}\left(1, 2\right)\right), \mathsf{pow.f64}\left(\mathsf{/.f64}\left(d, \ell\right), \mathsf{/.f64}\left(1, 2\right)\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(1, 2\right), \mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), \mathsf{*.f64}\left(2, d\right)\right), 2\right)\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)
\] |
|---|---|
associate-*l* [=>]66.7 | \[ \color{blue}{\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(d, h\right), \mathsf{/.f64}\left(1, 2\right)\right), \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(d, \ell\right), \mathsf{/.f64}\left(1, 2\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(1, 2\right), \mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), \mathsf{*.f64}\left(2, d\right)\right), 2\right)\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)\right)}
\] |
metadata-eval [=>]66.7 | \[ \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(d, h\right), \color{blue}{\frac{1}{2}}\right), \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(d, \ell\right), \mathsf{/.f64}\left(1, 2\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(1, 2\right), \mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), \mathsf{*.f64}\left(2, d\right)\right), 2\right)\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)\right)
\] |
unpow1/2 [=>]66.7 | \[ \mathsf{*.f64}\left(\color{blue}{\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right)}, \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(d, \ell\right), \mathsf{/.f64}\left(1, 2\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(1, 2\right), \mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), \mathsf{*.f64}\left(2, d\right)\right), 2\right)\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)\right)
\] |
metadata-eval [=>]66.7 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(d, \ell\right), \color{blue}{\frac{1}{2}}\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(1, 2\right), \mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), \mathsf{*.f64}\left(2, d\right)\right), 2\right)\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)\right)
\] |
unpow1/2 [=>]66.7 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{*.f64}\left(\color{blue}{\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)}, \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(1, 2\right), \mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), \mathsf{*.f64}\left(2, d\right)\right), 2\right)\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)\right)
\] |
associate-*l* [=>]66.7 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right), \mathsf{\_.f64}\left(1, \color{blue}{\mathsf{*.f64}\left(\mathsf{/.f64}\left(1, 2\right), \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), \mathsf{*.f64}\left(2, d\right)\right), 2\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right)}\right)\right)\right)
\] |
metadata-eval [=>]66.7 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\color{blue}{\frac{1}{2}}, \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), \mathsf{*.f64}\left(2, d\right)\right), 2\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)\right)\right)
\] |
times-frac [=>]65.5 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\frac{1}{2}, \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\color{blue}{\mathsf{*.f64}\left(\mathsf{/.f64}\left(M, 2\right), \mathsf{/.f64}\left(D, d\right)\right)}, 2\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)\right)\right)
\] |
Applied egg-rr70.9%
[Start]65.5 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\frac{1}{2}, \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(M, 2\right), \mathsf{/.f64}\left(D, d\right)\right), 2\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)\right)\right)
\] |
|---|---|
frac-2neg [=>]65.5 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\color{blue}{\mathsf{/.f64}\left(\mathsf{neg.f64}\left(d\right), \mathsf{neg.f64}\left(\ell\right)\right)}\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\frac{1}{2}, \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(M, 2\right), \mathsf{/.f64}\left(D, d\right)\right), 2\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)\right)\right)
\] |
sqrt-div [=>]70.9 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{*.f64}\left(\color{blue}{\mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{neg.f64}\left(d\right)\right), \mathsf{sqrt.f64}\left(\mathsf{neg.f64}\left(\ell\right)\right)\right)}, \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\frac{1}{2}, \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(M, 2\right), \mathsf{/.f64}\left(D, d\right)\right), 2\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)\right)\right)
\] |
if -6.69999999999999999e-164 < h < -4.4000000000000001e-263Initial program 47.4%
Simplified45.5%
[Start]47.4 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(d, h\right), \mathsf{/.f64}\left(1, 2\right)\right), \mathsf{pow.f64}\left(\mathsf{/.f64}\left(d, \ell\right), \mathsf{/.f64}\left(1, 2\right)\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(1, 2\right), \mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), \mathsf{*.f64}\left(2, d\right)\right), 2\right)\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)
\] |
|---|---|
metadata-eval [=>]47.4 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(d, h\right), \color{blue}{\frac{1}{2}}\right), \mathsf{pow.f64}\left(\mathsf{/.f64}\left(d, \ell\right), \mathsf{/.f64}\left(1, 2\right)\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(1, 2\right), \mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), \mathsf{*.f64}\left(2, d\right)\right), 2\right)\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)
\] |
unpow1/2 [=>]47.4 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\color{blue}{\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right)}, \mathsf{pow.f64}\left(\mathsf{/.f64}\left(d, \ell\right), \mathsf{/.f64}\left(1, 2\right)\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(1, 2\right), \mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), \mathsf{*.f64}\left(2, d\right)\right), 2\right)\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)
\] |
metadata-eval [=>]47.4 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{pow.f64}\left(\mathsf{/.f64}\left(d, \ell\right), \color{blue}{\frac{1}{2}}\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(1, 2\right), \mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), \mathsf{*.f64}\left(2, d\right)\right), 2\right)\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)
\] |
unpow1/2 [=>]47.4 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \color{blue}{\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)}\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(1, 2\right), \mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), \mathsf{*.f64}\left(2, d\right)\right), 2\right)\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)
\] |
*-commutative [=>]47.4 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\color{blue}{\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), \mathsf{*.f64}\left(2, d\right)\right), 2\right), \mathsf{/.f64}\left(1, 2\right)\right)}, \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)
\] |
associate-*l* [=>]47.4 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)\right), \mathsf{\_.f64}\left(1, \color{blue}{\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), \mathsf{*.f64}\left(2, d\right)\right), 2\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(1, 2\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right)}\right)\right)
\] |
times-frac [=>]45.5 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\color{blue}{\mathsf{*.f64}\left(\mathsf{/.f64}\left(M, 2\right), \mathsf{/.f64}\left(D, d\right)\right)}, 2\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(1, 2\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)\right)
\] |
metadata-eval [=>]45.5 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(M, 2\right), \mathsf{/.f64}\left(D, d\right)\right), 2\right), \mathsf{*.f64}\left(\color{blue}{\frac{1}{2}}, \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)\right)
\] |
Applied egg-rr53.0%
[Start]45.5 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(M, 2\right), \mathsf{/.f64}\left(D, d\right)\right), 2\right), \mathsf{*.f64}\left(\frac{1}{2}, \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)\right)
\] |
|---|---|
frac-2neg [=>]45.5 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{sqrt.f64}\left(\color{blue}{\mathsf{/.f64}\left(\mathsf{neg.f64}\left(d\right), \mathsf{neg.f64}\left(\ell\right)\right)}\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(M, 2\right), \mathsf{/.f64}\left(D, d\right)\right), 2\right), \mathsf{*.f64}\left(\frac{1}{2}, \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)\right)
\] |
sqrt-div [=>]53.0 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \color{blue}{\mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{neg.f64}\left(d\right)\right), \mathsf{sqrt.f64}\left(\mathsf{neg.f64}\left(\ell\right)\right)\right)}\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(M, 2\right), \mathsf{/.f64}\left(D, d\right)\right), 2\right), \mathsf{*.f64}\left(\frac{1}{2}, \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)\right)
\] |
Taylor expanded in d around -inf 62.7%
Simplified62.7%
[Start]62.7 | \[ \mathsf{*.f64}\left(-1, \mathsf{*.f64}\left(d, \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(1, \mathsf{*.f64}\left(\ell, h\right)\right)\right)\right)\right)
\] |
|---|---|
mul-1-neg [=>]62.7 | \[ \color{blue}{\mathsf{neg.f64}\left(\mathsf{*.f64}\left(d, \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(1, \mathsf{*.f64}\left(\ell, h\right)\right)\right)\right)\right)}
\] |
*-commutative [=>]62.7 | \[ \mathsf{neg.f64}\left(\color{blue}{\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(1, \mathsf{*.f64}\left(\ell, h\right)\right)\right), d\right)}\right)
\] |
distribute-rgt-neg-in [=>]62.7 | \[ \color{blue}{\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(1, \mathsf{*.f64}\left(\ell, h\right)\right)\right), \mathsf{neg.f64}\left(d\right)\right)}
\] |
associate-/r* [=>]62.7 | \[ \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\color{blue}{\mathsf{/.f64}\left(\mathsf{/.f64}\left(1, \ell\right), h\right)}\right), \mathsf{neg.f64}\left(d\right)\right)
\] |
if -4.4000000000000001e-263 < h < -1.999999999999994e-310Initial program 41.5%
Simplified40.7%
[Start]41.5 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(d, h\right), \mathsf{/.f64}\left(1, 2\right)\right), \mathsf{pow.f64}\left(\mathsf{/.f64}\left(d, \ell\right), \mathsf{/.f64}\left(1, 2\right)\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(1, 2\right), \mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), \mathsf{*.f64}\left(2, d\right)\right), 2\right)\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)
\] |
|---|---|
metadata-eval [=>]41.5 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(d, h\right), \color{blue}{\frac{1}{2}}\right), \mathsf{pow.f64}\left(\mathsf{/.f64}\left(d, \ell\right), \mathsf{/.f64}\left(1, 2\right)\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(1, 2\right), \mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), \mathsf{*.f64}\left(2, d\right)\right), 2\right)\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)
\] |
unpow1/2 [=>]41.5 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\color{blue}{\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right)}, \mathsf{pow.f64}\left(\mathsf{/.f64}\left(d, \ell\right), \mathsf{/.f64}\left(1, 2\right)\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(1, 2\right), \mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), \mathsf{*.f64}\left(2, d\right)\right), 2\right)\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)
\] |
metadata-eval [=>]41.5 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{pow.f64}\left(\mathsf{/.f64}\left(d, \ell\right), \color{blue}{\frac{1}{2}}\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(1, 2\right), \mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), \mathsf{*.f64}\left(2, d\right)\right), 2\right)\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)
\] |
unpow1/2 [=>]41.5 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \color{blue}{\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)}\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(1, 2\right), \mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), \mathsf{*.f64}\left(2, d\right)\right), 2\right)\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)
\] |
*-commutative [=>]41.5 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\color{blue}{\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), \mathsf{*.f64}\left(2, d\right)\right), 2\right), \mathsf{/.f64}\left(1, 2\right)\right)}, \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)
\] |
associate-*l* [=>]41.5 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)\right), \mathsf{\_.f64}\left(1, \color{blue}{\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), \mathsf{*.f64}\left(2, d\right)\right), 2\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(1, 2\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right)}\right)\right)
\] |
times-frac [=>]40.7 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\color{blue}{\mathsf{*.f64}\left(\mathsf{/.f64}\left(M, 2\right), \mathsf{/.f64}\left(D, d\right)\right)}, 2\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(1, 2\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)\right)
\] |
metadata-eval [=>]40.7 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(M, 2\right), \mathsf{/.f64}\left(D, d\right)\right), 2\right), \mathsf{*.f64}\left(\color{blue}{\frac{1}{2}}, \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)\right)
\] |
Taylor expanded in M around 0 23.7%
Simplified32.3%
[Start]23.7 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\frac{1}{8}, \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(D, 2\right), \mathsf{*.f64}\left(\mathsf{pow.f64}\left(M, 2\right), h\right)\right), \mathsf{*.f64}\left(\ell, \mathsf{pow.f64}\left(d, 2\right)\right)\right)\right)\right)\right)
\] |
|---|---|
associate-*r/ [=>]23.7 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)\right), \mathsf{\_.f64}\left(1, \color{blue}{\mathsf{/.f64}\left(\mathsf{*.f64}\left(\frac{1}{8}, \mathsf{*.f64}\left(\mathsf{pow.f64}\left(D, 2\right), \mathsf{*.f64}\left(\mathsf{pow.f64}\left(M, 2\right), h\right)\right)\right), \mathsf{*.f64}\left(\ell, \mathsf{pow.f64}\left(d, 2\right)\right)\right)}\right)\right)
\] |
*-commutative [=>]23.7 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)\right), \mathsf{\_.f64}\left(1, \mathsf{/.f64}\left(\mathsf{*.f64}\left(\frac{1}{8}, \mathsf{*.f64}\left(\mathsf{pow.f64}\left(D, 2\right), \mathsf{*.f64}\left(\mathsf{pow.f64}\left(M, 2\right), h\right)\right)\right), \color{blue}{\mathsf{*.f64}\left(\mathsf{pow.f64}\left(d, 2\right), \ell\right)}\right)\right)\right)
\] |
associate-*r/ [<=]23.7 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)\right), \mathsf{\_.f64}\left(1, \color{blue}{\mathsf{*.f64}\left(\frac{1}{8}, \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(D, 2\right), \mathsf{*.f64}\left(\mathsf{pow.f64}\left(M, 2\right), h\right)\right), \mathsf{*.f64}\left(\mathsf{pow.f64}\left(d, 2\right), \ell\right)\right)\right)}\right)\right)
\] |
associate-*r* [=>]23.7 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\frac{1}{8}, \mathsf{/.f64}\left(\color{blue}{\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(D, 2\right), \mathsf{pow.f64}\left(M, 2\right)\right), h\right)}, \mathsf{*.f64}\left(\mathsf{pow.f64}\left(d, 2\right), \ell\right)\right)\right)\right)\right)
\] |
*-commutative [=>]23.7 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\frac{1}{8}, \mathsf{/.f64}\left(\mathsf{*.f64}\left(\color{blue}{\mathsf{*.f64}\left(\mathsf{pow.f64}\left(M, 2\right), \mathsf{pow.f64}\left(D, 2\right)\right)}, h\right), \mathsf{*.f64}\left(\mathsf{pow.f64}\left(d, 2\right), \ell\right)\right)\right)\right)\right)
\] |
associate-*l* [=>]24.5 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\frac{1}{8}, \mathsf{/.f64}\left(\color{blue}{\mathsf{*.f64}\left(\mathsf{pow.f64}\left(M, 2\right), \mathsf{*.f64}\left(\mathsf{pow.f64}\left(D, 2\right), h\right)\right)}, \mathsf{*.f64}\left(\mathsf{pow.f64}\left(d, 2\right), \ell\right)\right)\right)\right)\right)
\] |
unpow2 [=>]24.5 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\frac{1}{8}, \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(M, 2\right), \mathsf{*.f64}\left(\mathsf{pow.f64}\left(D, 2\right), h\right)\right), \mathsf{*.f64}\left(\color{blue}{\mathsf{*.f64}\left(d, d\right)}, \ell\right)\right)\right)\right)\right)
\] |
associate-*l* [=>]25.2 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\frac{1}{8}, \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(M, 2\right), \mathsf{*.f64}\left(\mathsf{pow.f64}\left(D, 2\right), h\right)\right), \color{blue}{\mathsf{*.f64}\left(d, \mathsf{*.f64}\left(d, \ell\right)\right)}\right)\right)\right)\right)
\] |
times-frac [=>]27.8 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\frac{1}{8}, \color{blue}{\mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{pow.f64}\left(M, 2\right), d\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(D, 2\right), h\right), \mathsf{*.f64}\left(d, \ell\right)\right)\right)}\right)\right)\right)
\] |
unpow2 [=>]27.8 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\frac{1}{8}, \mathsf{*.f64}\left(\mathsf{/.f64}\left(\color{blue}{\mathsf{*.f64}\left(M, M\right)}, d\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(D, 2\right), h\right), \mathsf{*.f64}\left(d, \ell\right)\right)\right)\right)\right)\right)
\] |
unpow2 [=>]27.8 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\frac{1}{8}, \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, M\right), d\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(\color{blue}{\mathsf{*.f64}\left(D, D\right)}, h\right), \mathsf{*.f64}\left(d, \ell\right)\right)\right)\right)\right)\right)
\] |
associate-*l* [=>]32.3 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\frac{1}{8}, \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, M\right), d\right), \mathsf{/.f64}\left(\color{blue}{\mathsf{*.f64}\left(D, \mathsf{*.f64}\left(D, h\right)\right)}, \mathsf{*.f64}\left(d, \ell\right)\right)\right)\right)\right)\right)
\] |
Applied egg-rr57.3%
[Start]32.3 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\frac{1}{8}, \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, M\right), d\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(D, \mathsf{*.f64}\left(D, h\right)\right), \mathsf{*.f64}\left(d, \ell\right)\right)\right)\right)\right)\right)
\] |
|---|---|
frac-2neg [=>]32.3 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\color{blue}{\mathsf{/.f64}\left(\mathsf{neg.f64}\left(d\right), \mathsf{neg.f64}\left(h\right)\right)}\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\frac{1}{8}, \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, M\right), d\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(D, \mathsf{*.f64}\left(D, h\right)\right), \mathsf{*.f64}\left(d, \ell\right)\right)\right)\right)\right)\right)
\] |
sqrt-div [=>]57.3 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\color{blue}{\mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{neg.f64}\left(d\right)\right), \mathsf{sqrt.f64}\left(\mathsf{neg.f64}\left(h\right)\right)\right)}, \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\frac{1}{8}, \mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, M\right), d\right), \mathsf{/.f64}\left(\mathsf{*.f64}\left(D, \mathsf{*.f64}\left(D, h\right)\right), \mathsf{*.f64}\left(d, \ell\right)\right)\right)\right)\right)\right)
\] |
if -1.999999999999994e-310 < h Initial program 58.6%
Simplified57.9%
[Start]58.6 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(d, h\right), \mathsf{/.f64}\left(1, 2\right)\right), \mathsf{pow.f64}\left(\mathsf{/.f64}\left(d, \ell\right), \mathsf{/.f64}\left(1, 2\right)\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(1, 2\right), \mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), \mathsf{*.f64}\left(2, d\right)\right), 2\right)\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)
\] |
|---|---|
metadata-eval [=>]58.6 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(d, h\right), \color{blue}{\frac{1}{2}}\right), \mathsf{pow.f64}\left(\mathsf{/.f64}\left(d, \ell\right), \mathsf{/.f64}\left(1, 2\right)\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(1, 2\right), \mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), \mathsf{*.f64}\left(2, d\right)\right), 2\right)\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)
\] |
unpow1/2 [=>]58.6 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\color{blue}{\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right)}, \mathsf{pow.f64}\left(\mathsf{/.f64}\left(d, \ell\right), \mathsf{/.f64}\left(1, 2\right)\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(1, 2\right), \mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), \mathsf{*.f64}\left(2, d\right)\right), 2\right)\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)
\] |
metadata-eval [=>]58.6 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{pow.f64}\left(\mathsf{/.f64}\left(d, \ell\right), \color{blue}{\frac{1}{2}}\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(1, 2\right), \mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), \mathsf{*.f64}\left(2, d\right)\right), 2\right)\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)
\] |
unpow1/2 [=>]58.6 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \color{blue}{\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)}\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(1, 2\right), \mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), \mathsf{*.f64}\left(2, d\right)\right), 2\right)\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)
\] |
*-commutative [=>]58.6 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\color{blue}{\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), \mathsf{*.f64}\left(2, d\right)\right), 2\right), \mathsf{/.f64}\left(1, 2\right)\right)}, \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)
\] |
associate-*l* [=>]58.6 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)\right), \mathsf{\_.f64}\left(1, \color{blue}{\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{/.f64}\left(\mathsf{*.f64}\left(M, D\right), \mathsf{*.f64}\left(2, d\right)\right), 2\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(1, 2\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right)}\right)\right)
\] |
times-frac [=>]57.9 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\color{blue}{\mathsf{*.f64}\left(\mathsf{/.f64}\left(M, 2\right), \mathsf{/.f64}\left(D, d\right)\right)}, 2\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(1, 2\right), \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)\right)
\] |
metadata-eval [=>]57.9 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(M, 2\right), \mathsf{/.f64}\left(D, d\right)\right), 2\right), \mathsf{*.f64}\left(\color{blue}{\frac{1}{2}}, \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)\right)
\] |
Applied egg-rr74.6%
[Start]57.9 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)\right), \mathsf{\_.f64}\left(1, \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(M, 2\right), \mathsf{/.f64}\left(D, d\right)\right), 2\right), \mathsf{*.f64}\left(\frac{1}{2}, \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)\right)
\] |
|---|---|
sub-neg [=>]57.9 | \[ \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)\right), \color{blue}{\mathsf{+.f64}\left(1, \mathsf{neg.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(M, 2\right), \mathsf{/.f64}\left(D, d\right)\right), 2\right), \mathsf{*.f64}\left(\frac{1}{2}, \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)\right)}\right)
\] |
distribute-lft-in [=>]57.9 | \[ \color{blue}{\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)\right), 1\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(M, 2\right), \mathsf{/.f64}\left(D, d\right)\right), 2\right), \mathsf{*.f64}\left(\frac{1}{2}, \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)\right)\right)}
\] |
*-commutative [<=]57.9 | \[ \mathsf{+.f64}\left(\color{blue}{\mathsf{*.f64}\left(1, \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)\right)\right)}, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(M, 2\right), \mathsf{/.f64}\left(D, d\right)\right), 2\right), \mathsf{*.f64}\left(\frac{1}{2}, \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)\right)\right)
\] |
*-un-lft-identity [<=]57.9 | \[ \mathsf{+.f64}\left(\color{blue}{\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)\right)}, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(M, 2\right), \mathsf{/.f64}\left(D, d\right)\right), 2\right), \mathsf{*.f64}\left(\frac{1}{2}, \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)\right)\right)
\] |
sqrt-div [=>]58.4 | \[ \mathsf{+.f64}\left(\mathsf{*.f64}\left(\color{blue}{\mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(d\right), \mathsf{sqrt.f64}\left(h\right)\right)}, \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(M, 2\right), \mathsf{/.f64}\left(D, d\right)\right), 2\right), \mathsf{*.f64}\left(\frac{1}{2}, \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)\right)\right)
\] |
sqrt-div [=>]62.0 | \[ \mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(d\right), \mathsf{sqrt.f64}\left(h\right)\right), \color{blue}{\mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(d\right), \mathsf{sqrt.f64}\left(\ell\right)\right)}\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(M, 2\right), \mathsf{/.f64}\left(D, d\right)\right), 2\right), \mathsf{*.f64}\left(\frac{1}{2}, \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)\right)\right)
\] |
frac-times [=>]62.0 | \[ \mathsf{+.f64}\left(\color{blue}{\mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(d\right), \mathsf{sqrt.f64}\left(d\right)\right), \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(h\right), \mathsf{sqrt.f64}\left(\ell\right)\right)\right)}, \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(M, 2\right), \mathsf{/.f64}\left(D, d\right)\right), 2\right), \mathsf{*.f64}\left(\frac{1}{2}, \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)\right)\right)
\] |
add-sqr-sqrt [<=]62.1 | \[ \mathsf{+.f64}\left(\mathsf{/.f64}\left(\color{blue}{d}, \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(h\right), \mathsf{sqrt.f64}\left(\ell\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, h\right)\right), \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(M, 2\right), \mathsf{/.f64}\left(D, d\right)\right), 2\right), \mathsf{*.f64}\left(\frac{1}{2}, \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)\right)\right)
\] |
sqrt-div [=>]71.5 | \[ \mathsf{+.f64}\left(\mathsf{/.f64}\left(d, \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(h\right), \mathsf{sqrt.f64}\left(\ell\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(\color{blue}{\mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(d\right), \mathsf{sqrt.f64}\left(h\right)\right)}, \mathsf{sqrt.f64}\left(\mathsf{/.f64}\left(d, \ell\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(M, 2\right), \mathsf{/.f64}\left(D, d\right)\right), 2\right), \mathsf{*.f64}\left(\frac{1}{2}, \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)\right)\right)
\] |
sqrt-div [=>]74.6 | \[ \mathsf{+.f64}\left(\mathsf{/.f64}\left(d, \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(h\right), \mathsf{sqrt.f64}\left(\ell\right)\right)\right), \mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(d\right), \mathsf{sqrt.f64}\left(h\right)\right), \color{blue}{\mathsf{/.f64}\left(\mathsf{sqrt.f64}\left(d\right), \mathsf{sqrt.f64}\left(\ell\right)\right)}\right), \mathsf{neg.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(M, 2\right), \mathsf{/.f64}\left(D, d\right)\right), 2\right), \mathsf{*.f64}\left(\frac{1}{2}, \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)\right)\right)
\] |
frac-times [=>]74.6 | \[ \mathsf{+.f64}\left(\mathsf{/.f64}\left(d, \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(h\right), \mathsf{sqrt.f64}\left(\ell\right)\right)\right), \mathsf{*.f64}\left(\color{blue}{\mathsf{/.f64}\left(\mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(d\right), \mathsf{sqrt.f64}\left(d\right)\right), \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(h\right), \mathsf{sqrt.f64}\left(\ell\right)\right)\right)}, \mathsf{neg.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(M, 2\right), \mathsf{/.f64}\left(D, d\right)\right), 2\right), \mathsf{*.f64}\left(\frac{1}{2}, \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)\right)\right)
\] |
add-sqr-sqrt [<=]74.6 | \[ \mathsf{+.f64}\left(\mathsf{/.f64}\left(d, \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(h\right), \mathsf{sqrt.f64}\left(\ell\right)\right)\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(\color{blue}{d}, \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(h\right), \mathsf{sqrt.f64}\left(\ell\right)\right)\right), \mathsf{neg.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(M, 2\right), \mathsf{/.f64}\left(D, d\right)\right), 2\right), \mathsf{*.f64}\left(\frac{1}{2}, \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)\right)\right)
\] |
distribute-rgt-neg-in [=>]74.6 | \[ \mathsf{+.f64}\left(\mathsf{/.f64}\left(d, \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(h\right), \mathsf{sqrt.f64}\left(\ell\right)\right)\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(d, \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(h\right), \mathsf{sqrt.f64}\left(\ell\right)\right)\right), \color{blue}{\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(\mathsf{/.f64}\left(M, 2\right), \mathsf{/.f64}\left(D, d\right)\right), 2\right), \mathsf{neg.f64}\left(\mathsf{*.f64}\left(\frac{1}{2}, \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)}\right)\right)
\] |
Simplified74.6%
[Start]74.6 | \[ \mathsf{+.f64}\left(\mathsf{/.f64}\left(d, \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(h\right), \mathsf{sqrt.f64}\left(\ell\right)\right)\right), \mathsf{*.f64}\left(\mathsf{/.f64}\left(d, \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(h\right), \mathsf{sqrt.f64}\left(\ell\right)\right)\right), \mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(M, \frac{1}{2}\right), \mathsf{/.f64}\left(D, d\right)\right), 2\right), \mathsf{neg.f64}\left(\mathsf{*.f64}\left(\frac{1}{2}, \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right)\right)\right)
\] |
|---|---|
*-commutative [<=]74.6 | \[ \mathsf{+.f64}\left(\mathsf{/.f64}\left(d, \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(h\right), \mathsf{sqrt.f64}\left(\ell\right)\right)\right), \color{blue}{\mathsf{*.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(M, \frac{1}{2}\right), \mathsf{/.f64}\left(D, d\right)\right), 2\right), \mathsf{neg.f64}\left(\mathsf{*.f64}\left(\frac{1}{2}, \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right), \mathsf{/.f64}\left(d, \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(h\right), \mathsf{sqrt.f64}\left(\ell\right)\right)\right)\right)}\right)
\] |
distribute-rgt1-in [=>]74.6 | \[ \color{blue}{\mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(M, \frac{1}{2}\right), \mathsf{/.f64}\left(D, d\right)\right), 2\right), \mathsf{neg.f64}\left(\mathsf{*.f64}\left(\frac{1}{2}, \mathsf{/.f64}\left(h, \ell\right)\right)\right)\right), 1\right), \mathsf{/.f64}\left(d, \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(h\right), \mathsf{sqrt.f64}\left(\ell\right)\right)\right)\right)}
\] |
distribute-lft-neg-in [=>]74.6 | \[ \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(M, \frac{1}{2}\right), \mathsf{/.f64}\left(D, d\right)\right), 2\right), \color{blue}{\mathsf{*.f64}\left(\mathsf{neg.f64}\left(\frac{1}{2}\right), \mathsf{/.f64}\left(h, \ell\right)\right)}\right), 1\right), \mathsf{/.f64}\left(d, \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(h\right), \mathsf{sqrt.f64}\left(\ell\right)\right)\right)\right)
\] |
metadata-eval [=>]74.6 | \[ \mathsf{*.f64}\left(\mathsf{+.f64}\left(\mathsf{*.f64}\left(\mathsf{pow.f64}\left(\mathsf{*.f64}\left(\mathsf{*.f64}\left(M, \frac{1}{2}\right), \mathsf{/.f64}\left(D, d\right)\right), 2\right), \mathsf{*.f64}\left(\color{blue}{\frac{-1}{2}}, \mathsf{/.f64}\left(h, \ell\right)\right)\right), 1\right), \mathsf{/.f64}\left(d, \mathsf{*.f64}\left(\mathsf{sqrt.f64}\left(h\right), \mathsf{sqrt.f64}\left(\ell\right)\right)\right)\right)
\] |
Final simplification69.5%
| Alternative 1 | |
|---|---|
| Accuracy | 68.1% |
| Cost | 28048 |
| Alternative 2 | |
|---|---|
| Accuracy | 68.6% |
| Cost | 28048 |
| Alternative 3 | |
|---|---|
| Accuracy | 69.5% |
| Cost | 27660 |
| Alternative 4 | |
|---|---|
| Accuracy | 69.4% |
| Cost | 21188 |
| Alternative 5 | |
|---|---|
| Accuracy | 67.4% |
| Cost | 21132 |
| Alternative 6 | |
|---|---|
| Accuracy | 68.8% |
| Cost | 21132 |
| Alternative 7 | |
|---|---|
| Accuracy | 68.6% |
| Cost | 21004 |
| Alternative 8 | |
|---|---|
| Accuracy | 67.8% |
| Cost | 21004 |
| Alternative 9 | |
|---|---|
| Accuracy | 67.8% |
| Cost | 21004 |
| Alternative 10 | |
|---|---|
| Accuracy | 65.0% |
| Cost | 15188 |
| Alternative 11 | |
|---|---|
| Accuracy | 63.0% |
| Cost | 15056 |
| Alternative 12 | |
|---|---|
| Accuracy | 58.8% |
| Cost | 14864 |
| Alternative 13 | |
|---|---|
| Accuracy | 58.5% |
| Cost | 14864 |
| Alternative 14 | |
|---|---|
| Accuracy | 61.9% |
| Cost | 14600 |
| Alternative 15 | |
|---|---|
| Accuracy | 61.8% |
| Cost | 13580 |
| Alternative 16 | |
|---|---|
| Accuracy | 60.5% |
| Cost | 13316 |
| Alternative 17 | |
|---|---|
| Accuracy | 48.7% |
| Cost | 7113 |
| Alternative 18 | |
|---|---|
| Accuracy | 48.1% |
| Cost | 7113 |
| Alternative 19 | |
|---|---|
| Accuracy | 56.4% |
| Cost | 7112 |
| Alternative 20 | |
|---|---|
| Accuracy | 56.7% |
| Cost | 7112 |
| Alternative 21 | |
|---|---|
| Accuracy | 46.1% |
| Cost | 6980 |
| Alternative 22 | |
|---|---|
| Accuracy | 31.6% |
| Cost | 6784 |
herbie shell --seed 2023144
(FPCore (d h l M D)
:name "Henrywood and Agarwal, Equation (12)"
:precision binary64
(* (* (pow (/ d h) (/ 1.0 2.0)) (pow (/ d l) (/ 1.0 2.0))) (- 1.0 (* (* (/ 1.0 2.0) (pow (/ (* M D) (* 2.0 d)) 2.0)) (/ h l)))))