Details

Time bar (total: 23.0s)

analyze2.8s (12.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.5s (19.3%)

Results
2.7s14301×body128invalid
1.7s8256×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

prune9.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 189 to 119 computations (37% saved)

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
4.6b
(*.f64 n (/.f64 l Om))
6.1b
(*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))
11.0b
(*.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)))))))
21.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))))))))

series2.0s (8.7%)

Counts
4 → 216
Calls

4 calls:

1.5s
(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))))))))
426.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)))))))
36.0ms
(*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))
14.0ms
(*.f64 n (/.f64 l Om))

rewrite73.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
84×egg-rr
Counts
4 → 84
Calls

2 calls:

71.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)))))))) (*.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))))))) (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))) (*.f64 n (/.f64 l Om)))
0.0ms
()
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02092
144088
2484988
3513788
000
100

simplify205.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

prune409.0ms (1.8%)

Pruning

16 alts after pruning (15 fresh and 1 done)

PrunedKeptTotal
New19615211
Fresh101
Picked011
Done000
Total19716213
Error
13.1b
Counts
213 → 16
Alt Table
StatusErrorProgram
38.3b
(sqrt.f64 (*.f64 n (-.f64 (*.f64 2 (*.f64 t U)) (*.f64 4 (/.f64 (*.f64 (pow.f64 l 2) U) Om)))))
60.6b
(sqrt.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 n 2) (*.f64 (pow.f64 l 2) (*.f64 U U*))) (pow.f64 Om 2))))
59.8b
(*.f64 (sqrt.f64 (*.f64 n (*.f64 U (*.f64 n (*.f64 (*.f64 l l) (-.f64 U* U)))))) (/.f64 (sqrt.f64 2) Om))
62.5b
(fma.f64 n (*.f64 (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)))))) (*.f64 (sqrt.f64 (/.f64 U (-.f64 (/.f64 (*.f64 (*.f64 l l) U*) (*.f64 Om Om)) (/.f64 (*.f64 (*.f64 l l) U) (*.f64 Om Om))))) (-.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) t)) (/.f64 (*.f64 (sqrt.f64 2) (*.f64 l l)) Om))))
56.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.9b
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (log.f64 (pow.f64 (exp.f64 n) (/.f64 l Om)))))))))
57.9b
(sqrt.f64 (*.f64 2 (*.f64 n (*.f64 (*.f64 l l) (*.f64 U (-.f64 (/.f64 (*.f64 n U*) (*.f64 Om Om)) (+.f64 (/.f64 2 Om) (/.f64 (*.f64 n U) (*.f64 Om Om)))))))))
57.9b
(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)))
33.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))))))))
33.7b
(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)
48.1b
(*.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)))
41.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))))
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))))))))
62.1b
(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))))
44.3b
(*.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))))
41.4b
(*.f64 (sqrt.f64 (*.f64 n (*.f64 t U))) (sqrt.f64 2))
Compiler

Compiled 19111 to 10538 computations (44.9% saved)

localize19.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
4.6b
(*.f64 n (/.f64 l Om))
6.1b
(*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))
11.0b
(*.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))
22.1b
(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)

series1.3s (5.6%)

Counts
2 → 144
Calls

2 calls:

914.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)
382.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.3%)

Algorithm
batch-egg-rewrite
Rules
35×egg-rr
Counts
2 → 35
Calls

2 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/4) (*.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)))
0.0ms
()
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02069
143369
2486069
3526369
000
100

simplify258.0ms (1.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0144928752
1511328752

prune620.0ms (2.7%)

Pruning

25 alts after pruning (24 fresh and 1 done)

PrunedKeptTotal
New23013243
Fresh31114
Picked101
Done011
Total23425259
Error
10.9b
Counts
259 → 25
Alt Table
StatusErrorProgram
38.3b
(sqrt.f64 (*.f64 n (-.f64 (*.f64 2 (*.f64 t U)) (*.f64 4 (/.f64 (*.f64 (pow.f64 l 2) U) Om)))))
44.4b
(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)
38.5b
(pow.f64 (pow.f64 (*.f64 n (-.f64 (*.f64 2 (*.f64 t U)) (*.f64 4 (/.f64 (*.f64 (pow.f64 l 2) U) Om)))) 1/4) 2)
49.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)
48.1b
(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)
49.9b
(pow.f64 (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (*.f64 -2 (*.f64 n U))) (log.f64 (/.f64 -1 t))))) 2)
59.8b
(*.f64 (sqrt.f64 (*.f64 n (*.f64 U (*.f64 n (*.f64 (*.f64 l l) (-.f64 U* U)))))) (/.f64 (sqrt.f64 2) Om))
62.5b
(fma.f64 n (*.f64 (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)))))) (*.f64 (sqrt.f64 (/.f64 U (-.f64 (/.f64 (*.f64 (*.f64 l l) U*) (*.f64 Om Om)) (/.f64 (*.f64 (*.f64 l l) U) (*.f64 Om Om))))) (-.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) t)) (/.f64 (*.f64 (sqrt.f64 2) (*.f64 l l)) Om))))
57.3b
(pow.f64 (exp.f64 (*.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 (log.f64 (/.f64 -1 l)))))) 2)
56.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)))
41.5b
(pow.f64 (pow.f64 (*.f64 2 (*.f64 n (*.f64 t U))) 1/4) 2)
57.9b
(sqrt.f64 (*.f64 2 (*.f64 n (*.f64 (*.f64 l l) (*.f64 U (-.f64 (/.f64 (*.f64 n U*) (*.f64 Om Om)) (+.f64 (/.f64 2 Om) (/.f64 (*.f64 n U) (*.f64 Om Om)))))))))
57.9b
(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)))
33.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))))))))
48.1b
(*.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)))
41.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))))
44.3b
(*.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))))
52.7b
(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)
41.4b
(*.f64 (sqrt.f64 (*.f64 n (*.f64 t U))) (sqrt.f64 2))
63.2b
(pow.f64 (-.f64 (fma.f64 1/2 (/.f64 (*.f64 (*.f64 l l) (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (*.f64 -2 (*.f64 U (-.f64 (/.f64 (*.f64 U (*.f64 l l)) (*.f64 Om Om)) (/.f64 (*.f64 (*.f64 l l) U*) (*.f64 Om Om)))))) (*.f64 2 (log.f64 (/.f64 -1 n))))))) (*.f64 (-.f64 (/.f64 (*.f64 U (*.f64 l l)) (*.f64 Om Om)) (/.f64 (*.f64 (*.f64 l l) U*) (*.f64 Om Om))) (*.f64 n Om))) (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (*.f64 -2 (*.f64 U (-.f64 (/.f64 (*.f64 U (*.f64 l l)) (*.f64 Om Om)) (/.f64 (*.f64 (*.f64 l l) U*) (*.f64 Om Om)))))) (*.f64 2 (log.f64 (/.f64 -1 n))))))) (*.f64 1/4 (/.f64 (*.f64 t (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (*.f64 -2 (*.f64 U (-.f64 (/.f64 (*.f64 U (*.f64 l l)) (*.f64 Om Om)) (/.f64 (*.f64 (*.f64 l l) U*) (*.f64 Om Om)))))) (*.f64 2 (log.f64 (/.f64 -1 n))))))) (*.f64 n (-.f64 (/.f64 (*.f64 U (*.f64 l l)) (*.f64 Om Om)) (/.f64 (*.f64 (*.f64 l l) U*) (*.f64 Om Om))))))) 2)
46.4b
(pow.f64 (pow.f64 (-.f64 (*.f64 2 (+.f64 (/.f64 (*.f64 (*.f64 (*.f64 l l) (*.f64 U U*)) (*.f64 n n)) (*.f64 Om Om)) (*.f64 n (*.f64 t U)))) (fma.f64 4 (/.f64 (*.f64 n (*.f64 U (*.f64 l l))) Om) (*.f64 2 (/.f64 (*.f64 (*.f64 (*.f64 l l) (*.f64 U U)) (*.f64 n n)) (*.f64 Om Om))))) 1/4) 2)
62.0b
(pow.f64 (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (*.f64 -2 (*.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 2 (log.f64 (/.f64 -1 n)))))) 2)
51.9b
(pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (*.f64 2 (*.f64 n U))) (neg.f64 (log.f64 t)))) 2)
62.7b
(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)
62.1b
(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))))
Compiler

Compiled 37446 to 21991 computations (41.3% saved)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
6.7b
(/.f64 (*.f64 (pow.f64 l 2) U) Om)
7.4b
(*.f64 n (-.f64 (*.f64 2 (*.f64 t U)) (*.f64 4 (/.f64 (*.f64 (pow.f64 l 2) U) Om))))
8.5b
(*.f64 (pow.f64 l 2) U)
16.5b
(sqrt.f64 (*.f64 n (-.f64 (*.f64 2 (*.f64 t U)) (*.f64 4 (/.f64 (*.f64 (pow.f64 l 2) U) Om)))))

series517.0ms (2.2%)

Counts
4 → 72
Calls

4 calls:

382.0ms
(sqrt.f64 (*.f64 n (-.f64 (*.f64 2 (*.f64 t U)) (*.f64 4 (/.f64 (*.f64 (pow.f64 l 2) U) Om)))))
103.0ms
(*.f64 n (-.f64 (*.f64 2 (*.f64 t U)) (*.f64 4 (/.f64 (*.f64 (pow.f64 l 2) U) Om))))
24.0ms
(/.f64 (*.f64 (pow.f64 l 2) U) Om)
8.0ms
(*.f64 (pow.f64 l 2) U)

rewrite88.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
107×egg-rr
Counts
4 → 107
Calls

2 calls:

86.0ms
((sqrt.f64 (*.f64 n (-.f64 (*.f64 2 (*.f64 t U)) (*.f64 4 (/.f64 (*.f64 (pow.f64 l 2) U) Om))))) (*.f64 (pow.f64 l 2) U) (*.f64 n (-.f64 (*.f64 2 (*.f64 t U)) (*.f64 4 (/.f64 (*.f64 (pow.f64 l 2) U) Om)))) (/.f64 (*.f64 (pow.f64 l 2) U) Om))
0.0ms
()
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01769
136965
2458465
3500465
000
100

simplify60.0ms (0.3%)

Algorithm
egg-herbie
Rules
933×associate-/r*_binary64
300×fma-def_binary64
250×associate-/r/_binary64
180×cancel-sign-sub-inv_binary64
137×unswap-sqr_binary64
Counts
179 → 150
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01212724
14142608
216272496
350362496

prune201.0ms (0.9%)

Pruning

33 alts after pruning (32 fresh and 1 done)

PrunedKeptTotal
New13812150
Fresh32023
Picked101
Done011
Total14233175
Error
8.7b
Counts
175 → 33
Alt Table
StatusErrorProgram
48.7b
(sqrt.f64 (*.f64 n (-.f64 (*.f64 2 (*.f64 t U)) (*.f64 4 (pow.f64 (/.f64 l (sqrt.f64 (/.f64 Om U))) 2)))))
62.0b
(pow.f64 (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (*.f64 -2 (*.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 2 (log.f64 (/.f64 -1 n)))))) 2)
43.4b
(pow.f64 (pow.f64 (*.f64 n (fma.f64 2 (*.f64 t U) (*.f64 (/.f64 (*.f64 U (*.f64 l l)) Om) -4))) 3/2) 1/3)
58.1b
(neg.f64 (*.f64 l (sqrt.f64 (*.f64 -4 (/.f64 (*.f64 n U) Om)))))
44.4b
(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.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)
48.1b
(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)
49.9b
(pow.f64 (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (*.f64 -2 (*.f64 n U))) (log.f64 (/.f64 -1 t))))) 2)
51.1b
(sqrt.f64 (*.f64 n (-.f64 (*.f64 2 (*.f64 t U)) (*.f64 4 (*.f64 (/.f64 (*.f64 l (sqrt.f64 U)) (pow.f64 (cbrt.f64 Om) 2)) (/.f64 (*.f64 l (sqrt.f64 U)) (cbrt.f64 Om)))))))
58.8b
(*.f64 (sqrt.f64 (*.f64 -4 (/.f64 (*.f64 n U) Om))) l)
51.9b
(pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (*.f64 2 (*.f64 n U))) (neg.f64 (log.f64 t)))) 2)
38.6b
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 n (fma.f64 2 (*.f64 t U) (*.f64 (/.f64 (*.f64 U (*.f64 l l)) Om) -4)))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 n (fma.f64 2 (*.f64 t U) (*.f64 (/.f64 (*.f64 U (*.f64 l l)) Om) -4))))))
58.8b
(sqrt.f64 (*.f64 -4 (/.f64 (*.f64 n (*.f64 (pow.f64 l 2) U)) Om)))
59.8b
(*.f64 (sqrt.f64 (*.f64 n (*.f64 U (*.f64 n (*.f64 (*.f64 l l) (-.f64 U* U)))))) (/.f64 (sqrt.f64 2) Om))
62.5b
(fma.f64 n (*.f64 (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)))))) (*.f64 (sqrt.f64 (/.f64 U (-.f64 (/.f64 (*.f64 (*.f64 l l) U*) (*.f64 Om Om)) (/.f64 (*.f64 (*.f64 l l) U) (*.f64 Om Om))))) (-.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) t)) (/.f64 (*.f64 (sqrt.f64 2) (*.f64 l l)) Om))))
57.3b
(pow.f64 (exp.f64 (*.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 (log.f64 (/.f64 -1 l)))))) 2)
56.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)))
39.3b
(sqrt.f64 (*.f64 n (-.f64 (*.f64 2 (*.f64 t U)) (*.f64 4 (expm1.f64 (log1p.f64 (/.f64 (*.f64 U (*.f64 l l)) Om)))))))
52.2b
(sqrt.f64 (cbrt.f64 (pow.f64 (*.f64 n (fma.f64 2 (*.f64 t U) (*.f64 (/.f64 (*.f64 U (*.f64 l l)) Om) -4))) 3)))
41.5b
(pow.f64 (pow.f64 (*.f64 2 (*.f64 n (*.f64 t U))) 1/4) 2)
57.9b
(sqrt.f64 (*.f64 2 (*.f64 n (*.f64 (*.f64 l l) (*.f64 U (-.f64 (/.f64 (*.f64 n U*) (*.f64 Om Om)) (+.f64 (/.f64 2 Om) (/.f64 (*.f64 n U) (*.f64 Om Om)))))))))
57.9b
(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)))
33.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))))))))
47.0b
(sqrt.f64 (sqrt.f64 (pow.f64 (*.f64 n (fma.f64 2 (*.f64 t U) (*.f64 (/.f64 (*.f64 U (*.f64 l l)) Om) -4))) 2)))
48.1b
(*.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)))
41.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))))
44.3b
(*.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))))
52.7b
(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)
51.0b
(sqrt.f64 (*.f64 n (-.f64 (*.f64 2 (*.f64 t U)) (*.f64 4 (*.f64 (*.f64 l (sqrt.f64 U)) (*.f64 (*.f64 l (sqrt.f64 U)) (/.f64 1 Om)))))))
63.2b
(pow.f64 (-.f64 (fma.f64 1/2 (/.f64 (*.f64 (*.f64 l l) (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (*.f64 -2 (*.f64 U (-.f64 (/.f64 (*.f64 U (*.f64 l l)) (*.f64 Om Om)) (/.f64 (*.f64 (*.f64 l l) U*) (*.f64 Om Om)))))) (*.f64 2 (log.f64 (/.f64 -1 n))))))) (*.f64 (-.f64 (/.f64 (*.f64 U (*.f64 l l)) (*.f64 Om Om)) (/.f64 (*.f64 (*.f64 l l) U*) (*.f64 Om Om))) (*.f64 n Om))) (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (*.f64 -2 (*.f64 U (-.f64 (/.f64 (*.f64 U (*.f64 l l)) (*.f64 Om Om)) (/.f64 (*.f64 (*.f64 l l) U*) (*.f64 Om Om)))))) (*.f64 2 (log.f64 (/.f64 -1 n))))))) (*.f64 1/4 (/.f64 (*.f64 t (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (*.f64 -2 (*.f64 U (-.f64 (/.f64 (*.f64 U (*.f64 l l)) (*.f64 Om Om)) (/.f64 (*.f64 (*.f64 l l) U*) (*.f64 Om Om)))))) (*.f64 2 (log.f64 (/.f64 -1 n))))))) (*.f64 n (-.f64 (/.f64 (*.f64 U (*.f64 l l)) (*.f64 Om Om)) (/.f64 (*.f64 (*.f64 l l) U*) (*.f64 Om Om))))))) 2)
46.4b
(pow.f64 (pow.f64 (-.f64 (*.f64 2 (+.f64 (/.f64 (*.f64 (*.f64 (*.f64 l l) (*.f64 U U*)) (*.f64 n n)) (*.f64 Om Om)) (*.f64 n (*.f64 t U)))) (fma.f64 4 (/.f64 (*.f64 n (*.f64 U (*.f64 l l))) Om) (*.f64 2 (/.f64 (*.f64 (*.f64 (*.f64 l l) (*.f64 U U)) (*.f64 n n)) (*.f64 Om Om))))) 1/4) 2)
62.7b
(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)
62.1b
(sqrt.f64 (log.f64 (pow.f64 (exp.f64 n) (fma.f64 2 (*.f64 t U) (*.f64 (/.f64 (*.f64 U (*.f64 l l)) Om) -4)))))
Compiler

Compiled 6496 to 3479 computations (46.4% saved)

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
7.1b
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 n (fma.f64 2 (*.f64 t U) (*.f64 (/.f64 (*.f64 U (*.f64 l l)) Om) -4)))) 2))
7.4b
(*.f64 n (fma.f64 2 (*.f64 t U) (*.f64 (/.f64 (*.f64 U (*.f64 l l)) Om) -4)))
8.5b
(*.f64 U (*.f64 l l))
19.1b
(cbrt.f64 (*.f64 n (fma.f64 2 (*.f64 t U) (*.f64 (/.f64 (*.f64 U (*.f64 l l)) Om) -4))))

series3.6s (15.7%)

Counts
4 → 204
Calls

4 calls:

1.8s
(sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 n (fma.f64 2 (*.f64 t U) (*.f64 (/.f64 (*.f64 U (*.f64 l l)) Om) -4)))) 2))
1.7s
(cbrt.f64 (*.f64 n (fma.f64 2 (*.f64 t U) (*.f64 (/.f64 (*.f64 U (*.f64 l l)) Om) -4))))
92.0ms
(*.f64 n (fma.f64 2 (*.f64 t U) (*.f64 (/.f64 (*.f64 U (*.f64 l l)) Om) -4)))
8.0ms
(*.f64 U (*.f64 l l))

rewrite76.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
89×egg-rr
Counts
4 → 89
Calls

2 calls:

73.0ms
((cbrt.f64 (*.f64 n (fma.f64 2 (*.f64 t U) (*.f64 (/.f64 (*.f64 U (*.f64 l l)) Om) -4)))) (*.f64 U (*.f64 l l)) (*.f64 n (fma.f64 2 (*.f64 t U) (*.f64 (/.f64 (*.f64 U (*.f64 l l)) Om) -4))) (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 n (fma.f64 2 (*.f64 t U) (*.f64 (/.f64 (*.f64 U (*.f64 l l)) Om) -4)))) 2)))
0.0ms
()
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01880
135180
2413480
3498780
000
100

simplify156.0ms (0.7%)

Algorithm
egg-herbie
Rules
563×fma-def_binary64
372×cancel-sign-sub-inv_binary64
212×associate-*r*_binary64
203×distribute-neg-frac_binary64
168×*-commutative_binary64
Counts
293 → 145
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02708758
18468464
229958152
351718152

prune379.0ms (1.6%)

Pruning

35 alts after pruning (34 fresh and 1 done)

PrunedKeptTotal
New2836289
Fresh32831
Picked101
Done011
Total28735322
Error
8.7b
Counts
322 → 35
Alt Table
StatusErrorProgram
55.1b
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (exp.f64 (+.f64 (log.f64 U) (log.f64 (*.f64 n (fma.f64 -4 (/.f64 (*.f64 l l) Om) (*.f64 2 t))))))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 n (fma.f64 2 (*.f64 t U) (*.f64 (/.f64 (*.f64 U (*.f64 l l)) Om) -4))))))
46.4b
(pow.f64 (pow.f64 (-.f64 (*.f64 2 (+.f64 (/.f64 (*.f64 (*.f64 (*.f64 l l) (*.f64 U U*)) (*.f64 n n)) (*.f64 Om Om)) (*.f64 n (*.f64 t U)))) (fma.f64 4 (/.f64 (*.f64 n (*.f64 U (*.f64 l l))) Om) (*.f64 2 (/.f64 (*.f64 (*.f64 (*.f64 l l) (*.f64 U U)) (*.f64 n n)) (*.f64 Om Om))))) 1/4) 2)
38.6b
(*.f64 (sqrt.f64 (pow.f64 (*.f64 (cbrt.f64 n) (cbrt.f64 (fma.f64 2 (*.f64 t U) (*.f64 (/.f64 (*.f64 U (*.f64 l l)) Om) -4)))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 n (fma.f64 2 (*.f64 t U) (*.f64 (/.f64 (*.f64 U (*.f64 l l)) Om) -4))))))
48.7b
(sqrt.f64 (*.f64 n (-.f64 (*.f64 2 (*.f64 t U)) (*.f64 4 (pow.f64 (/.f64 l (sqrt.f64 (/.f64 Om U))) 2)))))
62.0b
(pow.f64 (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (*.f64 -2 (*.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 2 (log.f64 (/.f64 -1 n)))))) 2)
43.4b
(pow.f64 (pow.f64 (*.f64 n (fma.f64 2 (*.f64 t U) (*.f64 (/.f64 (*.f64 U (*.f64 l l)) Om) -4))) 3/2) 1/3)
58.1b
(neg.f64 (*.f64 l (sqrt.f64 (*.f64 -4 (/.f64 (*.f64 n U) Om)))))
44.4b
(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.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)
55.7b
(*.f64 (sqrt.f64 (pow.f64 (-.f64 (exp.f64 (*.f64 1/3 (-.f64 (log.f64 (*.f64 2 (*.f64 n U))) (log.f64 (/.f64 1 t))))) (*.f64 2/3 (/.f64 (*.f64 (pow.f64 l 2) (exp.f64 (*.f64 1/3 (-.f64 (log.f64 (*.f64 2 (*.f64 n U))) (log.f64 (/.f64 1 t)))))) (*.f64 Om t)))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 n (fma.f64 2 (*.f64 t U) (*.f64 (/.f64 (*.f64 U (*.f64 l l)) Om) -4))))))
49.9b
(pow.f64 (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (*.f64 -2 (*.f64 n U))) (log.f64 (/.f64 -1 t))))) 2)
48.1b
(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)
58.8b
(*.f64 (sqrt.f64 (*.f64 -4 (/.f64 (*.f64 n U) Om))) l)
51.9b
(pow.f64 (pow.f64 (exp.f64 1/4) (-.f64 (log.f64 (*.f64 2 (*.f64 n U))) (neg.f64 (log.f64 t)))) 2)
59.8b
(*.f64 (sqrt.f64 (*.f64 n (*.f64 U (*.f64 n (*.f64 (*.f64 l l) (-.f64 U* U)))))) (/.f64 (sqrt.f64 2) Om))
62.5b
(fma.f64 n (*.f64 (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)))))) (*.f64 (sqrt.f64 (/.f64 U (-.f64 (/.f64 (*.f64 (*.f64 l l) U*) (*.f64 Om Om)) (/.f64 (*.f64 (*.f64 l l) U) (*.f64 Om Om))))) (-.f64 (*.f64 1/2 (*.f64 (sqrt.f64 2) t)) (/.f64 (*.f64 (sqrt.f64 2) (*.f64 l l)) Om))))
38.4b
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (*.f64 n (fma.f64 2 (*.f64 t U) (*.f64 (/.f64 (*.f64 U (*.f64 l l)) Om) -4)))) 2)) (sqrt.f64 (fabs.f64 (cbrt.f64 (*.f64 n (fma.f64 2 (*.f64 t U) (*.f64 (/.f64 (*.f64 U (*.f64 l l)) Om) -4)))))))
61.9b
(*.f64 (sqrt.f64 (pow.f64 (cbrt.f64 (exp.f64 (-.f64 (log.f64 (*.f64 -4 (*.f64 n (*.f64 U (*.f64 l l))))) (log.f64 Om)))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 n (fma.f64 2 (*.f64 t U) (*.f64 (/.f64 (*.f64 U (*.f64 l l)) Om) -4))))))
57.3b
(pow.f64 (exp.f64 (*.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 (log.f64 (/.f64 -1 l)))))) 2)
56.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)))
41.5b
(pow.f64 (pow.f64 (*.f64 2 (*.f64 n (*.f64 t U))) 1/4) 2)
57.9b
(sqrt.f64 (*.f64 2 (*.f64 n (*.f64 (*.f64 l l) (*.f64 U (-.f64 (/.f64 (*.f64 n U*) (*.f64 Om Om)) (+.f64 (/.f64 2 Om) (/.f64 (*.f64 n U) (*.f64 Om Om)))))))))
57.9b
(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)))
33.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))))))))
47.0b
(sqrt.f64 (sqrt.f64 (pow.f64 (*.f64 n (fma.f64 2 (*.f64 t U) (*.f64 (/.f64 (*.f64 U (*.f64 l l)) Om) -4))) 2)))
46.2b
(*.f64 (sqrt.f64 (pow.f64 (fma.f64 (*.f64 (/.f64 (*.f64 l l) Om) (cbrt.f64 (/.f64 (*.f64 2 (*.f64 n U)) (*.f64 t t)))) -2/3 (cbrt.f64 (*.f64 n (*.f64 2 (*.f64 t U))))) 2)) (sqrt.f64 (cbrt.f64 (*.f64 n (fma.f64 2 (*.f64 t U) (*.f64 (/.f64 (*.f64 U (*.f64 l l)) Om) -4))))))
48.1b
(*.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)))
41.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))))
44.3b
(*.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))))
52.7b
(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)
51.0b
(sqrt.f64 (*.f64 n (-.f64 (*.f64 2 (*.f64 t U)) (*.f64 4 (*.f64 (*.f64 l (sqrt.f64 U)) (*.f64 (*.f64 l (sqrt.f64 U)) (/.f64 1 Om)))))))
63.2b
(pow.f64 (-.f64 (fma.f64 1/2 (/.f64 (*.f64 (*.f64 l l) (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (*.f64 -2 (*.f64 U (-.f64 (/.f64 (*.f64 U (*.f64 l l)) (*.f64 Om Om)) (/.f64 (*.f64 (*.f64 l l) U*) (*.f64 Om Om)))))) (*.f64 2 (log.f64 (/.f64 -1 n))))))) (*.f64 (-.f64 (/.f64 (*.f64 U (*.f64 l l)) (*.f64 Om Om)) (/.f64 (*.f64 (*.f64 l l) U*) (*.f64 Om Om))) (*.f64 n Om))) (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (*.f64 -2 (*.f64 U (-.f64 (/.f64 (*.f64 U (*.f64 l l)) (*.f64 Om Om)) (/.f64 (*.f64 (*.f64 l l) U*) (*.f64 Om Om)))))) (*.f64 2 (log.f64 (/.f64 -1 n))))))) (*.f64 1/4 (/.f64 (*.f64 t (exp.f64 (*.f64 1/4 (-.f64 (log.f64 (*.f64 -2 (*.f64 U (-.f64 (/.f64 (*.f64 U (*.f64 l l)) (*.f64 Om Om)) (/.f64 (*.f64 (*.f64 l l) U*) (*.f64 Om Om)))))) (*.f64 2 (log.f64 (/.f64 -1 n))))))) (*.f64 n (-.f64 (/.f64 (*.f64 U (*.f64 l l)) (*.f64 Om Om)) (/.f64 (*.f64 (*.f64 l l) U*) (*.f64 Om Om))))))) 2)
58.8b
(sqrt.f64 (*.f64 -4 (/.f64 (*.f64 n (*.f64 (pow.f64 l 2) U)) Om)))
62.7b
(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)
62.1b
(sqrt.f64 (log.f64 (pow.f64 (exp.f64 n) (fma.f64 2 (*.f64 t U) (*.f64 (/.f64 (*.f64 U (*.f64 l l)) Om) -4)))))
Compiler

Compiled 17233 to 9491 computations (44.9% saved)

regimes4.7s (20.5%)

Accuracy

Total 18.3b remaining (67.6%)

Threshold costs 0b (0%)

Counts
205 → 4
Compiler

Compiled 59658 to 40938 computations (31.4% saved)

bsearch184.0ms (0.8%)

Steps
ItersRangePoint
6
1.870362836452262e-298
1.1697109282845015e-297
1.8895719119205843e-298
6
-5.579186548188872e-287
-3.928674297873732e-288
-1.1801343746820894e-287
9
-4.427593118573703e-126
-4.1970724401234504e-134
-7.76442369845317e-134
Compiler

Compiled 7 to 6 computations (14.3% saved)

simplify6.0ms (0%)

Algorithm
egg-herbie
Rules
13×*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
044154
159154
264154
366154
467154
567154

end677.0ms (2.9%)

Compiler

Compiled 1623 to 1002 computations (38.3% saved)

Profiling

Loading profile data...