Details

Time bar (total: 5.3s)

analyze3.0ms (0.1%)

Algorithm
search
Search
TrueOtherFalseIter
0%56.2%43.8%0
0%56.2%43.8%1
0%56.2%43.8%2
42.1%14%43.8%3
42.1%14%43.8%4
52.7%3.5%43.8%5
56.2%0%43.8%6
Compiler

Compiled 44 to 29 computations (34.1% saved)

sample1.2s (23.3%)

Symmetry

(sort alpha beta)

Results
1.2s8256×body128valid
Compiler

Compiled 125 to 82 computations (34.4% saved)

simplify25.0ms (0.5%)

Algorithm
egg-herbie
Rules
689×distribute-rgt-in_binary64
661×distribute-lft-in_binary64
470×associate-*l*_binary64
388×associate-+r+_binary64
387×associate-+l+_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01540
13638
211738
362537
4429137
5494437
Stop Event
node limit
Counts
1 → 2

prune9.0ms (0.2%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
1.1b
Counts
3 → 2
Alt Table
StatusErrorProgram
1.5b
(*.f64 (/.f64 (+.f64 alpha 1) (+.f64 beta (+.f64 alpha 3))) (/.f64 (+.f64 beta 1) (*.f64 (+.f64 alpha (+.f64 beta 2)) (+.f64 alpha (+.f64 beta 2)))))
3.1b
(/.f64 (/.f64 (/.f64 (+.f64 (+.f64 (+.f64 alpha beta) (*.f64 beta alpha)) 1) (+.f64 (+.f64 alpha beta) (*.f64 2 1))) (+.f64 (+.f64 alpha beta) (*.f64 2 1))) (+.f64 (+.f64 (+.f64 alpha beta) (*.f64 2 1)) 1))
Compiler

Compiled 190 to 127 computations (33.2% saved)

localize12.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (+.f64 alpha 1) (+.f64 beta (+.f64 alpha 3)))
0.0b
(*.f64 (+.f64 alpha (+.f64 beta 2)) (+.f64 alpha (+.f64 beta 2)))
0.1b
(*.f64 (/.f64 (+.f64 alpha 1) (+.f64 beta (+.f64 alpha 3))) (/.f64 (+.f64 beta 1) (*.f64 (+.f64 alpha (+.f64 beta 2)) (+.f64 alpha (+.f64 beta 2)))))
19.6b
(/.f64 (+.f64 beta 1) (*.f64 (+.f64 alpha (+.f64 beta 2)) (+.f64 alpha (+.f64 beta 2))))

series127.0ms (2.4%)

Counts
4 → 96
Calls

4 calls:

73.0ms
(*.f64 (/.f64 (+.f64 alpha 1) (+.f64 beta (+.f64 alpha 3))) (/.f64 (+.f64 beta 1) (*.f64 (+.f64 alpha (+.f64 beta 2)) (+.f64 alpha (+.f64 beta 2)))))
31.0ms
(/.f64 (+.f64 beta 1) (*.f64 (+.f64 alpha (+.f64 beta 2)) (+.f64 alpha (+.f64 beta 2))))
16.0ms
(/.f64 (+.f64 alpha 1) (+.f64 beta (+.f64 alpha 3)))
7.0ms
(*.f64 (+.f64 alpha (+.f64 beta 2)) (+.f64 alpha (+.f64 beta 2)))

rewrite41.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
201×add-sqr-sqrt_binary64
197×log1p-expm1-u_binary64
197×expm1-log1p-u_binary64
193×add-cbrt-cube_binary64
189×add-log-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01670
139870
Stop Event
node limit
Counts
4 → 121
Calls

4 calls:

38.0ms
(/.f64 (+.f64 alpha 1) (+.f64 beta (+.f64 alpha 3)))
38.0ms
(*.f64 (+.f64 alpha (+.f64 beta 2)) (+.f64 alpha (+.f64 beta 2)))
38.0ms
(*.f64 (/.f64 (+.f64 alpha 1) (+.f64 beta (+.f64 alpha 3))) (/.f64 (+.f64 beta 1) (*.f64 (+.f64 alpha (+.f64 beta 2)) (+.f64 alpha (+.f64 beta 2)))))
38.0ms
(/.f64 (+.f64 beta 1) (*.f64 (+.f64 alpha (+.f64 beta 2)) (+.f64 alpha (+.f64 beta 2))))

simplify94.0ms (1.8%)

Algorithm
egg-herbie
Rules
812×fma-def_binary64
798×times-frac_binary64
289×+-commutative_binary64
228×associate-+r+_binary64
181×*-commutative_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
07628369
127398280
Stop Event
node limit
Counts
217 → 229

prune408.0ms (7.7%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New2245229
Fresh101
Picked101
Done000
Total2265231
Error
0.0b
Counts
231 → 5
Alt Table
StatusErrorProgram
1.1b
(/.f64 (*.f64 (+.f64 1 alpha) (*.f64 (+.f64 beta 1) (pow.f64 (+.f64 alpha (+.f64 beta 2)) -2))) (+.f64 beta (+.f64 alpha 3)))
0.5b
(/.f64 (/.f64 (+.f64 beta 1) (+.f64 alpha (+.f64 beta 2))) (*.f64 (/.f64 (+.f64 beta (+.f64 alpha 3)) (+.f64 1 alpha)) (+.f64 alpha (+.f64 beta 2))))
1.4b
(*.f64 (/.f64 (+.f64 alpha 1) (+.f64 beta (+.f64 alpha 3))) (/.f64 (+.f64 beta 1) (+.f64 (fma.f64 beta 4 4) (fma.f64 alpha alpha (fma.f64 beta beta (fma.f64 alpha 4 (*.f64 (*.f64 2 beta) alpha)))))))
0.1b
(*.f64 (/.f64 (+.f64 alpha 1) (+.f64 beta (+.f64 alpha 3))) (*.f64 (/.f64 1 (+.f64 alpha (+.f64 beta 2))) (/.f64 (+.f64 beta 1) (+.f64 alpha (+.f64 beta 2)))))
1.2b
(*.f64 (/.f64 (+.f64 alpha 1) (+.f64 beta (+.f64 alpha 3))) (*.f64 (+.f64 beta 1) (pow.f64 (+.f64 alpha (+.f64 beta 2)) -2)))
Compiler

Compiled 13793 to 10113 computations (26.7% saved)

localize13.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (+.f64 alpha 1) (+.f64 beta (+.f64 alpha 3)))
0.0b
(/.f64 1 (+.f64 alpha (+.f64 beta 2)))
0.0b
(*.f64 (/.f64 1 (+.f64 alpha (+.f64 beta 2))) (/.f64 (+.f64 beta 1) (+.f64 alpha (+.f64 beta 2))))
0.1b
(*.f64 (/.f64 (+.f64 alpha 1) (+.f64 beta (+.f64 alpha 3))) (*.f64 (/.f64 1 (+.f64 alpha (+.f64 beta 2))) (/.f64 (+.f64 beta 1) (+.f64 alpha (+.f64 beta 2)))))

series116.0ms (2.2%)

Counts
3 → 72
Calls

3 calls:

75.0ms
(*.f64 (/.f64 (+.f64 alpha 1) (+.f64 beta (+.f64 alpha 3))) (*.f64 (/.f64 1 (+.f64 alpha (+.f64 beta 2))) (/.f64 (+.f64 beta 1) (+.f64 alpha (+.f64 beta 2)))))
29.0ms
(*.f64 (/.f64 1 (+.f64 alpha (+.f64 beta 2))) (/.f64 (+.f64 beta 1) (+.f64 alpha (+.f64 beta 2))))
12.0ms
(/.f64 1 (+.f64 alpha (+.f64 beta 2)))

rewrite39.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
208×add-sqr-sqrt_binary64
202×log1p-expm1-u_binary64
202×expm1-log1p-u_binary64
198×add-cbrt-cube_binary64
194×add-log-exp_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01769
141757
Stop Event
node limit
Counts
3 → 95
Calls

3 calls:

37.0ms
(/.f64 1 (+.f64 alpha (+.f64 beta 2)))
37.0ms
(*.f64 (/.f64 1 (+.f64 alpha (+.f64 beta 2))) (/.f64 (+.f64 beta 1) (+.f64 alpha (+.f64 beta 2))))
37.0ms
(*.f64 (/.f64 (+.f64 alpha 1) (+.f64 beta (+.f64 alpha 3))) (*.f64 (/.f64 1 (+.f64 alpha (+.f64 beta 2))) (/.f64 (+.f64 beta 1) (+.f64 alpha (+.f64 beta 2)))))

simplify88.0ms (1.7%)

Algorithm
egg-herbie
Rules
757×fma-def_binary64
755×times-frac_binary64
258×+-commutative_binary64
202×associate-+r+_binary64
175×*-commutative_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
07057516
125757491
Stop Event
node limit
Counts
167 → 178

prune422.0ms (7.9%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New2321233
Fresh044
Picked011
Done000
Total2326238
Error
0b
Counts
238 → 6
Alt Table
StatusErrorProgram
1.1b
(/.f64 (*.f64 (+.f64 1 alpha) (*.f64 (+.f64 beta 1) (pow.f64 (+.f64 alpha (+.f64 beta 2)) -2))) (+.f64 beta (+.f64 alpha 3)))
0.5b
(/.f64 (/.f64 (+.f64 beta 1) (+.f64 alpha (+.f64 beta 2))) (*.f64 (/.f64 (+.f64 beta (+.f64 alpha 3)) (+.f64 1 alpha)) (+.f64 alpha (+.f64 beta 2))))
1.4b
(*.f64 (/.f64 (+.f64 alpha 1) (+.f64 beta (+.f64 alpha 3))) (/.f64 (+.f64 beta 1) (+.f64 (fma.f64 beta 4 4) (fma.f64 alpha alpha (fma.f64 beta beta (fma.f64 alpha 4 (*.f64 (*.f64 2 beta) alpha)))))))
0.1b
(*.f64 (/.f64 (+.f64 alpha 1) (+.f64 beta (+.f64 alpha 3))) (*.f64 (/.f64 1 (+.f64 alpha (+.f64 beta 2))) (/.f64 (+.f64 beta 1) (+.f64 alpha (+.f64 beta 2)))))
1.2b
(*.f64 (/.f64 (+.f64 alpha 1) (+.f64 beta (+.f64 alpha 3))) (*.f64 (+.f64 beta 1) (pow.f64 (+.f64 alpha (+.f64 beta 2)) -2)))
0.9b
(*.f64 (/.f64 (+.f64 alpha 1) (+.f64 beta (+.f64 alpha 3))) (*.f64 (pow.f64 (cbrt.f64 (/.f64 1 (+.f64 alpha (+.f64 beta 2)))) 3) (/.f64 (+.f64 beta 1) (+.f64 alpha (+.f64 beta 2)))))
Compiler

Compiled 14589 to 10736 computations (26.4% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (+.f64 beta 1) (+.f64 alpha (+.f64 beta 2)))
0.0b
(/.f64 (+.f64 beta (+.f64 alpha 3)) (+.f64 1 alpha))
0.0b
(*.f64 (/.f64 (+.f64 beta (+.f64 alpha 3)) (+.f64 1 alpha)) (+.f64 alpha (+.f64 beta 2)))
0.5b
(/.f64 (/.f64 (+.f64 beta 1) (+.f64 alpha (+.f64 beta 2))) (*.f64 (/.f64 (+.f64 beta (+.f64 alpha 3)) (+.f64 1 alpha)) (+.f64 alpha (+.f64 beta 2))))

series128.0ms (2.4%)

Counts
4 → 96
Calls

4 calls:

74.0ms
(/.f64 (/.f64 (+.f64 beta 1) (+.f64 alpha (+.f64 beta 2))) (*.f64 (/.f64 (+.f64 beta (+.f64 alpha 3)) (+.f64 1 alpha)) (+.f64 alpha (+.f64 beta 2))))
31.0ms
(*.f64 (/.f64 (+.f64 beta (+.f64 alpha 3)) (+.f64 1 alpha)) (+.f64 alpha (+.f64 beta 2)))
15.0ms
(/.f64 (+.f64 beta 1) (+.f64 alpha (+.f64 beta 2)))
8.0ms
(/.f64 (+.f64 beta (+.f64 alpha 3)) (+.f64 1 alpha))

rewrite51.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
204×add-sqr-sqrt_binary64
199×log1p-expm1-u_binary64
199×expm1-log1p-u_binary64
195×add-cbrt-cube_binary64
191×add-log-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01685
140285
Stop Event
node limit
Counts
4 → 127
Calls

4 calls:

48.0ms
(/.f64 (+.f64 beta 1) (+.f64 alpha (+.f64 beta 2)))
48.0ms
(/.f64 (+.f64 beta (+.f64 alpha 3)) (+.f64 1 alpha))
48.0ms
(*.f64 (/.f64 (+.f64 beta (+.f64 alpha 3)) (+.f64 1 alpha)) (+.f64 alpha (+.f64 beta 2)))
48.0ms
(/.f64 (/.f64 (+.f64 beta 1) (+.f64 alpha (+.f64 beta 2))) (*.f64 (/.f64 (+.f64 beta (+.f64 alpha 3)) (+.f64 1 alpha)) (+.f64 alpha (+.f64 beta 2))))

simplify89.0ms (1.7%)

Algorithm
egg-herbie
Rules
747×times-frac_binary64
645×fma-def_binary64
569×associate-/l*_binary64
240×+-commutative_binary64
188×associate-+r+_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
06347206
123457174
Stop Event
node limit
Counts
223 → 233

prune471.0ms (8.9%)

Pruning

6 alts after pruning (4 fresh and 2 done)

PrunedKeptTotal
New2321233
Fresh134
Picked011
Done011
Total2336239
Error
0b
Counts
239 → 6
Alt Table
StatusErrorProgram
1.1b
(/.f64 (*.f64 (+.f64 1 alpha) (*.f64 (+.f64 beta 1) (pow.f64 (+.f64 alpha (+.f64 beta 2)) -2))) (+.f64 beta (+.f64 alpha 3)))
0.5b
(/.f64 (/.f64 (+.f64 beta 1) (+.f64 alpha (+.f64 beta 2))) (*.f64 (/.f64 (+.f64 beta (+.f64 alpha 3)) (+.f64 1 alpha)) (+.f64 alpha (+.f64 beta 2))))
1.4b
(*.f64 (/.f64 (+.f64 alpha 1) (+.f64 beta (+.f64 alpha 3))) (/.f64 (+.f64 beta 1) (+.f64 (fma.f64 beta 4 4) (fma.f64 alpha alpha (fma.f64 beta beta (fma.f64 alpha 4 (*.f64 (*.f64 2 beta) alpha)))))))
0.1b
(*.f64 (/.f64 (+.f64 alpha 1) (+.f64 beta (+.f64 alpha 3))) (*.f64 (/.f64 1 (+.f64 alpha (+.f64 beta 2))) (/.f64 (+.f64 beta 1) (+.f64 alpha (+.f64 beta 2)))))
1.2b
(*.f64 (/.f64 (+.f64 alpha 1) (+.f64 beta (+.f64 alpha 3))) (*.f64 (+.f64 beta 1) (pow.f64 (+.f64 alpha (+.f64 beta 2)) -2)))
0.6b
(*.f64 (/.f64 (sqrt.f64 (+.f64 beta 1)) (*.f64 (+.f64 alpha (+.f64 beta 2)) (/.f64 (+.f64 (+.f64 beta alpha) 3) (+.f64 1 alpha)))) (/.f64 (sqrt.f64 (+.f64 beta 1)) (+.f64 alpha (+.f64 beta 2))))
Compiler

Compiled 13236 to 9452 computations (28.6% saved)

localize16.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (+.f64 alpha (+.f64 beta 2)) (/.f64 (+.f64 (+.f64 beta alpha) 3) (+.f64 1 alpha)))
0.1b
(*.f64 (/.f64 (sqrt.f64 (+.f64 beta 1)) (*.f64 (+.f64 alpha (+.f64 beta 2)) (/.f64 (+.f64 (+.f64 beta alpha) 3) (+.f64 1 alpha)))) (/.f64 (sqrt.f64 (+.f64 beta 1)) (+.f64 alpha (+.f64 beta 2))))
0.2b
(/.f64 (sqrt.f64 (+.f64 beta 1)) (+.f64 alpha (+.f64 beta 2)))
8.4b
(/.f64 (sqrt.f64 (+.f64 beta 1)) (*.f64 (+.f64 alpha (+.f64 beta 2)) (/.f64 (+.f64 (+.f64 beta alpha) 3) (+.f64 1 alpha))))

series240.0ms (4.5%)

Counts
4 → 80
Calls

4 calls:

92.0ms
(/.f64 (sqrt.f64 (+.f64 beta 1)) (*.f64 (+.f64 alpha (+.f64 beta 2)) (/.f64 (+.f64 (+.f64 beta alpha) 3) (+.f64 1 alpha))))
80.0ms
(*.f64 (/.f64 (sqrt.f64 (+.f64 beta 1)) (*.f64 (+.f64 alpha (+.f64 beta 2)) (/.f64 (+.f64 (+.f64 beta alpha) 3) (+.f64 1 alpha)))) (/.f64 (sqrt.f64 (+.f64 beta 1)) (+.f64 alpha (+.f64 beta 2))))
51.0ms
(/.f64 (sqrt.f64 (+.f64 beta 1)) (+.f64 alpha (+.f64 beta 2)))
16.0ms
(*.f64 (+.f64 alpha (+.f64 beta 2)) (/.f64 (+.f64 (+.f64 beta alpha) 3) (+.f64 1 alpha)))

rewrite67.0ms (1.3%)

Algorithm
batch-egg-rewrite
Rules
217×add-sqr-sqrt_binary64
211×log1p-expm1-u_binary64
211×expm1-log1p-u_binary64
207×add-cbrt-cube_binary64
203×add-log-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
018104
1438104
Stop Event
node limit
Counts
4 → 145
Calls

4 calls:

61.0ms
(*.f64 (+.f64 alpha (+.f64 beta 2)) (/.f64 (+.f64 (+.f64 beta alpha) 3) (+.f64 1 alpha)))
61.0ms
(*.f64 (/.f64 (sqrt.f64 (+.f64 beta 1)) (*.f64 (+.f64 alpha (+.f64 beta 2)) (/.f64 (+.f64 (+.f64 beta alpha) 3) (+.f64 1 alpha)))) (/.f64 (sqrt.f64 (+.f64 beta 1)) (+.f64 alpha (+.f64 beta 2))))
61.0ms
(/.f64 (sqrt.f64 (+.f64 beta 1)) (+.f64 alpha (+.f64 beta 2)))
61.0ms
(/.f64 (sqrt.f64 (+.f64 beta 1)) (*.f64 (+.f64 alpha (+.f64 beta 2)) (/.f64 (+.f64 (+.f64 beta alpha) 3) (+.f64 1 alpha))))

simplify111.0ms (2.1%)

Algorithm
egg-herbie
Rules
824×associate-/l*_binary64
295×+-commutative_binary64
240×fma-def_binary64
236×associate-+r+_binary64
231×*-commutative_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
08369471
131519250
Stop Event
node limit
Counts
225 → 248

prune525.0ms (9.9%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New2480248
Fresh033
Picked011
Done022
Total2486254
Error
0b
Counts
254 → 6
Alt Table
StatusErrorProgram
1.1b
(/.f64 (*.f64 (+.f64 1 alpha) (*.f64 (+.f64 beta 1) (pow.f64 (+.f64 alpha (+.f64 beta 2)) -2))) (+.f64 beta (+.f64 alpha 3)))
0.5b
(/.f64 (/.f64 (+.f64 beta 1) (+.f64 alpha (+.f64 beta 2))) (*.f64 (/.f64 (+.f64 beta (+.f64 alpha 3)) (+.f64 1 alpha)) (+.f64 alpha (+.f64 beta 2))))
1.4b
(*.f64 (/.f64 (+.f64 alpha 1) (+.f64 beta (+.f64 alpha 3))) (/.f64 (+.f64 beta 1) (+.f64 (fma.f64 beta 4 4) (fma.f64 alpha alpha (fma.f64 beta beta (fma.f64 alpha 4 (*.f64 (*.f64 2 beta) alpha)))))))
0.1b
(*.f64 (/.f64 (+.f64 alpha 1) (+.f64 beta (+.f64 alpha 3))) (*.f64 (/.f64 1 (+.f64 alpha (+.f64 beta 2))) (/.f64 (+.f64 beta 1) (+.f64 alpha (+.f64 beta 2)))))
1.2b
(*.f64 (/.f64 (+.f64 alpha 1) (+.f64 beta (+.f64 alpha 3))) (*.f64 (+.f64 beta 1) (pow.f64 (+.f64 alpha (+.f64 beta 2)) -2)))
0.6b
(*.f64 (/.f64 (sqrt.f64 (+.f64 beta 1)) (*.f64 (+.f64 alpha (+.f64 beta 2)) (/.f64 (+.f64 (+.f64 beta alpha) 3) (+.f64 1 alpha)))) (/.f64 (sqrt.f64 (+.f64 beta 1)) (+.f64 alpha (+.f64 beta 2))))
Compiler

Compiled 17292 to 12513 computations (27.6% saved)

regimes826.0ms (15.6%)

Accuracy

Total 0.1b remaining (89.8%)

Threshold costs 0.1b (89.8%)

Counts
198 → 1
Compiler

Compiled 16310 to 12158 computations (25.5% saved)

simplify2.0ms (0%)

Algorithm
egg-herbie
Rules
+-commutative_binary64
*-commutative_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01944
12944
Stop Event
saturated

end136.0ms (2.6%)

Remove

(sort alpha beta)

Compiler

Compiled 294 to 213 computations (27.6% saved)

Profiling

Loading profile data...