Details

Time bar (total: 5.7s)

analyze553.0ms (9.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
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)

sample2.9s (50.7%)

Results
1.5s1979×body1024valid
796.0ms4742×body128valid
456.0ms1041×body512valid
138.0ms489×body256valid
7.0msbody2048valid
Compiler

Compiled 38 to 26 computations (31.6% saved)

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

Compiled 42 to 23 computations (45.2% saved)

localize8.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

series22.0ms (0.4%)

Counts
3 → 64
Calls

3 calls:

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

rewrite46.0ms (0.8%)

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
3 → 59
Calls

3 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
0821
115621
2180121
3510521
000
100

simplify95.0ms (1.7%)

Algorithm
egg-herbie
Rules
689×distribute-rgt-neg-in_binary64
583×distribute-lft-neg-in_binary64
474×fma-neg_binary64
354×sub-neg_binary64
305×*-commutative_binary64
Counts
123 → 83
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
048644
1132637
2372620
31182619
42838619
54978619
64984619
74942619

prune65.0ms (1.1%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New76783
Fresh000
Picked101
Done000
Total77784
Error
0.1b
Counts
84 → 7
Alt Table
StatusErrorProgram
0.2b
(fma.f64 x (sin.f64 y) (*.f64 z (expm1.f64 (log1p.f64 (cos.f64 y)))))
41.6b
(cbrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))) 3))
0.2b
(fma.f64 x (sin.f64 y) (*.f64 z (pow.f64 (cos.f64 y) 1)))
0.3b
(fma.f64 x (sin.f64 y) (*.f64 z (*.f64 (cbrt.f64 (cos.f64 y)) (pow.f64 (cbrt.f64 (cos.f64 y)) 2))))
34.2b
(pow.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) 2)
31.5b
(/.f64 (-.f64 (*.f64 (*.f64 x (sin.f64 y)) (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 z (cos.f64 y)) 2)) (-.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))))
1.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))
Compiler

Compiled 1305 to 544 computations (58.3% saved)

localize8.0ms (0.1%)

Local error

Found 3 expressions with local error:

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

series23.0ms (0.4%)

Counts
2 → 60
Calls

2 calls:

15.0ms
(fma.f64 x (sin.f64 y) (*.f64 z (pow.f64 (cos.f64 y) 1)))
8.0ms
(*.f64 z (pow.f64 (cos.f64 y) 1))

rewrite44.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
736×log1p-expm1-u_binary64
736×expm1-log1p-u_binary64
201×prod-diff_binary64
154×log1p-udef_binary64
87×add-sqr-sqrt_binary64
Counts
2 → 40
Calls

2 calls:

43.0ms
(fma.f64 x (sin.f64 y) (*.f64 z (pow.f64 (cos.f64 y) 1)))
43.0ms
(*.f64 z (pow.f64 (cos.f64 y) 1))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01018
117618
2191518
3514818
000
100

simplify74.0ms (1.3%)

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

prune123.0ms (2.2%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New83083
Fresh066
Picked011
Done000
Total83790
Error
0.1b
Counts
90 → 7
Alt Table
StatusErrorProgram
0.2b
(fma.f64 x (sin.f64 y) (*.f64 z (expm1.f64 (log1p.f64 (cos.f64 y)))))
41.6b
(cbrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))) 3))
0.2b
(fma.f64 x (sin.f64 y) (*.f64 z (pow.f64 (cos.f64 y) 1)))
0.3b
(fma.f64 x (sin.f64 y) (*.f64 z (*.f64 (cbrt.f64 (cos.f64 y)) (pow.f64 (cbrt.f64 (cos.f64 y)) 2))))
34.2b
(pow.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) 2)
31.5b
(/.f64 (-.f64 (*.f64 (*.f64 x (sin.f64 y)) (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 z (cos.f64 y)) 2)) (-.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))))
1.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))
Compiler

Compiled 1342 to 590 computations (56% saved)

localize12.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series166.0ms (2.9%)

Counts
4 → 84
Calls

4 calls:

142.0ms
(log1p.f64 (cos.f64 y))
15.0ms
(fma.f64 x (sin.f64 y) (*.f64 z (expm1.f64 (log1p.f64 (cos.f64 y)))))
7.0ms
(*.f64 z (expm1.f64 (log1p.f64 (cos.f64 y))))
2.0ms
(expm1.f64 (log1p.f64 (cos.f64 y)))

rewrite49.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
764×expm1-log1p-u_binary64
763×log1p-expm1-u_binary64
236×prod-diff_binary64
89×add-sqr-sqrt_binary64
81×add-log-exp_binary64
Counts
4 → 78
Calls

4 calls:

47.0ms
(fma.f64 x (sin.f64 y) (*.f64 z (expm1.f64 (log1p.f64 (cos.f64 y)))))
47.0ms
(*.f64 z (expm1.f64 (log1p.f64 (cos.f64 y))))
47.0ms
(expm1.f64 (log1p.f64 (cos.f64 y)))
47.0ms
(log1p.f64 (cos.f64 y))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01026
117526
2199426
3514726
000
100

simplify122.0ms (2.1%)

Algorithm
egg-herbie
Rules
882×distribute-rgt-neg-in_binary64
589×fma-neg_binary64
499×sub-neg_binary64
389×*-commutative_binary64
294×distribute-lft-neg-in_binary64
Counts
162 → 109
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
063768
1171761
2477742
31538741
43621741
54988741

prune88.0ms (1.5%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New1072109
Fresh055
Picked011
Done011
Total1079116
Error
0.1b
Counts
116 → 9
Alt Table
StatusErrorProgram
0.2b
(fma.f64 x (sin.f64 y) (*.f64 z (expm1.f64 (log1p.f64 (cos.f64 y)))))
41.6b
(cbrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))) 3))
34.2b
(pow.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) 2)
1.3b
(fma.f64 x (sin.f64 y) (*.f64 z (expm1.f64 (pow.f64 (cbrt.f64 (log1p.f64 (cos.f64 y))) 3))))
0.2b
(fma.f64 x (sin.f64 y) (*.f64 z (pow.f64 (cos.f64 y) 1)))
0.3b
(fma.f64 x (sin.f64 y) (*.f64 z (*.f64 (cbrt.f64 (cos.f64 y)) (pow.f64 (cbrt.f64 (cos.f64 y)) 2))))
0.3b
(fma.f64 x (sin.f64 y) (*.f64 z (/.f64 (-.f64 (*.f64 (+.f64 (cos.f64 y) 1) (+.f64 (cos.f64 y) 1)) 1) (+.f64 (+.f64 (cos.f64 y) 1) 1))))
31.5b
(/.f64 (-.f64 (*.f64 (*.f64 x (sin.f64 y)) (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 z (cos.f64 y)) 2)) (-.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))))
1.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))
Compiler

Compiled 1787 to 813 computations (54.5% saved)

localize14.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(/.f64 (-.f64 (*.f64 (+.f64 (cos.f64 y) 1) (+.f64 (cos.f64 y) 1)) 1) (+.f64 (+.f64 (cos.f64 y) 1) 1))
0.2b
(-.f64 (*.f64 (+.f64 (cos.f64 y) 1) (+.f64 (cos.f64 y) 1)) 1)
0.2b
(*.f64 (+.f64 (cos.f64 y) 1) (+.f64 (cos.f64 y) 1))
0.3b
(+.f64 (cos.f64 y) 1)

series23.0ms (0.4%)

Counts
4 → 48
Calls

4 calls:

13.0ms
(/.f64 (-.f64 (*.f64 (+.f64 (cos.f64 y) 1) (+.f64 (cos.f64 y) 1)) 1) (+.f64 (+.f64 (cos.f64 y) 1) 1))
4.0ms
(*.f64 (+.f64 (cos.f64 y) 1) (+.f64 (cos.f64 y) 1))
4.0ms
(-.f64 (*.f64 (+.f64 (cos.f64 y) 1) (+.f64 (cos.f64 y) 1)) 1)
2.0ms
(+.f64 (cos.f64 y) 1)

rewrite144.0ms (2.5%)

Algorithm
batch-egg-rewrite
Rules
882×prod-diff_binary64
652×fma-udef_binary64
352×fma-neg_binary64
230×egg-rr
159×expm1-udef_binary64
Counts
4 → 230
Calls

4 calls:

140.0ms
(/.f64 (-.f64 (*.f64 (+.f64 (cos.f64 y) 1) (+.f64 (cos.f64 y) 1)) 1) (+.f64 (+.f64 (cos.f64 y) 1) 1))
140.0ms
(-.f64 (*.f64 (+.f64 (cos.f64 y) 1) (+.f64 (cos.f64 y) 1)) 1)
140.0ms
(*.f64 (+.f64 (cos.f64 y) 1) (+.f64 (cos.f64 y) 1))
140.0ms
(+.f64 (cos.f64 y) 1)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0947
121728
2266328
3478128
4461028
5507128
000
100

simplify77.0ms (1.3%)

Algorithm
egg-herbie
Rules
711×fma-def_binary64
502×distribute-rgt-neg-in_binary64
441×distribute-lft-neg-in_binary64
424×associate-*l*_binary64
363×associate-*r*_binary64
Counts
278 → 263
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
047632
1128568
2304552
3865440
42905416
54870416
65047416

prune494.0ms (8.7%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New3843387
Fresh246
Picked101
Done112
Total3888396
Error
0.1b
Counts
396 → 8
Alt Table
StatusErrorProgram
0.2b
(fma.f64 x (sin.f64 y) (*.f64 z (expm1.f64 (log1p.f64 (cos.f64 y)))))
41.6b
(cbrt.f64 (pow.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y))) 3))
0.2b
(fma.f64 x (sin.f64 y) (*.f64 z (*.f64 (+.f64 (cos.f64 y) 2) (*.f64 (cos.f64 y) (/.f64 1 (+.f64 (cos.f64 y) 2))))))
0.3b
(fma.f64 x (sin.f64 y) (*.f64 z (/.f64 (-.f64 (log.f64 (exp.f64 (pow.f64 (+.f64 (cos.f64 y) 1) 2))) 1) (+.f64 (+.f64 (cos.f64 y) 1) 1))))
34.2b
(pow.f64 (sqrt.f64 (fma.f64 x (sin.f64 y) (*.f64 z (cos.f64 y)))) 2)
0.2b
(fma.f64 x (sin.f64 y) (*.f64 z (cbrt.f64 (/.f64 (pow.f64 (expm1.f64 (*.f64 (log1p.f64 (cos.f64 y)) 2)) 3) (pow.f64 (+.f64 (cos.f64 y) 2) 3)))))
31.5b
(/.f64 (-.f64 (*.f64 (*.f64 x (sin.f64 y)) (*.f64 x (sin.f64 y))) (pow.f64 (*.f64 z (cos.f64 y)) 2)) (-.f64 (*.f64 x (sin.f64 y)) (*.f64 z (cos.f64 y))))
1.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))
Compiler

Compiled 11116 to 6809 computations (38.7% saved)

regimes399.0ms (7%)

Accuracy

Total 0.1b remaining (50.2%)

Threshold costs 0.1b (50.2%)

Counts
97 → 1
Compiler

Compiled 6732 to 4694 computations (30.3% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01436
11736
21736

end141.0ms (2.5%)

Compiler

Compiled 218 to 139 computations (36.2% saved)

Profiling

Loading profile data...