Details

Time bar (total: 10.3s)

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)

sample9.0s (87%)

Results
7.0s4119×body2048valid
1.3s2107×body1024valid
322.0ms1026×body512valid
206.0ms225×body4096valid
116.0ms539×body256valid
29.0ms240×body128valid
Compiler

Compiled 41 to 31 computations (24.4% saved)

simplify10.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)

localize9.0ms (0.1%)

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)))

series27.0ms (0.3%)

Counts
2 → 24
Calls

2 calls:

16.0ms
(/.f64 1 (tan.f64 x))
11.0ms
(-.f64 (/.f64 1 x) (/.f64 1 (tan.f64 x)))

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

51.0ms
(/.f64 1 (tan.f64 x))
50.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

prune69.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)

localize11.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))
1.0ms
(*.f64 1/3 x)

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

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

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

prune112.0ms (1.1%)

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
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))))))
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)))))
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))))))
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))))
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))))
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))))
0.3b
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (fma.f64 1/45 (pow.f64 x 3) (*.f64 1/3 x)))
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))))
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))))
Compiler

Compiled 2718 to 2189 computations (19.5% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

series3.0ms (0%)

Counts
1 → 12
Calls

1 calls:

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

rewrite32.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
648×log1p-expm1-u_binary64
648×expm1-log1p-u_binary64
304×log-prod_binary64
134×expm1-udef_binary64
134×log1p-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

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

1 calls:

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

simplify62.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 → 34

prune75.0ms (0.7%)

Pruning

10 alts after pruning (9 fresh and 1 done)

PrunedKeptTotal
New65166
Fresh189
Picked011
Done000
Total661076
Error
0.1b
Counts
76 → 10
Alt Table
StatusErrorProgram
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))))
46.0b
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (fma.f64 1/45 (pow.f64 x 3) (sqrt.f64 (*.f64 (*.f64 x x) 1/9))))
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))))))
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)))))
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))))))
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))))
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))))
0.3b
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (fma.f64 1/45 (pow.f64 x 3) (*.f64 1/3 x)))
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))))
Compiler

Compiled 1734 to 1408 computations (18.8% 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)

series146.0ms (1.4%)

Counts
4 → 48
Calls

4 calls:

40.0ms
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) 1/3) (*.f64 1/45 (pow.f64 x 3)))
39.0ms
(pow.f64 (cbrt.f64 x) 2)
34.0ms
(*.f64 (cbrt.f64 x) 1/3)
33.0ms
(cbrt.f64 x)

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

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

simplify59.0ms (0.6%)

Algorithm
egg-herbie
Rules
770×fma-def_binary64
461×unswap-sqr_binary64
408×sqr-pow_binary64
318×*-commutative_binary64
296×associate-*l*_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
023385
161385
2129385
3354385
41262385
52309385
62488385
72798385
83527385
94236385
Stop Event
node limit
Counts
125 → 93

prune89.0ms (0.9%)

Pruning

11 alts after pruning (9 fresh and 2 done)

PrunedKeptTotal
New1154119
Fresh358
Picked011
Done011
Total11811129
Error
0.1b
Counts
129 → 11
Alt Table
StatusErrorProgram
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))))
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)))))
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))))
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))))
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))))
0.3b
(+.f64 (*.f64 2/945 (pow.f64 x 5)) (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))))
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))))
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))))
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))))
Compiler

Compiled 2914 to 2145 computations (26.4% saved)

regimes128.0ms (1.2%)

Accuracy

Total 0.2b remaining (69.8%)

Threshold costs 0.2b (69.8%)

Counts
67 → 1
Compiler

Compiled 2660 to 2126 computations (20.1% saved)

simplify2.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01220
11620
Stop Event
saturated

end210.0ms (2%)

Compiler

Compiled 284 to 217 computations (23.6% saved)

Profiling

Loading profile data...