Details

Time bar (total: 5.7s)

analyze503.0ms (8.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
0%99.9%0.1%6
37.4%62.4%0.1%7
43.7%56.2%0.1%8
43.7%56.2%0.1%9
65.5%34.3%0.1%10
70.2%29.6%0.1%11
70.2%29.6%0.1%12
81.9%17.9%0.1%13
84.6%15.2%0.1%14
Compiler

Compiled 13 to 9 computations (30.8% saved)

sample3.3s (58.5%)

Results
1.8s2056×body1024valid
884.0ms4702×body128valid
395.0ms1000×body512valid
190.0ms488×body256valid
14.0ms10×body2048valid
Compiler

Compiled 38 to 26 computations (31.6% saved)

simplify6.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

prune4.0ms (0.1%)

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

series23.0ms (0.4%)

Counts
2 → 60
Calls

2 calls:

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

rewrite42.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
689×log1p-expm1-u_binary64
689×expm1-log1p-u_binary64
201×prod-diff_binary64
147×expm1-udef_binary64
147×log1p-udef_binary64
Counts
2 → 40
Calls

2 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0818
115618
2180118
3510518

simplify71.0ms (1.2%)

Algorithm
egg-herbie
Rules
802×distribute-rgt-neg-in_binary64
744×cancel-sign-sub-inv_binary64
698×fma-def_binary64
621×distribute-lft-neg-in_binary64
362×fma-neg_binary64
Counts
100 → 57
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
039588
1106587
2305576
3987568
43070568
54686568
65000568

prune43.0ms (0.8%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New50757
Fresh000
Picked101
Done000
Total51758
Error
0.1b
Counts
58 → 7
Alt Table
StatusErrorProgram
0.2b
(pow.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))) 1)
0.2b
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
24.5b
(fma.f64 x (sin.f64 y) (cbrt.f64 (*.f64 (pow.f64 z 3) (pow.f64 (cos.f64 y) 3))))
24.5b
(fma.f64 x (sin.f64 y) (cbrt.f64 (pow.f64 (*.f64 z (cos.f64 y)) 3)))
32.4b
(fma.f64 x (sin.f64 y) (pow.f64 (sqrt.f64 (*.f64 z (cos.f64 y))) 2))
38.9b
(/.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 (*.f64 z (cos.f64 y)) 3)) (+.f64 (*.f64 (*.f64 x (sin.f64 y)) (*.f64 x (sin.f64 y))) (-.f64 (pow.f64 (*.f64 z (cos.f64 y)) 2) (*.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))))))
1.4b
(*.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) (pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) 2))
Compiler

Compiled 994 to 403 computations (59.5% saved)

localize8.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

prune44.0ms (0.8%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New57057
Fresh066
Picked011
Done000
Total57764
Error
0.1b
Counts
64 → 7
Alt Table
StatusErrorProgram
0.2b
(pow.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))) 1)
0.2b
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
24.5b
(fma.f64 x (sin.f64 y) (cbrt.f64 (*.f64 (pow.f64 z 3) (pow.f64 (cos.f64 y) 3))))
24.5b
(fma.f64 x (sin.f64 y) (cbrt.f64 (pow.f64 (*.f64 z (cos.f64 y)) 3)))
32.4b
(fma.f64 x (sin.f64 y) (pow.f64 (sqrt.f64 (*.f64 z (cos.f64 y))) 2))
38.9b
(/.f64 (+.f64 (pow.f64 (*.f64 x (sin.f64 y)) 3) (pow.f64 (*.f64 z (cos.f64 y)) 3)) (+.f64 (*.f64 (*.f64 x (sin.f64 y)) (*.f64 x (sin.f64 y))) (-.f64 (pow.f64 (*.f64 z (cos.f64 y)) 2) (*.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))))))
1.4b
(*.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) (pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) 2))
Compiler

Compiled 1095 to 508 computations (53.6% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

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

series21.0ms (0.4%)

Counts
2 → 40
Calls

2 calls:

14.0ms
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
7.0ms
(*.f64 (sin.f64 y) x)

rewrite49.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
689×log1p-expm1-u_binary64
689×expm1-log1p-u_binary64
201×prod-diff_binary64
147×expm1-udef_binary64
147×log1p-udef_binary64
Counts
2 → 40
Calls

2 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0818
115618
2180118
3510518

simplify81.0ms (1.4%)

Algorithm
egg-herbie
Rules
817×fma-def_binary64
602×distribute-rgt-neg-in_binary64
555×distribute-lft-neg-in_binary64
523×associate-*l*_binary64
430×associate-*r*_binary64
Counts
80 → 58
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
039480
1117472
2328460
3963451
43204451
54809451
65026451

prune43.0ms (0.8%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New57158
Fresh145
Picked011
Done011
Total58765
Error
0.1b
Counts
65 → 7
Alt Table
StatusErrorProgram
24.6b
(fma.f64 (cos.f64 y) z (cbrt.f64 (*.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 x 3))))
24.5b
(fma.f64 x (sin.f64 y) (cbrt.f64 (*.f64 (pow.f64 z 3) (pow.f64 (cos.f64 y) 3))))
0.2b
(pow.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))) 1)
0.2b
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
24.5b
(fma.f64 x (sin.f64 y) (cbrt.f64 (pow.f64 (*.f64 z (cos.f64 y)) 3)))
32.4b
(fma.f64 x (sin.f64 y) (pow.f64 (sqrt.f64 (*.f64 z (cos.f64 y))) 2))
1.4b
(*.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) (pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) 2))
Compiler

Compiled 912 to 374 computations (59% saved)

localize10.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 z (cos.f64 y))
0.3b
(*.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) (pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) 2))
0.6b
(pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) 2)
0.6b
(cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))))

series584.0ms (10.3%)

Counts
3 → 108
Calls

3 calls:

297.0ms
(pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) 2)
270.0ms
(cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))))
16.0ms
(*.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) (pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) 2))

rewrite54.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
879×log1p-expm1-u_binary64
879×expm1-log1p-u_binary64
201×prod-diff_binary64
107×add-sqr-sqrt_binary64
99×add-cube-cbrt_binary64
Counts
3 → 62
Calls

3 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01243
121943
2231243
3574643

simplify81.0ms (1.4%)

Algorithm
egg-herbie
Rules
550×associate-*r*_binary64
501×times-frac_binary64
386×associate-*l*_binary64
330×associate-/l*_binary64
322×associate-/r*_binary64
Counts
170 → 185
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03614788
113294657
254464657

prune231.0ms (4.1%)

Pruning

12 alts after pruning (9 fresh and 3 done)

PrunedKeptTotal
New3076313
Fresh134
Picked011
Done022
Total30812320
Error
0.0b
Counts
320 → 12
Alt Table
StatusErrorProgram
24.6b
(fma.f64 (cos.f64 y) z (cbrt.f64 (*.f64 (pow.f64 (sin.f64 y) 3) (pow.f64 x 3))))
24.5b
(fma.f64 x (sin.f64 y) (cbrt.f64 (*.f64 (pow.f64 z 3) (pow.f64 (cos.f64 y) 3))))
43.4b
(*.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) (cbrt.f64 (*.f64 (pow.f64 (cos.f64 y) 2) (*.f64 z z))))
0.2b
(pow.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))) 1)
0.2b
(fma.f64 (cos.f64 y) z (*.f64 (sin.f64 y) x))
1.4b
(*.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) (pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) 2))
1.8b
(*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))))) 3) (pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) 2))
32.4b
(fma.f64 x (sin.f64 y) (pow.f64 (sqrt.f64 (*.f64 z (cos.f64 y))) 2))
14.6b
(*.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) (sqrt.f64 (pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) 4)))
33.2b
(*.f64 (exp.f64 (log.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))))) (pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) 2))
2.2b
(*.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) (pow.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))))) 3) 2))
14.9b
(*.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) (pow.f64 (*.f64 (sqrt.f64 (cbrt.f64 (pow.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) 4))) (sqrt.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))))) 2))) 2))
Compiler

Compiled 13285 to 5938 computations (55.3% saved)

regimes256.0ms (4.5%)

Accuracy

Total 0.1b remaining (46.8%)

Threshold costs 0.1b (46.8%)

Counts
60 → 1
Compiler

Compiled 4156 to 2522 computations (39.3% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
1-exp_binary64
unpow1_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01012
11312
21212

end184.0ms (3.2%)

Compiler

Compiled 285 to 162 computations (43.2% saved)

Profiling

Loading profile data...