Details

Time bar (total: 3.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)

sample1.9s (59.1%)

Results
946.0ms2269×body2048valid
408.0ms4184×body128valid
321.0ms1014×body1024valid
143.0ms562×body512valid
37.0ms227×body256valid
Compiler

Compiled 26 to 20 computations (23.1% saved)

simplify10.0ms (0.3%)

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

prune1.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 24 to 18 computations (25% saved)

localize5.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
1.8b
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))

series2.0ms (0.1%)

Counts
1 → 0
Calls

1 calls:

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

rewrite49.0ms (1.5%)

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
1 → 51
Calls

1 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
115611
2200411
3632811
000
100

simplify6.0ms (0.2%)

Algorithm
egg-herbie
Counts
51 → 51
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
100

prune48.0ms (1.5%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New47451
Fresh000
Picked101
Done000
Total48452
Error
13.3b
Counts
52 → 4
Alt Table
StatusErrorProgram
13.5b
(atan2.f64 (-.f64 (+.f64 N 1) N) (+.f64 1 (*.f64 N (+.f64 N 1))))
33.3b
(fma.f64 (sqrt.f64 (atan.f64 (+.f64 N 1))) (sqrt.f64 (atan.f64 (+.f64 N 1))) (neg.f64 (atan.f64 N)))
32.9b
(fma.f64 (pow.f64 (cbrt.f64 (atan.f64 (+.f64 N 1))) 2) (cbrt.f64 (atan.f64 (+.f64 N 1))) (neg.f64 (atan.f64 N)))
48.0b
(+.f64 (-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N)) (fma.f64 (neg.f64 (sqrt.f64 (atan.f64 N))) (sqrt.f64 (atan.f64 N)) (atan.f64 N)))
Compiler

Compiled 1005 to 618 computations (38.5% saved)

localize6.0ms (0.2%)

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))))
2.2b
(-.f64 (+.f64 N 1) N)

series5.0ms (0.2%)

Counts
3 → 36
Calls

3 calls:

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

rewrite92.0ms (2.9%)

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

3 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0833
118329
2239129
3498829
4499129
000
100

simplify168.0ms (5.2%)

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
230 → 201
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

prune130.0ms (4.1%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New1974201
Fresh303
Picked101
Done000
Total2014205
Error
0.6b
Counts
205 → 4
Alt Table
StatusErrorProgram
13.5b
(atan2.f64 (-.f64 (+.f64 N 1) N) (+.f64 1 (/.f64 (*.f64 (fma.f64 N N -1) N) (-.f64 N 1))))
14.0b
(pow.f64 (sqrt.f64 (atan2.f64 (-.f64 (+.f64 N 1) N) (+.f64 1 (fma.f64 N N N)))) 2)
14.5b
(pow.f64 (cbrt.f64 (atan2.f64 (-.f64 (+.f64 N 1) N) (+.f64 1 (fma.f64 N N N)))) 3)
0.6b
(atan2.f64 1 (+.f64 1 (*.f64 N (+.f64 N 1))))
Compiler

Compiled 4080 to 2563 computations (37.2% saved)

localize5.0ms (0.2%)

Local error

Found 2 expressions with local error:

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

series2.0ms (0.1%)

Counts
1 → 12
Calls

1 calls:

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

rewrite47.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 → 19
Calls

1 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0713
115211
2186311
3564611
000
100

simplify159.0ms (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
31 → 21
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

prune58.0ms (1.8%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New73477
Fresh303
Picked011
Done000
Total76581
Error
0.5b
Counts
81 → 5
Alt Table
StatusErrorProgram
1.8b
(pow.f64 (cbrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N)))) 3)
0.6b
(atan2.f64 1 (+.f64 1 (*.f64 N (+.f64 N 1))))
35.3b
(atan2.f64 1 (+.f64 1 (fma.f64 (*.f64 N (sqrt.f64 N)) (sqrt.f64 N) N)))
0.7b
(atan2.f64 1 (+.f64 1 (fma.f64 (*.f64 N (cbrt.f64 (*.f64 N N))) (cbrt.f64 N) N)))
1.1b
(pow.f64 (sqrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N)))) 2)
Compiler

Compiled 1120 to 674 computations (39.8% saved)

localize9.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 N (cbrt.f64 (*.f64 N N)))
0.6b
(atan2.f64 1 (+.f64 1 (fma.f64 (*.f64 N (cbrt.f64 (*.f64 N N))) (cbrt.f64 N) N)))
0.6b
(cbrt.f64 N)
30.4b
(cbrt.f64 (*.f64 N N))

series96.0ms (3%)

Counts
4 → 48
Calls

4 calls:

34.0ms
(cbrt.f64 (*.f64 N N))
29.0ms
(cbrt.f64 N)
27.0ms
(*.f64 N (cbrt.f64 (*.f64 N N)))
6.0ms
(atan2.f64 1 (+.f64 1 (fma.f64 (*.f64 N (cbrt.f64 (*.f64 N N))) (cbrt.f64 N) N)))

rewrite53.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
817×log1p-expm1-u_binary64
817×expm1-log1p-u_binary64
569×prod-diff_binary64
93×add-sqr-sqrt_binary64
87×add-cbrt-cube_binary64
Counts
4 → 86
Calls

4 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01039
119531
2212331
3600331
000
100

simplify99.0ms (3.1%)

Algorithm
egg-herbie
Rules
623×fma-def_binary64
484×*-commutative_binary64
362×fma-neg_binary64
299×associate-*l*_binary64
268×neg-sub0_binary64
Counts
134 → 97
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
025500
163484
2129484
3340484
41152476
52095476
63127476
74206476
84784476
94987476
104767476

prune71.0ms (2.2%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New95297
Fresh123
Picked101
Done011
Total975102
Error
0.5b
Counts
102 → 5
Alt Table
StatusErrorProgram
8.0b
(atan2.f64 1 (+.f64 1 (fma.f64 (cbrt.f64 N) (cbrt.f64 (pow.f64 N 5)) N)))
1.1b
(pow.f64 (sqrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N)))) 2)
1.8b
(pow.f64 (cbrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N)))) 3)
0.6b
(atan2.f64 1 (+.f64 1 (*.f64 N (+.f64 N 1))))
0.8b
(atan2.f64 1 (+.f64 1 (fma.f64 (pow.f64 (cbrt.f64 (*.f64 N (cbrt.f64 (*.f64 N N)))) 3) (cbrt.f64 N) N)))
Compiler

Compiled 1637 to 848 computations (48.2% saved)

regimes98.0ms (3.1%)

Accuracy

Total 0.0b remaining (6.9%)

Threshold costs 0.0b (6.9%)

Counts
46 → 1
Compiler

Compiled 1664 to 1195 computations (28.2% saved)

simplify2.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0611
1911
2811

end85.0ms (2.6%)

Compiler

Compiled 83 to 61 computations (26.5% saved)

Profiling

Loading profile data...