Details

Time bar (total: 2.5s)

analyze23.0ms (1%)

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

Compiled 9 to 7 computations (22.2% saved)

sample35.0ms (1.4%)

Algorithm
intervals
Results
16.0ms67×body2048valid
6.0ms138×body128valid
5.0ms33×body1024valid
2.0ms13×body512valid
0.0msbody256valid
Compiler

Compiled 18 to 14 computations (22.2% saved)

simplify13.0ms (0.5%)

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 → 0
Iterations

Useful iterations: 0 (0.0ms)

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

prune1.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New000
Fresh011
Picked000
Done000
Total011
Error
13.6b
Counts
1 → 1
Alt Table
StatusErrorProgram
13.6b
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
Compiler

Compiled 16 to 12 computations (25% saved)

localize5.0ms (0.2%)

Local error

Found 2 expressions with local error:

0.0b
(atan.f64 (+.f64 N 1))
1.1b
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))

rewrite68.0ms (2.8%)

Algorithm
rewrite-expression-head
Error
12.8b
Rules
21×add-cube-cbrt_binary64
10×add-sqr-sqrt_binary64
pow1_binary64
add-log-exp_binary64
add-cbrt-cube_binary64
Counts
2 → 75
Calls

2 calls:

15.0ms
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
8.0ms
(atan.f64 (+.f64 N 1))
Compiler

Compiled 1380 to 747 computations (45.9% saved)

series8.0ms (0.3%)

Error
13.6b
Counts
2 → 6
Calls

2 calls:

5.0ms
(-.f64 (atan.f64 (+.f64 N 1)) (atan.f64 N))
3.0ms
(atan.f64 (+.f64 N 1))
Compiler

Compiled 104 to 78 computations (25% saved)

simplify115.0ms (4.7%)

Algorithm
egg-herbie
Rules
684×fma-neg_binary64
533×cancel-sign-sub-inv_binary64
248×div-sub_binary64
243×associate-*l*_binary64
230×distribute-rgt-neg-in_binary64
Counts
81 → 24
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0851009
11861003
2544966
31743951
43777945
54988945
64743945

prune14.0ms (0.6%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New23124
Fresh000
Picked101
Done000
Total24125
Error
0.3b
Counts
25 → 1
Alt Table
StatusErrorProgram
0.3b
(atan2.f64 1 (+.f64 1 (fma.f64 N N N)))
Compiler

Compiled 409 to 267 computations (34.7% saved)

localize5.0ms (0.2%)

Local error

Found 1 expressions with local error:

0.3b
(atan2.f64 1 (+.f64 1 (fma.f64 N N N)))

rewrite19.0ms (0.8%)

Algorithm
rewrite-expression-head
Error
0.2b
Rules
add-cube-cbrt_binary64
pow1_binary64
add-sqr-sqrt_binary64
add-cbrt-cube_binary64
log1p-expm1-u_binary64
Counts
1 → 28
Calls

1 calls:

8.0ms
(atan2.f64 1 (+.f64 1 (fma.f64 N N N)))
Compiler

Compiled 330 to 199 computations (39.7% saved)

series4.0ms (0.2%)

Error
0.3b
Counts
1 → 3
Calls

1 calls:

4.0ms
(atan2.f64 1 (+.f64 1 (fma.f64 N N N)))
Compiler

Compiled 63 to 42 computations (33.3% saved)

simplify179.0ms (7.3%)

Algorithm
egg-herbie
Rules
1233×sqr-pow_binary64
574×cube-prod_binary64
530×pow-sqr_binary64
518×fabs-mul_binary64
374×unswap-sqr_binary64
Counts
31 → 3
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
023350
135327
249327
369327
4102327
5162327
6368327
7704327
8720327
9869327
101046327
111245327
121517327
131859327
142243327
152780327
163068327
173231327
183341327
193388327
203437327
214051327
224697327
234813327

prune5.0ms (0.2%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New213
Fresh000
Picked011
Done000
Total224
Error
0.3b
Counts
4 → 2
Alt Table
StatusErrorProgram
0.3b
(atan2.f64 1 (+.f64 1 (fma.f64 N N N)))
0.9b
(*.f64 (sqrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N)))) (sqrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N)))))
Compiler

Compiled 90 to 58 computations (35.6% saved)

localize7.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.3b
(atan2.f64 1 (+.f64 1 (fma.f64 N N N)))
0.7b
(*.f64 (sqrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N)))) (sqrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N)))))
15.1b
(sqrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N))))
15.1b
(sqrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N))))

rewrite140.0ms (5.7%)

Algorithm
rewrite-expression-head
Error
0.2b
Rules
29×add-sqr-sqrt_binary64
24×add-cube-cbrt_binary64
23×pow1/2_binary64
15×rem-sqrt-square_binary64
14×pow1_binary64
Counts
4 → 149
Calls

4 calls:

15.0ms
(*.f64 (sqrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N)))) (sqrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N)))))
9.0ms
(sqrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N))))
9.0ms
(sqrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N))))
9.0ms
(atan2.f64 1 (+.f64 1 (fma.f64 N N N)))
Compiler

Compiled 2860 to 1773 computations (38% saved)

series25.0ms (1%)

Error
0.3b
Counts
4 → 12
Calls

4 calls:

7.0ms
(*.f64 (sqrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N)))) (sqrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N)))))
6.0ms
(sqrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N))))
6.0ms
(sqrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N))))
4.0ms
(atan2.f64 1 (+.f64 1 (fma.f64 N N N)))
Compiler

Compiled 442 to 287 computations (35.1% saved)

simplify162.0ms (6.6%)

Algorithm
egg-herbie
Rules
830×fma-def_binary64
701×unswap-sqr_binary64
689×log-prod_binary64
508×exp-prod_binary64
231×associate-*l*_binary64
Counts
161 → 60
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
0681950
1991883
22381863
37161846
421931549
541521539
649591539
749761539
850191539

prune36.0ms (1.4%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New57360
Fresh000
Picked011
Done011
Total57562
Error
0.2b
Counts
62 → 5
Alt Table
StatusErrorProgram
2.2b
(*.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N))))) 5) (cbrt.f64 (sqrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N))))))
1.9b
(*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N))))) (cbrt.f64 (sqrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N)))))) (pow.f64 (cbrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N)))) 2))
1.6b
(*.f64 (pow.f64 (cbrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N)))) 2) (cbrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N)))))
0.3b
(atan2.f64 1 (+.f64 1 (fma.f64 N N N)))
0.9b
(*.f64 (sqrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N)))) (sqrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N)))))
Compiler

Compiled 1059 to 668 computations (36.9% saved)

localize9.0ms (0.4%)

Local error

Found 4 expressions with local error:

0.3b
(atan2.f64 1 (+.f64 1 (fma.f64 N N N)))
0.3b
(atan2.f64 1 (+.f64 1 (fma.f64 N N N)))
15.6b
(cbrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N))))
15.6b
(cbrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N))))

rewrite115.0ms (4.7%)

Algorithm
rewrite-expression-head
Error
0.2b
Rules
24×add-cube-cbrt_binary64
16×add-sqr-sqrt_binary64
12×pow1_binary64
12×log1p-expm1-u_binary64
12×expm1-log1p-u_binary64
Counts
4 → 116
Calls

4 calls:

11.0ms
(cbrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N))))
9.0ms
(cbrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N))))
9.0ms
(atan2.f64 1 (+.f64 1 (fma.f64 N N N)))
8.0ms
(atan2.f64 1 (+.f64 1 (fma.f64 N N N)))
Compiler

Compiled 2188 to 1413 computations (35.4% saved)

series48.0ms (2%)

Error
0.2b
Counts
4 → 12
Calls

4 calls:

19.0ms
(cbrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N))))
16.0ms
(cbrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N))))
5.0ms
(atan2.f64 1 (+.f64 1 (fma.f64 N N N)))
5.0ms
(atan2.f64 1 (+.f64 1 (fma.f64 N N N)))
Compiler

Compiled 606 to 415 computations (31.5% saved)

simplify129.0ms (5.2%)

Algorithm
egg-herbie
Rules
478×distribute-rgt-in_binary64
456×distribute-lft-in_binary64
411×associate-+l+_binary64
334×associate-+r+_binary64
312×associate-/l/_binary64
Counts
128 → 36
Iterations

Useful iterations: 5 (0.0ms)

IterNodesCost
0401474
1601284
21321260
34341260
410971260
534331256
646151256
749831256
847981256

prune21.0ms (0.9%)

Pruning

5 alts after pruning (2 fresh and 3 done)

PrunedKeptTotal
New36036
Fresh022
Picked011
Done022
Total36541
Error
0.2b
Counts
41 → 5
Alt Table
StatusErrorProgram
2.2b
(*.f64 (pow.f64 (cbrt.f64 (sqrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N))))) 5) (cbrt.f64 (sqrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N))))))
1.9b
(*.f64 (*.f64 (cbrt.f64 (sqrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N))))) (cbrt.f64 (sqrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N)))))) (pow.f64 (cbrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N)))) 2))
1.6b
(*.f64 (pow.f64 (cbrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N)))) 2) (cbrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N)))))
0.3b
(atan2.f64 1 (+.f64 1 (fma.f64 N N N)))
0.9b
(*.f64 (sqrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N)))) (sqrt.f64 (atan2.f64 1 (+.f64 1 (fma.f64 N N N)))))
Compiler

Compiled 743 to 485 computations (34.7% saved)

regimes114.0ms (4.6%)

Accuracy

Total 0.0b remaining (7.6%)

Threshold costs 0.0b (7.6%)

Compiler

Compiled 2438 to 1718 computations (29.5% saved)

simplify3.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0611
1911
2811

end0.0ms (0%)

Compiler

Compiled 9 to 6 computations (33.3% saved)

sample1.2s (46.9%)

Algorithm
intervals
Results
462.0ms2215×body2048valid
165.0ms4050×body128valid
149.0ms982×body1024valid
61.0ms496×body512valid
24.0ms257×body256valid
Compiler

Compiled 128 to 88 computations (31.3% saved)

Profiling

Loading profile data...