Details

Time bar (total: 14.9s)

analyze2.5s (16.8%)

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

Results
3.1s2035×body1024valid
1.4s4715×body128valid
907.0ms1001×body512valid
297.0ms501×body256valid
12.0msbody2048valid
Compiler

Compiled 101 to 56 computations (44.6% saved)

simplify279.0ms (1.9%)

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)

localize20.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (*.f64 ew (cos.f64 t)) (cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))
0.1b
(*.f64 (neg.f64 eh) (tan.f64 t))
2.0b
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
22.8b
(cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))

series117.0ms (0.8%)

Counts
4 → 132
Calls

4 calls:

42.0ms
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
35.0ms
(*.f64 (*.f64 ew (cos.f64 t)) (cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))
22.0ms
(*.f64 (neg.f64 eh) (tan.f64 t))
17.0ms
(cos.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)))

rewrite72.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
717×log-prod_binary64
237×expm1-udef_binary64
237×log1p-udef_binary64
217×log-pow_binary64
142×add-sqr-sqrt_binary64
Counts
4 → 121
Calls

4 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01357
127348
2327348
3593748
000
100

simplify118.0ms (0.8%)

Algorithm
egg-herbie
Rules
475×distribute-lft-neg-in_binary64
473×distribute-rgt-neg-in_binary64
361×fma-def_binary64
317×neg-mul-1_binary64
305×associate-*l*_binary64
Counts
253 → 153
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0822488
12542428
28432378
329612351
448502351
551112351

prune379.0ms (2.6%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New2434247
Fresh000
Picked101
Done000
Total2444248
Error
0.1b
Counts
248 → 4
Alt Table
StatusErrorProgram
25.1b
(fabs.f64 (-.f64 (cbrt.f64 (pow.f64 (*.f64 ew (/.f64 (cos.f64 t) (hypot.f64 1 (/.f64 (*.f64 eh (tan.f64 t)) ew)))) 3)) (*.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 ew (/.f64 (cos.f64 t) (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))))))
0.9b
(fabs.f64 (-.f64 (pow.f64 (cbrt.f64 (*.f64 ew (/.f64 (cos.f64 t) (hypot.f64 1 (/.f64 (*.f64 eh (tan.f64 t)) ew))))) 3) (*.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 (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (atan.f64 (/.f64 (*.f64 eh (tan.f64 t)) ew)))))) (log.f64 (sqrt.f64 (exp.f64 (cos.f64 (atan.f64 (/.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))))))
Compiler

Compiled 9003 to 2397 computations (73.4% saved)

localize23.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series215.0ms (1.4%)

Counts
2 → 72
Calls

2 calls:

175.0ms
(/.f64 (cos.f64 t) (hypot.f64 1 (/.f64 (*.f64 eh (tan.f64 t)) ew)))
40.0ms
(/.f64 (*.f64 eh (tan.f64 t)) ew)

rewrite59.0ms (0.4%)

Algorithm
batch-egg-rewrite
Rules
603×log-prod_binary64
206×expm1-udef_binary64
206×log1p-udef_binary64
187×log-pow_binary64
137×log-div_binary64
Counts
2 → 84
Calls

2 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01126
122526
2289826
3530926
000
100

simplify84.0ms (0.6%)

Algorithm
egg-herbie
Rules
418×fma-def_binary64
391×associate-*l/_binary64
385×fma-neg_binary64
268×cancel-sign-sub-inv_binary64
264×associate-/r/_binary64
Counts
156 → 124
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01562417
15002379
220862327
348422327
450812327

prune326.0ms (2.2%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New2162218
Fresh123
Picked011
Done000
Total2175222
Error
0.1b
Counts
222 → 5
Alt Table
StatusErrorProgram
25.1b
(fabs.f64 (-.f64 (cbrt.f64 (pow.f64 (*.f64 ew (/.f64 (cos.f64 t) (hypot.f64 1 (/.f64 (*.f64 eh (tan.f64 t)) ew)))) 3)) (*.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 ew (/.f64 (cos.f64 t) (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))))))
0.3b
(fabs.f64 (-.f64 (*.f64 ew (cbrt.f64 (pow.f64 (/.f64 (cos.f64 t) (hypot.f64 1 (/.f64 (*.f64 eh (tan.f64 t)) ew))) 3))) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
0.9b
(fabs.f64 (-.f64 (pow.f64 (cbrt.f64 (*.f64 ew (/.f64 (cos.f64 t) (hypot.f64 1 (/.f64 (*.f64 eh (tan.f64 t)) ew))))) 3) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
0.3b
(fabs.f64 (-.f64 (*.f64 ew (+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (cos.f64 t) (hypot.f64 1 (/.f64 (*.f64 eh (tan.f64 t)) ew)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (cos.f64 t) (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))))))
Compiler

Compiled 8685 to 3294 computations (62.1% saved)

localize31.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(pow.f64 (/.f64 (cos.f64 t) (hypot.f64 1 (/.f64 (*.f64 eh (tan.f64 t)) ew))) 3)
2.0b
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
2.0b
(/.f64 (*.f64 eh (tan.f64 t)) ew)
11.8b
(cbrt.f64 (pow.f64 (/.f64 (cos.f64 t) (hypot.f64 1 (/.f64 (*.f64 eh (tan.f64 t)) ew))) 3))

series374.0ms (2.5%)

Counts
2 → 72
Calls

2 calls:

221.0ms
(pow.f64 (/.f64 (cos.f64 t) (hypot.f64 1 (/.f64 (*.f64 eh (tan.f64 t)) ew))) 3)
153.0ms
(cbrt.f64 (pow.f64 (/.f64 (cos.f64 t) (hypot.f64 1 (/.f64 (*.f64 eh (tan.f64 t)) ew))) 3))

rewrite98.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
307×prod-diff_binary64
236×expm1-udef_binary64
236×log1p-udef_binary64
215×log-pow_binary64
149×log-div_binary64
Counts
2 → 84
Calls

2 calls:

95.0ms
(pow.f64 (/.f64 (cos.f64 t) (hypot.f64 1 (/.f64 (*.f64 eh (tan.f64 t)) ew))) 3)
95.0ms
(cbrt.f64 (pow.f64 (/.f64 (cos.f64 t) (hypot.f64 1 (/.f64 (*.f64 eh (tan.f64 t)) ew))) 3))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01437
127537
2338637
3499737
4550037
000
100

simplify95.0ms (0.6%)

Algorithm
egg-herbie
Rules
754×fma-def_binary64
521×cancel-sign-sub-inv_binary64
300×unswap-sqr_binary64
224×fma-neg_binary64
210×times-frac_binary64
Counts
156 → 147
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02103884
17133822
232273717
353273717

prune429.0ms (2.9%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New2611262
Fresh123
Picked011
Done011
Total2625267
Error
0.1b
Counts
267 → 5
Alt Table
StatusErrorProgram
0.2b
(fabs.f64 (-.f64 (*.f64 ew (*.f64 (cbrt.f64 (/.f64 (cos.f64 t) (hypot.f64 1 (/.f64 (*.f64 eh (tan.f64 t)) ew)))) (pow.f64 (pow.f64 (/.f64 (cos.f64 t) (hypot.f64 1 (/.f64 (*.f64 eh (tan.f64 t)) ew))) 2) 1/3))) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
0.3b
(fabs.f64 (-.f64 (*.f64 ew (+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (cos.f64 t) (hypot.f64 1 (/.f64 (*.f64 eh (tan.f64 t)) ew)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (cos.f64 t) (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))))))
0.1b
(fabs.f64 (-.f64 (*.f64 ew (/.f64 (cos.f64 t) (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))))))
0.3b
(fabs.f64 (-.f64 (*.f64 ew (cbrt.f64 (pow.f64 (/.f64 (cos.f64 t) (hypot.f64 1 (/.f64 (*.f64 eh (tan.f64 t)) ew))) 3))) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
0.9b
(fabs.f64 (-.f64 (pow.f64 (cbrt.f64 (*.f64 ew (/.f64 (cos.f64 t) (hypot.f64 1 (/.f64 (*.f64 eh (tan.f64 t)) ew))))) 3) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
Compiler

Compiled 11727 to 4760 computations (59.4% saved)

localize30.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
2.0b
(/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew)
2.0b
(/.f64 (*.f64 eh (tan.f64 t)) ew)
4.5b
(cbrt.f64 (/.f64 (cos.f64 t) (hypot.f64 1 (/.f64 (*.f64 eh (tan.f64 t)) ew))))
13.1b
(pow.f64 (pow.f64 (/.f64 (cos.f64 t) (hypot.f64 1 (/.f64 (*.f64 eh (tan.f64 t)) ew))) 2) 1/3)

series2.0s (13.4%)

Counts
2 → 72
Calls

2 calls:

1.0s
(cbrt.f64 (/.f64 (cos.f64 t) (hypot.f64 1 (/.f64 (*.f64 eh (tan.f64 t)) ew))))
983.0ms
(pow.f64 (pow.f64 (/.f64 (cos.f64 t) (hypot.f64 1 (/.f64 (*.f64 eh (tan.f64 t)) ew))) 2) 1/3)

rewrite90.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
268×expm1-udef_binary64
268×log1p-udef_binary64
154×add-sqr-sqrt_binary64
148×log1p-expm1-u_binary64
148×expm1-log1p-u_binary64
Counts
2 → 65
Calls

2 calls:

88.0ms
(cbrt.f64 (/.f64 (cos.f64 t) (hypot.f64 1 (/.f64 (*.f64 eh (tan.f64 t)) ew))))
88.0ms
(pow.f64 (pow.f64 (/.f64 (cos.f64 t) (hypot.f64 1 (/.f64 (*.f64 eh (tan.f64 t)) ew))) 2) 1/3)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01641
133141
2374841
3498541
4486941
000
100

simplify116.0ms (0.8%)

Algorithm
egg-herbie
Rules
366×times-frac_binary64
288×associate-/l*_binary64
258×associate-*r*_binary64
244×fma-neg_binary64
216×associate-/r*_binary64
Counts
137 → 146
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02975581
110425501
245205441
349845441

prune675.0ms (4.5%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New3151316
Fresh022
Picked011
Done022
Total3156321
Error
0.1b
Counts
321 → 6
Alt Table
StatusErrorProgram
0.2b
(fabs.f64 (-.f64 (*.f64 ew (*.f64 (cbrt.f64 (/.f64 (cos.f64 t) (hypot.f64 1 (/.f64 (*.f64 eh (tan.f64 t)) ew)))) (pow.f64 (pow.f64 (/.f64 (cos.f64 t) (hypot.f64 1 (/.f64 (*.f64 eh (tan.f64 t)) ew))) 2) 1/3))) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
0.3b
(fabs.f64 (-.f64 (*.f64 ew (+.f64 (log.f64 (sqrt.f64 (exp.f64 (/.f64 (cos.f64 t) (hypot.f64 1 (/.f64 (*.f64 eh (tan.f64 t)) ew)))))) (log.f64 (sqrt.f64 (exp.f64 (/.f64 (cos.f64 t) (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))))))
0.1b
(fabs.f64 (-.f64 (*.f64 ew (/.f64 (cos.f64 t) (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))))))
0.3b
(fabs.f64 (-.f64 (*.f64 ew (cbrt.f64 (pow.f64 (/.f64 (cos.f64 t) (hypot.f64 1 (/.f64 (*.f64 eh (tan.f64 t)) ew))) 3))) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
0.9b
(fabs.f64 (-.f64 (pow.f64 (cbrt.f64 (*.f64 ew (/.f64 (cos.f64 t) (hypot.f64 1 (/.f64 (*.f64 eh (tan.f64 t)) ew))))) 3) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
0.3b
(fabs.f64 (-.f64 (*.f64 ew (*.f64 (cbrt.f64 (/.f64 (cos.f64 t) (hypot.f64 1 (/.f64 (*.f64 eh (tan.f64 t)) ew)))) (-.f64 (exp.f64 (log1p.f64 (cbrt.f64 (pow.f64 (/.f64 (cos.f64 t) (hypot.f64 1 (/.f64 (*.f64 eh (tan.f64 t)) ew))) 2)))) 1))) (*.f64 (*.f64 eh (sin.f64 t)) (sin.f64 (atan.f64 (/.f64 (*.f64 (neg.f64 eh) (tan.f64 t)) ew))))))
Compiler

Compiled 20389 to 8900 computations (56.3% saved)

regimes663.0ms (4.5%)

Accuracy

Total 0.0b remaining (29.2%)

Threshold costs 0.0b (29.2%)

Counts
96 → 1
Compiler

Compiled 17529 to 11558 computations (34.1% saved)

simplify4.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02247
14047
26947
39347
411247
512147
612247
712147

end175.0ms (1.2%)

Compiler

Compiled 317 to 205 computations (35.3% saved)

Profiling

Loading profile data...