Details

Time bar (total: 11.6s)

analyze2.3s (19.4%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
0%99.9%0.1%5
0%99.9%0.1%6
0%99.9%0.1%7
0%93.6%6.4%8
9.4%84.3%6.4%9
14.8%75.7%9.5%10
16%71.4%12.6%11
20.9%65.7%13.4%12
24.2%60.5%15.3%13
24.8%58.6%16.6%14
Compiler

Compiled 31 to 24 computations (22.6% saved)

sample4.8s (41.4%)

Results
2.4s2358×body1024valid
1.0s4178×body128valid
807.0ms1146×body512valid
263.0ms567×body256valid
221.0ms866×body128invalid
11.0msbody2048valid
1.0msbody512invalid
Compiler

Compiled 92 to 71 computations (22.8% saved)

simplify27.0ms (0.2%)

Algorithm
egg-herbie
Rules
378×fma-def_binary64
354×distribute-neg-frac_binary64
310×distribute-rgt-neg-in_binary64
302×fma-neg_binary64
283×associate-/l*_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
02335
14928
210528
321528
449428
5148728
6388428
Stop Event
node limit
Counts
1 → 2

prune5.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
11.2b
Counts
3 → 2
Alt Table
StatusErrorProgram
11.3b
(-.f64 (*.f64 F (/.f64 (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2) (sin.f64 B))) (/.f64 x (tan.f64 B)))
13.7b
(+.f64 (neg.f64 (*.f64 x (/.f64 1 (tan.f64 B)))) (*.f64 (/.f64 F (sin.f64 B)) (pow.f64 (+.f64 (+.f64 (*.f64 F F) 2) (*.f64 2 x)) (neg.f64 (/.f64 1 2)))))
Compiler

Compiled 153 to 109 computations (28.8% saved)

localize16.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 x (tan.f64 B))
0.3b
(*.f64 F (/.f64 (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2) (sin.f64 B)))
0.4b
(/.f64 (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2) (sin.f64 B))
17.9b
(pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)

series256.0ms (2.2%)

Counts
4 → 104
Calls

4 calls:

102.0ms
(*.f64 F (/.f64 (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2) (sin.f64 B)))
89.0ms
(/.f64 (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2) (sin.f64 B))
37.0ms
(/.f64 x (tan.f64 B))
27.0ms
(pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)

rewrite61.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
270×expm1-udef_binary64
270×log1p-udef_binary64
151×add-sqr-sqrt_binary64
141×log1p-expm1-u_binary64
141×expm1-log1p-u_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01455
129955
2381355
Stop Event
node limit
Counts
4 → 108
Calls

4 calls:

59.0ms
(/.f64 x (tan.f64 B))
59.0ms
(*.f64 F (/.f64 (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2) (sin.f64 B)))
59.0ms
(/.f64 (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2) (sin.f64 B))
59.0ms
(pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)

simplify90.0ms (0.8%)

Algorithm
egg-herbie
Rules
375×fma-def_binary64
287×fma-neg_binary64
246×+-commutative_binary64
203×*-commutative_binary64
190×associate-+r+_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
04105102
112954787
247664787
Stop Event
node limit
Counts
212 → 243

prune314.0ms (2.7%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New23211243
Fresh101
Picked101
Done000
Total23411245
Error
0.0b
Counts
245 → 11
Alt Table
StatusErrorProgram
33.2b
(-.f64 (*.f64 F (/.f64 (/.f64 -1 F) (sin.f64 B))) (/.f64 x (tan.f64 B)))
11.3b
(-.f64 (*.f64 F (/.f64 (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2) (sin.f64 B))) (pow.f64 (/.f64 (tan.f64 B) x) -1))
21.0b
(-.f64 (*.f64 F (/.f64 (log.f64 (exp.f64 (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2))) (sin.f64 B))) (/.f64 x (tan.f64 B)))
11.9b
(-.f64 (*.f64 F (/.f64 (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2) (sin.f64 B))) (*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 (tan.f64 B)) 2)) (cbrt.f64 (/.f64 x (tan.f64 B)))))
32.3b
(-.f64 (/.f64 -1 (sin.f64 B)) (/.f64 x (tan.f64 B)))
11.2b
(-.f64 (/.f64 1 (/.f64 (sin.f64 B) (*.f64 F (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)))) (/.f64 x (tan.f64 B)))
31.6b
(-.f64 (/.f64 1 (sin.f64 B)) (/.f64 x (tan.f64 B)))
11.2b
(-.f64 (/.f64 F (/.f64 (sin.f64 B) (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2))) (/.f64 x (tan.f64 B)))
11.6b
(-.f64 (*.f64 F (*.f64 (/.f64 1 (pow.f64 (cbrt.f64 (sin.f64 B)) 2)) (/.f64 (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2) (cbrt.f64 (sin.f64 B))))) (/.f64 x (tan.f64 B)))
11.3b
(-.f64 (*.f64 F (/.f64 (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2) (sin.f64 B))) (*.f64 (/.f64 x (sin.f64 B)) (cos.f64 B)))
11.3b
(-.f64 (*.f64 F (/.f64 (*.f64 (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/4) (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/4)) (sin.f64 B))) (/.f64 x (tan.f64 B)))
Compiler

Compiled 10067 to 6236 computations (38.1% saved)

localize16.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f64 1 (/.f64 (sin.f64 B) (*.f64 F (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2))))
0.2b
(*.f64 F (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2))
0.2b
(/.f64 (sin.f64 B) (*.f64 F (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)))
17.9b
(pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)

series188.0ms (1.6%)

Counts
3 → 72
Calls

3 calls:

97.0ms
(/.f64 1 (/.f64 (sin.f64 B) (*.f64 F (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2))))
49.0ms
(/.f64 (sin.f64 B) (*.f64 F (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)))
41.0ms
(*.f64 F (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2))

rewrite64.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
248×expm1-udef_binary64
248×log1p-udef_binary64
225×log-pow_binary64
143×add-sqr-sqrt_binary64
134×log1p-expm1-u_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01458
129355
2361855
Stop Event
node limit
Counts
3 → 103
Calls

3 calls:

62.0ms
(/.f64 1 (/.f64 (sin.f64 B) (*.f64 F (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2))))
62.0ms
(*.f64 F (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2))
62.0ms
(/.f64 (sin.f64 B) (*.f64 F (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)))

simplify74.0ms (0.6%)

Algorithm
egg-herbie
Rules
991×times-frac_binary64
261×fma-def_binary64
258×fma-neg_binary64
178×+-commutative_binary64
166×*-commutative_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03033670
19753452
235193452
Stop Event
node limit
Counts
175 → 214

prune384.0ms (3.3%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New2751276
Fresh1910
Picked011
Done000
Total27611287
Error
0.0b
Counts
287 → 11
Alt Table
StatusErrorProgram
11.3b
(-.f64 (*.f64 F (/.f64 (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2) (sin.f64 B))) (*.f64 (/.f64 x (sin.f64 B)) (cos.f64 B)))
11.6b
(-.f64 (*.f64 (/.f64 (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2) (pow.f64 (cbrt.f64 (sin.f64 B)) 2)) (/.f64 F (cbrt.f64 (sin.f64 B)))) (/.f64 x (tan.f64 B)))
33.2b
(-.f64 (*.f64 F (/.f64 (/.f64 -1 F) (sin.f64 B))) (/.f64 x (tan.f64 B)))
11.3b
(-.f64 (*.f64 F (/.f64 (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2) (sin.f64 B))) (pow.f64 (/.f64 (tan.f64 B) x) -1))
21.0b
(-.f64 (*.f64 F (/.f64 (log.f64 (exp.f64 (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2))) (sin.f64 B))) (/.f64 x (tan.f64 B)))
11.9b
(-.f64 (*.f64 F (/.f64 (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2) (sin.f64 B))) (*.f64 (/.f64 (pow.f64 (cbrt.f64 x) 2) (pow.f64 (cbrt.f64 (tan.f64 B)) 2)) (cbrt.f64 (/.f64 x (tan.f64 B)))))
32.3b
(-.f64 (/.f64 -1 (sin.f64 B)) (/.f64 x (tan.f64 B)))
11.2b
(-.f64 (/.f64 1 (/.f64 (sin.f64 B) (*.f64 F (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)))) (/.f64 x (tan.f64 B)))
31.6b
(-.f64 (/.f64 1 (sin.f64 B)) (/.f64 x (tan.f64 B)))
11.2b
(-.f64 (/.f64 F (/.f64 (sin.f64 B) (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2))) (/.f64 x (tan.f64 B)))
11.3b
(-.f64 (*.f64 F (/.f64 (*.f64 (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/4) (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/4)) (sin.f64 B))) (/.f64 x (tan.f64 B)))
Compiler

Compiled 11679 to 7232 computations (38.1% saved)

localize21.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 x (tan.f64 B))
0.3b
(/.f64 F (/.f64 (sin.f64 B) (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)))
0.3b
(/.f64 (sin.f64 B) (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2))
17.9b
(pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)

series143.0ms (1.2%)

Counts
2 → 56
Calls

2 calls:

97.0ms
(/.f64 F (/.f64 (sin.f64 B) (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)))
46.0ms
(/.f64 (sin.f64 B) (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2))

rewrite56.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
623×log-prod_binary64
228×expm1-udef_binary64
228×log1p-udef_binary64
205×log-pow_binary64
131×prod-diff_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01237
125835
2332335
Stop Event
node limit
Counts
2 → 82
Calls

2 calls:

54.0ms
(/.f64 F (/.f64 (sin.f64 B) (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)))
54.0ms
(/.f64 (sin.f64 B) (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2))

simplify54.0ms (0.5%)

Algorithm
egg-herbie
Rules
528×times-frac_binary64
474×cancel-sign-sub-inv_binary64
231×sub-neg_binary64
216×fma-neg_binary64
206×fma-def_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02342803
17392637
227092635
Stop Event
node limit
Counts
138 → 164

prune359.0ms (3.1%)

Pruning

11 alts after pruning (9 fresh and 2 done)

PrunedKeptTotal
New2671268
Fresh189
Picked011
Done011
Total26811279
Error
0.0b
Counts
279 → 11
Alt Table
StatusErrorProgram
11.3b
(-.f64 (*.f64 F (/.f64 (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2) (sin.f64 B))) (*.f64 (/.f64 x (sin.f64 B)) (cos.f64 B)))
11.6b
(-.f64 (*.f64 (/.f64 (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2) (pow.f64 (cbrt.f64 (sin.f64 B)) 2)) (/.f64 F (cbrt.f64 (sin.f64 B)))) (/.f64 x (tan.f64 B)))
33.2b
(-.f64 (*.f64 F (/.f64 (/.f64 -1 F) (sin.f64 B))) (/.f64 x (tan.f64 B)))
11.3b
(-.f64 (*.f64 F (/.f64 (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2) (sin.f64 B))) (pow.f64 (/.f64 (tan.f64 B) x) -1))
21.0b
(-.f64 (*.f64 F (/.f64 (log.f64 (exp.f64 (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2))) (sin.f64 B))) (/.f64 x (tan.f64 B)))
34.8b
(-.f64 (/.f64 F (/.f64 (sin.f64 B) (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2))) (cbrt.f64 (pow.f64 (/.f64 x (tan.f64 B)) 3)))
32.3b
(-.f64 (/.f64 -1 (sin.f64 B)) (/.f64 x (tan.f64 B)))
11.2b
(-.f64 (/.f64 1 (/.f64 (sin.f64 B) (*.f64 F (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)))) (/.f64 x (tan.f64 B)))
31.6b
(-.f64 (/.f64 1 (sin.f64 B)) (/.f64 x (tan.f64 B)))
11.2b
(-.f64 (/.f64 F (/.f64 (sin.f64 B) (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2))) (/.f64 x (tan.f64 B)))
11.3b
(-.f64 (*.f64 F (/.f64 (*.f64 (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/4) (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/4)) (sin.f64 B))) (/.f64 x (tan.f64 B)))
Compiler

Compiled 10439 to 6256 computations (40.1% saved)

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (/.f64 x (sin.f64 B)) (cos.f64 B))
0.3b
(*.f64 F (/.f64 (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2) (sin.f64 B)))
0.4b
(/.f64 (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2) (sin.f64 B))
17.9b
(pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)

series19.0ms (0.2%)

Counts
1 → 24
Calls

1 calls:

19.0ms
(*.f64 (/.f64 x (sin.f64 B)) (cos.f64 B))

rewrite35.0ms (0.3%)

Algorithm
batch-egg-rewrite
Rules
716×log1p-expm1-u_binary64
716×expm1-log1p-u_binary64
137×expm1-udef_binary64
137×log1p-udef_binary64
75×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0711
114411
2191811
Stop Event
node limit
Counts
1 → 25
Calls

1 calls:

35.0ms
(*.f64 (/.f64 x (sin.f64 B)) (cos.f64 B))

simplify39.0ms (0.3%)

Algorithm
egg-herbie
Rules
466×fma-def_binary64
465×distribute-rgt-neg-in_binary64
385×distribute-lft-neg-in_binary64
321×cancel-sign-sub-inv_binary64
246×*-commutative_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
027293
174291
2212284
3760282
42879282
54539282
Stop Event
node limit
Counts
49 → 33

prune303.0ms (2.6%)

Pruning

11 alts after pruning (8 fresh and 3 done)

PrunedKeptTotal
New2340234
Fresh088
Picked011
Done022
Total23411245
Error
0.0b
Counts
245 → 11
Alt Table
StatusErrorProgram
11.3b
(-.f64 (*.f64 F (/.f64 (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2) (sin.f64 B))) (*.f64 (/.f64 x (sin.f64 B)) (cos.f64 B)))
11.6b
(-.f64 (*.f64 (/.f64 (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2) (pow.f64 (cbrt.f64 (sin.f64 B)) 2)) (/.f64 F (cbrt.f64 (sin.f64 B)))) (/.f64 x (tan.f64 B)))
33.2b
(-.f64 (*.f64 F (/.f64 (/.f64 -1 F) (sin.f64 B))) (/.f64 x (tan.f64 B)))
11.3b
(-.f64 (*.f64 F (/.f64 (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2) (sin.f64 B))) (pow.f64 (/.f64 (tan.f64 B) x) -1))
21.0b
(-.f64 (*.f64 F (/.f64 (log.f64 (exp.f64 (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2))) (sin.f64 B))) (/.f64 x (tan.f64 B)))
34.8b
(-.f64 (/.f64 F (/.f64 (sin.f64 B) (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2))) (cbrt.f64 (pow.f64 (/.f64 x (tan.f64 B)) 3)))
32.3b
(-.f64 (/.f64 -1 (sin.f64 B)) (/.f64 x (tan.f64 B)))
11.2b
(-.f64 (/.f64 1 (/.f64 (sin.f64 B) (*.f64 F (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2)))) (/.f64 x (tan.f64 B)))
31.6b
(-.f64 (/.f64 1 (sin.f64 B)) (/.f64 x (tan.f64 B)))
11.2b
(-.f64 (/.f64 F (/.f64 (sin.f64 B) (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/2))) (/.f64 x (tan.f64 B)))
11.3b
(-.f64 (*.f64 F (/.f64 (*.f64 (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/4) (pow.f64 (fma.f64 x 2 (fma.f64 F F 2)) -1/4)) (sin.f64 B))) (/.f64 x (tan.f64 B)))
Compiler

Compiled 10207 to 5914 computations (42.1% saved)

regimes1.6s (14.2%)

Accuracy

Total 0.2b remaining (79.2%)

Threshold costs 0.2b (79.2%)

Counts
251 → 3
Compiler

Compiled 24604 to 17384 computations (29.3% saved)

bsearch154.0ms (1.3%)

Steps
ItersRangePoint
9
5.444110550051452
71001576.28439762
69448571.11480942
4
-16324895210.3413
-11026355.708978368
-108889265.59650335
Compiler

Compiled 4 to 3 computations (25% saved)

simplify4.0ms (0%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
sub-neg_binary64
*-commutative_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03173
14473
26173
37173
47873
58073
Stop Event
saturated

end197.0ms (1.7%)

Compiler

Compiled 345 to 232 computations (32.8% saved)

Profiling

Loading profile data...