Details

Time bar (total: 18.5s)

analyze3.0s (16.3%)

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.6s (24.9%)

Results
2.8s14507×body128invalid
1.7s8256×body128valid
Compiler

Compiled 104 to 71 computations (31.7% saved)

simplify48.0ms (0.3%)

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

prune4.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
28.2b
Counts
3 → 2
Alt Table
StatusErrorProgram
32.1b
(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*)))))
28.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))))))))
Compiler

Compiled 189 to 119 computations (37% saved)

localize16.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
4.7b
(*.f64 n (/.f64 l Om))
7.2b
(*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))
10.6b
(*.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)))))))
16.5b
(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.1s (5.9%)

Counts
4 → 216
Calls

4 calls:

754.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))))))))
295.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)))
12.0ms
(*.f64 n (/.f64 l Om))

rewrite73.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 → 88
Calls

4 calls:

71.0ms
(*.f64 n (/.f64 l Om))
71.0ms
(*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))
70.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)))))))
70.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: 1 (0.0ms)

IterNodesCost
02092
144088
2484988
3513788

simplify206.0ms (1.1%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
087617039
1308416145
2502016145

prune398.0ms (2.2%)

Pruning

20 alts after pruning (20 fresh and 0 done)

PrunedKeptTotal
New19520215
Fresh101
Picked101
Done000
Total19720217
Error
11.1b
Counts
217 → 20
Alt Table
StatusErrorProgram
39.7b
(*.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))))
40.8b
(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))))
62.4b
(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))))
34.6b
(sqrt.f64 (*.f64 n (fma.f64 2 (*.f64 U t) (*.f64 (*.f64 (/.f64 (*.f64 l l) Om) U) -4))))
28.6b
(sqrt.f64 (pow.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))) 3))
33.4b
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (neg.f64 (/.f64 (*.f64 n (*.f64 l U)) Om)))))))
34.1b
(sqrt.f64 (*.f64 n (-.f64 (*.f64 2 (*.f64 t U)) (*.f64 4 (/.f64 (*.f64 (pow.f64 l 2) U) Om)))))
61.6b
(sqrt.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 n 2) (*.f64 (pow.f64 l 2) (*.f64 U U*))) (pow.f64 Om 2))))
61.6b
(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))))))))
37.1b
(cbrt.f64 (pow.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)) 3/2))
61.3b
(*.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)))
28.4b
(pow.f64 (pow.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/4) 2)
58.1b
(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.8b
(*.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)))
59.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))
36.7b
(*.f64 (sqrt.f64 (*.f64 n (*.f64 t U))) (sqrt.f64 2))
28.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)))))
41.5b
(-.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)))
60.3b
(*.f64 (sqrt.f64 (*.f64 n (*.f64 U (*.f64 n (*.f64 (*.f64 l l) (-.f64 U* U)))))) (/.f64 (sqrt.f64 2) Om))
60.1b
(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 19444 to 10753 computations (44.7% saved)

localize19.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
4.7b
(*.f64 n (/.f64 l Om))
7.2b
(*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))
10.6b
(*.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.0b
(pow.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/4)

series786.0ms (4.3%)

Counts
2 → 144
Calls

2 calls:

528.0ms
(pow.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/4)
257.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))

rewrite67.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
234×prod-diff_binary64
216×add-sqr-sqrt_binary64
205×log1p-expm1-u_binary64
205×expm1-log1p-u_binary64
201×add-log-exp_binary64
Counts
2 → 37
Calls

2 calls:

66.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))
66.0ms
(pow.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/4)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02069
143369
2486069
3526369

simplify249.0ms (1.3%)

Algorithm
egg-herbie
Rules
705×*-commutative_binary64
298×associate-*r*_binary64
254×fma-def_binary64
220×associate-/l*_binary64
206×associate-*r/_binary64
Counts
181 → 197
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0144928752
1511328752

prune628.0ms (3.4%)

Pruning

27 alts after pruning (26 fresh and 1 done)

PrunedKeptTotal
New23710247
Fresh31619
Picked011
Done000
Total24027267
Error
9.0b
Counts
267 → 27
Alt Table
StatusErrorProgram
60.5b
(pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (*.f64 2 (*.f64 n (*.f64 U (-.f64 (/.f64 (*.f64 n U*) (*.f64 Om Om)) (+.f64 (/.f64 2 Om) (/.f64 (*.f64 n U) (*.f64 Om Om)))))))) (*.f64 2 (neg.f64 (log.f64 l))))) 2)
39.7b
(*.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))))
40.8b
(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))))
42.9b
(pow.f64 (*.f64 (pow.f64 (*.f64 (*.f64 2 n) U) 1/4) (pow.f64 (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t) 1/4)) 2)
62.4b
(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))))
51.8b
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (-.f64 (+.f64 (*.f64 2 (*.f64 n t)) (*.f64 2 (/.f64 (*.f64 (pow.f64 n 2) (*.f64 (pow.f64 l 2) U*)) (pow.f64 Om 2)))) (*.f64 4 (/.f64 (*.f64 n (pow.f64 l 2)) Om)))) (log.f64 U)))) 2)
28.6b
(sqrt.f64 (pow.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))) 3))
33.4b
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (neg.f64 (/.f64 (*.f64 n (*.f64 l U)) Om)))))))
34.1b
(sqrt.f64 (*.f64 n (-.f64 (*.f64 2 (*.f64 t U)) (*.f64 4 (/.f64 (*.f64 (pow.f64 l 2) U) Om)))))
61.6b
(sqrt.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 n 2) (*.f64 (pow.f64 l 2) (*.f64 U U*))) (pow.f64 Om 2))))
61.6b
(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))))))))
49.4b
(pow.f64 (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (*.f64 -2 (*.f64 n U))) (log.f64 (/.f64 -1 t))))) 2)
60.3b
(*.f64 (sqrt.f64 (*.f64 n (*.f64 U (*.f64 n (*.f64 (*.f64 l l) (-.f64 U* U)))))) (/.f64 (sqrt.f64 2) Om))
49.8b
(pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (*.f64 2 (*.f64 n U))) (neg.f64 (log.f64 t)))) 2)
37.1b
(cbrt.f64 (pow.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)) 3/2))
61.3b
(*.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)))
49.3b
(pow.f64 (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (*.f64 2 (*.f64 n U))) (log.f64 (/.f64 1 t))))) 2)
28.4b
(pow.f64 (pow.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/4) 2)
58.1b
(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)))
61.1b
(pow.f64 (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (*.f64 2 (*.f64 n (*.f64 (-.f64 (*.f64 n (*.f64 (pow.f64 l 2) U*)) (*.f64 n (*.f64 (pow.f64 l 2) U))) U)))) (*.f64 2 (log.f64 Om))))) 2)
42.8b
(*.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)))
36.7b
(*.f64 (sqrt.f64 (*.f64 n (*.f64 t U))) (sqrt.f64 2))
28.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)))))
39.8b
(pow.f64 (*.f64 (pow.f64 (*.f64 2 n) 1/4) (pow.f64 (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t)) 1/4)) 2)
45.8b
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 n) (log.f64 (-.f64 (*.f64 2 (*.f64 t U)) (*.f64 4 (/.f64 (*.f64 (pow.f64 l 2) U) Om))))))) 2)
60.1b
(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.0b
(pow.f64 (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 n 2) (*.f64 (pow.f64 l 2) U)) (pow.f64 Om 2)))) (log.f64 (/.f64 1 U*))))) 2)
Compiler

Compiled 37312 to 21993 computations (41.1% saved)

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
7.2b
(*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))
10.6b
(*.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))
16.5b
(sqrt.f64 (pow.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))) 3))
17.3b
(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)))

series1.5s (7.9%)

Counts
2 → 120
Calls

2 calls:

896.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)))
559.0ms
(sqrt.f64 (pow.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))) 3))

rewrite67.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
234×prod-diff_binary64
219×add-sqr-sqrt_binary64
208×log1p-expm1-u_binary64
208×expm1-log1p-u_binary64
204×add-cbrt-cube_binary64
Counts
2 → 58
Calls

2 calls:

65.0ms
(sqrt.f64 (pow.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))) 3))
65.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
02270
144870
2482470
3521370

simplify359.0ms (1.9%)

Algorithm
egg-herbie
Rules
369×fma-def_binary64
328×associate-/l*_binary64
283×associate-*r/_binary64
238×associate-/r*_binary64
222×times-frac_binary64
Counts
178 → 277
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0218536358
1531436358

prune1.2s (6.3%)

Pruning

30 alts after pruning (29 fresh and 1 done)

PrunedKeptTotal
New3505355
Fresh12425
Picked101
Done011
Total35230382
Error
8.8b
Counts
382 → 30
Alt Table
StatusErrorProgram
60.5b
(pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (*.f64 2 (*.f64 n (*.f64 U (-.f64 (/.f64 (*.f64 n U*) (*.f64 Om Om)) (+.f64 (/.f64 2 Om) (/.f64 (*.f64 n U) (*.f64 Om Om)))))))) (*.f64 2 (neg.f64 (log.f64 l))))) 2)
39.7b
(*.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))))
40.8b
(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))))
29.4b
(sqrt.f64 (pow.f64 (*.f64 (cbrt.f64 (*.f64 2 n)) (cbrt.f64 (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t)))) 3))
36.7b
(*.f64 (sqrt.f64 (*.f64 n (*.f64 t U))) (sqrt.f64 2))
42.9b
(pow.f64 (*.f64 (pow.f64 (*.f64 (*.f64 2 n) U) 1/4) (pow.f64 (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t) 1/4)) 2)
62.4b
(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))))
51.8b
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (-.f64 (+.f64 (*.f64 2 (*.f64 n t)) (*.f64 2 (/.f64 (*.f64 (pow.f64 n 2) (*.f64 (pow.f64 l 2) U*)) (pow.f64 Om 2)))) (*.f64 4 (/.f64 (*.f64 n (pow.f64 l 2)) Om)))) (log.f64 U)))) 2)
34.1b
(sqrt.f64 (*.f64 n (-.f64 (*.f64 2 (*.f64 t U)) (*.f64 4 (/.f64 (*.f64 (pow.f64 l 2) U) Om)))))
61.6b
(sqrt.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 n 2) (*.f64 (pow.f64 l 2) (*.f64 U U*))) (pow.f64 Om 2))))
61.6b
(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))))))))
37.1b
(sqrt.f64 (pow.f64 (*.f64 (cbrt.f64 (*.f64 n (*.f64 t U))) (cbrt.f64 2)) 3))
49.4b
(pow.f64 (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (*.f64 -2 (*.f64 n U))) (log.f64 (/.f64 -1 t))))) 2)
60.3b
(*.f64 (sqrt.f64 (*.f64 n (*.f64 U (*.f64 n (*.f64 (*.f64 l l) (-.f64 U* U)))))) (/.f64 (sqrt.f64 2) Om))
38.6b
(sqrt.f64 (pow.f64 (*.f64 (pow.f64 (*.f64 n (*.f64 t U)) 1/3) (cbrt.f64 2)) 3))
49.8b
(pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (*.f64 2 (*.f64 n U))) (neg.f64 (log.f64 t)))) 2)
37.1b
(cbrt.f64 (pow.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)) 3/2))
61.3b
(*.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)))
49.3b
(pow.f64 (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (*.f64 2 (*.f64 n U))) (log.f64 (/.f64 1 t))))) 2)
28.4b
(pow.f64 (pow.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/4) 2)
58.1b
(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)))
63.0b
(pow.f64 (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 n 2) (*.f64 (pow.f64 l 2) U)) (pow.f64 Om 2)))) (log.f64 (/.f64 1 U*))))) 2)
28.6b
(pow.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))) 3/2)
61.1b
(pow.f64 (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (*.f64 2 (*.f64 n (*.f64 (-.f64 (*.f64 n (*.f64 (pow.f64 l 2) U*)) (*.f64 n (*.f64 (pow.f64 l 2) U))) U)))) (*.f64 2 (log.f64 Om))))) 2)
42.8b
(*.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)))
28.2b
(pow.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/2)
28.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)))))
39.8b
(pow.f64 (*.f64 (pow.f64 (*.f64 2 n) 1/4) (pow.f64 (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t)) 1/4)) 2)
45.8b
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 n) (log.f64 (-.f64 (*.f64 2 (*.f64 t U)) (*.f64 4 (/.f64 (*.f64 (pow.f64 l 2) U) Om))))))) 2)
60.1b
(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 53850 to 31180 computations (42.1% saved)

localize19.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
4.7b
(*.f64 n (/.f64 l Om))
7.2b
(*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))
10.6b
(*.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))
16.5b
(pow.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/2)

series579.0ms (3.1%)

Counts
1 → 72
Calls

1 calls:

578.0ms
(pow.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/2)

rewrite67.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
378×prod-diff_binary64
214×add-sqr-sqrt_binary64
202×log1p-expm1-u_binary64
202×expm1-log1p-u_binary64
197×add-log-exp_binary64
Counts
1 → 21
Calls

1 calls:

66.0ms
(pow.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/2)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02035
143035
2497935
3571935

simplify346.0ms (1.9%)

Algorithm
egg-herbie
Rules
963×fma-def_binary64
708×*-commutative_binary64
303×associate-*r*_binary64
233×associate-/l*_binary64
200×associate-+r+_binary64
Counts
93 → 153
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0144824051
1489823814
2564423814

prune670.0ms (3.6%)

Pruning

32 alts after pruning (30 fresh and 2 done)

PrunedKeptTotal
New2445249
Fresh32528
Picked011
Done011
Total24732279
Error
8.8b
Counts
279 → 32
Alt Table
StatusErrorProgram
60.5b
(pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (*.f64 2 (*.f64 n (*.f64 U (-.f64 (/.f64 (*.f64 n U*) (*.f64 Om Om)) (+.f64 (/.f64 2 Om) (/.f64 (*.f64 n U) (*.f64 Om Om)))))))) (*.f64 2 (neg.f64 (log.f64 l))))) 2)
39.7b
(*.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))))
40.8b
(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))))
29.4b
(sqrt.f64 (pow.f64 (*.f64 (cbrt.f64 (*.f64 2 n)) (cbrt.f64 (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t)))) 3))
36.7b
(*.f64 (sqrt.f64 (*.f64 n (*.f64 t U))) (sqrt.f64 2))
49.4b
(exp.f64 (*.f64 1/2 (-.f64 (log.f64 (*.f64 -2 (*.f64 n U))) (log.f64 (/.f64 -1 t)))))
39.8b
(pow.f64 (*.f64 (pow.f64 (*.f64 2 n) 1/4) (pow.f64 (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t)) 1/4)) 2)
49.3b
(pow.f64 (exp.f64 1/2) (-.f64 (log.f64 (*.f64 2 (*.f64 n U))) (neg.f64 (log.f64 t))))
42.9b
(pow.f64 (*.f64 (pow.f64 (*.f64 (*.f64 2 n) U) 1/4) (pow.f64 (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t) 1/4)) 2)
62.4b
(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))))
51.8b
(pow.f64 (exp.f64 (*.f64 1/4 (+.f64 (log.f64 (-.f64 (+.f64 (*.f64 2 (*.f64 n t)) (*.f64 2 (/.f64 (*.f64 (pow.f64 n 2) (*.f64 (pow.f64 l 2) U*)) (pow.f64 Om 2)))) (*.f64 4 (/.f64 (*.f64 n (pow.f64 l 2)) Om)))) (log.f64 U)))) 2)
34.1b
(sqrt.f64 (*.f64 n (-.f64 (*.f64 2 (*.f64 t U)) (*.f64 4 (/.f64 (*.f64 (pow.f64 l 2) U) Om)))))
61.6b
(sqrt.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 n 2) (*.f64 (pow.f64 l 2) (*.f64 U U*))) (pow.f64 Om 2))))
61.6b
(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))))))))
37.1b
(sqrt.f64 (pow.f64 (*.f64 (cbrt.f64 (*.f64 n (*.f64 t U))) (cbrt.f64 2)) 3))
49.4b
(pow.f64 (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (*.f64 -2 (*.f64 n U))) (log.f64 (/.f64 -1 t))))) 2)
60.3b
(*.f64 (sqrt.f64 (*.f64 n (*.f64 U (*.f64 n (*.f64 (*.f64 l l) (-.f64 U* U)))))) (/.f64 (sqrt.f64 2) Om))
38.6b
(sqrt.f64 (pow.f64 (*.f64 (pow.f64 (*.f64 n (*.f64 t U)) 1/3) (cbrt.f64 2)) 3))
49.8b
(pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (*.f64 2 (*.f64 n U))) (neg.f64 (log.f64 t)))) 2)
37.1b
(cbrt.f64 (pow.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)) 3/2))
61.3b
(*.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)))
51.8b
(pow.f64 (exp.f64 1/2) (+.f64 (log.f64 (fma.f64 2 (fma.f64 n t (/.f64 (*.f64 (*.f64 n n) (*.f64 (*.f64 l l) U*)) (*.f64 Om Om))) (*.f64 -4 (/.f64 (*.f64 n (*.f64 l l)) Om)))) (log.f64 U)))
28.4b
(pow.f64 (pow.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/4) 2)
58.1b
(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)))
45.8b
(pow.f64 (exp.f64 1/2) (+.f64 (log.f64 n) (log.f64 (fma.f64 2 (*.f64 t U) (*.f64 -4 (/.f64 (*.f64 U (*.f64 l l)) Om))))))
60.1b
(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)))
61.1b
(pow.f64 (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (*.f64 2 (*.f64 n (*.f64 (-.f64 (*.f64 n (*.f64 (pow.f64 l 2) U*)) (*.f64 n (*.f64 (pow.f64 l 2) U))) U)))) (*.f64 2 (log.f64 Om))))) 2)
42.8b
(*.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)))
28.2b
(pow.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/2)
28.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)))))
63.0b
(pow.f64 (exp.f64 1/2) (-.f64 (log.f64 (*.f64 2 (/.f64 (*.f64 (*.f64 U (*.f64 l l)) (*.f64 n n)) (*.f64 Om Om)))) (neg.f64 (log.f64 U*))))
28.6b
(pow.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))) 3/2)
Compiler

Compiled 35729 to 20637 computations (42.2% saved)

regimes1.9s (10.4%)

Accuracy

Total 17.1b remaining (64.2%)

Threshold costs 0b (0%)

Counts
122 → 4
Compiler

Compiled 32546 to 22194 computations (31.8% saved)

bsearch7.0ms (0%)

Compiler

Compiled 33 to 22 computations (33.3% saved)

simplify40.0ms (0.2%)

Algorithm
egg-herbie
Rules
168×distribute-rgt-neg-in_binary64
115×distribute-lft-neg-in_binary64
112×cancel-sign-sub-inv_binary64
98×neg-sub0_binary64
98×neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
065296
1107296
2154296
3197296
4239296
5264296
6276296
7303296
8330296
9374296
10434296
11513296
12573296
13635296
14702296
15767296
16793296
17802296
18804296
19798296

end570.0ms (3.1%)

Compiler

Compiled 1426 to 895 computations (37.2% saved)

Profiling

Loading profile data...