Details

Time bar (total: 4.3s)

analyze431.0ms (10%)

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

Results
1.4s2052×body1024valid
711.0ms4648×body128valid
417.0ms1053×body512valid
139.0ms495×body256valid
13.0msbody2048valid
Compiler

Compiled 38 to 26 computations (31.6% saved)

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Rules
fma-def_binary64
*-commutative_binary64
+-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0912
11312
21612
Stop Event
saturated
Counts
1 → 2

prune3.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 42 to 23 computations (45.2% saved)

localize7.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

series21.0ms (0.5%)

Counts
3 → 64
Calls

3 calls:

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

rewrite43.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
689×log1p-expm1-u_binary64
689×expm1-log1p-u_binary64
201×prod-diff_binary64
147×log1p-udef_binary64
81×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0821
115621
2186921
Stop Event
node limit
Counts
3 → 56
Calls

3 calls:

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

simplify41.0ms (1%)

Algorithm
egg-herbie
Rules
551×fma-neg_binary64
359×sub-neg_binary64
281×*-commutative_binary64
270×unswap-sqr_binary64
229×distribute-lft-neg-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
054656
1155644
2465627
31691625
44183625
Stop Event
node limit
Counts
120 → 81

prune58.0ms (1.3%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New74781
Fresh000
Picked101
Done000
Total75782
Error
0.1b
Counts
82 → 7
Alt Table
StatusErrorProgram
0.4b
(fma.f64 x (*.f64 (cbrt.f64 (cos.f64 y)) (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (*.f64 z (sin.f64 y)))
0.1b
(fma.f64 (sin.f64 y) z (*.f64 (cos.f64 y) x))
41.1b
(cbrt.f64 (pow.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) 3))
34.7b
(pow.f64 (sqrt.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) 2)
1.3b
(*.f64 (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) 2))
0.2b
(fma.f64 x (expm1.f64 (log1p.f64 (cos.f64 y))) (*.f64 z (sin.f64 y)))
0.3b
(fma.f64 x (log.f64 (exp.f64 (cos.f64 y))) (*.f64 z (sin.f64 y)))
Compiler

Compiled 1255 to 516 computations (58.9% saved)

localize7.0ms (0.2%)

Local error

Found 3 expressions with local error:

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

series20.0ms (0.5%)

Counts
2 → 40
Calls

2 calls:

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

rewrite36.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
689×log1p-expm1-u_binary64
689×expm1-log1p-u_binary64
201×prod-diff_binary64
147×log1p-udef_binary64
81×add-sqr-sqrt_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0818
115618
2186918
Stop Event
node limit
Counts
2 → 38
Calls

2 calls:

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

simplify35.0ms (0.8%)

Algorithm
egg-herbie
Rules
739×cancel-sign-sub-inv_binary64
698×fma-def_binary64
361×fma-neg_binary64
271×sub-neg_binary64
240×*-commutative_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
039468
1107467
2324457
31258450
44705450
Stop Event
node limit
Counts
78 → 56

prune61.0ms (1.4%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New80181
Fresh066
Picked011
Done000
Total80888
Error
0.1b
Counts
88 → 8
Alt Table
StatusErrorProgram
0.4b
(fma.f64 x (*.f64 (cbrt.f64 (cos.f64 y)) (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (*.f64 z (sin.f64 y)))
0.1b
(fma.f64 (sin.f64 y) z (*.f64 (cos.f64 y) x))
41.1b
(cbrt.f64 (pow.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) 3))
34.7b
(pow.f64 (sqrt.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) 2)
1.3b
(*.f64 (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) 2))
0.2b
(fma.f64 x (expm1.f64 (log1p.f64 (cos.f64 y))) (*.f64 z (sin.f64 y)))
0.3b
(fma.f64 x (log.f64 (exp.f64 (cos.f64 y))) (*.f64 z (sin.f64 y)))
30.0b
(fma.f64 (sin.f64 y) z (cbrt.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3))))
Compiler

Compiled 1260 to 548 computations (56.5% saved)

localize10.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series155.0ms (3.6%)

Counts
3 → 60
Calls

3 calls:

139.0ms
(log1p.f64 (cos.f64 y))
13.0ms
(fma.f64 x (expm1.f64 (log1p.f64 (cos.f64 y))) (*.f64 z (sin.f64 y)))
3.0ms
(expm1.f64 (log1p.f64 (cos.f64 y)))

rewrite46.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
765×expm1-log1p-u_binary64
764×log1p-expm1-u_binary64
236×prod-diff_binary64
89×add-sqr-sqrt_binary64
81×add-log-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01020
117720
2207820
Stop Event
node limit
Counts
3 → 60
Calls

3 calls:

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

simplify39.0ms (0.9%)

Algorithm
egg-herbie
Rules
652×distribute-rgt-neg-in_binary64
372×sub-neg_binary64
372×fma-neg_binary64
262×*-commutative_binary64
237×distribute-lft-neg-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
054578
1143574
2404566
31518564
43961564
Stop Event
node limit
Counts
120 → 87

prune75.0ms (1.7%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New1100110
Fresh066
Picked011
Done011
Total1108118
Error
0.1b
Counts
118 → 8
Alt Table
StatusErrorProgram
0.4b
(fma.f64 x (*.f64 (cbrt.f64 (cos.f64 y)) (pow.f64 (cbrt.f64 (cos.f64 y)) 2)) (*.f64 z (sin.f64 y)))
0.1b
(fma.f64 (sin.f64 y) z (*.f64 (cos.f64 y) x))
41.1b
(cbrt.f64 (pow.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) 3))
34.7b
(pow.f64 (sqrt.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) 2)
1.3b
(*.f64 (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) 2))
0.2b
(fma.f64 x (expm1.f64 (log1p.f64 (cos.f64 y))) (*.f64 z (sin.f64 y)))
0.3b
(fma.f64 x (log.f64 (exp.f64 (cos.f64 y))) (*.f64 z (sin.f64 y)))
30.0b
(fma.f64 (sin.f64 y) z (cbrt.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3))))
Compiler

Compiled 1752 to 717 computations (59.1% saved)

localize10.0ms (0.2%)

Local error

Found 4 expressions with local error:

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

series18.0ms (0.4%)

Counts
3 → 52
Calls

3 calls:

14.0ms
(fma.f64 x (log.f64 (exp.f64 (cos.f64 y))) (*.f64 z (sin.f64 y)))
2.0ms
(exp.f64 (cos.f64 y))
2.0ms
(log.f64 (exp.f64 (cos.f64 y)))

rewrite42.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
751×log1p-expm1-u_binary64
751×expm1-log1p-u_binary64
201×prod-diff_binary64
89×add-sqr-sqrt_binary64
82×add-log-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01020
117920
2205620
Stop Event
node limit
Counts
3 → 62
Calls

3 calls:

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

simplify42.0ms (1%)

Algorithm
egg-herbie
Rules
508×fma-neg_binary64
342×sub-neg_binary64
321×*-commutative_binary64
295×distribute-rgt-neg-in_binary64
282×distribute-lft-neg-in_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
052562
1147554
2447540
31736531
44415531
Stop Event
node limit
Counts
114 → 88

prune79.0ms (1.8%)

Pruning

8 alts after pruning (5 fresh and 3 done)

PrunedKeptTotal
New1101111
Fresh145
Picked011
Done022
Total1118119
Error
0.1b
Counts
119 → 8
Alt Table
StatusErrorProgram
0.1b
(fma.f64 (sin.f64 y) z (*.f64 (cos.f64 y) x))
41.1b
(cbrt.f64 (pow.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y))) 3))
34.7b
(pow.f64 (sqrt.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) 2)
1.3b
(*.f64 (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) (pow.f64 (cbrt.f64 (fma.f64 x (cos.f64 y) (*.f64 z (sin.f64 y)))) 2))
0.2b
(fma.f64 x (expm1.f64 (log1p.f64 (cos.f64 y))) (*.f64 z (sin.f64 y)))
0.3b
(fma.f64 x (log.f64 (exp.f64 (cos.f64 y))) (*.f64 z (sin.f64 y)))
0.3b
(fma.f64 x (log.f64 (pow.f64 (exp.f64 1) (cos.f64 y))) (*.f64 z (sin.f64 y)))
30.0b
(fma.f64 (sin.f64 y) z (cbrt.f64 (*.f64 (pow.f64 (cos.f64 y) 3) (pow.f64 x 3))))
Compiler

Compiled 1667 to 655 computations (60.7% saved)

regimes201.0ms (4.6%)

Accuracy

Total 0.1b remaining (43.3%)

Threshold costs 0.1b (43.3%)

Counts
52 → 1
Compiler

Compiled 3004 to 1962 computations (34.7% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0812
1912
Stop Event
saturated

end111.0ms (2.6%)

Compiler

Compiled 142 to 93 computations (34.5% saved)

Profiling

Loading profile data...