Details

Time bar (total: 10.1s)

analyze5.0ms (0.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%49.7%50.3%0
0%49.7%50.3%1
0%49.7%50.3%2
24.8%24.8%50.3%3
37.3%12.4%50.3%4
43.5%6.2%50.3%5
46.6%3.1%50.3%6
48.1%1.6%50.3%7
48.9%0.8%50.3%8
49.3%0.4%50.3%9
49.5%0.2%50.3%10
49.6%0.1%50.3%11
49.6%0%50.3%12
49.7%0%50.3%13
49.7%0%50.3%14
Compiler

Compiled 16 to 12 computations (25% saved)

sample8.9s (87.4%)

Results
6.9s4119×body2048valid
1.2s2107×body1024valid
311.0ms1026×body512valid
192.0ms225×body4096valid
110.0ms539×body256valid
28.0ms240×body128valid
Compiler

Compiled 41 to 31 computations (24.4% saved)

simplify9.0ms (0.1%)

Algorithm
egg-herbie
Rules
39×fma-def_binary64
32×fma-neg_binary64
15×cancel-sign-sub-inv_binary64
12×sub-neg_binary64
10×distribute-rgt-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0712
11112
21712
32512
43512
55312
69012
712412
816912
920512
1023112
1123312
Stop Event
saturated
Counts
1 → 2

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
59.6b
Counts
3 → 1
Alt Table
StatusErrorProgram
59.6b
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))
Compiler

Compiled 35 to 26 computations (25.7% saved)

localize4.0ms (0%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(/.f64 1 (tan.f64 x))
3.3b
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))

series26.0ms (0.3%)

Counts
2 → 24
Calls

2 calls:

14.0ms
(/.f64 1 (tan.f64 x))
12.0ms
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))

rewrite49.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
823×expm1-log1p-u_binary64
592×prod-diff_binary64
126×egg-rr
82×add-sqr-sqrt_binary64
78×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0718
116118
2234318
Stop Event
node limit
Counts
2 → 126
Calls

2 calls:

47.0ms
(/.f64 1 (tan.f64 x))
47.0ms
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))

simplify35.0ms (0.3%)

Algorithm
egg-herbie
Rules
650×fma-neg_binary64
496×cancel-sign-sub-inv_binary64
490×associate-*l*_binary64
352×fma-def_binary64
351×associate-*r*_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
033281
193281
2228279
3671275
41792275
54640275
Stop Event
node limit
Counts
150 → 144

prune72.0ms (0.7%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New1413144
Fresh000
Picked101
Done000
Total1423145
Error
0.3b
Counts
145 → 3
Alt Table
StatusErrorProgram
0.3b
(fma.f64 1/3 x (fma.f64 1/45 (pow.f64 x 3) (*.f64 2/945 (pow.f64 x 5))))
0.3b
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x)))
0.4b
(*.f64 x (fma.f64 x (*.f64 x 1/45) 1/3))
Compiler

Compiled 2995 to 1869 computations (37.6% saved)

localize8.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x))
0.1b
(*.f64 2/945 (pow.f64 x 5))
0.1b
(*.f64 1/45 (pow.f64 x 3))
0.3b
(*.f64 1/3 x)

series10.0ms (0.1%)

Counts
4 → 9
Calls

4 calls:

3.0ms
(*.f64 2/945 (pow.f64 x 5))
3.0ms
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x))
3.0ms
(*.f64 1/45 (pow.f64 x 3))
2.0ms
(*.f64 1/3 x)

rewrite54.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
557×log-prod_binary64
318×fma-def_binary64
229×expm1-udef_binary64
229×log1p-udef_binary64
190×log-pow_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01329
128429
2328929
Stop Event
node limit
Counts
4 → 107
Calls

4 calls:

52.0ms
(+.f64 (*.f64 1/45 (pow.f64 x 3)) (*.f64 1/3 x))
52.0ms
(*.f64 2/945 (pow.f64 x 5))
52.0ms
(*.f64 1/45 (pow.f64 x 3))
52.0ms
(*.f64 1/3 x)

simplify60.0ms (0.6%)

Algorithm
egg-herbie
Rules
732×sqr-pow_binary64
441×associate-*l*_binary64
362×unswap-sqr_binary64
313×pow-sqr_binary64
256×cube-prod_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0984
12184
24184
38584
415284
537784
6121984
7192284
8200984
9214284
10230084
11253284
12285484
13327584
14377584
15437084
Stop Event
node limit
Counts
116 → 111

prune124.0ms (1.2%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New10110111
Fresh202
Picked101
Done000
Total10410114
Error
0.1b
Counts
114 → 10
Alt Table
StatusErrorProgram
1.5b
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (fma.f64 (cbrt.f64 (*.f64 1/3 x)) (pow.f64 (cbrt.f64 (*.f64 1/3 x)) 2) (*.f64 1/45 (pow.f64 x 3))))
43.1b
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (/.f64 1 (/.f64 (fma.f64 (*.f64 1/3 x) (-.f64 (*.f64 1/3 x) (*.f64 1/45 (pow.f64 x 3))) (*.f64 1/2025 (pow.f64 x 6))) (fma.f64 (pow.f64 x 3) 1/27 (*.f64 1/91125 (pow.f64 (pow.f64 x 3) 3))))))
1.5b
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 1/3) (*.f64 1/45 (pow.f64 x 3))))
30.2b
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 (-.f64 (*.f64 1/2025 (pow.f64 x 6)) (*.f64 (*.f64 x x) 1/9)) (/.f64 1 (fma.f64 1/45 (pow.f64 x 3) (*.f64 -1/3 x)))))
0.3b
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3))))
33.7b
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (pow.f64 (sqrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))) 2))
30.1b
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (/.f64 (-.f64 (*.f64 1/2025 (pow.f64 x 6)) (*.f64 (*.f64 x x) 1/9)) (fma.f64 1/45 (pow.f64 x 3) (*.f64 -1/3 x))))
33.8b
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 1/3) (*.f64 1/45 (pow.f64 x 3))))
43.2b
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 (fma.f64 (pow.f64 x 3) 1/27 (*.f64 1/91125 (pow.f64 (pow.f64 x 3) 3))) (/.f64 1 (fma.f64 (*.f64 1/3 x) (-.f64 (*.f64 1/3 x) (*.f64 1/45 (pow.f64 x 3))) (*.f64 1/2025 (pow.f64 x 6))))))
46.0b
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (sqrt.f64 (*.f64 (*.f64 x x) 1/9))))
Compiler

Compiled 2718 to 2189 computations (19.5% saved)

localize8.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(*.f64 2/945 (pow.f64 x 5))
0.1b
(*.f64 1/45 (pow.f64 x 3))
0.3b
(fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))

series3.0ms (0%)

Counts
1 → 12
Calls

1 calls:

3.0ms
(fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))

rewrite35.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
649×log1p-expm1-u_binary64
649×expm1-log1p-u_binary64
305×log-prod_binary64
134×expm1-udef_binary64
134×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0811
116711
2178111
Stop Event
node limit
Counts
1 → 29
Calls

1 calls:

34.0ms
(fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))

simplify63.0ms (0.6%)

Algorithm
egg-herbie
Rules
731×sqr-pow_binary64
441×associate-*l*_binary64
362×unswap-sqr_binary64
313×pow-sqr_binary64
256×cube-prod_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
010117
122117
241117
385117
4152117
5374117
61226117
71931117
82018117
92151117
102309117
112541117
122863117
133284117
143784117
154379117
Stop Event
node limit
Counts
41 → 32

prune76.0ms (0.7%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New64064
Fresh099
Picked011
Done000
Total641074
Error
0.1b
Counts
74 → 10
Alt Table
StatusErrorProgram
1.5b
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (fma.f64 (cbrt.f64 (*.f64 1/3 x)) (pow.f64 (cbrt.f64 (*.f64 1/3 x)) 2) (*.f64 1/45 (pow.f64 x 3))))
43.1b
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (/.f64 1 (/.f64 (fma.f64 (*.f64 1/3 x) (-.f64 (*.f64 1/3 x) (*.f64 1/45 (pow.f64 x 3))) (*.f64 1/2025 (pow.f64 x 6))) (fma.f64 (pow.f64 x 3) 1/27 (*.f64 1/91125 (pow.f64 (pow.f64 x 3) 3))))))
1.5b
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 1/3) (*.f64 1/45 (pow.f64 x 3))))
30.2b
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 (-.f64 (*.f64 1/2025 (pow.f64 x 6)) (*.f64 (*.f64 x x) 1/9)) (/.f64 1 (fma.f64 1/45 (pow.f64 x 3) (*.f64 -1/3 x)))))
0.3b
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3))))
33.7b
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (pow.f64 (sqrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))) 2))
30.1b
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (/.f64 (-.f64 (*.f64 1/2025 (pow.f64 x 6)) (*.f64 (*.f64 x x) 1/9)) (fma.f64 1/45 (pow.f64 x 3) (*.f64 -1/3 x))))
33.8b
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 1/3) (*.f64 1/45 (pow.f64 x 3))))
43.2b
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 (fma.f64 (pow.f64 x 3) 1/27 (*.f64 1/91125 (pow.f64 (pow.f64 x 3) 3))) (/.f64 1 (fma.f64 (*.f64 1/3 x) (-.f64 (*.f64 1/3 x) (*.f64 1/45 (pow.f64 x 3))) (*.f64 1/2025 (pow.f64 x 6))))))
46.0b
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (+.f64 (*.f64 1/45 (pow.f64 x 3)) (sqrt.f64 (*.f64 (*.f64 x x) 1/9))))
Compiler

Compiled 1700 to 1383 computations (18.6% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 1/3) (*.f64 1/45 (pow.f64 x 3)))
0.4b
(*.f64 (cbrt.f64 x) 1/3)
0.5b
(pow.f64 (cbrt.f64 x) 2)
0.6b
(cbrt.f64 x)

series65.0ms (0.6%)

Counts
4 → 3
Calls

4 calls:

22.0ms
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 1/3) (*.f64 1/45 (pow.f64 x 3)))
22.0ms
(pow.f64 (cbrt.f64 x) 2)
12.0ms
(*.f64 (cbrt.f64 x) 1/3)
9.0ms
(cbrt.f64 x)

rewrite46.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
900×log1p-expm1-u_binary64
900×expm1-log1p-u_binary64
182×prod-diff_binary64
110×add-sqr-sqrt_binary64
105×add-cbrt-cube_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01236
124628
2257428
Stop Event
node limit
Counts
4 → 77
Calls

4 calls:

45.0ms
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 1/3) (*.f64 1/45 (pow.f64 x 3)))
45.0ms
(*.f64 (cbrt.f64 x) 1/3)
45.0ms
(pow.f64 (cbrt.f64 x) 2)
45.0ms
(cbrt.f64 x)

simplify62.0ms (0.6%)

Algorithm
egg-herbie
Rules
728×sqr-pow_binary64
438×associate-*l*_binary64
362×unswap-sqr_binary64
313×pow-sqr_binary64
256×cube-prod_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0621
11521
23221
35721
411621
531521
6114321
7182821
8191521
9204821
10220621
11243621
12275821
13317921
14367921
15427421
16499621
Stop Event
node limit
Counts
80 → 78

prune91.0ms (0.9%)

Pruning

11 alts after pruning (9 fresh and 2 done)

PrunedKeptTotal
New974101
Fresh358
Picked011
Done011
Total10011111
Error
0.1b
Counts
111 → 11
Alt Table
StatusErrorProgram
30.1b
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (/.f64 (-.f64 (*.f64 1/2025 (pow.f64 x 6)) (*.f64 (*.f64 x x) 1/9)) (fma.f64 1/45 (pow.f64 x 3) (*.f64 -1/3 x))))
1.9b
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (fma.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 x) 1/3)) 3) (*.f64 1/45 (pow.f64 x 3))))
1.5b
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (fma.f64 (cbrt.f64 (*.f64 1/3 x)) (pow.f64 (cbrt.f64 (*.f64 1/3 x)) 2) (*.f64 1/45 (pow.f64 x 3))))
16.0b
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (fma.f64 (sqrt.f64 (*.f64 x (cbrt.f64 x))) (*.f64 (cbrt.f64 x) 1/3) (*.f64 1/45 (pow.f64 x 3))))
1.5b
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 1/3) (*.f64 1/45 (pow.f64 x 3))))
30.2b
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (*.f64 (-.f64 (*.f64 1/2025 (pow.f64 x 6)) (*.f64 (*.f64 x x) 1/9)) (/.f64 1 (fma.f64 1/45 (pow.f64 x 3) (*.f64 -1/3 x)))))
16.5b
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (fma.f64 (*.f64 (cbrt.f64 (*.f64 x (cbrt.f64 x))) (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2)) (*.f64 (cbrt.f64 x) 1/3) (*.f64 1/45 (pow.f64 x 3))))
0.3b
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3))))
33.7b
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (pow.f64 (sqrt.f64 (fma.f64 1/3 x (*.f64 1/45 (pow.f64 x 3)))) 2))
33.8b
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) 1/3) (*.f64 1/45 (pow.f64 x 3))))
2.0b
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 x)) 2) (cbrt.f64 (cbrt.f64 x))) 1/3) (*.f64 1/45 (pow.f64 x 3))))
Compiler

Compiled 2549 to 1869 computations (26.7% saved)

regimes163.0ms (1.6%)

Accuracy

Total 0.2b remaining (69.6%)

Threshold costs 0.2b (69.6%)

Counts
78 → 1
Compiler

Compiled 3062 to 2440 computations (20.3% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01422
11922
Stop Event
saturated

end201.0ms (2%)

Compiler

Compiled 286 to 221 computations (22.7% saved)

Profiling

Loading profile data...