Details

Time bar (total: 5.3s)

analyze23.0ms (0.4%)

Algorithm
search
Search
TrueOtherFalseIter
0%25%75%0
0%25%75%1
12.5%12.5%75%2
12.5%12.5%75%3
18.7%6.2%75%4
21.8%3.1%75%5
23.4%1.6%75%6
23.4%1.6%75%7
24.2%0.8%75%8
24.2%0.8%75%9
24.6%0.4%75%10
24.6%0.4%75%11
24.8%0.2%75%12
24.8%0.2%75%13
24.9%0.1%75%14
Compiler

Compiled 20 to 14 computations (30% saved)

sample2.9s (55.7%)

Results
1.5s2039×body1024valid
764.0ms4659×body128valid
444.0ms1048×body512valid
165.0ms504×body256valid
10.0msbody2048valid
Compiler

Compiled 53 to 37 computations (30.2% saved)

simplify30.0ms (0.6%)

Algorithm
egg-herbie
Rules
736×rules-9-rev_binary64
430×rules-20_binary64
407×fma-def_binary64
345×fma-neg_binary64
207×rules-12_binary64
Counts
1 → 2
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01017
12014
24014
38914
426214
5105114
6171214
7500614

prune3.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.1b
Counts
3 → 2
Alt Table
StatusErrorProgram
0.2b
(/.f64 (sin.f64 v) (+.f64 (cos.f64 v) (/.f64 1 e)))
0.1b
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (*.f64 e (cos.f64 v))))
Compiler

Compiled 70 to 47 computations (32.9% saved)

localize9.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (*.f64 e (cos.f64 v))))
0.1b
(*.f64 e (sin.f64 v))
0.2b
(*.f64 e (cos.f64 v))

series42.0ms (0.8%)

Counts
3 → 52
Calls

3 calls:

28.0ms
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (*.f64 e (cos.f64 v))))
7.0ms
(*.f64 e (cos.f64 v))
7.0ms
(*.f64 e (sin.f64 v))

rewrite87.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
917×fma-neg_binary64
545×prod-diff_binary64
267×egg-rr
179×expm1-udef_binary64
179×log1p-udef_binary64
Counts
3 → 267
Calls

3 calls:

81.0ms
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (*.f64 e (cos.f64 v))))
81.0ms
(*.f64 e (sin.f64 v))
81.0ms
(*.f64 e (cos.f64 v))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01029
123126
2291526
3533926
000
100

simplify50.0ms (1%)

Algorithm
egg-herbie
Rules
760×fma-neg_binary64
625×rules-20_binary64
412×rules-14-rev_binary64
343×rules-15-rev_binary64
292×rules-21_binary64
Counts
319 → 306
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01291173
14471130
222591118
351481118

prune302.0ms (5.7%)

Pruning

9 alts after pruning (9 fresh and 0 done)

PrunedKeptTotal
New2988306
Fresh011
Picked101
Done000
Total2999308
Error
0.0b
Counts
308 → 9
Alt Table
StatusErrorProgram
1.0b
(*.f64 (pow.f64 (cbrt.f64 (*.f64 e (sin.f64 v))) 2) (/.f64 (cbrt.f64 (*.f64 e (sin.f64 v))) (fma.f64 e (cos.f64 v) 1)))
0.2b
(/.f64 (sin.f64 v) (+.f64 (cos.f64 v) (/.f64 1 e)))
27.7b
(/.f64 (fma.f64 (sqrt.f64 (sin.f64 v)) (*.f64 e (sqrt.f64 (sin.f64 v))) 0) (+.f64 1 (*.f64 e (cos.f64 v))))
0.2b
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (fma.f64 (cos.f64 v) (+.f64 e (/.f64 1 (cos.f64 v))) -1)))
0.4b
(/.f64 (fma.f64 (sqrt.f64 e) (*.f64 (sin.f64 v) (sqrt.f64 e)) 0) (+.f64 1 (*.f64 e (cos.f64 v))))
1.0b
(/.f64 (fma.f64 (cbrt.f64 (sin.f64 v)) (*.f64 e (pow.f64 (cbrt.f64 (sin.f64 v)) 2)) 0) (+.f64 1 (*.f64 e (cos.f64 v))))
17.5b
(/.f64 (fma.f64 (cbrt.f64 e) (*.f64 (sin.f64 v) (cbrt.f64 (*.f64 e e))) 0) (+.f64 1 (*.f64 e (cos.f64 v))))
1.0b
(pow.f64 (cbrt.f64 (/.f64 (sin.f64 v) (+.f64 (cos.f64 v) (/.f64 1 e)))) 3)
0.1b
(*.f64 (*.f64 e (sin.f64 v)) (/.f64 1 (fma.f64 e (cos.f64 v) 1)))
Compiler

Compiled 6832 to 3202 computations (53.1% saved)

localize8.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (*.f64 e (sin.f64 v)) (/.f64 1 (fma.f64 e (cos.f64 v) 1)))
0.0b
(/.f64 1 (fma.f64 e (cos.f64 v) 1))
0.1b
(*.f64 e (sin.f64 v))

series49.0ms (0.9%)

Counts
2 → 48
Calls

2 calls:

28.0ms
(*.f64 (*.f64 e (sin.f64 v)) (/.f64 1 (fma.f64 e (cos.f64 v) 1)))
21.0ms
(/.f64 1 (fma.f64 e (cos.f64 v) 1))

rewrite119.0ms (2.2%)

Algorithm
batch-egg-rewrite
Rules
839×fma-neg_binary64
499×prod-diff_binary64
184×egg-rr
173×expm1-udef_binary64
173×log1p-udef_binary64
Counts
2 → 184
Calls

2 calls:

113.0ms
(*.f64 (*.f64 e (sin.f64 v)) (/.f64 1 (fma.f64 e (cos.f64 v) 1)))
113.0ms
(/.f64 1 (fma.f64 e (cos.f64 v) 1))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01025
122425
2278925
3498525
4529325
000
100

simplify60.0ms (1.1%)

Algorithm
egg-herbie
Rules
796×rules-20_binary64
743×fma-neg_binary64
521×rules-15-rev_binary64
396×rules-21_binary64
151×fma-def_binary64
Counts
232 → 229
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01571578
15461516
228231516
356791516

prune356.0ms (6.7%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New3390339
Fresh088
Picked011
Done000
Total3399348
Error
0.0b
Counts
348 → 9
Alt Table
StatusErrorProgram
1.0b
(*.f64 (pow.f64 (cbrt.f64 (*.f64 e (sin.f64 v))) 2) (/.f64 (cbrt.f64 (*.f64 e (sin.f64 v))) (fma.f64 e (cos.f64 v) 1)))
0.2b
(/.f64 (sin.f64 v) (+.f64 (cos.f64 v) (/.f64 1 e)))
27.7b
(/.f64 (fma.f64 (sqrt.f64 (sin.f64 v)) (*.f64 e (sqrt.f64 (sin.f64 v))) 0) (+.f64 1 (*.f64 e (cos.f64 v))))
0.2b
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (fma.f64 (cos.f64 v) (+.f64 e (/.f64 1 (cos.f64 v))) -1)))
0.4b
(/.f64 (fma.f64 (sqrt.f64 e) (*.f64 (sin.f64 v) (sqrt.f64 e)) 0) (+.f64 1 (*.f64 e (cos.f64 v))))
1.0b
(/.f64 (fma.f64 (cbrt.f64 (sin.f64 v)) (*.f64 e (pow.f64 (cbrt.f64 (sin.f64 v)) 2)) 0) (+.f64 1 (*.f64 e (cos.f64 v))))
17.5b
(/.f64 (fma.f64 (cbrt.f64 e) (*.f64 (sin.f64 v) (cbrt.f64 (*.f64 e e))) 0) (+.f64 1 (*.f64 e (cos.f64 v))))
1.0b
(pow.f64 (cbrt.f64 (/.f64 (sin.f64 v) (+.f64 (cos.f64 v) (/.f64 1 e)))) 3)
0.1b
(*.f64 (*.f64 e (sin.f64 v)) (/.f64 1 (fma.f64 e (cos.f64 v) 1)))
Compiler

Compiled 8856 to 4611 computations (47.9% saved)

localize12.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (fma.f64 (cos.f64 v) (+.f64 e (/.f64 1 (cos.f64 v))) -1)))
0.1b
(/.f64 1 (cos.f64 v))
0.1b
(*.f64 e (sin.f64 v))
33.3b
(fma.f64 (cos.f64 v) (+.f64 e (/.f64 1 (cos.f64 v))) -1)

series62.0ms (1.2%)

Counts
3 → 52
Calls

3 calls:

36.0ms
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (fma.f64 (cos.f64 v) (+.f64 e (/.f64 1 (cos.f64 v))) -1)))
20.0ms
(fma.f64 (cos.f64 v) (+.f64 e (/.f64 1 (cos.f64 v))) -1)
6.0ms
(/.f64 1 (cos.f64 v))

rewrite80.0ms (1.5%)

Algorithm
batch-egg-rewrite
Rules
702×prod-diff_binary64
132×add-sqr-sqrt_binary64
124×log1p-expm1-u_binary64
124×expm1-log1p-u_binary64
121×add-cbrt-cube_binary64
Counts
3 → 94
Calls

3 calls:

78.0ms
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (fma.f64 (cos.f64 v) (+.f64 e (/.f64 1 (cos.f64 v))) -1)))
78.0ms
(/.f64 1 (cos.f64 v))
78.0ms
(fma.f64 (cos.f64 v) (+.f64 e (/.f64 1 (cos.f64 v))) -1)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01347
130435
2377435
3516835
000
100

simplify49.0ms (0.9%)

Algorithm
egg-herbie
Rules
739×rules-13_binary64
597×fma-neg_binary64
586×rules-20_binary64
416×rules-14-rev_binary64
318×rules-15-rev_binary64
Counts
146 → 134
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01311143
14391100
221371090
364931090

prune261.0ms (4.9%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New2431244
Fresh077
Picked011
Done011
Total24310253
Error
0b
Counts
253 → 10
Alt Table
StatusErrorProgram
1.0b
(*.f64 (pow.f64 (cbrt.f64 (*.f64 e (sin.f64 v))) 2) (/.f64 (cbrt.f64 (*.f64 e (sin.f64 v))) (fma.f64 e (cos.f64 v) 1)))
0.2b
(/.f64 (sin.f64 v) (+.f64 (cos.f64 v) (/.f64 1 e)))
27.7b
(/.f64 (fma.f64 (sqrt.f64 (sin.f64 v)) (*.f64 e (sqrt.f64 (sin.f64 v))) 0) (+.f64 1 (*.f64 e (cos.f64 v))))
0.2b
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (fma.f64 (cos.f64 v) (+.f64 e (/.f64 1 (cos.f64 v))) -1)))
0.4b
(/.f64 (fma.f64 (sqrt.f64 e) (*.f64 (sin.f64 v) (sqrt.f64 e)) 0) (+.f64 1 (*.f64 e (cos.f64 v))))
1.0b
(/.f64 (fma.f64 (cbrt.f64 (sin.f64 v)) (*.f64 e (pow.f64 (cbrt.f64 (sin.f64 v)) 2)) 0) (+.f64 1 (*.f64 e (cos.f64 v))))
17.5b
(/.f64 (fma.f64 (cbrt.f64 e) (*.f64 (sin.f64 v) (cbrt.f64 (*.f64 e e))) 0) (+.f64 1 (*.f64 e (cos.f64 v))))
0.6b
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (fma.f64 (cos.f64 v) (+.f64 e (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cos.f64 v)) 2) -1) (pow.f64 (cbrt.f64 (cos.f64 v)) -1))) -1)))
1.0b
(pow.f64 (cbrt.f64 (/.f64 (sin.f64 v) (+.f64 (cos.f64 v) (/.f64 1 e)))) 3)
0.1b
(*.f64 (*.f64 e (sin.f64 v)) (/.f64 1 (fma.f64 e (cos.f64 v) 1)))
Compiler

Compiled 6264 to 3357 computations (46.4% saved)

localize7.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (cos.f64 v) (/.f64 1 e))
0.2b
(/.f64 (sin.f64 v) (+.f64 (cos.f64 v) (/.f64 1 e)))

series30.0ms (0.6%)

Counts
2 → 41
Calls

2 calls:

24.0ms
(/.f64 (sin.f64 v) (+.f64 (cos.f64 v) (/.f64 1 e)))
6.0ms
(+.f64 (cos.f64 v) (/.f64 1 e))

rewrite59.0ms (1.1%)

Algorithm
batch-egg-rewrite
Rules
912×expm1-log1p-u_binary64
468×prod-diff_binary64
92×add-sqr-sqrt_binary64
86×log1p-expm1-u_binary64
84×add-cbrt-cube_binary64
Counts
2 → 78
Calls

2 calls:

57.0ms
(+.f64 (cos.f64 v) (/.f64 1 e))
57.0ms
(/.f64 (sin.f64 v) (+.f64 (cos.f64 v) (/.f64 1 e)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0923
120723
2263123
3519023
000
100

simplify42.0ms (0.8%)

Algorithm
egg-herbie
Rules
538×fma-def_binary64
466×fma-neg_binary64
410×rules-13_binary64
396×rules-20_binary64
386×rules-14-rev_binary64
Counts
119 → 112
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0108999
1351983
21681971
35443971

prune116.0ms (2.2%)

Pruning

10 alts after pruning (7 fresh and 3 done)

PrunedKeptTotal
New1111112
Fresh167
Picked011
Done022
Total11210122
Error
0b
Counts
122 → 10
Alt Table
StatusErrorProgram
1.0b
(*.f64 (pow.f64 (cbrt.f64 (*.f64 e (sin.f64 v))) 2) (/.f64 (cbrt.f64 (*.f64 e (sin.f64 v))) (fma.f64 e (cos.f64 v) 1)))
0.2b
(/.f64 (sin.f64 v) (+.f64 (cos.f64 v) (/.f64 1 e)))
27.7b
(*.f64 (sqrt.f64 (sin.f64 v)) (/.f64 (sqrt.f64 (sin.f64 v)) (+.f64 (cos.f64 v) (/.f64 1 e))))
0.1b
(*.f64 (*.f64 e (sin.f64 v)) (/.f64 1 (fma.f64 e (cos.f64 v) 1)))
0.4b
(/.f64 (fma.f64 (sqrt.f64 e) (*.f64 (sin.f64 v) (sqrt.f64 e)) 0) (+.f64 1 (*.f64 e (cos.f64 v))))
1.0b
(/.f64 (fma.f64 (cbrt.f64 (sin.f64 v)) (*.f64 e (pow.f64 (cbrt.f64 (sin.f64 v)) 2)) 0) (+.f64 1 (*.f64 e (cos.f64 v))))
17.5b
(/.f64 (fma.f64 (cbrt.f64 e) (*.f64 (sin.f64 v) (cbrt.f64 (*.f64 e e))) 0) (+.f64 1 (*.f64 e (cos.f64 v))))
0.6b
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (fma.f64 (cos.f64 v) (+.f64 e (*.f64 (pow.f64 (pow.f64 (cbrt.f64 (cos.f64 v)) 2) -1) (pow.f64 (cbrt.f64 (cos.f64 v)) -1))) -1)))
1.0b
(pow.f64 (cbrt.f64 (/.f64 (sin.f64 v) (+.f64 (cos.f64 v) (/.f64 1 e)))) 3)
0.2b
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (fma.f64 (cos.f64 v) (+.f64 e (/.f64 1 (cos.f64 v))) -1)))
Compiler

Compiled 2290 to 1388 computations (39.4% saved)

regimes342.0ms (6.5%)

Accuracy

Total 0.1b remaining (85.5%)

Threshold costs 0.1b (85.5%)

Counts
114 → 1
Compiler

Compiled 6056 to 4241 computations (30% saved)

simplify1.0ms (0%)

Algorithm
egg-herbie
Rules
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01018
11218
21118

end142.0ms (2.7%)

Compiler

Compiled 210 to 143 computations (31.9% saved)

Profiling

Loading profile data...