Details

Time bar (total: 5.1s)

analyze23.0ms (0.5%)

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.5s2037×body1024valid
764.0ms4687×body128valid
437.0ms1004×body512valid
158.0ms525×body256valid
5.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)

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

series40.0ms (0.8%)

Counts
3 → 52
Calls

3 calls:

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

rewrite49.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))

simplify31.0ms (0.6%)

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

prune111.0ms (2.2%)

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.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))))
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)
Compiler

Compiled 2626 to 1436 computations (45.3% saved)

localize12.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)

series82.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))))
11.0ms
(pow.f64 (*.f64 e (cos.f64 v)) 2)

rewrite61.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:

60.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))))
60.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

prune192.0ms (3.7%)

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
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))))
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)
Compiler

Compiled 5807 to 3096 computations (46.7% saved)

localize12.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:

70.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)))
33.0ms
(/.f64 (-.f64 1 (pow.f64 (*.f64 e (cos.f64 v)) 2)) (sin.f64 v))

rewrite86.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:

82.0ms
(/.f64 (-.f64 1 (pow.f64 (*.f64 e (cos.f64 v)) 2)) (sin.f64 v))
82.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)))

simplify46.0ms (0.9%)

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

prune331.0ms (6.4%)

Pruning

9 alts after pruning (7 fresh and 2 done)

PrunedKeptTotal
New2595264
Fresh224
Picked011
Done011
Total2619270
Error
0b
Counts
270 → 9
Alt Table
StatusErrorProgram
0.5b
(pow.f64 (/.f64 (fma.f64 e (cos.f64 v) 1) (*.f64 e (sin.f64 v))) -1)
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.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))))
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)))))
Compiler

Compiled 10262 to 5338 computations (48% saved)

localize14.0ms (0.3%)

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))))

series167.0ms (3.3%)

Counts
2 → 44
Calls

2 calls:

95.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))))
72.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)))))

rewrite61.0ms (1.2%)

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:

60.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)))))
60.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))))

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

prune286.0ms (5.6%)

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.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))))
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)))))
Compiler

Compiled 10399 to 6006 computations (42.2% saved)

regimes291.0ms (5.6%)

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%)

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

end144.0ms (2.8%)

Compiler

Compiled 233 to 156 computations (33% saved)

Profiling

Loading profile data...