Details

Time bar (total: 10.8s)

analyze2.6s (24%)

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
12.5%87.4%0.1%7
12.5%87.4%0.1%8
31.2%68.6%0.1%9
31.2%68.6%0.1%10
31.2%68.6%0.1%11
40.6%59.3%0.1%12
40.6%59.3%0.1%13
40.6%59.3%0.1%14
Compiler

Compiled 34 to 19 computations (44.1% saved)

sample5.5s (51.2%)

Results
2.9s2005×body1024valid
1.3s4712×body128valid
856.0ms1011×body512valid
293.0ms523×body256valid
18.0msbody2048valid
Compiler

Compiled 101 to 56 computations (44.6% saved)

simplify281.0ms (2.6%)

Algorithm
egg-herbie
Rules
1350×fma-def_binary64
1306×fma-neg_binary64
889×div-sub_binary64
757×associate-/r/_binary64
558×associate-/l*_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01950
14450
210950
322950
433350
551550
671750
798450
8130850
9163350
10158950
11159150
12162350
13167150
14167150
15210350
16259150
17255950
18261550
19278350
20287950
21292750
22335150
23331950
24331950
25248750
26286350
27259150
28259150
29259150
30259150
31237650

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.1b
Counts
2 → 1
Alt Table
StatusErrorProgram
0.1b
(fabs.f64 (-.f64 (*.f64 (*.f64 ew (cos.f64 t)) (cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
Compiler

Compiled 99 to 54 computations (45.5% saved)

localize19.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 ew (cos.f64 t))
0.2b
(*.f64 (neg.f64 eh) (tan.f64 t))
1.6b
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
20.8b
(cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))

series97.0ms (0.9%)

Counts
4 → 120
Calls

4 calls:

45.0ms
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
25.0ms
(*.f64 (neg.f64 eh) (tan.f64 t))
19.0ms
(cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))
7.0ms
(*.f64 ew (cos.f64 t))

rewrite65.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
630×log-prod_binary64
217×expm1-udef_binary64
217×log1p-udef_binary64
199×log-pow_binary64
131×add-sqr-sqrt_binary64
Counts
4 → 116
Calls

4 calls:

63.0ms
(*.f64 ew (cos.f64 t))
63.0ms
(*.f64 (neg.f64 eh) (tan.f64 t))
63.0ms
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
63.0ms
(cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01240
125134
2295934
3534034
000
100

simplify92.0ms (0.9%)

Algorithm
egg-herbie
Rules
353×distribute-lft-neg-in_binary64
348×distribute-rgt-neg-in_binary64
314×fma-def_binary64
273×neg-mul-1_binary64
219×associate-/r/_binary64
Counts
236 → 147
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0801702
12401696
27691677
325581665
448081665
550751665

prune184.0ms (1.7%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New2354239
Fresh000
Picked101
Done000
Total2364240
Error
0.1b
Counts
240 → 4
Alt Table
StatusErrorProgram
25.4b
(fabs.f64 (-.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 ew (cos.f64 t)) 3)) (cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
34.7b
(fabs.f64 (-.f64 (*.f64 (pow.f64 (sqrt.f64 (*.f64 ew (cos.f64 t))) 2) (cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
0.1b
(fabs.f64 (-.f64 (*.f64 (*.f64 ew (cos.f64 t)) (/.f64 1 (hypot.f64 1 (/.f64 (*.f64 eh (tan.f64 t)) ew)))) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
24.7b
(fabs.f64 (-.f64 (*.f64 (fma.f64 (*.f64 ew (*.f64 t t)) -1/2 ew) (cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
Compiler

Compiled 8680 to 2242 computations (74.2% saved)

localize22.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (neg.f64 eh) (tan.f64 t))
0.2b
(/.f64 1 (hypot.f64 1 (/.f64 (*.f64 eh (tan.f64 t)) ew)))
1.6b
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
1.6b
(/.f64 (*.f64 eh (tan.f64 t)) ew)

series238.0ms (2.2%)

Counts
2 → 72
Calls

2 calls:

195.0ms
(/.f64 1 (hypot.f64 1 (/.f64 (*.f64 eh (tan.f64 t)) ew)))
42.0ms
(/.f64 (*.f64 eh (tan.f64 t)) ew)

rewrite83.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
525×log-prod_binary64
277×prod-diff_binary64
189×pow1/3_binary64
185×expm1-udef_binary64
185×log1p-udef_binary64
Counts
2 → 75
Calls

2 calls:

81.0ms
(/.f64 1 (hypot.f64 1 (/.f64 (*.f64 eh (tan.f64 t)) ew)))
81.0ms
(/.f64 (*.f64 eh (tan.f64 t)) ew)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01024
120724
2255024
3496424
4553324
000
100

simplify61.0ms (0.6%)

Algorithm
egg-herbie
Rules
457×associate-*r/_binary64
382×associate-*l/_binary64
328×fma-def_binary64
260×associate-/r/_binary64
231×cancel-sign-sub-inv_binary64
Counts
147 → 113
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01402304
14522264
218842219
350182219

prune217.0ms (2%)

Pruning

4 alts after pruning (3 fresh and 1 done)

PrunedKeptTotal
New2050205
Fresh033
Picked011
Done000
Total2054209
Error
0.1b
Counts
209 → 4
Alt Table
StatusErrorProgram
25.4b
(fabs.f64 (-.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 ew (cos.f64 t)) 3)) (cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
34.7b
(fabs.f64 (-.f64 (*.f64 (pow.f64 (sqrt.f64 (*.f64 ew (cos.f64 t))) 2) (cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
0.1b
(fabs.f64 (-.f64 (*.f64 (*.f64 ew (cos.f64 t)) (/.f64 1 (hypot.f64 1 (/.f64 (*.f64 eh (tan.f64 t)) ew)))) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
24.7b
(fabs.f64 (-.f64 (*.f64 (fma.f64 (*.f64 ew (*.f64 t t)) -1/2 ew) (cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
Compiler

Compiled 8463 to 3175 computations (62.5% saved)

localize21.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.8b
(*.f64 (fma.f64 (*.f64 ew (*.f64 t t)) -1/2 ew) (cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))
1.6b
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
8.4b
(*.f64 ew (*.f64 t t))
20.8b
(cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))

series61.0ms (0.6%)

Counts
2 → 60
Calls

2 calls:

53.0ms
(*.f64 (fma.f64 (*.f64 ew (*.f64 t t)) -1/2 ew) (cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))
8.0ms
(*.f64 ew (*.f64 t t))

rewrite98.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
891×prod-diff_binary64
269×expm1-udef_binary64
269×log1p-udef_binary64
162×add-sqr-sqrt_binary64
150×log1p-expm1-u_binary64
Counts
2 → 35
Calls

2 calls:

97.0ms
(*.f64 (fma.f64 (*.f64 ew (*.f64 t t)) -1/2 ew) (cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))
97.0ms
(*.f64 ew (*.f64 t t))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01535
131732
2368132
3489432
4617332
000
100

simplify190.0ms (1.8%)

Algorithm
egg-herbie
Rules
1652×fma-def_binary64
829×fma-neg_binary64
571×div-sub_binary64
415×cancel-sign-sub-inv_binary64
349×distribute-rgt-neg-in_binary64
Counts
95 → 48
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0361692
1941230
22441164
36461164
410111164
519351164
623351164
732931164
836341164
940211164
1039171164
1147211164
1249151164
1348181164

prune168.0ms (1.6%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New1940194
Fresh022
Picked011
Done011
Total1944198
Error
0.1b
Counts
198 → 4
Alt Table
StatusErrorProgram
25.4b
(fabs.f64 (-.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 ew (cos.f64 t)) 3)) (cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
34.7b
(fabs.f64 (-.f64 (*.f64 (pow.f64 (sqrt.f64 (*.f64 ew (cos.f64 t))) 2) (cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
0.1b
(fabs.f64 (-.f64 (*.f64 (*.f64 ew (cos.f64 t)) (/.f64 1 (hypot.f64 1 (/.f64 (*.f64 eh (tan.f64 t)) ew)))) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
24.7b
(fabs.f64 (-.f64 (*.f64 (fma.f64 (*.f64 ew (*.f64 t t)) -1/2 ew) (cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
Compiler

Compiled 7723 to 2156 computations (72.1% saved)

localize23.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (neg.f64 eh) (tan.f64 t))
1.6b
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
20.8b
(cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))
36.9b
(cbrt.f64 (pow.f64 (*.f64 ew (cos.f64 t)) 3))

series15.0ms (0.1%)

Counts
1 → 24
Calls

1 calls:

15.0ms
(cbrt.f64 (pow.f64 (*.f64 ew (cos.f64 t)) 3))

rewrite67.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
603×log1p-expm1-u_binary64
603×expm1-log1p-u_binary64
328×log-prod_binary64
121×expm1-udef_binary64
121×log1p-udef_binary64
Counts
1 → 32
Calls

1 calls:

66.0ms
(cbrt.f64 (pow.f64 (*.f64 ew (cos.f64 t)) 3))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
086
11476
215906
349316
448826
000
100

simplify68.0ms (0.6%)

Algorithm
egg-herbie
Rules
825×distribute-rgt-neg-in_binary64
733×distribute-lft-neg-in_binary64
502×associate-*l*_binary64
436×associate-*r*_binary64
420×neg-mul-1_binary64
Counts
56 → 41
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
030218
181217
2225209
3654205
42584205
54722205
65066205

prune212.0ms (2%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New2512253
Fresh011
Picked101
Done022
Total2525257
Error
0.1b
Counts
257 → 5
Alt Table
StatusErrorProgram
37.7b
(fabs.f64 (-.f64 (*.f64 (*.f64 (sqrt.f64 ew) (*.f64 (sqrt.f64 ew) (cos.f64 t))) (cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
17.9b
(fabs.f64 (-.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 ew ew)) (*.f64 (cbrt.f64 ew) (cos.f64 t))) (cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
34.7b
(fabs.f64 (-.f64 (*.f64 (pow.f64 (sqrt.f64 (*.f64 ew (cos.f64 t))) 2) (cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
0.1b
(fabs.f64 (-.f64 (*.f64 (*.f64 ew (cos.f64 t)) (/.f64 1 (hypot.f64 1 (/.f64 (*.f64 eh (tan.f64 t)) ew)))) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
24.7b
(fabs.f64 (-.f64 (*.f64 (fma.f64 (*.f64 ew (*.f64 t t)) -1/2 ew) (cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
Compiler

Compiled 9711 to 2986 computations (69.3% saved)

regimes267.0ms (2.5%)

Accuracy

Total 0.0b remaining (21.1%)

Threshold costs 0.0b (21.1%)

Counts
43 → 1
Compiler

Compiled 7524 to 4793 computations (36.3% saved)

simplify4.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02350
14250
27150
310150
412250
513350
613550
713350

end123.0ms (1.1%)

Compiler

Compiled 251 to 152 computations (39.4% saved)

Profiling

Loading profile data...