Details

Time bar (total: 26.4s)

analyze2.9s (11%)

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.3s (16.5%)

Results
2.6s14117×body128invalid
1.6s8256×body128valid
Compiler

Compiled 104 to 71 computations (31.7% saved)

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

prune4.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
29.1b
Counts
3 → 2
Alt Table
StatusErrorProgram
34.2b
(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*)))))
29.1b
(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)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
4.7b
(*.f64 n (/.f64 l Om))
7.7b
(*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))
9.1b
(*.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)))))))
19.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.8s (6.9%)

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))))))))
379.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)))))))
32.0ms
(*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))
12.0ms
(*.f64 n (/.f64 l Om))

rewrite32.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
30×pow1_binary64
27×add-cbrt-cube_binary64
27×add-exp-log_binary64
21×add-sqr-sqrt_binary64
17×associate-*r*_binary64
Counts
4 → 107
Calls

4 calls:

8.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)))))))
7.0ms
(*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))
5.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))))))))
5.0ms
(*.f64 n (/.f64 l Om))

simplify251.0ms (0.9%)

Algorithm
egg-herbie
Rules
787×fma-def_binary64
459×*-commutative_binary64
231×associate-*r*_binary64
165×+-commutative_binary64
153×cancel-sign-sub-inv_binary64
Counts
323 → 286
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0106119930
1356719396
2511519396

prune526.0ms (2%)

Pruning

19 alts after pruning (19 fresh and 0 done)

PrunedKeptTotal
New26719286
Fresh101
Picked101
Done000
Total26919288
Error
13.3b
Counts
288 → 19
Alt Table
StatusErrorProgram
39.0b
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (log.f64 (exp.f64 (*.f64 n (/.f64 l Om))))))))))
56.0b
(*.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 (fma.f64 2 (*.f64 n (*.f64 U t)) (*.f64 -4 (/.f64 (*.f64 n (*.f64 (*.f64 l l) U)) Om))))
41.0b
(*.f64 (sqrt.f64 (*.f64 n (*.f64 t U))) (sqrt.f64 2))
29.5b
(sqrt.f64 (*.f64 (*.f64 (cbrt.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)))))))) (cbrt.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))))))))) (cbrt.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))))))))))
57.1b
(neg.f64 (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))))
29.7b
(*.f64 (*.f64 (cbrt.f64 (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))))))))) (cbrt.f64 (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)))))))))) (cbrt.f64 (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))))))))))
30.2b
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (/.f64 (*.f64 n (-.f64 U* U)) (/.f64 Om l)))))))
61.0b
(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))))))))
40.4b
(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 -4 (/.f64 (*.f64 n (*.f64 l l)) Om)))))
56.6b
(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.3b
(sqrt.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 n 2) (*.f64 (pow.f64 l 2) (*.f64 U U*))) (pow.f64 Om 2))))
28.9b
(sqrt.f64 (*.f64 (*.f64 2 n) (*.f64 U (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))))))))
42.9b
(*.f64 (sqrt.f64 (*.f64 (*.f64 2 n) U)) (sqrt.f64 (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))))))
56.8b
(*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 n (*.f64 U (-.f64 (/.f64 (*.f64 n (*.f64 (*.f64 l l) U*)) (*.f64 Om Om)) (fma.f64 2 (/.f64 (*.f64 l l) Om) (/.f64 (*.f64 n (*.f64 (*.f64 l l) U)) (*.f64 Om Om))))))))
60.8b
(*.f64 (sqrt.f64 (*.f64 n (*.f64 U (*.f64 n (-.f64 (*.f64 (*.f64 l l) U*) (*.f64 (*.f64 l l) U)))))) (/.f64 (sqrt.f64 2) Om))
29.4b
(*.f64 (sqrt.f64 (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))))))))) (sqrt.f64 (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))))))))))
56.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)))
60.8b
(*.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)))
Compiler

Compiled 23281 to 12004 computations (48.4% saved)

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
4.7b
(*.f64 n (/.f64 l Om))
6.2b
(*.f64 (*.f64 2 n) (*.f64 U (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))))))
7.7b
(*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))
19.5b
(sqrt.f64 (*.f64 (*.f64 2 n) (*.f64 U (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))))))))

series1.8s (6.8%)

Counts
2 → 120
Calls

2 calls:

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

rewrite19.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
27×pow1_binary64
16×pow-prod-down_binary64
14×add-cbrt-cube_binary64
14×add-exp-log_binary64
cbrt-unprod_binary64
Counts
2 → 48
Calls

2 calls:

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

simplify295.0ms (1.1%)

Algorithm
egg-herbie
Rules
764×fma-def_binary64
419×*-commutative_binary64
218×associate-*r*_binary64
168×neg-mul-1_binary64
157×+-commutative_binary64
Counts
168 → 178
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
094018125
1326016803
2488416803
3504816803

prune512.0ms (1.9%)

Pruning

21 alts after pruning (20 fresh and 1 done)

PrunedKeptTotal
New2776283
Fresh41418
Picked011
Done000
Total28121302
Error
10.4b
Counts
302 → 21
Alt Table
StatusErrorProgram
39.0b
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (log.f64 (exp.f64 (*.f64 n (/.f64 l Om))))))))))
56.0b
(*.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))
29.2b
(sqrt.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 n 2) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t)))) (cbrt.f64 (*.f64 (*.f64 n 2) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))))) (cbrt.f64 (*.f64 (*.f64 n 2) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))))))
61.3b
(sqrt.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 n 2) (*.f64 (pow.f64 l 2) (*.f64 U U*))) (pow.f64 Om 2))))
44.6b
(*.f64 (sqrt.f64 (*.f64 n 2)) (sqrt.f64 (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))))
39.3b
(sqrt.f64 (fma.f64 2 (*.f64 n (*.f64 U t)) (*.f64 -4 (/.f64 (*.f64 n (*.f64 (*.f64 l l) U)) Om))))
41.0b
(*.f64 (sqrt.f64 (*.f64 n (*.f64 t U))) (sqrt.f64 2))
29.7b
(*.f64 (*.f64 (cbrt.f64 (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))))))))) (cbrt.f64 (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)))))))))) (cbrt.f64 (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))))))))))
30.2b
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (/.f64 (*.f64 n (-.f64 U* U)) (/.f64 Om l)))))))
61.0b
(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))))))))
48.3b
(sqrt.f64 (/.f64 (*.f64 (*.f64 n 2) (*.f64 U (*.f64 (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t) (-.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))))))) (-.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))))))
40.4b
(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 -4 (/.f64 (*.f64 n (*.f64 l l)) Om)))))
56.6b
(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)))
60.8b
(*.f64 (sqrt.f64 (*.f64 n (*.f64 U (*.f64 n (*.f64 (*.f64 l l) (-.f64 U* U)))))) (/.f64 (sqrt.f64 2) Om))
28.9b
(sqrt.f64 (*.f64 (*.f64 2 n) (*.f64 U (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))))))))
42.9b
(*.f64 (sqrt.f64 (*.f64 (*.f64 2 n) U)) (sqrt.f64 (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))))))
56.8b
(*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 n (*.f64 U (-.f64 (/.f64 (*.f64 n (*.f64 (*.f64 l l) U*)) (*.f64 Om Om)) (fma.f64 2 (/.f64 (*.f64 l l) Om) (/.f64 (*.f64 n (*.f64 (*.f64 l l) U)) (*.f64 Om Om))))))))
54.3b
(/.f64 (sqrt.f64 (*.f64 (*.f64 n 2) (*.f64 U (+.f64 (pow.f64 t 3) (pow.f64 (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))) 3))))) (sqrt.f64 (fma.f64 t t (*.f64 (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))) (-.f64 (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))) t)))))
29.0b
(*.f64 (sqrt.f64 (sqrt.f64 (*.f64 (*.f64 n 2) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))))) (sqrt.f64 (sqrt.f64 (*.f64 (*.f64 n 2) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))))))
56.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)))
60.8b
(*.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)))
Compiler

Compiled 22754 to 11887 computations (47.8% saved)

localize18.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
4.7b
(*.f64 n (/.f64 l Om))
6.2b
(*.f64 (*.f64 n 2) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t)))
7.7b
(*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))
19.5b
(sqrt.f64 (*.f64 (*.f64 n 2) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))))

series1.8s (6.8%)

Counts
2 → 120
Calls

2 calls:

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

rewrite13.0ms (0%)

Algorithm
rewrite-expression-head
Rules
27×pow1_binary64
16×pow-prod-down_binary64
14×add-cbrt-cube_binary64
14×add-exp-log_binary64
cbrt-unprod_binary64
Counts
2 → 44
Calls

2 calls:

5.0ms
(*.f64 (*.f64 n 2) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t)))
4.0ms
(sqrt.f64 (*.f64 (*.f64 n 2) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))))

simplify345.0ms (1.3%)

Algorithm
egg-herbie
Rules
737×fma-def_binary64
414×*-commutative_binary64
214×associate-*r*_binary64
154×+-commutative_binary64
140×associate-/l*_binary64
Counts
164 → 159
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
092317720
1317516528
2495216528
3500016528
4497116528

prune978.0ms (3.7%)

Pruning

21 alts after pruning (19 fresh and 2 done)

PrunedKeptTotal
New5271528
Fresh11819
Picked011
Done011
Total52821549
Error
10.4b
Counts
549 → 21
Alt Table
StatusErrorProgram
39.0b
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (log.f64 (exp.f64 (*.f64 n (/.f64 l Om))))))))))
56.0b
(*.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))
29.2b
(sqrt.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 n 2) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t)))) (cbrt.f64 (*.f64 (*.f64 n 2) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))))) (cbrt.f64 (*.f64 (*.f64 n 2) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))))))
61.3b
(sqrt.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 n 2) (*.f64 (pow.f64 l 2) (*.f64 U U*))) (pow.f64 Om 2))))
44.6b
(*.f64 (sqrt.f64 (*.f64 n 2)) (sqrt.f64 (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))))
39.3b
(sqrt.f64 (fma.f64 2 (*.f64 n (*.f64 U t)) (*.f64 -4 (/.f64 (*.f64 n (*.f64 (*.f64 l l) U)) Om))))
41.0b
(*.f64 (sqrt.f64 (*.f64 n (*.f64 t U))) (sqrt.f64 2))
30.2b
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (/.f64 (*.f64 n (-.f64 U* U)) (/.f64 Om l)))))))
61.0b
(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))))))))
41.2b
(*.f64 (sqrt.f64 (sqrt.f64 (*.f64 (*.f64 n 2) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))))) (sqrt.f64 (*.f64 (sqrt.f64 (*.f64 n (*.f64 t U))) (sqrt.f64 2))))
48.3b
(sqrt.f64 (/.f64 (*.f64 (*.f64 n 2) (*.f64 U (*.f64 (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t) (-.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))))))) (-.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))))))
40.4b
(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 -4 (/.f64 (*.f64 n (*.f64 l l)) Om)))))
56.6b
(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)))
60.8b
(*.f64 (sqrt.f64 (*.f64 n (*.f64 U (*.f64 n (*.f64 (*.f64 l l) (-.f64 U* U)))))) (/.f64 (sqrt.f64 2) Om))
28.9b
(sqrt.f64 (*.f64 (*.f64 2 n) (*.f64 U (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))))))))
42.9b
(*.f64 (sqrt.f64 (*.f64 (*.f64 2 n) U)) (sqrt.f64 (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))))))
56.8b
(*.f64 (sqrt.f64 2) (sqrt.f64 (*.f64 n (*.f64 U (-.f64 (/.f64 (*.f64 n (*.f64 (*.f64 l l) U*)) (*.f64 Om Om)) (fma.f64 2 (/.f64 (*.f64 l l) Om) (/.f64 (*.f64 n (*.f64 (*.f64 l l) U)) (*.f64 Om Om))))))))
54.3b
(/.f64 (sqrt.f64 (*.f64 (*.f64 n 2) (*.f64 U (+.f64 (pow.f64 t 3) (pow.f64 (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))) 3))))) (sqrt.f64 (fma.f64 t t (*.f64 (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))) (-.f64 (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))) t)))))
29.0b
(*.f64 (sqrt.f64 (sqrt.f64 (*.f64 (*.f64 n 2) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))))) (sqrt.f64 (sqrt.f64 (*.f64 (*.f64 n 2) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))))))
56.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)))
60.8b
(*.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)))
Compiler

Compiled 55542 to 27224 computations (51% saved)

localize18.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
6.2b
(*.f64 (*.f64 n 2) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t)))
7.7b
(*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))
19.5b
(sqrt.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 n 2) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t)))) (cbrt.f64 (*.f64 (*.f64 n 2) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))))) (cbrt.f64 (*.f64 (*.f64 n 2) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))))))
20.5b
(cbrt.f64 (*.f64 (*.f64 n 2) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))))

series2.4s (9.1%)

Counts
2 → 120
Calls

2 calls:

1.3s
(cbrt.f64 (*.f64 (*.f64 n 2) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))))
1.1s
(sqrt.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 n 2) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t)))) (cbrt.f64 (*.f64 (*.f64 n 2) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))))) (cbrt.f64 (*.f64 (*.f64 n 2) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))))))

rewrite16.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
22×pow1_binary64
15×sqrt-pow1_binary64
10×pow1/3_binary64
pow-prod-up_binary64
pow-plus_binary64
Counts
2 → 37
Calls

2 calls:

7.0ms
(sqrt.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 n 2) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t)))) (cbrt.f64 (*.f64 (*.f64 n 2) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))))) (cbrt.f64 (*.f64 (*.f64 n 2) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))))))
3.0ms
(cbrt.f64 (*.f64 (*.f64 n 2) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))))

simplify331.0ms (1.3%)

Algorithm
egg-herbie
Rules
368×fma-def_binary64
327×associate-/l*_binary64
283×associate-*r/_binary64
237×associate-/r*_binary64
221×times-frac_binary64
Counts
157 → 261
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0221537196
1533537196

prune2.6s (10%)

Pruning

20 alts after pruning (19 fresh and 1 done)

PrunedKeptTotal
New8983901
Fresh21618
Picked101
Done112
Total90220922
Error
10.4b
Counts
922 → 20
Alt Table
StatusErrorProgram
39.0b
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (log.f64 (exp.f64 (*.f64 n (/.f64 l Om))))))))))
56.0b
(*.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))
29.3b
(sqrt.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 (*.f64 n 2) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t)))) (cbrt.f64 (*.f64 (*.f64 n 2) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))))) (*.f64 (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (*.f64 n 2) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))))) (cbrt.f64 (cbrt.f64 (*.f64 (*.f64 n 2) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t)))))) (cbrt.f64 (cbrt.f64 (*.f64 (*.f64 n 2) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))))))))
61.3b
(sqrt.f64 (*.f64 2 (/.f64 (*.f64 (pow.f64 n 2) (*.f64 (pow.f64 l 2) (*.f64 U U*))) (pow.f64 Om 2))))
44.6b
(*.f64 (sqrt.f64 (*.f64 n 2)) (sqrt.f64 (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))))
39.3b
(sqrt.f64 (fma.f64 2 (*.f64 n (*.f64 U t)) (*.f64 -4 (/.f64 (*.f64 n (*.f64 (*.f64 l l) U)) Om))))
41.0b
(*.f64 (sqrt.f64 (*.f64 n (*.f64 t U))) (sqrt.f64 2))
29.2b
(*.f64 (fabs.f64 (cbrt.f64 (*.f64 (*.f64 n 2) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))))) (sqrt.f64 (cbrt.f64 (*.f64 (*.f64 n 2) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))))))
56.6b
(fma.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 t (*.f64 l (sqrt.f64 2))) (*.f64 (sqrt.f64 (*.f64 n (*.f64 (-.f64 (/.f64 (*.f64 n U*) (*.f64 Om Om)) (+.f64 (/.f64 2 Om) (/.f64 (*.f64 n U) (*.f64 Om Om)))) U))) (*.f64 l (sqrt.f64 2))))
30.2b
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (/.f64 (*.f64 n (-.f64 U* U)) (/.f64 Om l)))))))
61.0b
(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))))))))
41.2b
(*.f64 (sqrt.f64 (sqrt.f64 (*.f64 (*.f64 n 2) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))))) (sqrt.f64 (*.f64 (sqrt.f64 (*.f64 n (*.f64 t U))) (sqrt.f64 2))))
48.3b
(sqrt.f64 (/.f64 (*.f64 (*.f64 n 2) (*.f64 U (*.f64 (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t) (-.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))))))) (-.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))))))
40.4b
(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 -4 (/.f64 (*.f64 n (*.f64 l l)) Om)))))
60.8b
(*.f64 (sqrt.f64 (*.f64 n (*.f64 U (*.f64 n (*.f64 (*.f64 l l) (-.f64 U* U)))))) (/.f64 (sqrt.f64 2) Om))
42.9b
(*.f64 (sqrt.f64 (*.f64 (*.f64 2 n) U)) (sqrt.f64 (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))))))
54.3b
(/.f64 (sqrt.f64 (*.f64 (*.f64 n 2) (*.f64 U (+.f64 (pow.f64 t 3) (pow.f64 (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))) 3))))) (sqrt.f64 (fma.f64 t t (*.f64 (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))) (-.f64 (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))) t)))))
29.0b
(*.f64 (sqrt.f64 (sqrt.f64 (*.f64 (*.f64 n 2) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))))) (sqrt.f64 (sqrt.f64 (*.f64 (*.f64 n 2) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))))))
56.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)))
60.8b
(*.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)))
Compiler

Compiled 168689 to 87066 computations (48.4% saved)

regimes4.5s (17%)

Accuracy

Total 16.0b remaining (57.4%)

Threshold costs 0b (0%)

Counts
214 → 5
Compiler

Compiled 70274 to 41946 computations (40.3% saved)

bsearch377.0ms (1.4%)

Steps
ItersRangePoint
8
8.800847957809192e+194
2.7873973244356992e+199
1.3083543023179113e+195
9
3.778658436219147e-224
2.4828702699836517e-219
7.2207560999646215e-224
4
-1.1666285892207494e-39
-6.270545005880246e-40
-8.228016994005398e-40
11
-5.612699845620865e+196
-1.8399567844176011e+174
-1.0774931511781235e+189
Compiler

Compiled 7 to 6 computations (14.3% saved)

simplify37.0ms (0.1%)

Algorithm
egg-herbie
Rules
209×distribute-rgt-neg-in_binary64
146×distribute-lft-neg-out_binary64
143×cancel-sign-sub-inv_binary64
141×distribute-lft-neg-in_binary64
133×neg-sub0_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
078236
1125236
2166236
3204234
4253234
5276234
6304234
7362234
8447234
9558234
10684234
11820234
12924234
13995234
141024234
151028234
161019234

end409.0ms (1.5%)

Compiler

Compiled 1212 to 667 computations (45% saved)

Profiling

Loading profile data...