Details

Time bar (total: 7.3s)

analyze450.0ms (6.2%)

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
25%74.9%0.1%6
37.4%62.4%0.1%7
56.2%43.7%0.1%8
56.2%43.7%0.1%9
65.5%34.3%0.1%10
76.5%23.4%0.1%11
76.5%23.4%0.1%12
81.9%17.9%0.1%13
87.8%12.1%0.1%14
Compiler

Compiled 13 to 9 computations (30.8% saved)

sample2.3s (30.9%)

Results
920.0ms5916×body128valid
886.0ms1307×body1024valid
265.0ms681×body512valid
103.0ms348×body256valid
5.0msbody2048valid
Compiler

Compiled 38 to 26 computations (31.6% saved)

simplify20.0ms (0.3%)

Algorithm
egg-herbie
Rules
230×fma-def_binary64
171×fma-neg_binary64
66×cancel-sign-sub-inv_binary64
44×associate--r+_binary64
44×distribute-rgt-in_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0914
11814
23414
35914
49914
515514
624714
729214
837814
941014
1044414
1145414
1243114

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
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
Compiler

Compiled 36 to 24 computations (33.3% saved)

localize12.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(+.f64 x (cos.f64 y))
0.0b
(cos.f64 y)
0.0b
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
0.1b
(*.f64 z (sin.f64 y))

series23.0ms (0.3%)

Counts
4 → 88
Calls

4 calls:

11.0ms
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
6.0ms
(*.f64 z (sin.f64 y))
4.0ms
(+.f64 x (cos.f64 y))
1.0ms
(cos.f64 y)

rewrite127.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
521×log-prod_binary64
460×fma-def_binary64
219×egg-rr
217×fma-neg_binary64
194×expm1-udef_binary64
Counts
4 → 219
Calls

4 calls:

123.0ms
(+.f64 x (cos.f64 y))
123.0ms
(cos.f64 y)
123.0ms
(-.f64 (+.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
123.0ms
(*.f64 z (sin.f64 y))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0929
120229
2274629
3552229
000
100

simplify103.0ms (1.4%)

Algorithm
egg-herbie
Rules
542×sub-neg_binary64
539×distribute-rgt-neg-in_binary64
526×fma-neg_binary64
317×neg-mul-1_binary64
300×*-commutative_binary64
Counts
307 → 255
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
063886
1196874
2516854
31563848
43403848
54538848
64979848
74909848

prune206.0ms (2.8%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New2469255
Fresh000
Picked101
Done000
Total2479256
Error
0.0b
Counts
256 → 9
Alt Table
StatusErrorProgram
0.1b
(+.f64 (-.f64 (cos.f64 y) (*.f64 (sin.f64 y) z)) x)
0.4b
(fma.f64 (*.f64 (neg.f64 z) (pow.f64 (cbrt.f64 (sin.f64 y)) 2)) (cbrt.f64 (sin.f64 y)) (+.f64 x (cos.f64 y)))
27.2b
(fma.f64 (-.f64 (pow.f64 (+.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (/.f64 1 (fma.f64 z (sin.f64 y) (+.f64 x (cos.f64 y)))) (fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 z (sin.f64 y))))
27.1b
(-.f64 (+.f64 x (cos.f64 y)) (pow.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 2))
0.1b
(-.f64 (+.f64 x (cbrt.f64 (pow.f64 (cos.f64 y) 3))) (*.f64 z (sin.f64 y)))
34.9b
(/.f64 1 (/.f64 (fma.f64 (*.f64 z (sin.f64 y)) (fma.f64 z (sin.f64 y) (+.f64 x (cos.f64 y))) (pow.f64 (+.f64 x (cos.f64 y)) 2)) (-.f64 (pow.f64 (+.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3))))
41.6b
(fma.f64 (+.f64 (sqrt.f64 (+.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))) (-.f64 (sqrt.f64 (+.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))) (fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 z (sin.f64 y))))
27.9b
(-.f64 (+.f64 x (cos.f64 y)) (-.f64 (*.f64 y z) (*.f64 1/6 (*.f64 (pow.f64 y 3) z))))
0.4b
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (+.f64 x (cos.f64 y)))
Compiler

Compiled 4790 to 1434 computations (70.1% saved)

localize7.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(cos.f64 y)
0.0b
(-.f64 (cos.f64 y) (*.f64 (sin.f64 y) z))
0.1b
(*.f64 (sin.f64 y) z)

series16.0ms (0.2%)

Counts
2 → 11
Calls

2 calls:

9.0ms
(*.f64 (sin.f64 y) z)
7.0ms
(-.f64 (cos.f64 y) (*.f64 (sin.f64 y) z))

rewrite62.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
771×log1p-expm1-u_binary64
771×expm1-log1p-u_binary64
649×prod-diff_binary64
110×egg-rr
80×add-sqr-sqrt_binary64
Counts
2 → 110
Calls

2 calls:

59.0ms
(-.f64 (cos.f64 y) (*.f64 (sin.f64 y) z))
59.0ms
(*.f64 (sin.f64 y) z)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0717
115117
2193317
3595717
000
100

simplify65.0ms (0.9%)

Algorithm
egg-herbie
Rules
749×fma-def_binary64
741×distribute-rgt-neg-in_binary64
636×distribute-lft-neg-in_binary64
518×cancel-sign-sub-inv_binary64
465×associate-*l*_binary64
Counts
121 → 126
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
039149
1114139
2321127
3926119
43235119
54622119
65105119

prune183.0ms (2.5%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New1532155
Fresh358
Picked101
Done000
Total1577164
Error
0.0b
Counts
164 → 7
Alt Table
StatusErrorProgram
0.1b
(+.f64 (-.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 3)) (*.f64 (sin.f64 y) z)) x)
0.4b
(fma.f64 (*.f64 (neg.f64 z) (pow.f64 (cbrt.f64 (sin.f64 y)) 2)) (cbrt.f64 (sin.f64 y)) (+.f64 x (cos.f64 y)))
27.2b
(fma.f64 (-.f64 (pow.f64 (+.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (/.f64 1 (fma.f64 z (sin.f64 y) (+.f64 x (cos.f64 y)))) (fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 z (sin.f64 y))))
27.1b
(-.f64 (+.f64 x (cos.f64 y)) (pow.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 2))
41.6b
(fma.f64 (+.f64 (sqrt.f64 (+.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))) (-.f64 (sqrt.f64 (+.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))) (fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 z (sin.f64 y))))
11.1b
(+.f64 (/.f64 1 (/.f64 (+.f64 (*.f64 (sin.f64 y) z) (cos.f64 y)) (-.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 (*.f64 (sin.f64 y) z) 2)))) x)
0.4b
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (+.f64 x (cos.f64 y)))
Compiler

Compiled 3911 to 1192 computations (69.5% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 3)) (*.f64 (sin.f64 y) z))
0.1b
(*.f64 (sin.f64 y) z)
0.3b
(cbrt.f64 (pow.f64 (cos.f64 y) 3))
0.4b
(pow.f64 (cos.f64 y) 3)

series19.0ms (0.3%)

Counts
3 → 40
Calls

3 calls:

12.0ms
(-.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 3)) (*.f64 (sin.f64 y) z))
5.0ms
(pow.f64 (cos.f64 y) 3)
2.0ms
(cbrt.f64 (pow.f64 (cos.f64 y) 3))

rewrite124.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
821×prod-diff_binary64
617×fma-udef_binary64
246×fma-def_binary64
205×fma-neg_binary64
173×expm1-udef_binary64
Counts
3 → 156
Calls

3 calls:

121.0ms
(-.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 3)) (*.f64 (sin.f64 y) z))
121.0ms
(cbrt.f64 (pow.f64 (cos.f64 y) 3))
121.0ms
(pow.f64 (cos.f64 y) 3)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01020
119620
2235020
3469920
4468820
5496420
000
100

simplify90.0ms (1.2%)

Algorithm
egg-herbie
Rules
739×fma-def_binary64
518×cancel-sign-sub-inv_binary64
516×sub-neg_binary64
449×distribute-rgt-neg-in_binary64
414×fma-neg_binary64
Counts
196 → 177
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
049390
1136380
2346370
31039362
42867362
54341362
64702362
74905362

prune264.0ms (3.6%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1962198
Fresh246
Picked011
Done000
Total1987205
Error
0.0b
Counts
205 → 7
Alt Table
StatusErrorProgram
0.1b
(+.f64 (-.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 3)) (*.f64 (sin.f64 y) z)) x)
0.4b
(fma.f64 (*.f64 (neg.f64 z) (pow.f64 (cbrt.f64 (sin.f64 y)) 2)) (cbrt.f64 (sin.f64 y)) (+.f64 x (cos.f64 y)))
41.6b
(fma.f64 (+.f64 (sqrt.f64 (+.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))) (-.f64 (sqrt.f64 (+.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 z (sin.f64 y)))) (fma.f64 (neg.f64 z) (sin.f64 y) (*.f64 z (sin.f64 y))))
27.1b
(-.f64 (+.f64 x (cos.f64 y)) (pow.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 2))
11.1b
(+.f64 (/.f64 1 (/.f64 (fma.f64 (sin.f64 y) z (cos.f64 y)) (-.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 (*.f64 (sin.f64 y) z) 2)))) x)
0.4b
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (+.f64 x (cos.f64 y)))
11.1b
(+.f64 (fma.f64 (-.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 (*.f64 (sin.f64 y) z) 2)) (/.f64 1 (fma.f64 (sin.f64 y) z (cos.f64 y))) (fma.f64 (neg.f64 (sin.f64 y)) z (*.f64 (sin.f64 y) z))) x)
Compiler

Compiled 4031 to 1512 computations (62.5% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (+.f64 x (cos.f64 y)))
0.1b
(*.f64 z (sin.f64 y))
0.5b
(pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2)
6.0b
(cbrt.f64 (*.f64 z (sin.f64 y)))

series1.7s (23.4%)

Counts
3 → 84
Calls

3 calls:

982.0ms
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (+.f64 x (cos.f64 y)))
393.0ms
(pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2)
333.0ms
(cbrt.f64 (*.f64 z (sin.f64 y)))

rewrite175.0ms (2.4%)

Algorithm
batch-egg-rewrite
Rules
739×prod-diff_binary64
520×fma-udef_binary64
322×fma-def_binary64
249×fma-neg_binary64
218×expm1-udef_binary64
Counts
3 → 91
Calls

3 calls:

173.0ms
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (+.f64 x (cos.f64 y)))
173.0ms
(pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2)
173.0ms
(cbrt.f64 (*.f64 z (sin.f64 y)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01348
127133
2290033
3473533
4469531
5490531
000
100

simplify98.0ms (1.3%)

Algorithm
egg-herbie
Rules
553×fma-def_binary64
503×associate-*r*_binary64
461×associate-*l*_binary64
310×cancel-sign-sub-inv_binary64
242×associate--l+_binary64
Counts
175 → 135
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01212175
13732083
211121888
346971257
449661257
549601257

prune234.0ms (3.2%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New2373240
Fresh325
Picked101
Done011
Total2416247
Error
0b
Counts
247 → 6
Alt Table
StatusErrorProgram
0.4b
(fma.f64 (pow.f64 (*.f64 (cbrt.f64 z) (cbrt.f64 (sin.f64 y))) 2) (neg.f64 (cbrt.f64 (*.f64 z (sin.f64 y)))) (+.f64 x (cos.f64 y)))
0.3b
(fma.f64 (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 2) (neg.f64 (*.f64 (cbrt.f64 z) (cbrt.f64 (sin.f64 y)))) (+.f64 x (cos.f64 y)))
0.1b
(+.f64 (-.f64 (cbrt.f64 (pow.f64 (cos.f64 y) 3)) (*.f64 (sin.f64 y) z)) x)
0.1b
(+.f64 (cos.f64 y) (+.f64 x (/.f64 (sin.f64 y) (/.f64 -1 z))))
11.1b
(+.f64 (/.f64 1 (/.f64 (fma.f64 (sin.f64 y) z (cos.f64 y)) (-.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 (*.f64 (sin.f64 y) z) 2)))) x)
11.1b
(+.f64 (fma.f64 (-.f64 (pow.f64 (cos.f64 y) 2) (pow.f64 (*.f64 (sin.f64 y) z) 2)) (/.f64 1 (fma.f64 (sin.f64 y) z (cos.f64 y))) (fma.f64 (neg.f64 (sin.f64 y)) z (*.f64 (sin.f64 y) z))) x)
Compiler

Compiled 5758 to 2003 computations (65.2% saved)

regimes918.0ms (12.6%)

Accuracy

Total 0.0b remaining (61.3%)

Threshold costs 0.0b (61.3%)

Counts
151 → 1
Compiler

Compiled 10787 to 6829 computations (36.7% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
*-rgt-identity_binary64
neg-sub0_binary64
neg-mul-1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01114
12014
22314
32414
42214

end118.0ms (1.6%)

Compiler

Compiled 156 to 101 computations (35.3% saved)

Profiling

Loading profile data...