Details

Time bar (total: 26.9s)

analyze3.1s (11.5%)

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

Results
2.9s14416×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

prune5.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
4.1b
(*.f64 n (/.f64 l Om))
8.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)))))))
18.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.1s (8%)

Counts
4 → 216
Calls

4 calls:

1.7s
(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))))))))
427.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))

rewrite34.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:

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

simplify261.0ms (1%)

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

prune604.0ms (2.2%)

Pruning

18 alts after pruning (18 fresh and 0 done)

PrunedKeptTotal
New26917286
Fresh011
Picked101
Done000
Total27018288
Error
12.5b
Counts
288 → 18
Alt Table
StatusErrorProgram
47.7b
(sqrt.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 n) U) (-.f64 (*.f64 t t) (*.f64 (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))) (*.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))))))))
39.5b
(*.f64 (sqrt.f64 (*.f64 n (*.f64 t U))) (sqrt.f64 2))
37.7b
(sqrt.f64 (fma.f64 2 (*.f64 n (*.f64 U t)) (*.f64 -4 (/.f64 (*.f64 n (*.f64 (*.f64 l l) U)) Om))))
56.0b
(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))))
60.1b
(*.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))
55.7b
(/.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 n U)) (+.f64 (pow.f64 t 3) (pow.f64 (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (/.f64 (*.f64 n l) Om)))) 3)))) (sqrt.f64 (fma.f64 t t (*.f64 (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (/.f64 (*.f64 n l) Om)))) (-.f64 (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (/.f64 (*.f64 n l) Om)))) t)))))
42.6b
(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)))))
37.3b
(sqrt.f64 (*.f64 n (fma.f64 2 (*.f64 U t) (*.f64 -4 (/.f64 (*.f64 (*.f64 l l) U) Om)))))
62.7b
(-.f64 (*.f64 2 (/.f64 (*.f64 (*.f64 l l) U) (*.f64 Om (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))))))))) (fma.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)))))) (/.f64 (*.f64 U t) (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)))))))))
57.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))
33.3b
(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*)))))
60.1b
(*.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.8b
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 (*.f64 (cbrt.f64 (*.f64 n (/.f64 l Om))) (cbrt.f64 (*.f64 n (/.f64 l Om)))) (cbrt.f64 (*.f64 n (/.f64 l Om))))))))))
55.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)))
35.6b
(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)))))))
45.2b
(*.f64 (sqrt.f64 (*.f64 2 (*.f64 n U))) (sqrt.f64 (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (/.f64 (*.f64 n l) Om))) t)))
28.8b
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (*.f64 (cbrt.f64 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) (cbrt.f64 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))) (cbrt.f64 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))))))))
29.8b
(sqrt.f64 (*.f64 (*.f64 2 n) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (/.f64 (*.f64 n l) Om))) t))))
Compiler

Compiled 23205 to 11898 computations (48.7% saved)

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
8.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 (cbrt.f64 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) (cbrt.f64 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))) (cbrt.f64 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))))))))
14.8b
(cbrt.f64 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))
18.2b
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (*.f64 (cbrt.f64 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) (cbrt.f64 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))) (cbrt.f64 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))))))))

series3.3s (12.4%)

Counts
3 → 180
Calls

3 calls:

1.6s
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (*.f64 (cbrt.f64 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) (cbrt.f64 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))) (cbrt.f64 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))))))))
1.3s
(cbrt.f64 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))
475.0ms
(*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (*.f64 (cbrt.f64 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) (cbrt.f64 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))) (cbrt.f64 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))))))))

rewrite28.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
22×pow1_binary64
12×pow-prod-down_binary64
12×add-cbrt-cube_binary64
12×add-exp-log_binary64
associate-*r/_binary64
Counts
3 → 60
Calls

3 calls:

8.0ms
(*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (*.f64 (cbrt.f64 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) (cbrt.f64 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))) (cbrt.f64 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))))))))
6.0ms
(cbrt.f64 (*.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 (cbrt.f64 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) (cbrt.f64 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))) (cbrt.f64 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))))))))

simplify282.0ms (1%)

Algorithm
egg-herbie
Rules
865×fma-def_binary64
495×*-commutative_binary64
228×associate-*r*_binary64
181×+-commutative_binary64
165×associate-/l*_binary64
Counts
240 → 272
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0118120815
1394820399
2501220399

prune1.0s (3.8%)

Pruning

18 alts after pruning (17 fresh and 1 done)

PrunedKeptTotal
New6220622
Fresh01717
Picked011
Done000
Total62218640
Error
12.5b
Counts
640 → 18
Alt Table
StatusErrorProgram
47.7b
(sqrt.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 n) U) (-.f64 (*.f64 t t) (*.f64 (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))) (*.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))))))))
39.5b
(*.f64 (sqrt.f64 (*.f64 n (*.f64 t U))) (sqrt.f64 2))
37.7b
(sqrt.f64 (fma.f64 2 (*.f64 n (*.f64 U t)) (*.f64 -4 (/.f64 (*.f64 n (*.f64 (*.f64 l l) U)) Om))))
56.0b
(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))))
60.1b
(*.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))
55.7b
(/.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 n U)) (+.f64 (pow.f64 t 3) (pow.f64 (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (/.f64 (*.f64 n l) Om)))) 3)))) (sqrt.f64 (fma.f64 t t (*.f64 (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (/.f64 (*.f64 n l) Om)))) (-.f64 (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (/.f64 (*.f64 n l) Om)))) t)))))
42.6b
(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)))))
37.3b
(sqrt.f64 (*.f64 n (fma.f64 2 (*.f64 U t) (*.f64 -4 (/.f64 (*.f64 (*.f64 l l) U) Om)))))
62.7b
(-.f64 (*.f64 2 (/.f64 (*.f64 (*.f64 l l) U) (*.f64 Om (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))))))))) (fma.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)))))) (/.f64 (*.f64 U t) (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)))))))))
57.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))
33.3b
(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*)))))
60.1b
(*.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.8b
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 (*.f64 (cbrt.f64 (*.f64 n (/.f64 l Om))) (cbrt.f64 (*.f64 n (/.f64 l Om)))) (cbrt.f64 (*.f64 n (/.f64 l Om))))))))))
55.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)))
35.6b
(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)))))))
45.2b
(*.f64 (sqrt.f64 (*.f64 2 (*.f64 n U))) (sqrt.f64 (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (/.f64 (*.f64 n l) Om))) t)))
28.8b
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (*.f64 (cbrt.f64 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) (cbrt.f64 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))) (cbrt.f64 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))))))))
29.8b
(sqrt.f64 (*.f64 (*.f64 2 n) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (/.f64 (*.f64 n l) Om))) t))))
Compiler

Compiled 49858 to 19353 computations (61.2% saved)

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
8.7b
(*.f64 (-.f64 U* U) (*.f64 (*.f64 (cbrt.f64 (*.f64 n (/.f64 l Om))) (cbrt.f64 (*.f64 n (/.f64 l Om)))) (cbrt.f64 (*.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 (*.f64 (cbrt.f64 (*.f64 n (/.f64 l Om))) (cbrt.f64 (*.f64 n (/.f64 l Om)))) (cbrt.f64 (*.f64 n (/.f64 l Om)))))))))
16.7b
(cbrt.f64 (*.f64 n (/.f64 l Om)))
18.2b
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 (*.f64 (cbrt.f64 (*.f64 n (/.f64 l Om))) (cbrt.f64 (*.f64 n (/.f64 l Om)))) (cbrt.f64 (*.f64 n (/.f64 l Om))))))))))

series2.9s (10.7%)

Counts
4 → 216
Calls

4 calls:

1.6s
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 (*.f64 (cbrt.f64 (*.f64 n (/.f64 l Om))) (cbrt.f64 (*.f64 n (/.f64 l Om)))) (cbrt.f64 (*.f64 n (/.f64 l Om))))))))))
744.0ms
(cbrt.f64 (*.f64 n (/.f64 l Om)))
447.0ms
(*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 (*.f64 (cbrt.f64 (*.f64 n (/.f64 l Om))) (cbrt.f64 (*.f64 n (/.f64 l Om)))) (cbrt.f64 (*.f64 n (/.f64 l Om)))))))))
83.0ms
(*.f64 (-.f64 U* U) (*.f64 (*.f64 (cbrt.f64 (*.f64 n (/.f64 l Om))) (cbrt.f64 (*.f64 n (/.f64 l Om)))) (cbrt.f64 (*.f64 n (/.f64 l Om)))))

rewrite49.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
57×associate-*r/_binary64
37×cbrt-div_binary64
32×pow1_binary64
29×frac-times_binary64
22×add-exp-log_binary64
Counts
4 → 104
Calls

4 calls:

14.0ms
(*.f64 (-.f64 U* U) (*.f64 (*.f64 (cbrt.f64 (*.f64 n (/.f64 l Om))) (cbrt.f64 (*.f64 n (/.f64 l Om)))) (cbrt.f64 (*.f64 n (/.f64 l Om)))))
11.0ms
(*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 (*.f64 (cbrt.f64 (*.f64 n (/.f64 l Om))) (cbrt.f64 (*.f64 n (/.f64 l Om)))) (cbrt.f64 (*.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 (*.f64 (cbrt.f64 (*.f64 n (/.f64 l Om))) (cbrt.f64 (*.f64 n (/.f64 l Om)))) (cbrt.f64 (*.f64 n (/.f64 l Om))))))))))
2.0ms
(cbrt.f64 (*.f64 n (/.f64 l Om)))

simplify344.0ms (1.3%)

Algorithm
egg-herbie
Rules
796×fma-def_binary64
477×*-commutative_binary64
256×associate-*r*_binary64
168×+-commutative_binary64
146×associate-/l*_binary64
Counts
320 → 284
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0111020967
1363920422
2499620422
3498220422

prune553.0ms (2.1%)

Pruning

18 alts after pruning (16 fresh and 2 done)

PrunedKeptTotal
New3311332
Fresh11516
Picked011
Done011
Total33218350
Error
12.5b
Counts
350 → 18
Alt Table
StatusErrorProgram
47.7b
(sqrt.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 n) U) (-.f64 (*.f64 t t) (*.f64 (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))) (*.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))))))))
39.5b
(*.f64 (sqrt.f64 (*.f64 n (*.f64 t U))) (sqrt.f64 2))
37.7b
(sqrt.f64 (fma.f64 2 (*.f64 n (*.f64 U t)) (*.f64 -4 (/.f64 (*.f64 n (*.f64 (*.f64 l l) U)) Om))))
56.0b
(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))))
60.1b
(*.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))
55.7b
(/.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 n U)) (+.f64 (pow.f64 t 3) (pow.f64 (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (/.f64 (*.f64 n l) Om)))) 3)))) (sqrt.f64 (fma.f64 t t (*.f64 (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (/.f64 (*.f64 n l) Om)))) (-.f64 (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (/.f64 (*.f64 n l) Om)))) t)))))
42.6b
(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)))))
37.3b
(sqrt.f64 (*.f64 n (fma.f64 2 (*.f64 U t) (*.f64 -4 (/.f64 (*.f64 (*.f64 l l) U) Om)))))
62.7b
(-.f64 (*.f64 2 (/.f64 (*.f64 (*.f64 l l) U) (*.f64 Om (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))))))))) (fma.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)))))) (/.f64 (*.f64 U t) (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)))))))))
57.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))
44.5b
(*.f64 (sqrt.f64 (*.f64 2 (*.f64 n U))) (sqrt.f64 (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t)))
33.3b
(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*)))))
60.1b
(*.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.8b
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 (*.f64 (cbrt.f64 (*.f64 n (/.f64 l Om))) (cbrt.f64 (*.f64 n (/.f64 l Om)))) (cbrt.f64 (*.f64 n (/.f64 l Om))))))))))
55.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)))
35.6b
(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)))))))
28.8b
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (*.f64 (cbrt.f64 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) (cbrt.f64 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))) (cbrt.f64 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))))))))
29.8b
(sqrt.f64 (*.f64 (*.f64 2 n) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (/.f64 (*.f64 n l) Om))) t))))
Compiler

Compiled 27602 to 12638 computations (54.2% saved)

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
5.5b
(*.f64 (*.f64 2 n) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (/.f64 (*.f64 n l) Om))) t)))
6.0b
(/.f64 (*.f64 n l) Om)
8.7b
(*.f64 (-.f64 U* U) (/.f64 (*.f64 n l) Om))
18.2b
(sqrt.f64 (*.f64 (*.f64 2 n) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (/.f64 (*.f64 n l) Om))) t))))

series2.0s (7.4%)

Counts
4 → 180
Calls

4 calls:

1.6s
(sqrt.f64 (*.f64 (*.f64 2 n) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (/.f64 (*.f64 n l) Om))) t))))
373.0ms
(*.f64 (*.f64 2 n) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (/.f64 (*.f64 n l) Om))) t)))
36.0ms
(*.f64 (-.f64 U* U) (/.f64 (*.f64 n l) Om))
12.0ms
(/.f64 (*.f64 n l) Om)

rewrite32.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
31×pow1_binary64
30×add-cbrt-cube_binary64
30×add-exp-log_binary64
17×pow-prod-down_binary64
13×cbrt-unprod_binary64
Counts
4 → 102
Calls

4 calls:

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

simplify284.0ms (1.1%)

Algorithm
egg-herbie
Rules
758×fma-def_binary64
446×*-commutative_binary64
227×associate-*r*_binary64
160×+-commutative_binary64
152×associate-/l*_binary64
Counts
282 → 259
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0103419411
1345018930
2498118930

prune524.0ms (1.9%)

Pruning

20 alts after pruning (18 fresh and 2 done)

PrunedKeptTotal
New2554259
Fresh11415
Picked101
Done022
Total25720277
Error
10.0b
Counts
277 → 20
Alt Table
StatusErrorProgram
43.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 (*.f64 n l) Om))) t))))
60.1b
(*.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)))
47.7b
(sqrt.f64 (/.f64 (*.f64 (*.f64 (*.f64 2 n) U) (-.f64 (*.f64 t t) (*.f64 (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))) (*.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))))))))
29.9b
(*.f64 (sqrt.f64 (sqrt.f64 (*.f64 (*.f64 2 n) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (/.f64 (*.f64 n l) Om))) t))))) (sqrt.f64 (sqrt.f64 (*.f64 (*.f64 2 n) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (/.f64 (*.f64 n l) Om))) t))))))
39.5b
(*.f64 (sqrt.f64 (*.f64 n (*.f64 t U))) (sqrt.f64 2))
37.7b
(sqrt.f64 (fma.f64 2 (*.f64 n (*.f64 U t)) (*.f64 -4 (/.f64 (*.f64 n (*.f64 (*.f64 l l) U)) Om))))
56.0b
(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))))
60.1b
(*.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))
55.7b
(/.f64 (sqrt.f64 (*.f64 (*.f64 2 (*.f64 n U)) (+.f64 (pow.f64 t 3) (pow.f64 (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (/.f64 (*.f64 n l) Om)))) 3)))) (sqrt.f64 (fma.f64 t t (*.f64 (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (/.f64 (*.f64 n l) Om)))) (-.f64 (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (/.f64 (*.f64 n l) Om)))) t)))))
42.6b
(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)))))
37.3b
(sqrt.f64 (*.f64 n (fma.f64 2 (*.f64 U t) (*.f64 -4 (/.f64 (*.f64 (*.f64 l l) U) Om)))))
61.9b
(sqrt.f64 (log.f64 (pow.f64 (exp.f64 (*.f64 n 2)) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (/.f64 (*.f64 n l) Om))) t)))))
62.7b
(-.f64 (*.f64 2 (/.f64 (*.f64 (*.f64 l l) U) (*.f64 Om (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))))))))) (fma.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)))))) (/.f64 (*.f64 U t) (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)))))))))
57.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))
44.5b
(*.f64 (sqrt.f64 (*.f64 2 (*.f64 n U))) (sqrt.f64 (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t)))
33.3b
(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.8b
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 (*.f64 (cbrt.f64 (*.f64 n (/.f64 l Om))) (cbrt.f64 (*.f64 n (/.f64 l Om)))) (cbrt.f64 (*.f64 n (/.f64 l Om))))))))))
55.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)))
28.8b
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (*.f64 (cbrt.f64 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) (cbrt.f64 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))) (cbrt.f64 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))))))))
34.4b
(sqrt.f64 (*.f64 (*.f64 2 n) (*.f64 U (fma.f64 (/.f64 l Om) (fma.f64 l -2 (neg.f64 (/.f64 (*.f64 n (*.f64 l U)) Om))) t))))
Compiler

Compiled 21145 to 11003 computations (48% saved)

regimes4.2s (15.6%)

Accuracy

Total 13.8b remaining (52.3%)

Threshold costs 0b (0%)

Counts
240 → 4
Compiler

Compiled 74554 to 45042 computations (39.6% saved)

bsearch15.0ms (0.1%)

Compiler

Compiled 33 to 22 computations (33.3% saved)

simplify43.0ms (0.2%)

Algorithm
egg-herbie
Rules
210×distribute-rgt-neg-in_binary64
142×distribute-lft-neg-in_binary64
138×cancel-sign-sub-inv_binary64
132×distribute-lft-neg-out_binary64
126×neg-sub0_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
071296
1111296
2145296
3183296
4223296
5252296
6275296
7310296
8346296
9398296
10477296
11578296
12663296
13761296
14856296
15924296
16965296
17980296
18982296
19976296

end377.0ms (1.4%)

Compiler

Compiled 1262 to 683 computations (45.9% saved)

Profiling

Loading profile data...