Details

Time bar (total: 22.3s)

analyze2.9s (13.2%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.7%0.3%0
0%99.7%0.3%1
0%99.7%0.3%2
0%99.7%0.3%3
0%99.7%0.3%4
0%99.7%0.3%5
0%99.7%0.3%6
0%98.1%1.9%7
0%98.1%1.9%8
0%97.8%2.2%9
0%96.8%3.2%10
0%96.3%3.7%11
0%94.3%5.7%12
0.4%92.1%7.5%13
0.6%90.8%8.6%14
Compiler

Compiled 35 to 24 computations (31.4% saved)

sample4.4s (19.8%)

Results
2.7s14408×body128invalid
1.6s8256×body128valid
Compiler

Compiled 104 to 71 computations (31.7% saved)

simplify47.0ms (0.2%)

Algorithm
egg-herbie
Rules
515×fma-neg_binary64
481×neg-mul-1_binary64
395×fma-def_binary64
358×cancel-sign-sub-inv_binary64
348×unsub-neg_binary64
Counts
1 → 2
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
02242
15840
218240
375738
4281537
5455537
6494437

prune5.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
29.2b
Counts
3 → 2
Alt Table
StatusErrorProgram
29.2b
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))))))
32.5b
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (-.f64 (-.f64 t (*.f64 2 (/.f64 (*.f64 l l) Om))) (*.f64 (*.f64 n (pow.f64 (/.f64 l Om) 2)) (-.f64 U U*)))))
Compiler

Compiled 189 to 119 computations (37% saved)

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
4.9b
(*.f64 n (/.f64 l Om))
8.1b
(*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))
10.8b
(*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))))))
17.6b
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))))))

series1.8s (8.3%)

Counts
4 → 216
Calls

4 calls:

1.4s
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))))))
387.0ms
(*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))))))
33.0ms
(*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))
11.0ms
(*.f64 n (/.f64 l Om))

rewrite78.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
223×add-sqr-sqrt_binary64
211×log1p-expm1-u_binary64
211×expm1-log1p-u_binary64
207×add-log-exp_binary64
206×add-cube-cbrt_binary64
Counts
4 → 84
Calls

4 calls:

76.0ms
(*.f64 n (/.f64 l Om))
76.0ms
(*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))
76.0ms
(*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))))))
76.0ms
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02092
144088
2484988
3513788
000
100

simplify199.0ms (0.9%)

Algorithm
egg-herbie
Rules
734×fma-def_binary64
405×*-commutative_binary64
195×associate-*r*_binary64
150×+-commutative_binary64
147×associate-/l*_binary64
Counts
300 → 211
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
087617039
1308416145
2502016145

prune415.0ms (1.9%)

Pruning

21 alts after pruning (20 fresh and 1 done)

PrunedKeptTotal
New19120211
Fresh101
Picked011
Done000
Total19221213
Error
10.8b
Counts
213 → 21
Alt Table
StatusErrorProgram
31.5b
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (/.f64 (*.f64 n (-.f64 U* U)) Om) l))))))
42.9b
(sqrt.f64 (-.f64 (*.f64 2 (+.f64 (/.f64 (*.f64 (*.f64 n n) (*.f64 (*.f64 l l) (*.f64 U* U))) (*.f64 Om Om)) (*.f64 n (*.f64 U t)))) (fma.f64 2 (/.f64 (*.f64 (*.f64 n n) (*.f64 (*.f64 l l) (*.f64 U U))) (*.f64 Om Om)) (*.f64 4 (/.f64 (*.f64 n (*.f64 (*.f64 l l) U)) Om)))))
62.2b
(sqrt.f64 (log.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 2) n) U) (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))))
56.3b
(*.f64 (sqrt.f64 (*.f64 n (*.f64 U (-.f64 (/.f64 (*.f64 n U*) (*.f64 Om Om)) (+.f64 (/.f64 2 Om) (/.f64 (*.f64 n U) (*.f64 Om Om))))))) (*.f64 (sqrt.f64 2) l))
61.1b
(sqrt.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 n 2) (*.f64 (pow.f64 l 2) (*.f64 U U*))) (pow.f64 Om 2))))
34.4b
(sqrt.f64 (*.f64 n (-.f64 (*.f64 2 (*.f64 t U)) (*.f64 4 (/.f64 (*.f64 (pow.f64 l 2) U) Om)))))
38.0b
(*.f64 (sqrt.f64 (*.f64 n (*.f64 t U))) (sqrt.f64 2))
29.6b
(*.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))) (cbrt.f64 (sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t)))))
60.1b
(*.f64 (sqrt.f64 (*.f64 n (*.f64 U (*.f64 n (*.f64 (*.f64 l l) (-.f64 U* U)))))) (/.f64 (sqrt.f64 2) Om))
30.4b
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (neg.f64 (/.f64 (*.f64 (*.f64 n l) (-.f64 U U*)) Om)))))))
61.4b
(neg.f64 (*.f64 n (sqrt.f64 (*.f64 -2 (*.f64 U (-.f64 (/.f64 (*.f64 (*.f64 l l) U) (*.f64 Om Om)) (/.f64 (*.f64 (*.f64 l l) U*) (*.f64 Om Om))))))))
31.8b
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (/.f64 (*.f64 n (*.f64 (-.f64 U* U) l)) Om))))))
58.7b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 n (*.f64 U (-.f64 (/.f64 (*.f64 n U*) (*.f64 Om Om)) (+.f64 (/.f64 2 Om) (/.f64 (*.f64 n U) (*.f64 Om Om))))))) (*.f64 (sqrt.f64 2) l)))
57.2b
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 (*.f64 n U) (-.f64 (/.f64 (*.f64 n U*) (*.f64 Om Om)) (+.f64 (/.f64 2 Om) (/.f64 (*.f64 n U) (*.f64 Om Om)))))) (/.f64 (*.f64 (sqrt.f64 2) t) l)) (*.f64 (sqrt.f64 (*.f64 n (*.f64 U (-.f64 (/.f64 (*.f64 n U*) (*.f64 Om Om)) (+.f64 (/.f64 2 Om) (/.f64 (*.f64 n U) (*.f64 Om Om))))))) (*.f64 (sqrt.f64 2) l)))
63.1b
(-.f64 (+.f64 (*.f64 (*.f64 n (sqrt.f64 2)) (sqrt.f64 (*.f64 (-.f64 (/.f64 (*.f64 (pow.f64 l 2) U*) (pow.f64 Om 2)) (/.f64 (*.f64 (pow.f64 l 2) U) (pow.f64 Om 2))) U))) (*.f64 1/2 (*.f64 (*.f64 t (sqrt.f64 2)) (sqrt.f64 (/.f64 U (-.f64 (/.f64 (*.f64 (pow.f64 l 2) U*) (pow.f64 Om 2)) (/.f64 (*.f64 (pow.f64 l 2) U) (pow.f64 Om 2)))))))) (*.f64 (/.f64 (*.f64 (pow.f64 l 2) (sqrt.f64 2)) Om) (sqrt.f64 (/.f64 U (-.f64 (/.f64 (*.f64 (pow.f64 l 2) U*) (pow.f64 Om 2)) (/.f64 (*.f64 (pow.f64 l 2) U) (pow.f64 Om 2)))))))
33.5b
(sqrt.f64 (*.f64 n (fma.f64 2 (*.f64 U t) (*.f64 (*.f64 (/.f64 (*.f64 l l) Om) U) -4))))
29.2b
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))))))
44.2b
(*.f64 (sqrt.f64 (*.f64 (*.f64 2 n) U)) (sqrt.f64 (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t)))
42.8b
(*.f64 (sqrt.f64 (*.f64 2 n)) (sqrt.f64 (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))))
42.1b
(-.f64 (*.f64 (sqrt.f64 (*.f64 n (*.f64 t U))) (sqrt.f64 2)) (*.f64 (sqrt.f64 (/.f64 (*.f64 n U) t)) (/.f64 (*.f64 (pow.f64 l 2) (sqrt.f64 2)) Om)))
38.7b
(sqrt.f64 (*.f64 U (fma.f64 2 (fma.f64 n t (/.f64 (*.f64 (*.f64 (*.f64 l l) U*) (*.f64 n n)) (*.f64 Om Om))) (*.f64 (/.f64 (*.f64 n (*.f64 l l)) Om) -4))))
Compiler

Compiled 19551 to 10848 computations (44.5% saved)

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
8.1b
(*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))
10.8b
(*.f64 (*.f64 (*.f64 2 n) U) (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))
17.6b
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t)))
18.7b
(cbrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t)))

series3.2s (14.4%)

Counts
3 → 192
Calls

3 calls:

1.4s
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t)))
1.4s
(cbrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t)))
445.0ms
(*.f64 (*.f64 (*.f64 2 n) U) (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))

rewrite87.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
378×prod-diff_binary64
211×add-sqr-sqrt_binary64
197×log1p-expm1-u_binary64
197×expm1-log1p-u_binary64
195×add-cube-cbrt_binary64
Counts
3 → 66
Calls

3 calls:

85.0ms
(*.f64 (*.f64 (*.f64 2 n) U) (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))
84.0ms
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t)))
84.0ms
(cbrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
020103
1421103
24943103
35694103
000
100

simplify369.0ms (1.7%)

Algorithm
egg-herbie
Rules
408×fma-def_binary64
375×associate-/l*_binary64
243×associate-/r*_binary64
243×times-frac_binary64
101×sub-neg_binary64
Counts
258 → 314
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0239941513
1517341513

prune1.0s (4.5%)

Pruning

21 alts after pruning (19 fresh and 2 done)

PrunedKeptTotal
New4230423
Fresh01919
Picked011
Done011
Total42321444
Error
10.8b
Counts
444 → 21
Alt Table
StatusErrorProgram
31.5b
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (/.f64 (*.f64 n (-.f64 U* U)) Om) l))))))
42.9b
(sqrt.f64 (-.f64 (*.f64 2 (+.f64 (/.f64 (*.f64 (*.f64 n n) (*.f64 (*.f64 l l) (*.f64 U* U))) (*.f64 Om Om)) (*.f64 n (*.f64 U t)))) (fma.f64 2 (/.f64 (*.f64 (*.f64 n n) (*.f64 (*.f64 l l) (*.f64 U U))) (*.f64 Om Om)) (*.f64 4 (/.f64 (*.f64 n (*.f64 (*.f64 l l) U)) Om)))))
62.2b
(sqrt.f64 (log.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 2) n) U) (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))))
56.3b
(*.f64 (sqrt.f64 (*.f64 n (*.f64 U (-.f64 (/.f64 (*.f64 n U*) (*.f64 Om Om)) (+.f64 (/.f64 2 Om) (/.f64 (*.f64 n U) (*.f64 Om Om))))))) (*.f64 (sqrt.f64 2) l))
61.1b
(sqrt.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 n 2) (*.f64 (pow.f64 l 2) (*.f64 U U*))) (pow.f64 Om 2))))
34.4b
(sqrt.f64 (*.f64 n (-.f64 (*.f64 2 (*.f64 t U)) (*.f64 4 (/.f64 (*.f64 (pow.f64 l 2) U) Om)))))
38.0b
(*.f64 (sqrt.f64 (*.f64 n (*.f64 t U))) (sqrt.f64 2))
29.6b
(*.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))) (cbrt.f64 (sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t)))))
60.1b
(*.f64 (sqrt.f64 (*.f64 n (*.f64 U (*.f64 n (*.f64 (*.f64 l l) (-.f64 U* U)))))) (/.f64 (sqrt.f64 2) Om))
30.4b
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (neg.f64 (/.f64 (*.f64 (*.f64 n l) (-.f64 U U*)) Om)))))))
61.4b
(neg.f64 (*.f64 n (sqrt.f64 (*.f64 -2 (*.f64 U (-.f64 (/.f64 (*.f64 (*.f64 l l) U) (*.f64 Om Om)) (/.f64 (*.f64 (*.f64 l l) U*) (*.f64 Om Om))))))))
31.8b
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (/.f64 (*.f64 n (*.f64 (-.f64 U* U) l)) Om))))))
58.7b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 n (*.f64 U (-.f64 (/.f64 (*.f64 n U*) (*.f64 Om Om)) (+.f64 (/.f64 2 Om) (/.f64 (*.f64 n U) (*.f64 Om Om))))))) (*.f64 (sqrt.f64 2) l)))
57.2b
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 (*.f64 n U) (-.f64 (/.f64 (*.f64 n U*) (*.f64 Om Om)) (+.f64 (/.f64 2 Om) (/.f64 (*.f64 n U) (*.f64 Om Om)))))) (/.f64 (*.f64 (sqrt.f64 2) t) l)) (*.f64 (sqrt.f64 (*.f64 n (*.f64 U (-.f64 (/.f64 (*.f64 n U*) (*.f64 Om Om)) (+.f64 (/.f64 2 Om) (/.f64 (*.f64 n U) (*.f64 Om Om))))))) (*.f64 (sqrt.f64 2) l)))
63.1b
(-.f64 (+.f64 (*.f64 (*.f64 n (sqrt.f64 2)) (sqrt.f64 (*.f64 (-.f64 (/.f64 (*.f64 (pow.f64 l 2) U*) (pow.f64 Om 2)) (/.f64 (*.f64 (pow.f64 l 2) U) (pow.f64 Om 2))) U))) (*.f64 1/2 (*.f64 (*.f64 t (sqrt.f64 2)) (sqrt.f64 (/.f64 U (-.f64 (/.f64 (*.f64 (pow.f64 l 2) U*) (pow.f64 Om 2)) (/.f64 (*.f64 (pow.f64 l 2) U) (pow.f64 Om 2)))))))) (*.f64 (/.f64 (*.f64 (pow.f64 l 2) (sqrt.f64 2)) Om) (sqrt.f64 (/.f64 U (-.f64 (/.f64 (*.f64 (pow.f64 l 2) U*) (pow.f64 Om 2)) (/.f64 (*.f64 (pow.f64 l 2) U) (pow.f64 Om 2)))))))
33.5b
(sqrt.f64 (*.f64 n (fma.f64 2 (*.f64 U t) (*.f64 (*.f64 (/.f64 (*.f64 l l) Om) U) -4))))
29.2b
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))))))
44.2b
(*.f64 (sqrt.f64 (*.f64 (*.f64 2 n) U)) (sqrt.f64 (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t)))
42.8b
(*.f64 (sqrt.f64 (*.f64 2 n)) (sqrt.f64 (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))))
42.1b
(-.f64 (*.f64 (sqrt.f64 (*.f64 n (*.f64 t U))) (sqrt.f64 2)) (*.f64 (sqrt.f64 (/.f64 (*.f64 n U) t)) (/.f64 (*.f64 (pow.f64 l 2) (sqrt.f64 2)) Om)))
38.7b
(sqrt.f64 (*.f64 U (fma.f64 2 (fma.f64 n t (/.f64 (*.f64 (*.f64 (*.f64 l l) U*) (*.f64 n n)) (*.f64 Om Om))) (*.f64 (/.f64 (*.f64 n (*.f64 l l)) Om) -4))))
Compiler

Compiled 66394 to 35569 computations (46.4% saved)

localize18.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
6.4b
(*.f64 (*.f64 n l) (-.f64 U U*))
6.7b
(/.f64 (*.f64 (*.f64 n l) (-.f64 U U*)) Om)
10.8b
(*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (neg.f64 (/.f64 (*.f64 (*.f64 n l) (-.f64 U U*)) Om))))))
17.6b
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (neg.f64 (/.f64 (*.f64 (*.f64 n l) (-.f64 U U*)) Om)))))))

series1.8s (8.3%)

Counts
4 → 228
Calls

4 calls:

1.4s
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (neg.f64 (/.f64 (*.f64 (*.f64 n l) (-.f64 U U*)) Om)))))))
400.0ms
(*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (neg.f64 (/.f64 (*.f64 (*.f64 n l) (-.f64 U U*)) Om))))))
32.0ms
(/.f64 (*.f64 (*.f64 n l) (-.f64 U U*)) Om)
13.0ms
(*.f64 (*.f64 n l) (-.f64 U U*))

rewrite76.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
247×add-sqr-sqrt_binary64
233×log1p-expm1-u_binary64
233×expm1-log1p-u_binary64
228×add-cbrt-cube_binary64
228×add-exp-log_binary64
Counts
4 → 74
Calls

4 calls:

74.0ms
(*.f64 (*.f64 n l) (-.f64 U U*))
74.0ms
(/.f64 (*.f64 (*.f64 n l) (-.f64 U U*)) Om)
74.0ms
(*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (neg.f64 (/.f64 (*.f64 (*.f64 n l) (-.f64 U U*)) Om))))))
74.0ms
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (neg.f64 (/.f64 (*.f64 (*.f64 n l) (-.f64 U U*)) Om)))))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02299
148895
2486795
3499095
000
100

simplify210.0ms (0.9%)

Algorithm
egg-herbie
Rules
734×fma-def_binary64
404×*-commutative_binary64
195×associate-*r*_binary64
150×+-commutative_binary64
145×associate-/l*_binary64
Counts
302 → 209
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
087217255
1308416361
2501616361

prune362.0ms (1.6%)

Pruning

21 alts after pruning (19 fresh and 2 done)

PrunedKeptTotal
New2054209
Fresh31518
Picked101
Done022
Total20921230
Error
10.8b
Counts
230 → 21
Alt Table
StatusErrorProgram
31.5b
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (/.f64 (*.f64 n (-.f64 U* U)) Om) l))))))
42.9b
(sqrt.f64 (-.f64 (*.f64 2 (+.f64 (/.f64 (*.f64 (*.f64 n n) (*.f64 (*.f64 l l) (*.f64 U* U))) (*.f64 Om Om)) (*.f64 n (*.f64 U t)))) (fma.f64 2 (/.f64 (*.f64 (*.f64 n n) (*.f64 (*.f64 l l) (*.f64 U U))) (*.f64 Om Om)) (*.f64 4 (/.f64 (*.f64 n (*.f64 (*.f64 l l) U)) Om)))))
62.2b
(sqrt.f64 (log.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 2) n) U) (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))))
56.3b
(*.f64 (sqrt.f64 (*.f64 n (*.f64 U (-.f64 (/.f64 (*.f64 n U*) (*.f64 Om Om)) (+.f64 (/.f64 2 Om) (/.f64 (*.f64 n U) (*.f64 Om Om))))))) (*.f64 (sqrt.f64 2) l))
61.1b
(sqrt.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 n 2) (*.f64 (pow.f64 l 2) (*.f64 U U*))) (pow.f64 Om 2))))
34.4b
(sqrt.f64 (*.f64 n (-.f64 (*.f64 2 (*.f64 t U)) (*.f64 4 (/.f64 (*.f64 (pow.f64 l 2) U) Om)))))
38.0b
(*.f64 (sqrt.f64 (*.f64 n (*.f64 t U))) (sqrt.f64 2))
42.1b
(-.f64 (*.f64 (sqrt.f64 (*.f64 n (*.f64 t U))) (sqrt.f64 2)) (*.f64 (sqrt.f64 (/.f64 (*.f64 n U) t)) (/.f64 (*.f64 (pow.f64 l 2) (sqrt.f64 2)) Om)))
30.4b
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (neg.f64 (*.f64 (*.f64 (*.f64 n l) (-.f64 U U*)) (/.f64 1 Om))))))))
29.6b
(*.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))) (cbrt.f64 (sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t)))))
60.1b
(*.f64 (sqrt.f64 (*.f64 n (*.f64 U (*.f64 n (*.f64 (*.f64 l l) (-.f64 U* U)))))) (/.f64 (sqrt.f64 2) Om))
61.4b
(neg.f64 (*.f64 n (sqrt.f64 (*.f64 -2 (*.f64 U (-.f64 (/.f64 (*.f64 (*.f64 l l) U) (*.f64 Om Om)) (/.f64 (*.f64 (*.f64 l l) U*) (*.f64 Om Om))))))))
61.4b
(*.f64 (*.f64 n (sqrt.f64 2)) (sqrt.f64 (*.f64 U (-.f64 (/.f64 (*.f64 (*.f64 l l) U*) (*.f64 Om Om)) (/.f64 (*.f64 (*.f64 l l) U) (*.f64 Om Om))))))
33.5b
(sqrt.f64 (*.f64 n (fma.f64 2 (*.f64 U t) (*.f64 (*.f64 (/.f64 (*.f64 l l) Om) U) -4))))
29.2b
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))))))
44.2b
(*.f64 (sqrt.f64 (*.f64 (*.f64 2 n) U)) (sqrt.f64 (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t)))
39.1b
(pow.f64 (pow.f64 (*.f64 (*.f64 (*.f64 2 n) U) (fma.f64 (/.f64 l Om) (fma.f64 l -2 (neg.f64 (/.f64 (*.f64 (*.f64 n l) (-.f64 U U*)) Om))) t)) 3/2) 1/3)
43.8b
(*.f64 (sqrt.f64 (*.f64 2 n)) (pow.f64 (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (neg.f64 (/.f64 (*.f64 (*.f64 n l) (-.f64 U U*)) Om))) t)) 1/2))
58.7b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 n (*.f64 U (-.f64 (/.f64 (*.f64 n U*) (*.f64 Om Om)) (+.f64 (/.f64 2 Om) (/.f64 (*.f64 n U) (*.f64 Om Om))))))) (*.f64 (sqrt.f64 2) l)))
38.7b
(sqrt.f64 (*.f64 U (fma.f64 2 (fma.f64 n t (/.f64 (*.f64 (*.f64 (*.f64 l l) U*) (*.f64 n n)) (*.f64 Om Om))) (*.f64 (/.f64 (*.f64 n (*.f64 l l)) Om) -4))))
57.2b
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 (*.f64 n U) (-.f64 (/.f64 (*.f64 n U*) (*.f64 Om Om)) (+.f64 (/.f64 2 Om) (/.f64 (*.f64 n U) (*.f64 Om Om)))))) (/.f64 (*.f64 (sqrt.f64 2) t) l)) (*.f64 (sqrt.f64 (*.f64 n (*.f64 U (-.f64 (/.f64 (*.f64 n U*) (*.f64 Om Om)) (+.f64 (/.f64 2 Om) (/.f64 (*.f64 n U) (*.f64 Om Om))))))) (*.f64 (sqrt.f64 2) l)))
Compiler

Compiled 19177 to 10624 computations (44.6% saved)

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
6.4b
(*.f64 (*.f64 n l) (-.f64 U U*))
6.8b
(*.f64 (*.f64 (*.f64 n l) (-.f64 U U*)) (/.f64 1 Om))
10.8b
(*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (neg.f64 (*.f64 (*.f64 (*.f64 n l) (-.f64 U U*)) (/.f64 1 Om)))))))
17.6b
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (neg.f64 (*.f64 (*.f64 (*.f64 n l) (-.f64 U U*)) (/.f64 1 Om))))))))

series1.8s (8.2%)

Counts
3 → 180
Calls

3 calls:

1.4s
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (neg.f64 (*.f64 (*.f64 (*.f64 n l) (-.f64 U U*)) (/.f64 1 Om))))))))
398.0ms
(*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (neg.f64 (*.f64 (*.f64 (*.f64 n l) (-.f64 U U*)) (/.f64 1 Om)))))))
32.0ms
(*.f64 (*.f64 (*.f64 n l) (-.f64 U U*)) (/.f64 1 Om))

rewrite38.0ms (0.2%)

Algorithm
batch-egg-rewrite
Rules
260×add-sqr-sqrt_binary64
245×log1p-expm1-u_binary64
245×expm1-log1p-u_binary64
241×add-log-exp_binary64
240×add-cbrt-cube_binary64
Counts
3 → 59
Calls

3 calls:

36.0ms
(*.f64 (*.f64 (*.f64 n l) (-.f64 U U*)) (/.f64 1 Om))
36.0ms
(*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (neg.f64 (*.f64 (*.f64 (*.f64 n l) (-.f64 U U*)) (/.f64 1 Om)))))))
35.0ms
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (neg.f64 (*.f64 (*.f64 (*.f64 n l) (-.f64 U U*)) (/.f64 1 Om))))))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02489
152585
2499785
000
100

simplify196.0ms (0.9%)

Algorithm
egg-herbie
Rules
734×fma-def_binary64
403×*-commutative_binary64
194×associate-*r*_binary64
150×+-commutative_binary64
145×associate-/l*_binary64
Counts
239 → 186
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
087116787
1308215893
2501615893

prune319.0ms (1.4%)

Pruning

20 alts after pruning (18 fresh and 2 done)

PrunedKeptTotal
New2071208
Fresh11718
Picked101
Done022
Total20920229
Error
10.8b
Counts
229 → 20
Alt Table
StatusErrorProgram
62.2b
(sqrt.f64 (log.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 2) n) U) (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))))
56.3b
(*.f64 (sqrt.f64 (*.f64 n (*.f64 U (-.f64 (/.f64 (*.f64 n U*) (*.f64 Om Om)) (+.f64 (/.f64 2 Om) (/.f64 (*.f64 n U) (*.f64 Om Om))))))) (*.f64 (sqrt.f64 2) l))
61.1b
(sqrt.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 n 2) (*.f64 (pow.f64 l 2) (*.f64 U U*))) (pow.f64 Om 2))))
34.4b
(sqrt.f64 (*.f64 n (-.f64 (*.f64 2 (*.f64 t U)) (*.f64 4 (/.f64 (*.f64 (pow.f64 l 2) U) Om)))))
38.0b
(*.f64 (sqrt.f64 (*.f64 n (*.f64 t U))) (sqrt.f64 2))
29.6b
(*.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))) (cbrt.f64 (sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t)))))
60.1b
(*.f64 (sqrt.f64 (*.f64 n (*.f64 U (*.f64 n (*.f64 (*.f64 l l) (-.f64 U* U)))))) (/.f64 (sqrt.f64 2) Om))
61.4b
(neg.f64 (*.f64 n (sqrt.f64 (*.f64 -2 (*.f64 U (-.f64 (/.f64 (*.f64 (*.f64 l l) U) (*.f64 Om Om)) (/.f64 (*.f64 (*.f64 l l) U*) (*.f64 Om Om))))))))
61.4b
(*.f64 (*.f64 n (sqrt.f64 2)) (sqrt.f64 (*.f64 U (-.f64 (/.f64 (*.f64 (*.f64 l l) U*) (*.f64 Om Om)) (/.f64 (*.f64 (*.f64 l l) U) (*.f64 Om Om))))))
31.0b
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (neg.f64 (/.f64 (*.f64 l (*.f64 n (-.f64 U U*))) Om)))))))
58.7b
(neg.f64 (*.f64 (sqrt.f64 (*.f64 n (*.f64 U (-.f64 (/.f64 (*.f64 n U*) (*.f64 Om Om)) (+.f64 (/.f64 2 Om) (/.f64 (*.f64 n U) (*.f64 Om Om))))))) (*.f64 (sqrt.f64 2) l)))
42.9b
(sqrt.f64 (-.f64 (*.f64 2 (+.f64 (/.f64 (*.f64 (*.f64 n n) (*.f64 (*.f64 l l) (*.f64 U* U))) (*.f64 Om Om)) (*.f64 n (*.f64 U t)))) (fma.f64 2 (/.f64 (*.f64 (*.f64 n n) (*.f64 (*.f64 l l) (*.f64 U U))) (*.f64 Om Om)) (*.f64 4 (/.f64 (*.f64 n (*.f64 (*.f64 l l) U)) Om)))))
33.5b
(sqrt.f64 (*.f64 n (fma.f64 2 (*.f64 U t) (*.f64 (*.f64 (/.f64 (*.f64 l l) Om) U) -4))))
29.2b
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))))))
44.2b
(*.f64 (sqrt.f64 (*.f64 (*.f64 2 n) U)) (sqrt.f64 (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t)))
39.1b
(pow.f64 (pow.f64 (*.f64 (*.f64 (*.f64 2 n) U) (fma.f64 (/.f64 l Om) (fma.f64 l -2 (neg.f64 (/.f64 (*.f64 (*.f64 n l) (-.f64 U U*)) Om))) t)) 3/2) 1/3)
42.1b
(-.f64 (*.f64 (sqrt.f64 (*.f64 n (*.f64 t U))) (sqrt.f64 2)) (*.f64 (sqrt.f64 (/.f64 (*.f64 n U) t)) (/.f64 (*.f64 (pow.f64 l 2) (sqrt.f64 2)) Om)))
43.8b
(*.f64 (sqrt.f64 (*.f64 2 n)) (pow.f64 (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (neg.f64 (/.f64 (*.f64 (*.f64 n l) (-.f64 U U*)) Om))) t)) 1/2))
38.7b
(sqrt.f64 (*.f64 U (fma.f64 2 (fma.f64 n t (/.f64 (*.f64 (*.f64 (*.f64 l l) U*) (*.f64 n n)) (*.f64 Om Om))) (*.f64 (/.f64 (*.f64 n (*.f64 l l)) Om) -4))))
57.2b
(fma.f64 1/2 (*.f64 (sqrt.f64 (/.f64 (*.f64 n U) (-.f64 (/.f64 (*.f64 n U*) (*.f64 Om Om)) (+.f64 (/.f64 2 Om) (/.f64 (*.f64 n U) (*.f64 Om Om)))))) (/.f64 (*.f64 (sqrt.f64 2) t) l)) (*.f64 (sqrt.f64 (*.f64 n (*.f64 U (-.f64 (/.f64 (*.f64 n U*) (*.f64 Om Om)) (+.f64 (/.f64 2 Om) (/.f64 (*.f64 n U) (*.f64 Om Om))))))) (*.f64 (sqrt.f64 2) l)))
Compiler

Compiled 18509 to 10252 computations (44.6% saved)

regimes2.3s (10.3%)

Accuracy

Total 13.9b remaining (52.1%)

Threshold costs 0b (0%)

Counts
116 → 3
Compiler

Compiled 36674 to 23786 computations (35.1% saved)

bsearch7.0ms (0%)

Compiler

Compiled 33 to 22 computations (33.3% saved)

simplify33.0ms (0.2%)

Algorithm
egg-herbie
Rules
198×distribute-rgt-neg-in_binary64
135×distribute-lft-neg-in_binary64
135×cancel-sign-sub-inv_binary64
121×distribute-lft-neg-out_binary64
115×neg-sub0_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
062211
1105211
2147211
3191209
4232209
5258209
6271209
7298209
8325209
9374209
10449209
11541209
12612209
13694209
14791209
15860209
16906209
17923209
18925209
19919209

end394.0ms (1.8%)

Compiler

Compiled 983 to 589 computations (40.1% saved)

Profiling

Loading profile data...