Details

Time bar (total: 6.9s)

analyze477.0ms (6.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)

sample3.1s (44.1%)

Results
1.6s2129×body1024valid
812.0ms4629×body128valid
447.0ms1011×body512valid
134.0ms483×body256valid
6.0msbody2048valid
Compiler

Compiled 26 to 18 computations (30.8% saved)

preprocess38.0ms (0.5%)

Algorithm
egg-herbie
Rules
516×fma-def_binary64
380×fma-neg_binary64
130×cancel-sign-sub-inv_binary64
69×sub-neg_binary64
64×distribute-rgt-neg-in_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02256
15356
210456
316756
426356
543556
674356
7113456
8166356
9190456
10193056
033
Stop Event
saturated
saturated
Compiler

Compiled 12 to 8 computations (33.3% saved)

simplify13.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0914
11714
23214
34914
47614
512414
620514
730614
840814
952414
1058214
1158814
Stop Event
saturated
Counts
1 → 1

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)

localize17.0ms (0.2%)

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

series29.0ms (0.4%)

Counts
3 → 84
Calls

21 calls:

4.0ms
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
x
inf
2.0ms
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
x
-inf
2.0ms
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
z
inf
2.0ms
(-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))
x
0
2.0ms
(*.f64 x (cos.f64 y))
x
-inf

rewrite74.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
518×log-prod_binary64
391×fma-def_binary64
206×egg-rr
190×fma-neg_binary64
184×expm1-udef_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0926
119826
2264826
Stop Event
node limit
Counts
3 → 206

simplify55.0ms (0.8%)

Algorithm
egg-herbie
Rules
651×fma-neg_binary64
345×*-commutative_binary64
249×distribute-lft-neg-in_binary64
243×distribute-rgt-neg-in_binary64
229×fma-def_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
057850
1172841
2525822
31952819
44821819
Stop Event
node limit
Counts
290 → 231

prune201.0ms (2.9%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New22011231
Fresh000
Picked101
Done000
Total22111232
Error
0.0b
Counts
232 → 11
Alt Table
StatusErrorProgram
0.7b
(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.2b
(fma.f64 (sin.f64 y) (neg.f64 z) (*.f64 (cos.f64 y) x))
0.2b
(+.f64 (*.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.6b
(-.f64 (*.f64 x (cos.f64 y)) (cbrt.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3)))
26.7b
(-.f64 (*.f64 x (cos.f64 y)) (pow.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 2))
15.9b
(fma.f64 (sqrt.f64 (cos.f64 y)) (*.f64 (sqrt.f64 (cos.f64 y)) x) (*.f64 (sin.f64 y) (neg.f64 z)))
33.2b
(fma.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (+.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))
27.7b
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
0.4b
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) x) (*.f64 (sin.f64 y) (neg.f64 z)))
0.9b
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
0.9b
(fma.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2) (*.f64 (sin.f64 y) (neg.f64 z)))
Compiler

Compiled 5254 to 1227 computations (76.6% saved)

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

series25.0ms (0.4%)

Counts
2 → 40
Calls

15 calls:

4.0ms
(fma.f64 (sin.f64 y) (neg.f64 z) (*.f64 (cos.f64 y) x))
y
inf
2.0ms
(*.f64 (cos.f64 y) x)
x
-inf
2.0ms
(fma.f64 (sin.f64 y) (neg.f64 z) (*.f64 (cos.f64 y) x))
x
-inf
2.0ms
(fma.f64 (sin.f64 y) (neg.f64 z) (*.f64 (cos.f64 y) x))
z
inf
2.0ms
(fma.f64 (sin.f64 y) (neg.f64 z) (*.f64 (cos.f64 y) x))
z
-inf

rewrite49.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
718×log1p-expm1-u_binary64
718×expm1-log1p-u_binary64
216×prod-diff_binary64
93×add-sqr-sqrt_binary64
84×add-cbrt-cube_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0920
117918
2220418
Stop Event
node limit
Counts
2 → 38

simplify44.0ms (0.6%)

Algorithm
egg-herbie
Rules
757×fma-def_binary64
640×cancel-sign-sub-inv_binary64
396×fma-neg_binary64
280×sub-neg_binary64
233×*-commutative_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
042528
1121527
2350519
31240511
44626511
Stop Event
node limit
Counts
78 → 57

prune102.0ms (1.5%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New57057
Fresh01010
Picked011
Done000
Total571168
Error
0.0b
Counts
68 → 11
Alt Table
StatusErrorProgram
0.7b
(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.2b
(fma.f64 (sin.f64 y) (neg.f64 z) (*.f64 (cos.f64 y) x))
0.2b
(+.f64 (*.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.6b
(-.f64 (*.f64 x (cos.f64 y)) (cbrt.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3)))
26.7b
(-.f64 (*.f64 x (cos.f64 y)) (pow.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 2))
15.9b
(fma.f64 (sqrt.f64 (cos.f64 y)) (*.f64 (sqrt.f64 (cos.f64 y)) x) (*.f64 (sin.f64 y) (neg.f64 z)))
33.2b
(fma.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (+.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))
27.7b
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
0.4b
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) x) (*.f64 (sin.f64 y) (neg.f64 z)))
0.9b
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
0.9b
(fma.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2) (*.f64 (sin.f64 y) (neg.f64 z)))
Compiler

Compiled 1166 to 490 computations (58% saved)

localize12.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
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))))
0.2b
(*.f64 x (cos.f64 y))
54.8b
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))

series40.0ms (0.6%)

Counts
2 → 48
Calls

12 calls:

9.0ms
(fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))
z
0
6.0ms
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))
z
0
4.0ms
(fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))
z
-inf
4.0ms
(fma.f64 z (neg.f64 (sin.f64 y)) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))))
z
inf
4.0ms
(fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))
z
-inf

rewrite42.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
644×prod-diff_binary64
629×log1p-expm1-u_binary64
629×expm1-log1p-u_binary64
83×add-sqr-sqrt_binary64
75×add-cbrt-cube_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0836
116128
2202928
Stop Event
node limit
Counts
2 → 44

simplify28.0ms (0.4%)

Algorithm
egg-herbie
Rules
798×cancel-sign-sub-inv_binary64
438×fma-def_binary64
399×distribute-rgt-neg-in_binary64
341×distribute-lft-neg-in_binary64
290×fma-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
030268
186262
2246250
3765250
42621250
Stop Event
node limit
Counts
92 → 55

prune154.0ms (2.2%)

Pruning

11 alts after pruning (9 fresh and 2 done)

PrunedKeptTotal
New1030103
Fresh099
Picked011
Done011
Total10311114
Error
0.0b
Counts
114 → 11
Alt Table
StatusErrorProgram
0.7b
(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.2b
(fma.f64 (sin.f64 y) (neg.f64 z) (*.f64 (cos.f64 y) x))
0.2b
(+.f64 (*.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.6b
(-.f64 (*.f64 x (cos.f64 y)) (cbrt.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3)))
26.7b
(-.f64 (*.f64 x (cos.f64 y)) (pow.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 2))
15.9b
(fma.f64 (sqrt.f64 (cos.f64 y)) (*.f64 (sqrt.f64 (cos.f64 y)) x) (*.f64 (sin.f64 y) (neg.f64 z)))
33.2b
(fma.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (+.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))
27.7b
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
0.4b
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) x) (*.f64 (sin.f64 y) (neg.f64 z)))
0.9b
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
0.9b
(fma.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2) (*.f64 (sin.f64 y) (neg.f64 z)))
Compiler

Compiled 2766 to 846 computations (69.4% saved)

localize11.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (cbrt.f64 (cos.f64 y)) x)
0.1b
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) x) (*.f64 (sin.f64 y) (neg.f64 z)))
0.3b
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
0.4b
(cbrt.f64 (cos.f64 y))

series1.2s (16.7%)

Counts
4 → 84
Calls

21 calls:

154.0ms
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) x) (*.f64 (sin.f64 y) (neg.f64 z)))
y
inf
144.0ms
(fma.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (*.f64 (cbrt.f64 (cos.f64 y)) x) (*.f64 (sin.f64 y) (neg.f64 z)))
y
-inf
91.0ms
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
y
-inf
82.0ms
(pow.f64 (cbrt.f64 (cos.f64 y)) 2)
y
inf
75.0ms
(*.f64 (cbrt.f64 (cos.f64 y)) x)
x
0

rewrite99.0ms (1.4%)

Algorithm
batch-egg-rewrite
Rules
552×log-prod_binary64
267×prod-diff_binary64
236×egg-rr
207×expm1-udef_binary64
207×log1p-udef_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01347
126235
2312633
Stop Event
node limit
Counts
4 → 236

simplify48.0ms (0.7%)

Algorithm
egg-herbie
Rules
616×fma-neg_binary64
327×distribute-rgt-neg-in_binary64
317×distribute-lft-neg-in_binary64
219×fma-def_binary64
212×associate-+l-_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
070896
1205890
2600881
32301879
Stop Event
node limit
Counts
320 → 270

prune358.0ms (5.2%)

Pruning

12 alts after pruning (10 fresh and 2 done)

PrunedKeptTotal
New3022304
Fresh088
Picked101
Done022
Total30312315
Error
0b
Counts
315 → 12
Alt Table
StatusErrorProgram
0.7b
(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.2b
(fma.f64 (sin.f64 y) (neg.f64 z) (*.f64 (cos.f64 y) x))
0.9b
(+.f64 (fma.f64 (*.f64 (pow.f64 (cbrt.f64 (cos.f64 y)) 2) (pow.f64 (cbrt.f64 (*.f64 (cbrt.f64 (cos.f64 y)) x)) 2)) (cbrt.f64 (*.f64 (cbrt.f64 (cos.f64 y)) x)) (neg.f64 (*.f64 z (neg.f64 (sin.f64 y))))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (neg.f64 (sin.f64 y)))))
0.2b
(+.f64 (*.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.6b
(-.f64 (*.f64 x (cos.f64 y)) (cbrt.f64 (pow.f64 (*.f64 z (sin.f64 y)) 3)))
26.7b
(-.f64 (*.f64 x (cos.f64 y)) (pow.f64 (sqrt.f64 (*.f64 z (sin.f64 y))) 2))
0.3b
(fma.f64 (pow.f64 (pow.f64 (cos.f64 y) 2) 1/3) (*.f64 (cbrt.f64 (cos.f64 y)) x) (*.f64 (sin.f64 y) (neg.f64 z)))
15.9b
(fma.f64 (sqrt.f64 (cos.f64 y)) (*.f64 (sqrt.f64 (cos.f64 y)) x) (*.f64 (sin.f64 y) (neg.f64 z)))
33.2b
(fma.f64 (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (sqrt.f64 (-.f64 (*.f64 x (cos.f64 y)) (*.f64 z (sin.f64 y)))) (+.f64 (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y))) (fma.f64 z (neg.f64 (sin.f64 y)) (*.f64 z (sin.f64 y)))))
27.7b
(fma.f64 (sqrt.f64 x) (*.f64 (sqrt.f64 x) (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
0.9b
(fma.f64 (pow.f64 (cbrt.f64 x) 2) (*.f64 (cbrt.f64 x) (cos.f64 y)) (*.f64 (sin.f64 y) (neg.f64 z)))
0.9b
(fma.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) (pow.f64 (cbrt.f64 (*.f64 x (cos.f64 y))) 2) (*.f64 (sin.f64 y) (neg.f64 z)))
Compiler

Compiled 9069 to 2509 computations (72.3% saved)

regimes592.0ms (8.5%)

Accuracy

Total 0.1b remaining (81.3%)

Threshold costs 0.1b (81.3%)

Counts
109 → 1
Compiler

Compiled 9556 to 5298 computations (44.6% saved)

simplify3.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
0914
11414
21614
31714
Stop Event
saturated

end205.0ms (2.9%)

Stop Event
fuel
Compiler

Compiled 285 to 159 computations (44.2% saved)

Profiling

Loading profile data...