Details

Time bar (total: 7.7s)

analyze459.0ms (5.9%)

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

Results
1.5s2094×body1024valid
756.0ms4578×body128valid
429.0ms1082×body512valid
139.0ms497×body256valid
7.0msbody2048valid
Compiler

Compiled 38 to 26 computations (31.6% saved)

simplify8.0ms (0.1%)

Algorithm
egg-herbie
Rules
fma-def_binary64
*-commutative_binary64
+-commutative_binary64
Counts
1 → 2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0912
11312
21612
31612

prune3.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
0.2b
Counts
3 → 1
Alt Table
StatusErrorProgram
0.2b
(fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))
Compiler

Compiled 42 to 23 computations (45.2% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))
0.1b
(*.f64 z (sin.f64 y))

series25.0ms (0.3%)

Counts
2 → 60
Calls

2 calls:

17.0ms
(fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))
8.0ms
(*.f64 z (sin.f64 y))

rewrite42.0ms (0.5%)

Algorithm
batch-egg-rewrite
Rules
38×egg-rr
Counts
2 → 38
Calls

2 calls:

41.0ms
((*.f64 z (sin.f64 y)) (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))))
0.0ms
()
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0818
115618
2180118
3510518
000
100

simplify84.0ms (1.1%)

Algorithm
egg-herbie
Rules
629×distribute-rgt-neg-in_binary64
582×distribute-lft-neg-in_binary64
523×associate-*l*_binary64
430×associate-*r*_binary64
420×fma-neg_binary64
Counts
98 → 56
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
039600
1116592
2326580
3969579
42792579
54930579
65173579

prune38.0ms (0.5%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New51556
Fresh000
Picked011
Done000
Total51657
Error
0.1b
Counts
57 → 6
Alt Table
StatusErrorProgram
0.2b
(fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))
1.3b
(pow.f64 (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) 3)
0.2b
(fma.f64 (sin.f64 y) z (*.f64 (cos.f64 y) x))
32.8b
(pow.f64 (sqrt.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) 2)
41.7b
(/.f64 (+.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3)) (+.f64 (*.f64 (*.f64 x (cos.f64 y)) (*.f64 x (cos.f64 y))) (-.f64 (pow.f64 (*.f64 z (sin.f64 y)) 2) (*.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))
18.0b
(fma.f64 x (cos.f64 y) (cbrt.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3)))
Compiler

Compiled 924 to 370 computations (60% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 (sin.f64 y) z (*.f64 (cos.f64 y) x))
0.1b
(*.f64 (cos.f64 y) x)

series24.0ms (0.3%)

Counts
2 → 40
Calls

2 calls:

17.0ms
(fma.f64 (sin.f64 y) z (*.f64 (cos.f64 y) x))
8.0ms
(*.f64 (cos.f64 y) x)

rewrite51.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
38×egg-rr
Counts
2 → 38
Calls

2 calls:

50.0ms
((*.f64 (cos.f64 y) x) (fma.f64 (sin.f64 y) z (*.f64 (cos.f64 y) x)))
0.0ms
()
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0818
115618
2180118
3510518
000
100

simplify70.0ms (0.9%)

Algorithm
egg-herbie
Rules
800×distribute-rgt-neg-in_binary64
739×cancel-sign-sub-inv_binary64
699×fma-def_binary64
619×distribute-lft-neg-in_binary64
361×fma-neg_binary64
Counts
78 → 56
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
039468
1106467
2305457
3995450
43071450
54691450
65005450

prune37.0ms (0.5%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New55156
Fresh044
Picked011
Done011
Total55762
Error
0.1b
Counts
62 → 7
Alt Table
StatusErrorProgram
0.2b
(fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))
1.3b
(pow.f64 (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) 3)
30.2b
(fma.f64 (sin.f64 y) z (cbrt.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3))))
0.2b
(fma.f64 (sin.f64 y) z (*.f64 (cos.f64 y) x))
32.8b
(pow.f64 (sqrt.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) 2)
41.7b
(/.f64 (+.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3)) (+.f64 (*.f64 (*.f64 x (cos.f64 y)) (*.f64 x (cos.f64 y))) (-.f64 (pow.f64 (*.f64 z (sin.f64 y)) 2) (*.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))
18.0b
(fma.f64 x (cos.f64 y) (cbrt.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3)))
Compiler

Compiled 928 to 381 computations (58.9% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))
0.1b
(*.f64 z (sin.f64 y))
0.6b
(cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))))
0.7b
(pow.f64 (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) 3)

series3.2s (41.4%)

Counts
2 → 72
Calls

2 calls:

2.8s
(pow.f64 (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) 3)
426.0ms
(cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))))

rewrite50.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
49×egg-rr
Counts
2 → 49
Calls

2 calls:

48.0ms
((pow.f64 (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) 3) (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))))
0.0ms
()
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01126
120426
2224726
3557826
000
100

simplify85.0ms (1.1%)

Algorithm
egg-herbie
Rules
816×fma-def_binary64
376×unswap-sqr_binary64
311×associate-*r*_binary64
280×times-frac_binary64
221×associate-*l*_binary64
Counts
121 → 134
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02283163
18223059
235042949
352852949

prune107.0ms (1.4%)

Pruning

7 alts after pruning (4 fresh and 3 done)

PrunedKeptTotal
New1900190
Fresh044
Picked011
Done022
Total1907197
Error
0.1b
Counts
197 → 7
Alt Table
StatusErrorProgram
0.2b
(fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))
1.3b
(pow.f64 (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) 3)
30.2b
(fma.f64 (sin.f64 y) z (cbrt.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3))))
0.2b
(fma.f64 (sin.f64 y) z (*.f64 (cos.f64 y) x))
32.8b
(pow.f64 (sqrt.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) 2)
41.7b
(/.f64 (+.f64 (pow.f64 (*.f64 x (cos.f64 y)) 3) (pow.f64 (*.f64 z (sin.f64 y)) 3)) (+.f64 (*.f64 (*.f64 x (cos.f64 y)) (*.f64 x (cos.f64 y))) (-.f64 (pow.f64 (*.f64 z (sin.f64 y)) 2) (*.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))))
18.0b
(fma.f64 x (cos.f64 y) (cbrt.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3)))
Compiler

Compiled 5046 to 2445 computations (51.5% saved)

localize10.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(fma.f64 x (cos.f64 y) (cbrt.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3)))
0.1b
(*.f64 z (sin.f64 y))
0.2b
(pow.f64 (*.f64 z (sin.f64 y)) 3)
33.1b
(cbrt.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3))

series69.0ms (0.9%)

Counts
3 → 84
Calls

3 calls:

28.0ms
(pow.f64 (*.f64 z (sin.f64 y)) 3)
23.0ms
(fma.f64 x (cos.f64 y) (cbrt.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3)))
17.0ms
(cbrt.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3))

rewrite57.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
82×egg-rr
Counts
3 → 82
Calls

2 calls:

53.0ms
((cbrt.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3)) (pow.f64 (*.f64 z (sin.f64 y)) 3) (fma.f64 x (cos.f64 y) (cbrt.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3))))
0.0ms
()
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01127
120627
2227727
3570427
000
100

simplify74.0ms (1%)

Algorithm
egg-herbie
Rules
429×distribute-rgt-neg-in_binary64
422×distribute-lft-neg-in_binary64
368×associate-*l*_binary64
361×associate-*r*_binary64
336×fma-def_binary64
Counts
166 → 111
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0641020
1201992
2677964
32507963
44829960
54939960

prune92.0ms (1.2%)

Pruning

9 alts after pruning (6 fresh and 3 done)

PrunedKeptTotal
New1304134
Fresh123
Picked011
Done123
Total1329141
Error
0.1b
Counts
141 → 9
Alt Table
StatusErrorProgram
0.5b
(fma.f64 x (cos.f64 y) (*.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) z)))
30.2b
(fma.f64 (sin.f64 y) z (cbrt.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3))))
0.2b
(fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))
1.3b
(pow.f64 (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) 3)
0.6b
(fma.f64 x (cos.f64 y) (*.f64 (*.f64 z (pow.f64 (cbrt.f64 (sin.f64 y)) 2)) (cbrt.f64 (sin.f64 y))))
29.9b
(fma.f64 x (cos.f64 y) (*.f64 (sqrt.f64 (sin.f64 y)) (*.f64 (sqrt.f64 (sin.f64 y)) z)))
15.5b
(fma.f64 x (cos.f64 y) (*.f64 (cbrt.f64 (*.f64 z z)) (*.f64 (cbrt.f64 z) (sin.f64 y))))
32.8b
(pow.f64 (sqrt.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) 2)
18.0b
(fma.f64 x (cos.f64 y) (cbrt.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3)))
Compiler

Compiled 2143 to 924 computations (56.9% saved)

regimes125.0ms (1.6%)

Accuracy

Total 0.1b remaining (49.8%)

Threshold costs 0.1b (49.8%)

Counts
32 → 1
Compiler

Compiled 1740 to 1090 computations (37.4% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0812
1912
2912

end129.0ms (1.7%)

Compiler

Compiled 160 to 105 computations (34.4% saved)

Profiling

Loading profile data...