Details

Time bar (total: 5.1s)

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

Results
1.5s2037×body1024valid
742.0ms4687×body128valid
424.0ms1004×body512valid
159.0ms525×body256valid
4.0msbody2048valid
Compiler

Compiled 53 to 37 computations (30.2% saved)

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
associate-/l*_binary64
associate-/r/_binary64
fma-def_binary64
+-commutative_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01017
11715
22315
32615
42715
Stop Event
saturated
Counts
1 → 2

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.1b
(*.f64 (sin.f64 v) (/.f64 e (fma.f64 e (cos.f64 v) 1)))
0.1b
(/.f64 (*.f64 e (sin.f64 v)) (+.f64 1 (*.f64 e (cos.f64 v))))
Compiler

Compiled 73 to 47 computations (35.6% saved)

localize7.0ms (0.1%)

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.1b
(*.f64 e (cos.f64 v))

series39.0ms (0.8%)

Counts
3 → 52
Calls

3 calls:

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

rewrite50.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
370×prod-diff_binary64
254×fma-def_binary64
187×expm1-udef_binary64
187×log1p-udef_binary64
166×log-pow_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01029
120827
2281727
Stop Event
node limit
Counts
3 → 81
Calls

3 calls:

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

simplify34.0ms (0.7%)

Algorithm
egg-herbie
Rules
691×times-frac_binary64
485×fma-def_binary64
464×associate-/l*_binary64
292×cancel-sign-sub-inv_binary64
132×fma-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01291173
14031130
215591082
Stop Event
node limit
Counts
133 → 120

prune116.0ms (2.3%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New1146120
Fresh101
Picked101
Done000
Total1166122
Error
0.0b
Counts
122 → 6
Alt Table
StatusErrorProgram
0.2b
(*.f64 e (/.f64 1 (/.f64 (fma.f64 e (cos.f64 v) 1) (sin.f64 v))))
30.6b
(/.f64 (cbrt.f64 (*.f64 (pow.f64 e 3) (pow.f64 (sin.f64 v) 3))) (+.f64 1 (*.f64 e (cos.f64 v))))
0.5b
(pow.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (*.f64 e (sin.f64 v))) -1)
23.7b
(pow.f64 (sqrt.f64 (*.f64 (/.f64 e (fma.f64 e (cos.f64 v) 1)) (sin.f64 v))) 2)
1.1b
(pow.f64 (cbrt.f64 (*.f64 (/.f64 e (fma.f64 e (cos.f64 v) 1)) (sin.f64 v))) 3)
0.1b
(*.f64 (/.f64 (*.f64 e (sin.f64 v)) (-.f64 1 (pow.f64 (*.f64 e (cos.f64 v)) 2))) (-.f64 1 (*.f64 e (cos.f64 v))))
Compiler

Compiled 2626 to 1436 computations (45.3% saved)

localize11.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (/.f64 (*.f64 e (sin.f64 v)) (-.f64 1 (pow.f64 (*.f64 e (cos.f64 v)) 2))) (-.f64 1 (*.f64 e (cos.f64 v))))
0.1b
(*.f64 e (sin.f64 v))
0.1b
(*.f64 e (cos.f64 v))
0.1b
(pow.f64 (*.f64 e (cos.f64 v)) 2)

series84.0ms (1.6%)

Counts
2 → 48
Calls

2 calls:

71.0ms
(*.f64 (/.f64 (*.f64 e (sin.f64 v)) (-.f64 1 (pow.f64 (*.f64 e (cos.f64 v)) 2))) (-.f64 1 (*.f64 e (cos.f64 v))))
13.0ms
(pow.f64 (*.f64 e (cos.f64 v)) 2)

rewrite64.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
841×prod-diff_binary64
150×add-sqr-sqrt_binary64
145×log1p-expm1-u_binary64
145×expm1-log1p-u_binary64
143×add-cbrt-cube_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01440
130926
2418526
Stop Event
node limit
Counts
2 → 73
Calls

2 calls:

62.0ms
(*.f64 (/.f64 (*.f64 e (sin.f64 v)) (-.f64 1 (pow.f64 (*.f64 e (cos.f64 v)) 2))) (-.f64 1 (*.f64 e (cos.f64 v))))
62.0ms
(pow.f64 (*.f64 e (cos.f64 v)) 2)

simplify42.0ms (0.8%)

Algorithm
egg-herbie
Rules
932×times-frac_binary64
704×fma-def_binary64
225×unswap-sqr_binary64
131×associate-*r*_binary64
129×sub-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01751856
15261818
222171755
Stop Event
node limit
Counts
121 → 105

prune193.0ms (3.8%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New1841185
Fresh145
Picked011
Done000
Total1856191
Error
0.0b
Counts
191 → 6
Alt Table
StatusErrorProgram
30.6b
(/.f64 (cbrt.f64 (*.f64 (pow.f64 e 3) (pow.f64 (sin.f64 v) 3))) (+.f64 1 (*.f64 e (cos.f64 v))))
0.2b
(/.f64 (*.f64 e (-.f64 1 (*.f64 e (cos.f64 v)))) (/.f64 (-.f64 1 (pow.f64 (*.f64 e (cos.f64 v)) 2)) (sin.f64 v)))
0.5b
(pow.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (*.f64 e (sin.f64 v))) -1)
23.7b
(pow.f64 (sqrt.f64 (*.f64 (/.f64 e (fma.f64 e (cos.f64 v) 1)) (sin.f64 v))) 2)
1.1b
(pow.f64 (cbrt.f64 (*.f64 (/.f64 e (fma.f64 e (cos.f64 v) 1)) (sin.f64 v))) 3)
0.1b
(*.f64 (/.f64 (*.f64 e (sin.f64 v)) (-.f64 1 (pow.f64 (*.f64 e (cos.f64 v)) 2))) (-.f64 1 (*.f64 e (cos.f64 v))))
Compiler

Compiled 5807 to 3096 computations (46.7% saved)

localize11.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (-.f64 1 (pow.f64 (*.f64 e (cos.f64 v)) 2)) (sin.f64 v))
0.1b
(*.f64 e (cos.f64 v))
0.1b
(pow.f64 (*.f64 e (cos.f64 v)) 2)
0.2b
(/.f64 (*.f64 e (-.f64 1 (*.f64 e (cos.f64 v)))) (/.f64 (-.f64 1 (pow.f64 (*.f64 e (cos.f64 v)) 2)) (sin.f64 v)))

series103.0ms (2%)

Counts
2 → 48
Calls

2 calls:

71.0ms
(/.f64 (*.f64 e (-.f64 1 (*.f64 e (cos.f64 v)))) (/.f64 (-.f64 1 (pow.f64 (*.f64 e (cos.f64 v)) 2)) (sin.f64 v)))
32.0ms
(/.f64 (-.f64 1 (pow.f64 (*.f64 e (cos.f64 v)) 2)) (sin.f64 v))

rewrite87.0ms (1.7%)

Algorithm
batch-egg-rewrite
Rules
934×prod-diff_binary64
155×add-sqr-sqrt_binary64
150×log1p-expm1-u_binary64
150×expm1-log1p-u_binary64
148×add-cbrt-cube_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01448
131734
2450034
Stop Event
node limit
Counts
2 → 135
Calls

2 calls:

83.0ms
(/.f64 (-.f64 1 (pow.f64 (*.f64 e (cos.f64 v)) 2)) (sin.f64 v))
83.0ms
(/.f64 (*.f64 e (-.f64 1 (*.f64 e (cos.f64 v)))) (/.f64 (-.f64 1 (pow.f64 (*.f64 e (cos.f64 v)) 2)) (sin.f64 v)))

simplify49.0ms (1%)

Algorithm
egg-herbie
Rules
926×times-frac_binary64
851×fma-def_binary64
197×unswap-sqr_binary64
153×associate-+r+_binary64
148×sub-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01902062
15722033
223801974
Stop Event
node limit
Counts
183 → 173

prune342.0ms (6.7%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New2595264
Fresh224
Picked011
Done011
Total2619270
Error
0b
Counts
270 → 9
Alt Table
StatusErrorProgram
5.5b
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (*.f64 e (-.f64 1 (*.f64 e (cos.f64 v))))) 2) (cbrt.f64 (pow.f64 (/.f64 (-.f64 1 (pow.f64 (*.f64 e (cos.f64 v)) 2)) (sin.f64 v)) 2))) (cbrt.f64 (*.f64 (sin.f64 v) (/.f64 e (+.f64 1 (*.f64 e (cos.f64 v)))))))
0.5b
(pow.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (*.f64 e (sin.f64 v))) -1)
30.6b
(/.f64 (cbrt.f64 (*.f64 (pow.f64 e 3) (pow.f64 (sin.f64 v) 3))) (+.f64 1 (*.f64 e (cos.f64 v))))
0.6b
(pow.f64 (*.f64 (+.f64 1 (*.f64 e (cos.f64 v))) (/.f64 (/.f64 1 (sin.f64 v)) e)) -1)
0.2b
(/.f64 (*.f64 e (-.f64 1 (*.f64 e (cos.f64 v)))) (/.f64 (-.f64 1 (pow.f64 (*.f64 e (cos.f64 v)) 2)) (sin.f64 v)))
10.1b
(/.f64 (*.f64 e (-.f64 1 (*.f64 e (cos.f64 v)))) (cbrt.f64 (/.f64 (pow.f64 (-.f64 1 (pow.f64 (*.f64 e (cos.f64 v)) 2)) 3) (pow.f64 (sin.f64 v) 3))))
10.1b
(/.f64 (*.f64 e (-.f64 1 (*.f64 e (cos.f64 v)))) (cbrt.f64 (pow.f64 (/.f64 (-.f64 1 (pow.f64 (*.f64 e (cos.f64 v)) 2)) (sin.f64 v)) 3)))
0.4b
(*.f64 (sqrt.f64 (*.f64 e (-.f64 1 (*.f64 e (cos.f64 v))))) (*.f64 (sqrt.f64 (*.f64 e (-.f64 1 (*.f64 e (cos.f64 v))))) (/.f64 (sin.f64 v) (-.f64 1 (pow.f64 (*.f64 e (cos.f64 v)) 2)))))
0.1b
(*.f64 (/.f64 (*.f64 e (sin.f64 v)) (-.f64 1 (pow.f64 (*.f64 e (cos.f64 v)) 2))) (-.f64 1 (*.f64 e (cos.f64 v))))
Compiler

Compiled 10262 to 5338 computations (48% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 e (cos.f64 v))
0.1b
(pow.f64 (*.f64 e (cos.f64 v)) 2)
0.3b
(*.f64 (sqrt.f64 (*.f64 e (-.f64 1 (*.f64 e (cos.f64 v))))) (*.f64 (sqrt.f64 (*.f64 e (-.f64 1 (*.f64 e (cos.f64 v))))) (/.f64 (sin.f64 v) (-.f64 1 (pow.f64 (*.f64 e (cos.f64 v)) 2)))))
0.3b
(*.f64 (sqrt.f64 (*.f64 e (-.f64 1 (*.f64 e (cos.f64 v))))) (/.f64 (sin.f64 v) (-.f64 1 (pow.f64 (*.f64 e (cos.f64 v)) 2))))

series165.0ms (3.2%)

Counts
2 → 44
Calls

2 calls:

92.0ms
(*.f64 (sqrt.f64 (*.f64 e (-.f64 1 (*.f64 e (cos.f64 v))))) (/.f64 (sin.f64 v) (-.f64 1 (pow.f64 (*.f64 e (cos.f64 v)) 2))))
73.0ms
(*.f64 (sqrt.f64 (*.f64 e (-.f64 1 (*.f64 e (cos.f64 v))))) (*.f64 (sqrt.f64 (*.f64 e (-.f64 1 (*.f64 e (cos.f64 v))))) (/.f64 (sin.f64 v) (-.f64 1 (pow.f64 (*.f64 e (cos.f64 v)) 2)))))

rewrite67.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
832×prod-diff_binary64
167×add-sqr-sqrt_binary64
161×log1p-expm1-u_binary64
161×expm1-log1p-u_binary64
159×add-cbrt-cube_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01664
134964
2451964
Stop Event
node limit
Counts
2 → 45
Calls

2 calls:

65.0ms
(*.f64 (sqrt.f64 (*.f64 e (-.f64 1 (*.f64 e (cos.f64 v))))) (*.f64 (sqrt.f64 (*.f64 e (-.f64 1 (*.f64 e (cos.f64 v))))) (/.f64 (sin.f64 v) (-.f64 1 (pow.f64 (*.f64 e (cos.f64 v)) 2)))))
65.0ms
(*.f64 (sqrt.f64 (*.f64 e (-.f64 1 (*.f64 e (cos.f64 v))))) (/.f64 (sin.f64 v) (-.f64 1 (pow.f64 (*.f64 e (cos.f64 v)) 2))))

simplify72.0ms (1.4%)

Algorithm
egg-herbie
Rules
260×associate-+r+_binary64
254×fma-def_binary64
219×sub-neg_binary64
208×fma-neg_binary64
192×+-commutative_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03273689
110313604
243603604
Stop Event
node limit
Counts
89 → 103

prune297.0ms (5.8%)

Pruning

8 alts after pruning (5 fresh and 3 done)

PrunedKeptTotal
New2221223
Fresh246
Picked011
Done022
Total2248232
Error
0b
Counts
232 → 8
Alt Table
StatusErrorProgram
1.1b
(pow.f64 (cbrt.f64 (*.f64 (*.f64 e (-.f64 1 (*.f64 e (cos.f64 v)))) (/.f64 (sin.f64 v) (-.f64 1 (pow.f64 (*.f64 e (cos.f64 v)) 2))))) 3)
30.6b
(/.f64 (cbrt.f64 (*.f64 (pow.f64 e 3) (pow.f64 (sin.f64 v) 3))) (+.f64 1 (*.f64 e (cos.f64 v))))
0.6b
(pow.f64 (*.f64 (+.f64 1 (*.f64 e (cos.f64 v))) (/.f64 (/.f64 1 (sin.f64 v)) e)) -1)
0.2b
(/.f64 (*.f64 e (-.f64 1 (*.f64 e (cos.f64 v)))) (/.f64 (-.f64 1 (pow.f64 (*.f64 e (cos.f64 v)) 2)) (sin.f64 v)))
10.1b
(/.f64 (*.f64 e (-.f64 1 (*.f64 e (cos.f64 v)))) (cbrt.f64 (/.f64 (pow.f64 (-.f64 1 (pow.f64 (*.f64 e (cos.f64 v)) 2)) 3) (pow.f64 (sin.f64 v) 3))))
10.1b
(/.f64 (*.f64 e (-.f64 1 (*.f64 e (cos.f64 v)))) (cbrt.f64 (pow.f64 (/.f64 (-.f64 1 (pow.f64 (*.f64 e (cos.f64 v)) 2)) (sin.f64 v)) 3)))
0.4b
(*.f64 (sqrt.f64 (*.f64 e (-.f64 1 (*.f64 e (cos.f64 v))))) (*.f64 (sqrt.f64 (*.f64 e (-.f64 1 (*.f64 e (cos.f64 v))))) (/.f64 (sin.f64 v) (-.f64 1 (pow.f64 (*.f64 e (cos.f64 v)) 2)))))
0.1b
(*.f64 (/.f64 (*.f64 e (sin.f64 v)) (-.f64 1 (pow.f64 (*.f64 e (cos.f64 v)) 2))) (-.f64 1 (*.f64 e (cos.f64 v))))
Compiler

Compiled 10399 to 6006 computations (42.2% saved)

regimes282.0ms (5.5%)

Accuracy

Total 0.1b remaining (84.6%)

Threshold costs 0.1b (84.6%)

Counts
99 → 1
Compiler

Compiled 5612 to 3824 computations (31.9% saved)

simplify3.0ms (0.1%)

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
01431
12631
24031
34831
45331
55431
Stop Event
saturated

end141.0ms (2.8%)

Compiler

Compiled 233 to 156 computations (33% saved)

Profiling

Loading profile data...