Details

Time bar (total: 8.3s)

analyze1.1s (13.4%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
0%99.9%0.1%5
0%99.9%0.1%6
18.7%81.2%0.1%7
18.7%81.2%0.1%8
29.7%69.5%0.9%9
30.4%67.9%1.7%10
36.3%61.1%2.6%11
36.9%59.5%3.6%12
39.9%55.9%4.2%13
40.2%54.9%4.9%14
Compiler

Compiled 17 to 11 computations (35.3% saved)

sample3.3s (39.8%)

Results
1.3s1123×body2048valid
925.0ms1856×body1024valid
517.0ms4169×body128valid
239.0ms720×body512valid
222.0ms61×body4096valid
75.0ms327×body256valid
23.0ms180×body128invalid
3.0msbody2048invalid
3.0msbody8192exit
Compiler

Compiled 34 to 22 computations (35.3% saved)

preprocess65.0ms (0.8%)

Algorithm
egg-herbie
Rules
816×fma-def_binary64
780×fma-neg_binary64
432×times-frac_binary64
354×div-sub_binary64
199×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01746
14340
210340
326540
445040
573040
699840
7139840
8255340
9421940
10483040
11488040
12491040
13492440
022
Stop Event
saturated
node limit
Compiler

Compiled 16 to 10 computations (37.5% saved)

simplify17.0ms (0.2%)

Algorithm
egg-herbie
Rules
297×fma-def_binary64
157×fma-neg_binary64
49×cancel-sign-sub-inv_binary64
37×associate-/l*_binary64
33×sub-neg_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01123
12520
25620
313820
423320
537120
649720
763720
880420
9107420
10112820
Stop Event
saturated
Counts
1 → 2

prune3.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
15.6b
Counts
3 → 2
Alt Table
StatusErrorProgram
15.6b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
15.7b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 1 (*.f64 F F)) (tan.f64 (*.f64 (PI.f64) l))))
Compiler

Compiled 88 to 48 computations (45.5% saved)

localize8.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
0.2b
(*.f64 (PI.f64) l)
3.3b
(/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))
33.2b
(tan.f64 (*.f64 (PI.f64) l))

series119.0ms (1.4%)

Counts
4 → 60
Calls

18 calls:

31.0ms
(-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
l
inf
11.0ms
(/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))
l
inf
11.0ms
(/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))
l
-inf
7.0ms
(/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F))
F
inf
7.0ms
(-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
l
-inf

rewrite76.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
532×log-prod_binary64
276×fma-def_binary64
197×egg-rr
187×expm1-udef_binary64
187×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0945
120045
2287145
Stop Event
node limit
Counts
4 → 197

simplify53.0ms (0.6%)

Algorithm
egg-herbie
Rules
401×distribute-rgt-neg-in_binary64
398×distribute-lft-neg-in_binary64
304×distribute-neg-frac_binary64
268×fma-neg_binary64
241×associate-/l*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0541516
11611504
25821502
331121497
Stop Event
node limit
Counts
257 → 226

prune357.0ms (4.3%)

Pruning

19 alts after pruning (19 fresh and 0 done)

PrunedKeptTotal
New22319242
Fresh101
Picked101
Done000
Total22519244
Error
12.5b
Counts
244 → 19
Alt Table
StatusErrorProgram
19.9b
(-.f64 (*.f64 (PI.f64) l) (cbrt.f64 (pow.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) 3)))
12.8b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) (/.f64 1 F)))
36.8b
(fma.f64 (cbrt.f64 (*.f64 (PI.f64) l)) (cbrt.f64 (pow.f64 (*.f64 (PI.f64) l) 2)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))
46.6b
(*.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 3) (pow.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) 3)) (/.f64 1 (fma.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2) (*.f64 (PI.f64) l)) (pow.f64 (*.f64 (PI.f64) l) 2))))
16.6b
(*.f64 (cbrt.f64 (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)) (*.f64 (PI.f64) l))) (pow.f64 (cbrt.f64 (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)) (*.f64 (PI.f64) l))) 2))
38.1b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (cbrt.f64 (pow.f64 (*.f64 (PI.f64) l) 3))) (*.f64 F F)))
22.2b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (tan.f64 (*.f64 (PI.f64) l)))) (cbrt.f64 (exp.f64 (tan.f64 (*.f64 (PI.f64) l)))))) (log.f64 (cbrt.f64 (exp.f64 (tan.f64 (*.f64 (PI.f64) l)))))) (*.f64 F F)))
36.3b
(-.f64 (pow.f64 (sqrt.f64 (*.f64 (PI.f64) l)) 2) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
22.0b
(*.f64 l (-.f64 (PI.f64) (/.f64 (PI.f64) (pow.f64 F 2))))
54.4b
(pow.f64 (pow.f64 (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)) (*.f64 (PI.f64) l)) 3) 1/3)
36.2b
(fma.f64 (sqrt.f64 l) (*.f64 (sqrt.f64 l) (PI.f64)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))
22.8b
(-.f64 (*.f64 (PI.f64) l) (-.f64 (exp.f64 (log1p.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)))) 1))
49.8b
(sqrt.f64 (pow.f64 (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)) (*.f64 (PI.f64) l)) 2))
15.7b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (pow.f64 (cbrt.f64 (*.f64 (PI.f64) l)) 3)) (*.f64 F F)))
41.9b
(-.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 (PI.f64) l))) 1) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
41.9b
(/.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 2) (/.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 2) (pow.f64 F 4))) (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2) (*.f64 (PI.f64) l)))
32.3b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 (PI.f64) l))) 1)) (*.f64 F F)))
16.5b
(fma.f64 (*.f64 (PI.f64) (pow.f64 (cbrt.f64 l) 2)) (cbrt.f64 l) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))
46.6b
(/.f64 1 (/.f64 (fma.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2) (*.f64 (PI.f64) l)) (pow.f64 (*.f64 (PI.f64) l) 2)) (-.f64 (pow.f64 (*.f64 (PI.f64) l) 3) (pow.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) 3))))
Compiler

Compiled 6608 to 2905 computations (56% saved)

localize15.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) (/.f64 1 F))
0.2b
(/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)
0.2b
(*.f64 (PI.f64) l)
33.2b
(tan.f64 (*.f64 (PI.f64) l))

series84.0ms (1%)

Counts
2 → 48
Calls

12 calls:

11.0ms
(*.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) (/.f64 1 F))
l
inf
11.0ms
(*.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) (/.f64 1 F))
l
-inf
9.0ms
(/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)
F
inf
7.0ms
(*.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) (/.f64 1 F))
F
0
7.0ms
(/.f64 (tan.f64 (*.f64 (PI.f64) l)) F)
F
-inf

rewrite55.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
524×log-prod_binary64
186×pow1/3_binary64
179×expm1-udef_binary64
179×log1p-udef_binary64
169×pow3_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01023
120723
2270323
Stop Event
node limit
Counts
2 → 98

simplify38.0ms (0.5%)

Algorithm
egg-herbie
Rules
801×fma-def_binary64
774×associate-/r/_binary64
694×associate-/l/_binary64
238×times-frac_binary64
206×unswap-sqr_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0491130
11381122
24341118
322651118
Stop Event
node limit
Counts
146 → 117

prune331.0ms (4%)

Pruning

22 alts after pruning (22 fresh and 0 done)

PrunedKeptTotal
New1765181
Fresh11718
Picked101
Done000
Total17822200
Error
12.5b
Counts
200 → 22
Alt Table
StatusErrorProgram
19.9b
(-.f64 (*.f64 (PI.f64) l) (cbrt.f64 (pow.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) 3)))
36.8b
(fma.f64 (cbrt.f64 (*.f64 (PI.f64) l)) (cbrt.f64 (pow.f64 (*.f64 (PI.f64) l) 2)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))
46.6b
(*.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 3) (pow.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) 3)) (/.f64 1 (fma.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2) (*.f64 (PI.f64) l)) (pow.f64 (*.f64 (PI.f64) l) 2))))
12.8b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 1 F) (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))))
16.6b
(*.f64 (cbrt.f64 (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)) (*.f64 (PI.f64) l))) (pow.f64 (cbrt.f64 (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)) (*.f64 (PI.f64) l))) 2))
38.1b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (cbrt.f64 (pow.f64 (*.f64 (PI.f64) l) 3))) (*.f64 F F)))
19.1b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (*.f64 l (/.f64 (PI.f64) F)) (/.f64 1 F)))
22.2b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (+.f64 (log.f64 (*.f64 (cbrt.f64 (exp.f64 (tan.f64 (*.f64 (PI.f64) l)))) (cbrt.f64 (exp.f64 (tan.f64 (*.f64 (PI.f64) l)))))) (log.f64 (cbrt.f64 (exp.f64 (tan.f64 (*.f64 (PI.f64) l)))))) (*.f64 F F)))
36.3b
(-.f64 (pow.f64 (sqrt.f64 (*.f64 (PI.f64) l)) 2) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
15.7b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (pow.f64 (cbrt.f64 (*.f64 (PI.f64) l)) 3)) (*.f64 F F)))
12.8b
(-.f64 (*.f64 (PI.f64) l) (/.f64 1 (*.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l))) F)))
12.9b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 (tan.f64 (pow.f64 (cbrt.f64 (*.f64 (PI.f64) l)) 3)) F) (/.f64 1 F)))
54.4b
(pow.f64 (pow.f64 (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)) (*.f64 (PI.f64) l)) 3) 1/3)
36.2b
(fma.f64 (sqrt.f64 l) (*.f64 (sqrt.f64 l) (PI.f64)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))
17.7b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (sqrt.f64 (pow.f64 (/.f64 (tan.f64 (*.f64 (PI.f64) l)) F) 2)) (/.f64 1 F)))
22.8b
(-.f64 (*.f64 (PI.f64) l) (-.f64 (exp.f64 (log1p.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)))) 1))
49.8b
(sqrt.f64 (pow.f64 (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)) (*.f64 (PI.f64) l)) 2))
41.9b
(-.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 (PI.f64) l))) 1) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
41.9b
(/.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 2) (/.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 2) (pow.f64 F 4))) (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2) (*.f64 (PI.f64) l)))
32.3b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (tan.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 (PI.f64) l))) 1)) (*.f64 F F)))
16.5b
(fma.f64 (*.f64 (PI.f64) (pow.f64 (cbrt.f64 l) 2)) (cbrt.f64 l) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))
46.6b
(/.f64 1 (/.f64 (fma.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2) (*.f64 (PI.f64) l)) (pow.f64 (*.f64 (PI.f64) l) 2)) (-.f64 (pow.f64 (*.f64 (PI.f64) l) 3) (pow.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) 3))))
Compiler

Compiled 4546 to 2089 computations (54% saved)

localize8.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f64 F (tan.f64 (*.f64 (PI.f64) l)))
0.2b
(*.f64 (PI.f64) l)
0.8b
(/.f64 1 (*.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l))) F))
33.2b
(tan.f64 (*.f64 (PI.f64) l))

series114.0ms (1.4%)

Counts
2 → 48
Calls

12 calls:

15.0ms
(/.f64 F (tan.f64 (*.f64 (PI.f64) l)))
F
-inf
13.0ms
(/.f64 F (tan.f64 (*.f64 (PI.f64) l)))
l
-inf
12.0ms
(/.f64 F (tan.f64 (*.f64 (PI.f64) l)))
F
0
12.0ms
(/.f64 1 (*.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l))) F))
l
-inf
12.0ms
(/.f64 F (tan.f64 (*.f64 (PI.f64) l)))
F
inf

rewrite44.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
530×log-prod_binary64
188×pow1/3_binary64
183×expm1-udef_binary64
183×log1p-udef_binary64
173×pow3_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01026
120723
2268823
Stop Event
node limit
Counts
2 → 68

simplify43.0ms (0.5%)

Algorithm
egg-herbie
Rules
515×distribute-rgt-neg-in_binary64
430×unswap-sqr_binary64
378×associate-*l*_binary64
377×associate-*r*_binary64
325×fma-neg_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0621112
11801106
26141102
335441098
Stop Event
node limit
Counts
116 → 87

prune209.0ms (2.5%)

Pruning

15 alts after pruning (15 fresh and 0 done)

PrunedKeptTotal
New1492151
Fresh81321
Picked101
Done000
Total15815173
Error
1.3b
Counts
173 → 15
Alt Table
StatusErrorProgram
35.1b
(-.f64 (pow.f64 (sqrt.f64 (*.f64 (PI.f64) l)) 2) (/.f64 1 (*.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l))) F)))
36.2b
(fma.f64 (sqrt.f64 l) (*.f64 (sqrt.f64 l) (PI.f64)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))
19.9b
(-.f64 (*.f64 (PI.f64) l) (cbrt.f64 (pow.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) 3)))
36.8b
(fma.f64 (cbrt.f64 (*.f64 (PI.f64) l)) (cbrt.f64 (pow.f64 (*.f64 (PI.f64) l) 2)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))
46.6b
(*.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 3) (pow.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) 3)) (/.f64 1 (fma.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2) (*.f64 (PI.f64) l)) (pow.f64 (*.f64 (PI.f64) l) 2))))
12.8b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 1 F) (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))))
12.9b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 (tan.f64 (pow.f64 (cbrt.f64 (*.f64 (PI.f64) l)) 3)) F) (/.f64 1 F)))
54.4b
(pow.f64 (pow.f64 (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)) (*.f64 (PI.f64) l)) 3) 1/3)
16.6b
(*.f64 (cbrt.f64 (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)) (*.f64 (PI.f64) l))) (pow.f64 (cbrt.f64 (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)) (*.f64 (PI.f64) l))) 2))
1.7b
(-.f64 (*.f64 (PI.f64) l) (/.f64 1 (*.f64 (+.f64 (/.f64 F (*.f64 (PI.f64) l)) (fma.f64 F (fma.f64 (*.f64 (PI.f64) l) -1/3 (*.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) -1/45))) (*.f64 (*.f64 (pow.f64 l 5) (*.f64 F (pow.f64 (PI.f64) 5))) -2/945))) F)))
19.1b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (*.f64 l (/.f64 (PI.f64) F)) (/.f64 1 F)))
41.9b
(-.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 (PI.f64) l))) 1) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
41.9b
(/.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 2) (/.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 2) (pow.f64 F 4))) (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2) (*.f64 (PI.f64) l)))
16.5b
(fma.f64 (*.f64 (PI.f64) (pow.f64 (cbrt.f64 l) 2)) (cbrt.f64 l) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))
46.6b
(/.f64 1 (/.f64 (fma.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2) (*.f64 (PI.f64) l)) (pow.f64 (*.f64 (PI.f64) l) 2)) (-.f64 (pow.f64 (*.f64 (PI.f64) l) 3) (pow.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) 3))))
Compiler

Compiled 3824 to 1687 computations (55.9% saved)

localize23.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.8b
(*.f64 (+.f64 (/.f64 F (*.f64 (PI.f64) l)) (fma.f64 F (fma.f64 (*.f64 (PI.f64) l) -1/3 (*.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) -1/45))) (*.f64 (*.f64 (pow.f64 l 5) (*.f64 F (pow.f64 (PI.f64) 5))) -2/945))) F)
1.0b
(pow.f64 (PI.f64) 3)
1.0b
(pow.f64 (PI.f64) 5)
3.5b
(*.f64 (pow.f64 l 5) (*.f64 F (pow.f64 (PI.f64) 5)))

series140.0ms (1.7%)

Counts
4 → 48
Calls

12 calls:

32.0ms
(*.f64 (+.f64 (/.f64 F (*.f64 (PI.f64) l)) (fma.f64 F (fma.f64 (*.f64 (PI.f64) l) -1/3 (*.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) -1/45))) (*.f64 (*.f64 (pow.f64 l 5) (*.f64 F (pow.f64 (PI.f64) 5))) -2/945))) F)
F
-inf
28.0ms
(*.f64 (+.f64 (/.f64 F (*.f64 (PI.f64) l)) (fma.f64 F (fma.f64 (*.f64 (PI.f64) l) -1/3 (*.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) -1/45))) (*.f64 (*.f64 (pow.f64 l 5) (*.f64 F (pow.f64 (PI.f64) 5))) -2/945))) F)
F
0
25.0ms
(*.f64 (+.f64 (/.f64 F (*.f64 (PI.f64) l)) (fma.f64 F (fma.f64 (*.f64 (PI.f64) l) -1/3 (*.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) -1/45))) (*.f64 (*.f64 (pow.f64 l 5) (*.f64 F (pow.f64 (PI.f64) 5))) -2/945))) F)
F
inf
8.0ms
(*.f64 (pow.f64 l 5) (*.f64 F (pow.f64 (PI.f64) 5)))
F
-inf
7.0ms
(*.f64 (+.f64 (/.f64 F (*.f64 (PI.f64) l)) (fma.f64 F (fma.f64 (*.f64 (PI.f64) l) -1/3 (*.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) -1/45))) (*.f64 (*.f64 (pow.f64 l 5) (*.f64 F (pow.f64 (PI.f64) 5))) -2/945))) F)
l
-inf

rewrite36.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
251×add-sqr-sqrt_binary64
240×log1p-expm1-u_binary64
240×expm1-log1p-u_binary64
237×add-cbrt-cube_binary64
233×add-log-exp_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02479
152176
Stop Event
node limit
Counts
4 → 57

simplify55.0ms (0.7%)

Algorithm
egg-herbie
Rules
663×associate-*l*_binary64
589×unswap-sqr_binary64
509×associate-*r*_binary64
258×fma-def_binary64
248×cancel-sign-sub-inv_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0681437
12081437
27311393
343301393
Stop Event
node limit
Counts
105 → 76

prune147.0ms (1.8%)

Pruning

16 alts after pruning (16 fresh and 0 done)

PrunedKeptTotal
New74276
Fresh01414
Picked101
Done000
Total751691
Error
0.6b
Counts
91 → 16
Alt Table
StatusErrorProgram
35.1b
(-.f64 (pow.f64 (sqrt.f64 (*.f64 (PI.f64) l)) 2) (/.f64 1 (*.f64 (/.f64 F (tan.f64 (*.f64 (PI.f64) l))) F)))
36.2b
(fma.f64 (sqrt.f64 l) (*.f64 (sqrt.f64 l) (PI.f64)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))
19.9b
(-.f64 (*.f64 (PI.f64) l) (cbrt.f64 (pow.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) 3)))
36.8b
(fma.f64 (cbrt.f64 (*.f64 (PI.f64) l)) (cbrt.f64 (pow.f64 (*.f64 (PI.f64) l) 2)) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))
46.6b
(*.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 3) (pow.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) 3)) (/.f64 1 (fma.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2) (*.f64 (PI.f64) l)) (pow.f64 (*.f64 (PI.f64) l) 2))))
12.8b
(-.f64 (*.f64 (PI.f64) l) (/.f64 (/.f64 1 F) (/.f64 F (tan.f64 (*.f64 (PI.f64) l)))))
12.9b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (/.f64 (tan.f64 (pow.f64 (cbrt.f64 (*.f64 (PI.f64) l)) 3)) F) (/.f64 1 F)))
54.4b
(pow.f64 (pow.f64 (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)) (*.f64 (PI.f64) l)) 3) 1/3)
1.7b
(-.f64 (*.f64 (PI.f64) l) (/.f64 1 (pow.f64 (*.f64 F (+.f64 (/.f64 F (*.f64 l (PI.f64))) (fma.f64 F (fma.f64 (*.f64 l (PI.f64)) -1/3 (*.f64 (pow.f64 (*.f64 l (PI.f64)) 3) -1/45)) (*.f64 (pow.f64 l 5) (*.f64 (*.f64 F (pow.f64 (PI.f64) 5)) -2/945))))) 1)))
1.3b
(-.f64 (*.f64 (PI.f64) l) (/.f64 1 (*.f64 (+.f64 (/.f64 F (*.f64 (PI.f64) l)) (fma.f64 F (fma.f64 (*.f64 (PI.f64) l) -1/3 (*.f64 (pow.f64 l 3) (*.f64 (pow.f64 (PI.f64) 3) -1/45))) (*.f64 (log1p.f64 (expm1.f64 (*.f64 (pow.f64 l 5) (*.f64 F (pow.f64 (PI.f64) 5))))) -2/945))) F)))
16.5b
(fma.f64 (*.f64 (PI.f64) (pow.f64 (cbrt.f64 l) 2)) (cbrt.f64 l) (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2))))
16.6b
(*.f64 (cbrt.f64 (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)) (*.f64 (PI.f64) l))) (pow.f64 (cbrt.f64 (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (neg.f64 (pow.f64 F -2)) (*.f64 (PI.f64) l))) 2))
19.1b
(-.f64 (*.f64 (PI.f64) l) (*.f64 (*.f64 l (/.f64 (PI.f64) F)) (/.f64 1 F)))
41.9b
(-.f64 (-.f64 (exp.f64 (log1p.f64 (*.f64 (PI.f64) l))) 1) (/.f64 (tan.f64 (*.f64 (PI.f64) l)) (*.f64 F F)))
41.9b
(/.f64 (-.f64 (pow.f64 (*.f64 (PI.f64) l) 2) (/.f64 (pow.f64 (tan.f64 (*.f64 (PI.f64) l)) 2) (pow.f64 F 4))) (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2) (*.f64 (PI.f64) l)))
46.6b
(/.f64 1 (/.f64 (fma.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) (fma.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2) (*.f64 (PI.f64) l)) (pow.f64 (*.f64 (PI.f64) l) 2)) (-.f64 (pow.f64 (*.f64 (PI.f64) l) 3) (pow.f64 (*.f64 (tan.f64 (*.f64 (PI.f64) l)) (pow.f64 F -2)) 3))))
Compiler

Compiled 3555 to 2109 computations (40.7% saved)

regimes1.5s (18.5%)

Accuracy

Total 0.8b remaining (40.1%)

Threshold costs 0.8b (40.1%)

Counts
195 → 1
Compiler

Compiled 29312 to 18891 computations (35.6% saved)

simplify3.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
distribute-neg-frac_binary64
neg-sub0_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02969
14169
24769
34969
45069
Stop Event
saturated

end307.0ms (3.7%)

Stop Event
fuel
Compiler

Compiled 513 to 326 computations (36.5% saved)

Profiling

Loading profile data...