Details

Time bar (total: 7.9s)

analyze449.0ms (5.7%)

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)

sample3.4s (42.6%)

Results
1.8s2094×body1024valid
808.0ms4578×body128valid
521.0ms1082×body512valid
146.0ms497×body256valid
7.0msbody2048valid
Compiler

Compiled 38 to 26 computations (31.6% saved)

simplify16.0ms (0.2%)

Algorithm
egg-herbie
Rules
171×fma-def_binary64
87×fma-neg_binary64
36×cancel-sign-sub-inv_binary64
23×distribute-rgt-neg-in_binary64
20×sub-neg_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0914
11714
22814
34514
46714
510114
615314
721414
825814
928014
1030014
1130614
1227514

prune2.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
0.2b
Counts
2 → 1
Alt Table
StatusErrorProgram
0.2b
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
Compiler

Compiled 36 to 24 computations (33.3% saved)

localize11.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

series34.0ms (0.4%)

Counts
3 → 84
Calls

3 calls:

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

rewrite95.0ms (1.2%)

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

2 calls:

90.0ms
((*.f64 z (sin.f64 y)) (*.f64 x (cos.f64 y)) (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y))))
0.0ms
()
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0926
119426
2247526
3498426
000
100

simplify90.0ms (1.1%)

Algorithm
egg-herbie
Rules
728×distribute-rgt-neg-in_binary64
651×fma-neg_binary64
403×sub-neg_binary64
381×*-commutative_binary64
370×neg-mul-1_binary64
Counts
292 → 232
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
057850
1171841
2481822
31534819
43510819
54870819
65013819

prune159.0ms (2%)

Pruning

8 alts after pruning (8 fresh and 0 done)

PrunedKeptTotal
New2248232
Fresh000
Picked101
Done000
Total2258233
Error
0.0b
Counts
233 → 8
Alt Table
StatusErrorProgram
29.9b
(fma.f64 (*.f64 (neg.f64 z) (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)) (*.f64 x (cos.f64 y)))
28.7b
(-.f64 (*.f64 x (cos.f64 y)) (pow.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 2))
31.6b
(/.f64 (-.f64 (pow.f64 (*.f64 x (cos.f64 y)) 2) (pow.f64 (*.f64 z (sin.f64 y)) 2)) (fma.f64 z (sin.f64 y) (*.f64 x (cos.f64 y))))
0.2b
(fma.f64 x (cos.f64 y) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))
35.2b
(fma.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 x (cos.f64 y))) (neg.f64 (*.f64 z (sin.f64 y))))
16.9b
(fma.f64 (sqrt.f64 (cos.f64 y)) (*.f64 (sqrt.f64 (cos.f64 y)) x) (neg.f64 (*.f64 z (sin.f64 y))))
34.9b
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (cos.f64 y)) (neg.f64 (*.f64 z (sin.f64 y))))
1.0b
(-.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 3) (*.f64 z (sin.f64 y)))
Compiler

Compiled 5156 to 1156 computations (77.6% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series73.0ms (0.9%)

Counts
3 → 84
Calls

3 calls:

35.0ms
(fma.f64 x (cos.f64 y) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))
21.0ms
(fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))
16.0ms
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))

rewrite56.0ms (0.7%)

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

2 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01164
122051
2234651
3519151
000
100

simplify89.0ms (1.1%)

Algorithm
egg-herbie
Rules
760×fma-def_binary64
658×distribute-rgt-neg-in_binary64
566×distribute-lft-neg-in_binary64
436×cancel-sign-sub-inv_binary64
408×fma-neg_binary64
Counts
152 → 87
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
044726
1126720
2335708
3890704
43065704
54465704
64937704

prune95.0ms (1.2%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New1101111
Fresh167
Picked011
Done000
Total1118119
Error
0.0b
Counts
119 → 8
Alt Table
StatusErrorProgram
29.9b
(fma.f64 (*.f64 (neg.f64 z) (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)) (*.f64 x (cos.f64 y)))
28.7b
(-.f64 (*.f64 x (cos.f64 y)) (pow.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 2))
16.9b
(fma.f64 (sqrt.f64 (cos.f64 y)) (*.f64 (sqrt.f64 (cos.f64 y)) x) (neg.f64 (*.f64 z (sin.f64 y))))
0.6b
(fma.f64 x (cos.f64 y) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 3))))
0.2b
(fma.f64 x (cos.f64 y) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))
35.2b
(fma.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 x (cos.f64 y))) (neg.f64 (*.f64 z (sin.f64 y))))
34.9b
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (cos.f64 y)) (neg.f64 (*.f64 z (sin.f64 y))))
1.0b
(-.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 3) (*.f64 z (sin.f64 y)))
Compiler

Compiled 2579 to 754 computations (70.8% saved)

localize15.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 z (sin.f64 y))
0.7b
(pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 3)
6.4b
(cbrt.f64 (*.f64 z (sin.f64 y)))
54.0b
(fma.f64 z (neg.f64 (sin.f64 y)) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 3))

series1.8s (23.2%)

Counts
3 → 72
Calls

3 calls:

875.0ms
(fma.f64 z (neg.f64 (sin.f64 y)) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 3))
488.0ms
(pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 3)
480.0ms
(cbrt.f64 (*.f64 z (sin.f64 y)))

rewrite62.0ms (0.8%)

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

2 calls:

61.0ms
((fma.f64 z (neg.f64 (sin.f64 y)) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 3)) (cbrt.f64 (*.f64 z (sin.f64 y))) (pow.f64 (cbrt.f64 (*.f64 z (sin.f64 y))) 3))
0.0ms
()
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01028
119025
2188825
3589225
000
100

simplify63.0ms (0.8%)

Algorithm
egg-herbie
Rules
635×distribute-rgt-neg-in_binary64
616×unswap-sqr_binary64
426×associate-*r*_binary64
403×associate-*l*_binary64
293×fma-def_binary64
Counts
155 → 122
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0851557
12551481
27361213
32937728
44949728

prune128.0ms (1.6%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New1451146
Fresh066
Picked101
Done011
Total1468154
Error
0.0b
Counts
154 → 8
Alt Table
StatusErrorProgram
29.9b
(fma.f64 (*.f64 (neg.f64 z) (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)) (*.f64 x (cos.f64 y)))
28.7b
(-.f64 (*.f64 x (cos.f64 y)) (pow.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 2))
0.5b
(fma.f64 x (cos.f64 y) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) z)))))
0.2b
(fma.f64 x (cos.f64 y) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))
35.2b
(fma.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 x (cos.f64 y))) (neg.f64 (*.f64 z (sin.f64 y))))
16.9b
(fma.f64 (sqrt.f64 (cos.f64 y)) (*.f64 (sqrt.f64 (cos.f64 y)) x) (neg.f64 (*.f64 z (sin.f64 y))))
34.9b
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (cos.f64 y)) (neg.f64 (*.f64 z (sin.f64 y))))
1.0b
(-.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 3) (*.f64 z (sin.f64 y)))
Compiler

Compiled 4064 to 1469 computations (63.9% saved)

localize16.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) z))
0.5b
(pow.f64 (cbrt.f64 (sin.f64 y)) 2)
0.6b
(cbrt.f64 (sin.f64 y))
53.9b
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) z)))

series376.0ms (4.7%)

Counts
4 → 72
Calls

4 calls:

176.0ms
(pow.f64 (cbrt.f64 (sin.f64 y)) 2)
172.0ms
(cbrt.f64 (sin.f64 y))
18.0ms
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) z)))
10.0ms
(*.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) z))

rewrite57.0ms (0.7%)

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

2 calls:

56.0ms
((fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) z))) (cbrt.f64 (sin.f64 y)) (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) z)))
0.0ms
()
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01133
122229
2220429
3498529
000
100

simplify105.0ms (1.3%)

Algorithm
egg-herbie
Rules
660×cancel-sign-sub-inv_binary64
634×distribute-rgt-neg-in_binary64
543×sub-neg_binary64
511×fma-neg_binary64
327×neg-mul-1_binary64
Counts
154 → 109
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
073486
1221478
2553462
31513462
43240462
54329462
64725462
74964462
84895462

prune132.0ms (1.7%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New1411142
Fresh066
Picked011
Done011
Total1419150
Error
0.0b
Counts
150 → 9
Alt Table
StatusErrorProgram
29.9b
(fma.f64 (*.f64 (neg.f64 z) (sqrt.f64 (sin.f64 y))) (sqrt.f64 (sin.f64 y)) (*.f64 x (cos.f64 y)))
28.7b
(-.f64 (*.f64 x (cos.f64 y)) (pow.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 2))
19.6b
(fma.f64 x (cos.f64 y) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 y) z)))))
0.5b
(fma.f64 x (cos.f64 y) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 (pow.f64 (cbrt.f64 (sin.f64 y)) 2) (*.f64 (cbrt.f64 (sin.f64 y)) z)))))
0.2b
(fma.f64 x (cos.f64 y) (fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))
35.2b
(fma.f64 (sqrt.f64 (*.f64 x (cos.f64 y))) (sqrt.f64 (*.f64 x (cos.f64 y))) (neg.f64 (*.f64 z (sin.f64 y))))
16.9b
(fma.f64 (sqrt.f64 (cos.f64 y)) (*.f64 (sqrt.f64 (cos.f64 y)) x) (neg.f64 (*.f64 z (sin.f64 y))))
34.9b
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (cos.f64 y)) (neg.f64 (*.f64 z (sin.f64 y))))
1.0b
(-.f64 (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 3) (*.f64 z (sin.f64 y)))
Compiler

Compiled 4102 to 1459 computations (64.4% saved)

regimes444.0ms (5.6%)

Accuracy

Total 0.1b remaining (69.5%)

Threshold costs 0.1b (69.5%)

Counts
105 → 1
Compiler

Compiled 7252 to 4570 computations (37% saved)

simplify2.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01015
11315
21515
31615
41615

end134.0ms (1.7%)

Compiler

Compiled 201 to 119 computations (40.8% saved)

Profiling

Loading profile data...