Details

Time bar (total: 2.5s)

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.7s (66.8%)

Results
833.0ms2175×body2048valid
370.0ms4252×body128valid
313.0ms1063×body1024valid
120.0ms520×body512valid
37.0ms246×body256valid
Compiler

Compiled 18 to 14 computations (22.2% saved)

preprocess16.0ms (0.7%)

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
0711
11211
21611
32311
43211
54911
68611
712311
816611
920211
1022811
1123011
011
Stop Event
saturated
saturated
Compiler

Compiled 8 to 6 computations (25% saved)

simplify8.0ms (0.3%)

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
0711
11211
21611
32311
43211
54911
68611
712311
816611
920211
1022811
1123011
Stop Event
saturated
Counts
1 → 1

prune1.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

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

Compiled 24 to 18 computations (25% saved)

localize7.0ms (0.3%)

Local error

Found 2 expressions with local error:

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

series3.0ms (0.1%)

Counts
2 → 0
Calls

6 calls:

0.0ms
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
N
-inf
0.0ms
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
N
inf
0.0ms
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
N
0
0.0ms
(atan.f64 (+.f64 N 1))
N
-inf
0.0ms
(atan.f64 (+.f64 N 1))
N
inf

rewrite40.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
828×expm1-log1p-u_binary64
688×prod-diff_binary64
80×add-sqr-sqrt_binary64
78×log1p-expm1-u_binary64
77×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0717
115617
2215417
Stop Event
node limit
Counts
2 → 68

simplify6.0ms (0.2%)

Algorithm
egg-herbie
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
000
Stop Event
saturated
Counts
68 → 68

prune47.0ms (1.9%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New66268
Fresh000
Picked101
Done000
Total67269
Error
0.4b
Counts
69 → 2
Alt Table
StatusErrorProgram
16.5b
(fma.f64 1 (atan.f64 (+.f64 N 1)) (neg.f64 (atan.f64 N)))
0.4b
(atan2.f64 (+.f64 1 (-.f64 N N)) (+.f64 1 (*.f64 N (+.f64 N 1))))
Compiler

Compiled 1109 to 694 computations (37.4% saved)

localize6.0ms (0.3%)

Local error

Found 2 expressions with local error:

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

series4.0ms (0.2%)

Counts
2 → 24
Calls

6 calls:

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

rewrite41.0ms (1.6%)

Algorithm
batch-egg-rewrite
Rules
817×log1p-expm1-u_binary64
817×expm1-log1p-u_binary64
605×prod-diff_binary64
82×add-sqr-sqrt_binary64
78×add-cbrt-cube_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0920
121816
2226116
Stop Event
node limit
Counts
2 → 41

simplify54.0ms (2.1%)

Algorithm
egg-herbie
Rules
859×fma-def_binary64
466×sqr-pow_binary64
434×unswap-sqr_binary64
234×cube-prod_binary64
220×fabs-mul_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
09228
120186
235186
354186
4112186
5291186
6976186
72227186
82688186
92904186
103140186
113487186
123924186
134423186
Stop Event
node limit
Counts
65 → 47

prune37.0ms (1.5%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New43447
Fresh101
Picked011
Done000
Total44549
Error
0.3b
Counts
49 → 5
Alt Table
StatusErrorProgram
0.9b
(pow.f64 (sqrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N)))) 2)
1.6b
(pow.f64 (cbrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N)))) 3)
0.6b
(atan2.f64 (+.f64 1 (-.f64 N N)) (+.f64 1 (pow.f64 (cbrt.f64 (fma.f64 N N N)) 3)))
25.1b
(atan2.f64 (+.f64 1 (-.f64 N N)) (+.f64 1 (/.f64 (*.f64 (+.f64 1 (pow.f64 N 3)) N) (fma.f64 N N (-.f64 1 N)))))
0.4b
(atan2.f64 (+.f64 1 (-.f64 N N)) (+.f64 1 (*.f64 N (+.f64 N 1))))
Compiler

Compiled 809 to 481 computations (40.5% saved)

localize8.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.4b
(atan2.f64 (+.f64 1 (-.f64 N N)) (+.f64 1 (pow.f64 (cbrt.f64 (fma.f64 N N N)) 3)))
0.5b
(pow.f64 (cbrt.f64 (fma.f64 N N N)) 3)
15.6b
(cbrt.f64 (fma.f64 N N N))

series14.0ms (0.6%)

Counts
3 → 12
Calls

9 calls:

3.0ms
(pow.f64 (cbrt.f64 (fma.f64 N N N)) 3)
N
-inf
3.0ms
(pow.f64 (cbrt.f64 (fma.f64 N N N)) 3)
N
inf
3.0ms
(pow.f64 (cbrt.f64 (fma.f64 N N N)) 3)
N
0
1.0ms
(cbrt.f64 (fma.f64 N N N))
N
0
1.0ms
(cbrt.f64 (fma.f64 N N N))
N
-inf

rewrite43.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
804×log1p-expm1-u_binary64
804×expm1-log1p-u_binary64
508×prod-diff_binary64
86×add-sqr-sqrt_binary64
83×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01123
124923
2226723
Stop Event
node limit
Counts
3 → 69

simplify11.0ms (0.4%)

Algorithm
egg-herbie
Rules
25×fma-def_binary64
+-commutative_binary64
distribute-lft-in_binary64
distribute-rgt1-in_binary64
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
06132
111132
217132
326132
434132
538132
650132
763132
868132
969132
Stop Event
saturated
Counts
81 → 70

prune61.0ms (2.4%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New67370
Fresh033
Picked101
Done011
Total68775
Error
0.3b
Counts
75 → 7
Alt Table
StatusErrorProgram
0.4b
(atan2.f64 (+.f64 1 (-.f64 N N)) (+.f64 1 (*.f64 N (+.f64 N 1))))
0.6b
(atan2.f64 (+.f64 1 (-.f64 N N)) (+.f64 1 (*.f64 (cbrt.f64 (fma.f64 N N N)) (pow.f64 (cbrt.f64 (fma.f64 N N N)) 2))))
0.9b
(pow.f64 (sqrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N)))) 2)
1.6b
(pow.f64 (cbrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N)))) 3)
25.1b
(atan2.f64 (+.f64 1 (-.f64 N N)) (+.f64 1 (/.f64 (*.f64 (+.f64 1 (pow.f64 N 3)) N) (fma.f64 N N (-.f64 1 N)))))
0.8b
(atan2.f64 (+.f64 1 (-.f64 N N)) (+.f64 1 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 N N N))) 2) 3) (cbrt.f64 (fma.f64 N N N)))))
0.7b
(atan2.f64 (+.f64 1 (-.f64 N N)) (+.f64 1 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 N N N))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 N N N))) (pow.f64 (cbrt.f64 (fma.f64 N N N)) 2)))))
Compiler

Compiled 1479 to 788 computations (46.7% saved)

localize9.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (cbrt.f64 (fma.f64 N N N)) (pow.f64 (cbrt.f64 (fma.f64 N N N)) 2))
0.4b
(atan2.f64 (+.f64 1 (-.f64 N N)) (+.f64 1 (*.f64 (cbrt.f64 (fma.f64 N N N)) (pow.f64 (cbrt.f64 (fma.f64 N N N)) 2))))
0.4b
(pow.f64 (cbrt.f64 (fma.f64 N N N)) 2)
15.6b
(cbrt.f64 (fma.f64 N N N))

series10.0ms (0.4%)

Counts
3 → 24
Calls

9 calls:

2.0ms
(pow.f64 (cbrt.f64 (fma.f64 N N N)) 2)
N
0
2.0ms
(pow.f64 (cbrt.f64 (fma.f64 N N N)) 2)
N
-inf
2.0ms
(pow.f64 (cbrt.f64 (fma.f64 N N N)) 2)
N
inf
1.0ms
(*.f64 (cbrt.f64 (fma.f64 N N N)) (pow.f64 (cbrt.f64 (fma.f64 N N N)) 2))
N
-inf
1.0ms
(*.f64 (cbrt.f64 (fma.f64 N N N)) (pow.f64 (cbrt.f64 (fma.f64 N N N)) 2))
N
inf

rewrite43.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
827×log1p-expm1-u_binary64
827×expm1-log1p-u_binary64
458×prod-diff_binary64
93×add-sqr-sqrt_binary64
89×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01226
127126
2238926
Stop Event
node limit
Counts
3 → 55

simplify59.0ms (2.3%)

Algorithm
egg-herbie
Rules
889×fma-def_binary64
466×sqr-pow_binary64
434×unswap-sqr_binary64
234×cube-prod_binary64
221×fabs-mul_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
09186
118186
233186
355186
4113186
5295186
6953186
72201186
82662186
92878186
103114186
113461186
123898186
134397186
144976186
Stop Event
node limit
Counts
79 → 60

prune91.0ms (3.6%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New1040104
Fresh055
Picked011
Done011
Total1047111
Error
0.3b
Counts
111 → 7
Alt Table
StatusErrorProgram
0.4b
(atan2.f64 (+.f64 1 (-.f64 N N)) (+.f64 1 (*.f64 N (+.f64 N 1))))
0.6b
(atan2.f64 (+.f64 1 (-.f64 N N)) (+.f64 1 (*.f64 (cbrt.f64 (fma.f64 N N N)) (pow.f64 (cbrt.f64 (fma.f64 N N N)) 2))))
0.9b
(pow.f64 (sqrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N)))) 2)
1.6b
(pow.f64 (cbrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N)))) 3)
25.1b
(atan2.f64 (+.f64 1 (-.f64 N N)) (+.f64 1 (/.f64 (*.f64 (+.f64 1 (pow.f64 N 3)) N) (fma.f64 N N (-.f64 1 N)))))
0.8b
(atan2.f64 (+.f64 1 (-.f64 N N)) (+.f64 1 (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 N N N))) 2) 3) (cbrt.f64 (fma.f64 N N N)))))
0.7b
(atan2.f64 (+.f64 1 (-.f64 N N)) (+.f64 1 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 N N N))) 2) (*.f64 (cbrt.f64 (cbrt.f64 (fma.f64 N N N))) (pow.f64 (cbrt.f64 (fma.f64 N N N)) 2)))))
Compiler

Compiled 2309 to 1069 computations (53.7% saved)

regimes111.0ms (4.4%)

Accuracy

Total 0.0b remaining (10.8%)

Threshold costs 0.0b (10.8%)

Counts
68 → 1
Compiler

Compiled 2180 to 1569 computations (28% saved)

simplify2.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0815
11115
Stop Event
saturated

end103.0ms (4.1%)

Stop Event
fuel
Compiler

Compiled 162 to 103 computations (36.4% saved)

Profiling

Loading profile data...