Details

Time bar (total: 5.2s)

analyze1.0ms (0%)

Algorithm
search
Search
TrueOtherFalseIter
0%100%0%0
100%0%0%1
Compiler

Compiled 9 to 7 computations (22.2% saved)

sample3.1s (58.7%)

Results
1.5s2143×body2048valid
646.0ms4286×body128valid
608.0ms1033×body1024valid
216.0ms527×body512valid
73.0ms267×body256valid
Compiler

Compiled 26 to 20 computations (23.1% saved)

simplify20.0ms (0.4%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
11211
21611
32311
43011
54711
67211
79211
810911
911911
1012311
1112511
1211111

prune3.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
17.7b
Counts
2 → 1
Alt Table
StatusErrorProgram
17.7b
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
Compiler

Compiled 24 to 18 computations (25% saved)

localize9.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(atan.f64 (+.f64 N 1))
1.4b
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))

series5.0ms (0.1%)

Counts
2 → 0
Calls

2 calls:

3.0ms
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
2.0ms
(atan.f64 (+.f64 N 1))

rewrite72.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
828×log1p-expm1-u_binary64
828×expm1-log1p-u_binary64
688×prod-diff_binary64
80×add-sqr-sqrt_binary64
75×add-log-exp_binary64
Counts
2 → 68
Calls

2 calls:

68.0ms
(atan.f64 (+.f64 N 1))
68.0ms
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0717
115617
2200417
3632817
000
100

simplify12.0ms (0.2%)

Algorithm
egg-herbie
Counts
68 → 68
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
100

prune100.0ms (1.9%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New65368
Fresh000
Picked101
Done000
Total66369
Error
16.5b
Counts
69 → 3
Alt Table
StatusErrorProgram
16.8b
(atan2.f64 (-.f64 (+.f64 N 1) N) (+.f64 1 (*.f64 N (+.f64 N 1))))
34.4b
(-.f64 (cbrt.f64 (pow.f64 (atan.f64 (+.f64 N 1)) 3)) (atan.f64 N))
35.3b
(-.f64 (pow.f64 (cbrt.f64 (atan.f64 (+.f64 N 1))) 3) (atan.f64 N))
Compiler

Compiled 1133 to 714 computations (37% saved)

localize15.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 N (+.f64 N 1))
0.0b
(atan2.f64 (-.f64 (+.f64 N 1) N) (+.f64 1 (*.f64 N (+.f64 N 1))))
4.1b
(-.f64 (+.f64 N 1) N)

series9.0ms (0.2%)

Counts
3 → 36
Calls

3 calls:

4.0ms
(atan2.f64 (-.f64 (+.f64 N 1) N) (+.f64 1 (*.f64 N (+.f64 N 1))))
4.0ms
(*.f64 N (+.f64 N 1))
2.0ms
(-.f64 (+.f64 N 1) N)

rewrite147.0ms (2.8%)

Algorithm
batch-egg-rewrite
Rules
544×fma-def_binary64
410×log-prod_binary64
270×fma-neg_binary64
192×egg-rr
160×log1p-udef_binary64
Counts
3 → 192
Calls

3 calls:

140.0ms
(*.f64 N (+.f64 N 1))
140.0ms
(atan2.f64 (-.f64 (+.f64 N 1) N) (+.f64 1 (*.f64 N (+.f64 N 1))))
140.0ms
(-.f64 (+.f64 N 1) N)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0833
118329
2239129
3498829
4499129
000
100

simplify202.0ms (3.9%)

Algorithm
egg-herbie
Rules
1108×sqr-pow_binary64
903×fma-def_binary64
579×fabs-mul_binary64
572×cube-prod_binary64
536×pow-sqr_binary64
Counts
228 → 199
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
09240
120198
231198
350198
499198
5221198
6599198
71229198
81384198
91541198
101726198
111934198
122129198
132410198
142837198
153433198
164128198
174348198
184592198
194677198
204710198
214731198
225297198

prune224.0ms (4.3%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New1972199
Fresh202
Picked101
Done000
Total2002202
Error
0.5b
Counts
202 → 2
Alt Table
StatusErrorProgram
0.5b
(atan2.f64 1 (+.f64 N (fma.f64 N N 1)))
0.5b
(atan2.f64 1 (+.f64 1 (*.f64 N (+.f64 N 1))))
Compiler

Compiled 3971 to 2490 computations (37.3% saved)

localize9.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(*.f64 N (+.f64 N 1))
0.5b
(atan2.f64 1 (+.f64 1 (*.f64 N (+.f64 N 1))))

series4.0ms (0.1%)

Counts
1 → 12
Calls

1 calls:

4.0ms
(atan2.f64 1 (+.f64 1 (*.f64 N (+.f64 N 1))))

rewrite77.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
742×log1p-expm1-u_binary64
742×expm1-log1p-u_binary64
565×prod-diff_binary64
74×add-sqr-sqrt_binary64
70×add-log-exp_binary64
Counts
1 → 18
Calls

1 calls:

76.0ms
(atan2.f64 1 (+.f64 1 (*.f64 N (+.f64 N 1))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
115211
2186311
3564611
000
100

simplify183.0ms (3.5%)

Algorithm
egg-herbie
Rules
1108×sqr-pow_binary64
1103×fma-def_binary64
573×fabs-mul_binary64
572×cube-prod_binary64
536×pow-sqr_binary64
Counts
30 → 20
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
08156
118132
229132
346132
485132
5196132
6554132
71162132
81341132
91522132
101723132
111928132
122125132
132410132
142837132
153433132
164128132
174348132
184592132
194677132
204710132
214731132
225297132

prune122.0ms (2.3%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New71576
Fresh101
Picked011
Done000
Total72678
Error
0.5b
Counts
78 → 6
Alt Table
StatusErrorProgram
0.9b
(atan2.f64 1 (+.f64 1 (pow.f64 (cbrt.f64 (fma.f64 N N N)) 3)))
0.7b
(atan2.f64 1 (+.f64 1 (fma.f64 (cbrt.f64 (*.f64 N N)) (*.f64 (cbrt.f64 N) N) N)))
25.5b
(atan2.f64 1 (+.f64 1 (fma.f64 (-.f64 1 (pow.f64 (fma.f64 N N N) 2)) (/.f64 1 (-.f64 1 (fma.f64 N N N))) -1)))
34.0b
(atan2.f64 1 (+.f64 1 (fma.f64 (*.f64 N (sqrt.f64 N)) (sqrt.f64 N) N)))
1.0b
(pow.f64 (sqrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N)))) 2)
0.5b
(atan2.f64 1 (+.f64 1 (*.f64 N (+.f64 N 1))))
Compiler

Compiled 1158 to 702 computations (39.4% saved)

localize16.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (cbrt.f64 N) N)
0.5b
(atan2.f64 1 (+.f64 1 (fma.f64 (cbrt.f64 (*.f64 N N)) (*.f64 (cbrt.f64 N) N) N)))
0.5b
(cbrt.f64 N)
29.6b
(cbrt.f64 (*.f64 N N))

series198.0ms (3.8%)

Counts
4 → 48
Calls

4 calls:

70.0ms
(*.f64 (cbrt.f64 N) N)
61.0ms
(cbrt.f64 N)
59.0ms
(cbrt.f64 (*.f64 N N))
8.0ms
(atan2.f64 1 (+.f64 1 (fma.f64 (cbrt.f64 (*.f64 N N)) (*.f64 (cbrt.f64 N) N) N)))

rewrite96.0ms (1.8%)

Algorithm
batch-egg-rewrite
Rules
791×log1p-expm1-u_binary64
791×expm1-log1p-u_binary64
565×prod-diff_binary64
93×add-sqr-sqrt_binary64
87×add-cbrt-cube_binary64
Counts
4 → 84
Calls

4 calls:

93.0ms
(*.f64 (cbrt.f64 N) N)
93.0ms
(atan2.f64 1 (+.f64 1 (fma.f64 (cbrt.f64 (*.f64 N N)) (*.f64 (cbrt.f64 N) N) N)))
93.0ms
(cbrt.f64 N)
93.0ms
(cbrt.f64 (*.f64 N N))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01036
119524
2203924
3584524
000
100

simplify95.0ms (1.8%)

Algorithm
egg-herbie
Rules
939×unswap-sqr_binary64
704×fma-def_binary64
428×*-commutative_binary64
380×distribute-lft-neg-in_binary64
369×distribute-rgt-neg-in_binary64
Counts
132 → 95
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
024520
159516
2127516
3340516
41141508
52223508
64904508
74906508

prune150.0ms (2.9%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New94195
Fresh134
Picked011
Done011
Total956101
Error
0.5b
Counts
101 → 6
Alt Table
StatusErrorProgram
0.9b
(atan2.f64 1 (+.f64 1 (pow.f64 (cbrt.f64 (fma.f64 N N N)) 3)))
0.7b
(atan2.f64 1 (+.f64 1 (fma.f64 (cbrt.f64 (*.f64 N N)) (*.f64 (cbrt.f64 N) N) N)))
25.5b
(atan2.f64 1 (+.f64 1 (fma.f64 (-.f64 1 (pow.f64 (fma.f64 N N N) 2)) (/.f64 1 (-.f64 1 (fma.f64 N N N))) -1)))
0.9b
(atan2.f64 1 (+.f64 1 (fma.f64 (cbrt.f64 (*.f64 N N)) (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 N)) 3) N) N)))
1.0b
(pow.f64 (sqrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N)))) 2)
0.5b
(atan2.f64 1 (+.f64 1 (*.f64 N (+.f64 N 1))))
Compiler

Compiled 1610 to 944 computations (41.4% saved)

regimes206.0ms (3.9%)

Accuracy

Total 0.0b remaining (9.9%)

Threshold costs 0.0b (9.9%)

Counts
67 → 1
Compiler

Compiled 1888 to 1404 computations (25.6% saved)

simplify3.0ms (0.1%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0611
1911
2811

end186.0ms (3.6%)

Compiler

Compiled 108 to 77 computations (28.7% saved)

Profiling

Loading profile data...