Details

Time bar (total: 5.1s)

analyze4.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 (24.1%)

Symmetry

(sort alpha beta)

Results
1.2s8256×body128valid
Compiler

Compiled 125 to 82 computations (34.4% saved)

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

prune4.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
0.6b
Counts
3 → 2
Alt Table
StatusErrorProgram
2.9b
(/.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))
2.4b
(*.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)))))
Compiler

Compiled 190 to 127 computations (33.2% saved)

localize11.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)))))
18.9b
(/.f64 (+.f64 beta 1) (*.f64 (+.f64 alpha (+.f64 beta 2)) (+.f64 alpha (+.f64 beta 2))))

series127.0ms (2.5%)

Counts
4 → 96
Calls

4 calls:

75.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)))))
30.0ms
(/.f64 (+.f64 beta 1) (*.f64 (+.f64 alpha (+.f64 beta 2)) (+.f64 alpha (+.f64 beta 2))))
14.0ms
(/.f64 (+.f64 alpha 1) (+.f64 beta (+.f64 alpha 3)))
7.0ms
(*.f64 (+.f64 alpha (+.f64 beta 2)) (+.f64 alpha (+.f64 beta 2)))

rewrite45.0ms (0.9%)

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:

42.0ms
(/.f64 (+.f64 alpha 1) (+.f64 beta (+.f64 alpha 3)))
42.0ms
(*.f64 (+.f64 alpha (+.f64 beta 2)) (+.f64 alpha (+.f64 beta 2)))
42.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)))))
42.0ms
(/.f64 (+.f64 beta 1) (*.f64 (+.f64 alpha (+.f64 beta 2)) (+.f64 alpha (+.f64 beta 2))))

simplify95.0ms (1.9%)

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

prune439.0ms (8.6%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New2236229
Fresh101
Picked101
Done000
Total2256231
Error
0.0b
Counts
231 → 6
Alt Table
StatusErrorProgram
1.7b
(/.f64 (*.f64 (+.f64 1 alpha) (*.f64 (+.f64 beta 1) (pow.f64 (+.f64 alpha (+.f64 beta 2)) -2))) (+.f64 beta (+.f64 alpha 3)))
0.2b
(*.f64 (/.f64 (+.f64 alpha 1) (+.f64 beta (+.f64 alpha 3))) (pow.f64 (/.f64 (sqrt.f64 (+.f64 beta 1)) (+.f64 alpha (+.f64 beta 2))) 2))
2.4b
(*.f64 (/.f64 (+.f64 alpha 1) (+.f64 beta (+.f64 alpha 3))) (/.f64 (+.f64 beta 1) (fma.f64 beta 4 (+.f64 (fma.f64 alpha alpha 4) (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)))))
8.8b
(/.f64 (*.f64 (+.f64 beta 1) (+.f64 1 alpha)) (*.f64 (pow.f64 (+.f64 alpha (+.f64 beta 2)) 2) (+.f64 beta (+.f64 alpha 3))))
2.1b
(*.f64 (/.f64 (+.f64 alpha 1) (+.f64 beta (+.f64 alpha 3))) (*.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 beta 1) (pow.f64 (+.f64 alpha (+.f64 beta 2)) -2))) 2) (cbrt.f64 (*.f64 (+.f64 beta 1) (pow.f64 (+.f64 alpha (+.f64 beta 2)) -2)))))
Compiler

Compiled 13865 to 10171 computations (26.6% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 1 (+.f64 alpha (+.f64 beta 2)))
0.0b
(/.f64 (+.f64 alpha 1) (+.f64 beta (+.f64 alpha 3)))
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)))))

series141.0ms (2.8%)

Counts
3 → 72
Calls

3 calls:

97.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)))))
33.0ms
(*.f64 (/.f64 1 (+.f64 alpha (+.f64 beta 2))) (/.f64 (+.f64 beta 1) (+.f64 alpha (+.f64 beta 2))))
10.0ms
(/.f64 1 (+.f64 alpha (+.f64 beta 2)))

rewrite44.0ms (0.9%)

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:

42.0ms
(/.f64 1 (+.f64 alpha (+.f64 beta 2)))
42.0ms
(*.f64 (/.f64 1 (+.f64 alpha (+.f64 beta 2))) (/.f64 (+.f64 beta 1) (+.f64 alpha (+.f64 beta 2))))
42.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)))))

simplify97.0ms (1.9%)

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

prune433.0ms (8.5%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New2321233
Fresh145
Picked011
Done000
Total2336239
Error
0.0b
Counts
239 → 6
Alt Table
StatusErrorProgram
2.1b
(*.f64 (/.f64 (+.f64 alpha 1) (+.f64 beta (+.f64 alpha 3))) (*.f64 (pow.f64 (cbrt.f64 (*.f64 (+.f64 beta 1) (pow.f64 (+.f64 alpha (+.f64 beta 2)) -2))) 2) (cbrt.f64 (*.f64 (+.f64 beta 1) (pow.f64 (+.f64 alpha (+.f64 beta 2)) -2)))))
6.1b
(/.f64 (+.f64 1 beta) (*.f64 (/.f64 (+.f64 beta (+.f64 alpha 3)) (+.f64 alpha 1)) (pow.f64 (+.f64 alpha (+.f64 beta 2)) 2)))
1.7b
(/.f64 (*.f64 (+.f64 1 alpha) (*.f64 (+.f64 beta 1) (pow.f64 (+.f64 alpha (+.f64 beta 2)) -2))) (+.f64 beta (+.f64 alpha 3)))
0.2b
(*.f64 (/.f64 (+.f64 alpha 1) (+.f64 beta (+.f64 alpha 3))) (pow.f64 (/.f64 (sqrt.f64 (+.f64 beta 1)) (+.f64 alpha (+.f64 beta 2))) 2))
2.4b
(*.f64 (/.f64 (+.f64 alpha 1) (+.f64 beta (+.f64 alpha 3))) (/.f64 (+.f64 beta 1) (fma.f64 beta 4 (+.f64 (fma.f64 alpha alpha 4) (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)))))
Compiler

Compiled 14597 to 10746 computations (26.4% saved)

localize14.0ms (0.3%)

Local error

Found 4 expressions with local error:

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

series164.0ms (3.2%)

Counts
3 → 56
Calls

3 calls:

84.0ms
(*.f64 (/.f64 (+.f64 alpha 1) (+.f64 beta (+.f64 alpha 3))) (pow.f64 (/.f64 (sqrt.f64 (+.f64 beta 1)) (+.f64 alpha (+.f64 beta 2))) 2))
49.0ms
(pow.f64 (/.f64 (sqrt.f64 (+.f64 beta 1)) (+.f64 alpha (+.f64 beta 2))) 2)
30.0ms
(/.f64 (sqrt.f64 (+.f64 beta 1)) (+.f64 alpha (+.f64 beta 2)))

rewrite39.0ms (0.8%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
01766
140862
Stop Event
node limit
Counts
3 → 73
Calls

3 calls:

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

simplify105.0ms (2.1%)

Algorithm
egg-herbie
Rules
771×times-frac_binary64
664×fma-def_binary64
592×associate-/l*_binary64
204×+-commutative_binary64
164×*-commutative_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
06156677
122756550
Stop Event
node limit
Counts
129 → 149

prune455.0ms (8.9%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New2031204
Fresh134
Picked101
Done011
Total2055210
Error
0.0b
Counts
210 → 5
Alt Table
StatusErrorProgram
1.7b
(/.f64 (*.f64 (+.f64 1 alpha) (*.f64 (+.f64 beta 1) (pow.f64 (+.f64 alpha (+.f64 beta 2)) -2))) (+.f64 beta (+.f64 alpha 3)))
0.2b
(*.f64 (expm1.f64 (log1p.f64 (/.f64 (+.f64 1 alpha) (+.f64 beta (+.f64 alpha 3))))) (pow.f64 (/.f64 (sqrt.f64 (+.f64 beta 1)) (+.f64 alpha (+.f64 beta 2))) 2))
2.4b
(*.f64 (/.f64 (+.f64 alpha 1) (+.f64 beta (+.f64 alpha 3))) (/.f64 (+.f64 beta 1) (fma.f64 beta 4 (+.f64 (fma.f64 alpha alpha 4) (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)))))
6.1b
(/.f64 (+.f64 1 beta) (*.f64 (/.f64 (+.f64 beta (+.f64 alpha 3)) (+.f64 alpha 1)) (pow.f64 (+.f64 alpha (+.f64 beta 2)) 2)))
Compiler

Compiled 12510 to 9305 computations (25.6% saved)

localize16.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (+.f64 1 alpha) (+.f64 beta (+.f64 alpha 3)))
0.1b
(*.f64 (expm1.f64 (log1p.f64 (/.f64 (+.f64 1 alpha) (+.f64 beta (+.f64 alpha 3))))) (pow.f64 (/.f64 (sqrt.f64 (+.f64 beta 1)) (+.f64 alpha (+.f64 beta 2))) 2))
0.2b
(/.f64 (sqrt.f64 (+.f64 beta 1)) (+.f64 alpha (+.f64 beta 2)))
0.3b
(pow.f64 (/.f64 (sqrt.f64 (+.f64 beta 1)) (+.f64 alpha (+.f64 beta 2))) 2)

series97.0ms (1.9%)

Counts
2 → 48
Calls

2 calls:

81.0ms
(*.f64 (expm1.f64 (log1p.f64 (/.f64 (+.f64 1 alpha) (+.f64 beta (+.f64 alpha 3))))) (pow.f64 (/.f64 (sqrt.f64 (+.f64 beta 1)) (+.f64 alpha (+.f64 beta 2))) 2))
16.0ms
(/.f64 (+.f64 1 alpha) (+.f64 beta (+.f64 alpha 3)))

rewrite29.0ms (0.6%)

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

Useful iterations: 1 (0.0ms)

IterNodesCost
01946
142744
Stop Event
node limit
Counts
2 → 41
Calls

2 calls:

28.0ms
(/.f64 (+.f64 1 alpha) (+.f64 beta (+.f64 alpha 3)))
28.0ms
(*.f64 (expm1.f64 (log1p.f64 (/.f64 (+.f64 1 alpha) (+.f64 beta (+.f64 alpha 3))))) (pow.f64 (/.f64 (sqrt.f64 (+.f64 beta 1)) (+.f64 alpha (+.f64 beta 2))) 2))

simplify70.0ms (1.4%)

Algorithm
egg-herbie
Rules
731×times-frac_binary64
652×associate-/r*_binary64
561×associate-/l*_binary64
522×fma-def_binary64
194×+-commutative_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
05555767
120225745
Stop Event
node limit
Counts
89 → 101

prune353.0ms (6.9%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New2010201
Fresh033
Picked011
Done011
Total2015206
Error
0.0b
Counts
206 → 5
Alt Table
StatusErrorProgram
1.7b
(/.f64 (*.f64 (+.f64 1 alpha) (*.f64 (+.f64 beta 1) (pow.f64 (+.f64 alpha (+.f64 beta 2)) -2))) (+.f64 beta (+.f64 alpha 3)))
0.2b
(*.f64 (expm1.f64 (log1p.f64 (/.f64 (+.f64 1 alpha) (+.f64 beta (+.f64 alpha 3))))) (pow.f64 (/.f64 (sqrt.f64 (+.f64 beta 1)) (+.f64 alpha (+.f64 beta 2))) 2))
2.4b
(*.f64 (/.f64 (+.f64 alpha 1) (+.f64 beta (+.f64 alpha 3))) (/.f64 (+.f64 beta 1) (fma.f64 beta 4 (+.f64 (fma.f64 alpha alpha 4) (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)))))
6.1b
(/.f64 (+.f64 1 beta) (*.f64 (/.f64 (+.f64 beta (+.f64 alpha 3)) (+.f64 alpha 1)) (pow.f64 (+.f64 alpha (+.f64 beta 2)) 2)))
Compiler

Compiled 12617 to 9485 computations (24.8% saved)

regimes758.0ms (14.9%)

Accuracy

Total 0.1b remaining (83.4%)

Threshold costs 0.1b (83.4%)

Counts
167 → 1
Compiler

Compiled 18896 to 14360 computations (24% saved)

simplify2.0ms (0%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01943
12943
Stop Event
saturated

end279.0ms (5.5%)

Compiler

Compiled 260 to 190 computations (26.9% saved)

Profiling

Loading profile data...