Details

Time bar (total: 16.9s)

analyze3.1s (18.6%)

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

Results
2.9s14506×body128invalid
1.8s8256×body128valid
Compiler

Compiled 104 to 71 computations (31.7% saved)

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

prune5.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

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

Compiled 189 to 119 computations (37% saved)

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
4.9b
(*.f64 n (/.f64 l Om))
7.0b
(*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))
9.4b
(*.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.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.3s (7.5%)

Counts
4 → 216
Calls

4 calls:

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

rewrite80.0ms (0.5%)

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:

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

simplify212.0ms (1.3%)

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

prune419.0ms (2.5%)

Pruning

19 alts after pruning (19 fresh and 0 done)

PrunedKeptTotal
New19718215
Fresh011
Picked101
Done000
Total19819217
Error
12.2b
Counts
217 → 19
Alt Table
StatusErrorProgram
43.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)))
35.6b
(sqrt.f64 (fma.f64 2 (*.f64 n (*.f64 U t)) (*.f64 (/.f64 (*.f64 n (*.f64 (*.f64 l l) U)) Om) -4)))
62.7b
(-.f64 (+.f64 (*.f64 (*.f64 n (sqrt.f64 2)) (sqrt.f64 (*.f64 (-.f64 (/.f64 (*.f64 (pow.f64 l 2) U*) (pow.f64 Om 2)) (/.f64 (*.f64 (pow.f64 l 2) U) (pow.f64 Om 2))) U))) (*.f64 1/2 (*.f64 (*.f64 t (sqrt.f64 2)) (sqrt.f64 (/.f64 U (-.f64 (/.f64 (*.f64 (pow.f64 l 2) U*) (pow.f64 Om 2)) (/.f64 (*.f64 (pow.f64 l 2) U) (pow.f64 Om 2)))))))) (*.f64 (/.f64 (*.f64 (pow.f64 l 2) (sqrt.f64 2)) Om) (sqrt.f64 (/.f64 U (-.f64 (/.f64 (*.f64 (pow.f64 l 2) U*) (pow.f64 Om 2)) (/.f64 (*.f64 (pow.f64 l 2) U) (pow.f64 Om 2)))))))
32.9b
(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.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)
57.4b
(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)))
29.3b
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (pow.f64 (cbrt.f64 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) 3))))))
59.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.4b
(*.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))))
39.0b
(*.f64 (sqrt.f64 (*.f64 n (*.f64 t U))) (sqrt.f64 2))
29.6b
(*.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))) (cbrt.f64 (sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t)))))
57.9b
(*.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))))))))
62.2b
(sqrt.f64 (log.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 2) n) U) (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))))
32.8b
(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)))))))
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))))))))
60.3b
(*.f64 (sqrt.f64 (*.f64 n (*.f64 U (*.f64 n (*.f64 (*.f64 l l) (-.f64 U* U)))))) (/.f64 (sqrt.f64 2) Om))
40.6b
(*.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)))
29.2b
(sqrt.f64 (fma.f64 (*.f64 (*.f64 2 n) U) t (*.f64 (*.f64 (*.f64 2 n) U) (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))))))
35.6b
(sqrt.f64 (*.f64 n (-.f64 (*.f64 2 (*.f64 t U)) (*.f64 4 (/.f64 (*.f64 (pow.f64 l 2) U) Om)))))
Compiler

Compiled 19482 to 10795 computations (44.6% saved)

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
4.9b
(*.f64 n (/.f64 l Om))
7.0b
(*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))
12.1b
(*.f64 (*.f64 (*.f64 2 n) U) (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))))
18.5b
(sqrt.f64 (fma.f64 (*.f64 (*.f64 2 n) U) t (*.f64 (*.f64 (*.f64 2 n) U) (*.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))))))))

series833.0ms (4.9%)

Counts
2 → 108
Calls

2 calls:

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

rewrite69.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
262×prod-diff_binary64
215×add-sqr-sqrt_binary64
201×log1p-expm1-u_binary64
201×expm1-log1p-u_binary64
199×add-log-exp_binary64
Counts
2 → 42
Calls

2 calls:

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

Useful iterations: 1 (0.0ms)

IterNodesCost
02076
142669
2487169
3538969

simplify251.0ms (1.5%)

Algorithm
egg-herbie
Rules
770×fma-def_binary64
704×associate-/l*_binary64
274×*-commutative_binary64
138×cancel-sign-sub-inv_binary64
121×+-commutative_binary64
Counts
150 → 153
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
066315528
1229214472
2487214354
3509414354

prune461.0ms (2.7%)

Pruning

24 alts after pruning (24 fresh and 0 done)

PrunedKeptTotal
New19310203
Fresh41418
Picked101
Done000
Total19824222
Error
9.3b
Counts
222 → 24
Alt Table
StatusErrorProgram
60.3b
(*.f64 (sqrt.f64 (*.f64 n (*.f64 U (*.f64 n (*.f64 (*.f64 l l) (-.f64 U* U)))))) (/.f64 (sqrt.f64 2) Om))
61.5b
(*.f64 (sqrt.f64 (*.f64 2 (-.f64 (/.f64 (*.f64 (*.f64 l l) (*.f64 U U*)) (*.f64 Om Om)) (/.f64 (*.f64 (*.f64 l l) (*.f64 U U)) (*.f64 Om Om))))) n)
62.7b
(-.f64 (+.f64 (*.f64 (*.f64 n (sqrt.f64 2)) (sqrt.f64 (*.f64 (-.f64 (/.f64 (*.f64 (pow.f64 l 2) U*) (pow.f64 Om 2)) (/.f64 (*.f64 (pow.f64 l 2) U) (pow.f64 Om 2))) U))) (*.f64 1/2 (*.f64 (*.f64 t (sqrt.f64 2)) (sqrt.f64 (/.f64 U (-.f64 (/.f64 (*.f64 (pow.f64 l 2) U*) (pow.f64 Om 2)) (/.f64 (*.f64 (pow.f64 l 2) U) (pow.f64 Om 2)))))))) (*.f64 (/.f64 (*.f64 (pow.f64 l 2) (sqrt.f64 2)) Om) (sqrt.f64 (/.f64 U (-.f64 (/.f64 (*.f64 (pow.f64 l 2) U*) (pow.f64 Om 2)) (/.f64 (*.f64 (pow.f64 l 2) U) (pow.f64 Om 2)))))))
36.0b
(sqrt.f64 (fma.f64 (*.f64 (*.f64 2 n) U) t (*.f64 2 (/.f64 (*.f64 n (*.f64 (pow.f64 l 2) (*.f64 (-.f64 (/.f64 (*.f64 n U*) Om) (+.f64 2 (/.f64 (*.f64 n U) Om))) U))) Om))))
29.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)
57.4b
(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)))
26.7b
(sqrt.f64 (fma.f64 (*.f64 (*.f64 2 n) U) t (+.f64 (*.f64 (*.f64 l -2) (*.f64 (*.f64 (*.f64 2 n) U) (/.f64 l Om))) (*.f64 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))) (*.f64 (*.f64 (*.f64 2 n) U) (/.f64 l Om))))))
39.3b
(sqrt.f64 (fma.f64 (*.f64 (*.f64 2 n) U) t (*.f64 2 (/.f64 (fma.f64 (/.f64 (*.f64 n n) Om) (*.f64 (*.f64 l l) U*) (*.f64 (*.f64 (*.f64 l l) n) -2)) (/.f64 Om U)))))
29.3b
(sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (+.f64 t (*.f64 (/.f64 l Om) (fma.f64 l -2 (pow.f64 (cbrt.f64 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) 3))))))
38.5b
(sqrt.f64 (fma.f64 (*.f64 (*.f64 2 n) U) t (*.f64 2 (/.f64 (*.f64 (-.f64 (/.f64 (*.f64 (pow.f64 n 2) (*.f64 (pow.f64 l 2) U*)) Om) (*.f64 2 (*.f64 n (pow.f64 l 2)))) U) Om))))
40.6b
(*.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.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.4b
(*.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))))
39.0b
(*.f64 (sqrt.f64 (*.f64 n (*.f64 t U))) (sqrt.f64 2))
29.6b
(*.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))) (cbrt.f64 (sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t)))))
57.9b
(*.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))))))))
62.2b
(sqrt.f64 (log.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 2) n) U) (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))))
58.9b
(*.f64 l (sqrt.f64 (fma.f64 2 (-.f64 (/.f64 (*.f64 (*.f64 U U*) (*.f64 n n)) (*.f64 Om Om)) (/.f64 (*.f64 (*.f64 U U) (*.f64 n n)) (*.f64 Om Om))) (*.f64 -4 (/.f64 (*.f64 U n) Om)))))
35.6b
(sqrt.f64 (*.f64 n (-.f64 (*.f64 2 (*.f64 t U)) (*.f64 4 (/.f64 (*.f64 (pow.f64 l 2) U) Om)))))
30.9b
(sqrt.f64 (fma.f64 (*.f64 (*.f64 2 n) U) t (*.f64 -2 (/.f64 (*.f64 (*.f64 n (*.f64 l U)) (fma.f64 2 l (/.f64 (*.f64 n (*.f64 l U)) Om))) Om))))
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))))))))
34.6b
(sqrt.f64 (fma.f64 (*.f64 (*.f64 2 n) U) t (*.f64 -4 (/.f64 (*.f64 n (*.f64 (pow.f64 l 2) U)) Om))))
61.5b
(*.f64 (/.f64 1 Om) (sqrt.f64 (-.f64 (*.f64 2 (*.f64 (pow.f64 n 2) (*.f64 (pow.f64 l 2) (*.f64 U* U)))) (*.f64 2 (*.f64 (pow.f64 n 2) (*.f64 (pow.f64 l 2) (pow.f64 U 2)))))))
58.9b
(*.f64 (sqrt.f64 (fma.f64 2 (-.f64 (/.f64 (*.f64 (*.f64 U U*) (*.f64 n n)) (*.f64 Om Om)) (/.f64 (*.f64 (*.f64 U U) (*.f64 n n)) (*.f64 Om Om))) (*.f64 -4 (/.f64 (*.f64 U n) Om)))) (neg.f64 l))
Compiler

Compiled 21001 to 11508 computations (45.2% saved)

localize18.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
4.9b
(*.f64 n (/.f64 l Om))
7.0b
(*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))
9.7b
(*.f64 (*.f64 (*.f64 2 n) U) (/.f64 l Om))
18.5b
(sqrt.f64 (fma.f64 (*.f64 (*.f64 2 n) U) t (+.f64 (*.f64 (*.f64 l -2) (*.f64 (*.f64 (*.f64 2 n) U) (/.f64 l Om))) (*.f64 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))) (*.f64 (*.f64 (*.f64 2 n) U) (/.f64 l Om))))))

series663.0ms (3.9%)

Counts
2 → 96
Calls

2 calls:

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

rewrite63.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
244×add-sqr-sqrt_binary64
230×log1p-expm1-u_binary64
230×expm1-log1p-u_binary64
226×add-log-exp_binary64
225×add-cube-cbrt_binary64
Counts
2 → 36
Calls

2 calls:

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

Useful iterations: 1 (0.0ms)

IterNodesCost
02259
148457
2489457
3496157

simplify158.0ms (0.9%)

Algorithm
egg-herbie
Rules
652×associate-/l*_binary64
565×associate-/r*_binary64
539×fma-def_binary64
243×*-commutative_binary64
123×cancel-sign-sub-inv_binary64
Counts
132 → 123
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
060412907
1211211801
2535011801

prune441.0ms (2.6%)

Pruning

26 alts after pruning (25 fresh and 1 done)

PrunedKeptTotal
New1864190
Fresh22123
Picked011
Done000
Total18826214
Error
9.0b
Counts
214 → 26
Alt Table
StatusErrorProgram
26.9b
(pow.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 (*.f64 2 n) U) t (*.f64 (*.f64 (*.f64 (*.f64 2 n) U) (/.f64 l Om)) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))))))) 2)
30.9b
(sqrt.f64 (fma.f64 (*.f64 (*.f64 2 n) U) t (*.f64 -2 (/.f64 (*.f64 (*.f64 n (*.f64 l U)) (fma.f64 2 l (/.f64 (*.f64 n (*.f64 l U)) Om))) Om))))
60.3b
(*.f64 (sqrt.f64 (*.f64 n (*.f64 U (*.f64 n (*.f64 (*.f64 l l) (-.f64 U* U)))))) (/.f64 (sqrt.f64 2) Om))
61.5b
(*.f64 (sqrt.f64 (*.f64 2 (-.f64 (/.f64 (*.f64 (*.f64 l l) (*.f64 U U*)) (*.f64 Om Om)) (/.f64 (*.f64 (*.f64 l l) (*.f64 U U)) (*.f64 Om Om))))) n)
27.0b
(sqrt.f64 (fma.f64 (*.f64 (*.f64 2 n) U) t (+.f64 (*.f64 (*.f64 l -2) (*.f64 2 (/.f64 (*.f64 n (*.f64 l U)) Om))) (*.f64 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))) (*.f64 (*.f64 (*.f64 2 n) U) (/.f64 l Om))))))
62.7b
(-.f64 (+.f64 (*.f64 (*.f64 n (sqrt.f64 2)) (sqrt.f64 (*.f64 (-.f64 (/.f64 (*.f64 (pow.f64 l 2) U*) (pow.f64 Om 2)) (/.f64 (*.f64 (pow.f64 l 2) U) (pow.f64 Om 2))) U))) (*.f64 1/2 (*.f64 (*.f64 t (sqrt.f64 2)) (sqrt.f64 (/.f64 U (-.f64 (/.f64 (*.f64 (pow.f64 l 2) U*) (pow.f64 Om 2)) (/.f64 (*.f64 (pow.f64 l 2) U) (pow.f64 Om 2)))))))) (*.f64 (/.f64 (*.f64 (pow.f64 l 2) (sqrt.f64 2)) Om) (sqrt.f64 (/.f64 U (-.f64 (/.f64 (*.f64 (pow.f64 l 2) U*) (pow.f64 Om 2)) (/.f64 (*.f64 (pow.f64 l 2) U) (pow.f64 Om 2)))))))
36.0b
(sqrt.f64 (fma.f64 (*.f64 (*.f64 2 n) U) t (*.f64 2 (/.f64 (*.f64 n (*.f64 (pow.f64 l 2) (*.f64 (-.f64 (/.f64 (*.f64 n U*) Om) (+.f64 2 (/.f64 (*.f64 n U) Om))) U))) Om))))
57.4b
(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)))
26.7b
(sqrt.f64 (fma.f64 (*.f64 (*.f64 2 n) U) t (+.f64 (*.f64 (*.f64 l -2) (*.f64 (*.f64 (*.f64 2 n) U) (/.f64 l Om))) (*.f64 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))) (*.f64 (*.f64 (*.f64 2 n) U) (/.f64 l Om))))))
39.3b
(sqrt.f64 (fma.f64 (*.f64 (*.f64 2 n) U) t (*.f64 2 (/.f64 (fma.f64 (/.f64 (*.f64 n n) Om) (*.f64 (*.f64 l l) U*) (*.f64 (*.f64 (*.f64 l l) n) -2)) (/.f64 Om U)))))
38.5b
(sqrt.f64 (fma.f64 (*.f64 (*.f64 2 n) U) t (*.f64 2 (/.f64 (*.f64 (-.f64 (/.f64 (*.f64 (pow.f64 n 2) (*.f64 (pow.f64 l 2) U*)) Om) (*.f64 2 (*.f64 n (pow.f64 l 2)))) U) Om))))
40.6b
(*.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.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.4b
(*.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))))
39.0b
(*.f64 (sqrt.f64 (*.f64 n (*.f64 t U))) (sqrt.f64 2))
29.6b
(*.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))) (cbrt.f64 (sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t)))))
61.5b
(*.f64 (/.f64 1 Om) (sqrt.f64 (-.f64 (*.f64 2 (*.f64 (pow.f64 n 2) (*.f64 (pow.f64 l 2) (*.f64 U* U)))) (*.f64 2 (*.f64 (pow.f64 n 2) (*.f64 (pow.f64 l 2) (pow.f64 U 2)))))))
31.5b
(sqrt.f64 (fma.f64 (*.f64 (*.f64 2 n) U) t (+.f64 (*.f64 (*.f64 l -2) (*.f64 (*.f64 (*.f64 2 n) U) (/.f64 l Om))) (*.f64 (neg.f64 (/.f64 (*.f64 n (*.f64 l U)) Om)) (*.f64 (*.f64 (*.f64 2 n) U) (/.f64 l Om))))))
57.9b
(*.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))))))))
62.2b
(sqrt.f64 (log.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 2) n) U) (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))))
30.0b
(sqrt.f64 (fma.f64 (*.f64 (*.f64 2 n) U) t (+.f64 (*.f64 (*.f64 l -2) (*.f64 (*.f64 (*.f64 2 n) U) (/.f64 l Om))) (*.f64 (/.f64 (*.f64 n (*.f64 l (-.f64 U* U))) Om) (*.f64 (*.f64 (*.f64 2 n) U) (/.f64 l Om))))))
58.9b
(*.f64 l (sqrt.f64 (fma.f64 2 (-.f64 (/.f64 (*.f64 (*.f64 U U*) (*.f64 n n)) (*.f64 Om Om)) (/.f64 (*.f64 (*.f64 U U) (*.f64 n n)) (*.f64 Om Om))) (*.f64 -4 (/.f64 (*.f64 U n) Om)))))
35.6b
(sqrt.f64 (*.f64 n (-.f64 (*.f64 2 (*.f64 t U)) (*.f64 4 (/.f64 (*.f64 (pow.f64 l 2) U) Om)))))
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))))))))
34.6b
(sqrt.f64 (fma.f64 (*.f64 (*.f64 2 n) U) t (*.f64 -4 (/.f64 (*.f64 n (*.f64 (pow.f64 l 2) U)) Om))))
58.9b
(*.f64 (sqrt.f64 (fma.f64 2 (-.f64 (/.f64 (*.f64 (*.f64 U U*) (*.f64 n n)) (*.f64 Om Om)) (/.f64 (*.f64 (*.f64 U U) (*.f64 n n)) (*.f64 Om Om))) (*.f64 -4 (/.f64 (*.f64 U n) Om)))) (neg.f64 l))
Compiler

Compiled 21775 to 11978 computations (45% saved)

localize18.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
4.9b
(*.f64 n (/.f64 l Om))
7.0b
(*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))
9.7b
(*.f64 (*.f64 (*.f64 2 n) U) (/.f64 l Om))
18.5b
(sqrt.f64 (fma.f64 (*.f64 (*.f64 2 n) U) t (*.f64 (*.f64 (*.f64 (*.f64 2 n) U) (/.f64 l Om)) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))))))

series618.0ms (3.7%)

Counts
1 → 48
Calls

1 calls:

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

rewrite63.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
255×prod-diff_binary64
215×add-sqr-sqrt_binary64
201×log1p-expm1-u_binary64
201×expm1-log1p-u_binary64
199×add-log-exp_binary64
Counts
1 → 22
Calls

1 calls:

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

Useful iterations: 1 (0.0ms)

IterNodesCost
02044
142637
2486537
3536137

simplify154.0ms (0.9%)

Algorithm
egg-herbie
Rules
648×associate-/l*_binary64
563×associate-/r*_binary64
536×fma-def_binary64
240×*-commutative_binary64
126×cancel-sign-sub-inv_binary64
Counts
70 → 108
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
060112283
1210111179
2533511179

prune397.0ms (2.4%)

Pruning

25 alts after pruning (24 fresh and 1 done)

PrunedKeptTotal
New1741175
Fresh12324
Picked101
Done011
Total17625201
Error
9.0b
Counts
201 → 25
Alt Table
StatusErrorProgram
60.3b
(*.f64 (sqrt.f64 (*.f64 n (*.f64 U (*.f64 n (*.f64 (*.f64 l l) (-.f64 U* U)))))) (/.f64 (sqrt.f64 2) Om))
61.5b
(*.f64 (sqrt.f64 (*.f64 2 (-.f64 (/.f64 (*.f64 (*.f64 l l) (*.f64 U U*)) (*.f64 Om Om)) (/.f64 (*.f64 (*.f64 l l) (*.f64 U U)) (*.f64 Om Om))))) n)
27.0b
(sqrt.f64 (fma.f64 (*.f64 (*.f64 2 n) U) t (+.f64 (*.f64 (*.f64 l -2) (*.f64 2 (/.f64 (*.f64 n (*.f64 l U)) Om))) (*.f64 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))) (*.f64 (*.f64 (*.f64 2 n) U) (/.f64 l Om))))))
62.7b
(-.f64 (+.f64 (*.f64 (*.f64 n (sqrt.f64 2)) (sqrt.f64 (*.f64 (-.f64 (/.f64 (*.f64 (pow.f64 l 2) U*) (pow.f64 Om 2)) (/.f64 (*.f64 (pow.f64 l 2) U) (pow.f64 Om 2))) U))) (*.f64 1/2 (*.f64 (*.f64 t (sqrt.f64 2)) (sqrt.f64 (/.f64 U (-.f64 (/.f64 (*.f64 (pow.f64 l 2) U*) (pow.f64 Om 2)) (/.f64 (*.f64 (pow.f64 l 2) U) (pow.f64 Om 2)))))))) (*.f64 (/.f64 (*.f64 (pow.f64 l 2) (sqrt.f64 2)) Om) (sqrt.f64 (/.f64 U (-.f64 (/.f64 (*.f64 (pow.f64 l 2) U*) (pow.f64 Om 2)) (/.f64 (*.f64 (pow.f64 l 2) U) (pow.f64 Om 2)))))))
31.7b
(pow.f64 (sqrt.f64 (sqrt.f64 (fma.f64 (*.f64 (*.f64 2 n) U) t (*.f64 (*.f64 (*.f64 (*.f64 2 n) U) (/.f64 l Om)) (fma.f64 l -2 (neg.f64 (/.f64 (*.f64 n (*.f64 l U)) Om))))))) 2)
36.0b
(sqrt.f64 (fma.f64 (*.f64 (*.f64 2 n) U) t (*.f64 2 (/.f64 (*.f64 n (*.f64 (pow.f64 l 2) (*.f64 (-.f64 (/.f64 (*.f64 n U*) Om) (+.f64 2 (/.f64 (*.f64 n U) Om))) U))) Om))))
57.4b
(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)))
26.7b
(sqrt.f64 (fma.f64 (*.f64 (*.f64 2 n) U) t (+.f64 (*.f64 (*.f64 l -2) (*.f64 (*.f64 (*.f64 2 n) U) (/.f64 l Om))) (*.f64 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om))) (*.f64 (*.f64 (*.f64 2 n) U) (/.f64 l Om))))))
39.3b
(sqrt.f64 (fma.f64 (*.f64 (*.f64 2 n) U) t (*.f64 2 (/.f64 (fma.f64 (/.f64 (*.f64 n n) Om) (*.f64 (*.f64 l l) U*) (*.f64 (*.f64 (*.f64 l l) n) -2)) (/.f64 Om U)))))
38.5b
(sqrt.f64 (fma.f64 (*.f64 (*.f64 2 n) U) t (*.f64 2 (/.f64 (*.f64 (-.f64 (/.f64 (*.f64 (pow.f64 n 2) (*.f64 (pow.f64 l 2) U*)) Om) (*.f64 2 (*.f64 n (pow.f64 l 2)))) U) Om))))
40.6b
(*.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.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.4b
(*.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))))
39.0b
(*.f64 (sqrt.f64 (*.f64 n (*.f64 t U))) (sqrt.f64 2))
29.6b
(*.f64 (cbrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))) (cbrt.f64 (sqrt.f64 (*.f64 (*.f64 (*.f64 2 n) U) (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t)))))
57.9b
(*.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))))))))
62.2b
(sqrt.f64 (log.f64 (pow.f64 (pow.f64 (pow.f64 (exp.f64 2) n) U) (fma.f64 (/.f64 l Om) (fma.f64 l -2 (*.f64 (-.f64 U* U) (*.f64 n (/.f64 l Om)))) t))))
30.0b
(sqrt.f64 (fma.f64 (*.f64 (*.f64 2 n) U) t (+.f64 (*.f64 (*.f64 l -2) (*.f64 (*.f64 (*.f64 2 n) U) (/.f64 l Om))) (*.f64 (/.f64 (*.f64 n (*.f64 l (-.f64 U* U))) Om) (*.f64 (*.f64 (*.f64 2 n) U) (/.f64 l Om))))))
58.9b
(*.f64 l (sqrt.f64 (fma.f64 2 (-.f64 (/.f64 (*.f64 (*.f64 U U*) (*.f64 n n)) (*.f64 Om Om)) (/.f64 (*.f64 (*.f64 U U) (*.f64 n n)) (*.f64 Om Om))) (*.f64 -4 (/.f64 (*.f64 U n) Om)))))
35.6b
(sqrt.f64 (*.f64 n (-.f64 (*.f64 2 (*.f64 t U)) (*.f64 4 (/.f64 (*.f64 (pow.f64 l 2) U) Om)))))
30.9b
(sqrt.f64 (fma.f64 (*.f64 (*.f64 2 n) U) t (*.f64 -2 (/.f64 (*.f64 (*.f64 n (*.f64 l U)) (fma.f64 2 l (/.f64 (*.f64 n (*.f64 l U)) Om))) Om))))
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))))))))
34.6b
(sqrt.f64 (fma.f64 (*.f64 (*.f64 2 n) U) t (*.f64 -4 (/.f64 (*.f64 n (*.f64 (pow.f64 l 2) U)) Om))))
61.5b
(*.f64 (/.f64 1 Om) (sqrt.f64 (-.f64 (*.f64 2 (*.f64 (pow.f64 n 2) (*.f64 (pow.f64 l 2) (*.f64 U* U)))) (*.f64 2 (*.f64 (pow.f64 n 2) (*.f64 (pow.f64 l 2) (pow.f64 U 2)))))))
58.9b
(*.f64 (sqrt.f64 (fma.f64 2 (-.f64 (/.f64 (*.f64 (*.f64 U U*) (*.f64 n n)) (*.f64 Om Om)) (/.f64 (*.f64 (*.f64 U U) (*.f64 n n)) (*.f64 Om Om))) (*.f64 -4 (/.f64 (*.f64 U n) Om)))) (neg.f64 l))
Compiler

Compiled 19775 to 11074 computations (44% saved)

regimes2.2s (12.9%)

Accuracy

Total 16.5b remaining (62.6%)

Threshold costs 0b (0%)

Counts
161 → 2
Compiler

Compiled 47394 to 31018 computations (34.6% saved)

bsearch77.0ms (0.5%)

Steps
ItersRangePoint
9
-3.2121946617569775e-306
4.773887678510666e-304
2.998073525591517e-309
Compiler

Compiled 7 to 6 computations (14.3% saved)

simplify4.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
03187
14387
24787
34987
45087
54987

end435.0ms (2.6%)

Compiler

Compiled 1096 to 682 computations (37.8% saved)

Profiling

Loading profile data...