Details

Time bar (total: 4.1s)

analyze105.0ms (2.6%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.9%0.1%0
0%99.9%0.1%1
0%99.9%0.1%2
0%99.9%0.1%3
0%99.9%0.1%4
12.5%87.4%0.1%5
46.8%53.1%0.1%6
70.2%29.7%0.1%7
76.5%23.4%0.1%8
83.5%16.4%0.1%9
87%12.9%0.1%10
91.1%8.8%0.1%11
93.2%6.7%0.1%12
95.4%4.5%0.1%13
96.5%3.4%0.1%14
Compiler

Compiled 20 to 10 computations (50% saved)

sample1.1s (25.8%)

Symmetry

(sort x y)

Results
928.0ms8256×body128valid
Compiler

Compiled 59 to 29 computations (50.8% saved)

simplify136.0ms (3.3%)

Algorithm
egg-herbie
Rules
985×associate-/l*_binary64
659×distribute-lft-out_binary64
601×*-commutative_binary64
469×distribute-rgt-out_binary64
356×fma-def_binary64
Counts
1 → 2
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01025
13925
213523
347423
4153623
5212223
6258923
7256723
8262023
9267723
10277023
11395623
12408823
13445423
14498323
15496823
16496123

prune3.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
19.6b
Counts
3 → 2
Alt Table
StatusErrorProgram
19.6b
(/.f64 (*.f64 x y) (fma.f64 (+.f64 x y) (+.f64 x y) (pow.f64 (+.f64 x y) 3)))
19.6b
(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) 1)))
Compiler

Compiled 109 to 47 computations (56.9% saved)

localize7.0ms (0.2%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(*.f64 (+.f64 x y) (+.f64 x y))
0.0b
(*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) 1))
19.4b
(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) 1)))

series50.0ms (1.2%)

Counts
3 → 72
Calls

3 calls:

34.0ms
(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) 1)))
11.0ms
(*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) 1))
5.0ms
(*.f64 (+.f64 x y) (+.f64 x y))

rewrite100.0ms (2.5%)

Algorithm
batch-egg-rewrite
Rules
647×fma-def_binary64
312×fma-neg_binary64
204×log1p-udef_binary64
202×expm1-udef_binary64
181×egg-rr
Counts
3 → 181
Calls

3 calls:

96.0ms
(*.f64 (+.f64 x y) (+.f64 x y))
96.0ms
(*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) 1))
96.0ms
(/.f64 (*.f64 x y) (*.f64 (*.f64 (+.f64 x y) (+.f64 x y)) (+.f64 (+.f64 x y) 1)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01045
123845
2360145
3511545
000
100

simplify78.0ms (1.9%)

Algorithm
egg-herbie
Rules
295×associate-+r+_binary64
295×fma-def_binary64
239×cancel-sign-sub-inv_binary64
229×associate-/r*_binary64
228×times-frac_binary64
Counts
253 → 247
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02582982
18332847
236552817
349832817

prune237.0ms (5.8%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New2416247
Fresh101
Picked101
Done000
Total2436249
Error
3.3b
Counts
249 → 6
Alt Table
StatusErrorProgram
4.2b
(*.f64 (/.f64 y (+.f64 x y)) (/.f64 x (*.f64 (+.f64 x y) (+.f64 (+.f64 x y) 1))))
12.2b
(*.f64 x (*.f64 y (/.f64 1 (*.f64 (pow.f64 (+.f64 x y) 2) (+.f64 (+.f64 x y) 1)))))
24.1b
(*.f64 (/.f64 x (*.f64 (+.f64 x y) (sqrt.f64 (+.f64 (+.f64 x y) 1)))) (/.f64 y (*.f64 (+.f64 x y) (sqrt.f64 (+.f64 (+.f64 x y) 1)))))
9.9b
(*.f64 x (/.f64 1 (/.f64 (pow.f64 (+.f64 x y) 2) (/.f64 y (+.f64 (+.f64 x y) 1)))))
16.6b
(*.f64 (/.f64 1 (+.f64 x y)) (/.f64 (*.f64 x y) (*.f64 (+.f64 x y) (+.f64 (+.f64 x y) 1))))
8.7b
(*.f64 (/.f64 x (+.f64 (+.f64 x y) 1)) (/.f64 y (pow.f64 (+.f64 x y) 2)))
Compiler

Compiled 7216 to 3573 computations (50.5% saved)

localize8.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 y (+.f64 x y))
0.0b
(*.f64 (+.f64 x y) (+.f64 (+.f64 x y) 1))
0.1b
(*.f64 (/.f64 y (+.f64 x y)) (/.f64 x (*.f64 (+.f64 x y) (+.f64 (+.f64 x y) 1))))
15.3b
(/.f64 x (*.f64 (+.f64 x y) (+.f64 (+.f64 x y) 1)))

series71.0ms (1.8%)

Counts
4 → 96
Calls

4 calls:

34.0ms
(*.f64 (/.f64 y (+.f64 x y)) (/.f64 x (*.f64 (+.f64 x y) (+.f64 (+.f64 x y) 1))))
23.0ms
(/.f64 x (*.f64 (+.f64 x y) (+.f64 (+.f64 x y) 1)))
7.0ms
(/.f64 y (+.f64 x y))
7.0ms
(*.f64 (+.f64 x y) (+.f64 (+.f64 x y) 1))

rewrite101.0ms (2.5%)

Algorithm
batch-egg-rewrite
Rules
763×prod-diff_binary64
189×egg-rr
120×add-sqr-sqrt_binary64
115×log1p-expm1-u_binary64
115×expm1-log1p-u_binary64
Counts
4 → 189
Calls

4 calls:

97.0ms
(/.f64 y (+.f64 x y))
97.0ms
(*.f64 (+.f64 x y) (+.f64 (+.f64 x y) 1))
97.0ms
(*.f64 (/.f64 y (+.f64 x y)) (/.f64 x (*.f64 (+.f64 x y) (+.f64 (+.f64 x y) 1))))
96.0ms
(/.f64 x (*.f64 (+.f64 x y) (+.f64 (+.f64 x y) 1)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01061
123758
2365258
3518958
000
100

simplify81.0ms (2%)

Algorithm
egg-herbie
Rules
413×associate-+r+_binary64
358×fma-def_binary64
313×times-frac_binary64
307×associate-/r*_binary64
298×associate-+l+_binary64
Counts
285 → 279
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03634455
111954312
252014312

prune283.0ms (7%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New2745279
Fresh415
Picked101
Done000
Total2796285
Error
0.0b
Counts
285 → 6
Alt Table
StatusErrorProgram
47.6b
(*.f64 (/.f64 y (+.f64 x y)) (pow.f64 (/.f64 (sqrt.f64 x) (hypot.f64 (+.f64 x y) (sqrt.f64 (+.f64 x y)))) 2))
9.9b
(*.f64 x (/.f64 1 (/.f64 (pow.f64 (+.f64 x y) 2) (/.f64 y (+.f64 (+.f64 x y) 1)))))
0.1b
(/.f64 (/.f64 (*.f64 x (/.f64 y (+.f64 x y))) (+.f64 x y)) (+.f64 (+.f64 x y) 1))
0.1b
(*.f64 (/.f64 y (+.f64 x y)) (*.f64 (/.f64 x (+.f64 x y)) (/.f64 1 (+.f64 (+.f64 x y) 1))))
0.8b
(/.f64 (/.f64 x (+.f64 x y)) (*.f64 (/.f64 (+.f64 x y) y) (+.f64 (+.f64 x y) 1)))
4.3b
(/.f64 (/.f64 x (*.f64 (+.f64 x y) (+.f64 (+.f64 x y) 1))) (/.f64 (+.f64 x y) y))
Compiler

Compiled 9043 to 4586 computations (49.3% saved)

localize8.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 y (+.f64 x y))
0.0b
(/.f64 (*.f64 x (/.f64 y (+.f64 x y))) (+.f64 x y))
0.1b
(/.f64 (/.f64 (*.f64 x (/.f64 y (+.f64 x y))) (+.f64 x y)) (+.f64 (+.f64 x y) 1))
6.6b
(*.f64 x (/.f64 y (+.f64 x y)))

series52.0ms (1.3%)

Counts
3 → 72
Calls

3 calls:

32.0ms
(/.f64 (/.f64 (*.f64 x (/.f64 y (+.f64 x y))) (+.f64 x y)) (+.f64 (+.f64 x y) 1))
11.0ms
(/.f64 (*.f64 x (/.f64 y (+.f64 x y))) (+.f64 x y))
8.0ms
(*.f64 x (/.f64 y (+.f64 x y)))

rewrite90.0ms (2.2%)

Algorithm
batch-egg-rewrite
Rules
627×prod-diff_binary64
214×log1p-udef_binary64
119×add-sqr-sqrt_binary64
116×egg-rr
114×log1p-expm1-u_binary64
Counts
3 → 116
Calls

3 calls:

88.0ms
(/.f64 (*.f64 x (/.f64 y (+.f64 x y))) (+.f64 x y))
88.0ms
(/.f64 (/.f64 (*.f64 x (/.f64 y (+.f64 x y))) (+.f64 x y)) (+.f64 (+.f64 x y) 1))
88.0ms
(*.f64 x (/.f64 y (+.f64 x y)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01051
123545
2364545
3530345
000
100

simplify79.0ms (1.9%)

Algorithm
egg-herbie
Rules
325×cancel-sign-sub-inv_binary64
256×sub-neg_binary64
255×times-frac_binary64
248×associate-/r*_binary64
214×associate-+r+_binary64
Counts
188 → 176
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02653008
18242962
235652890
351262890

prune212.0ms (5.2%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New2232225
Fresh145
Picked011
Done000
Total2247231
Error
0.0b
Counts
231 → 7
Alt Table
StatusErrorProgram
0.8b
(/.f64 (*.f64 x (/.f64 1 (*.f64 (+.f64 x y) (/.f64 (+.f64 x y) y)))) (+.f64 (+.f64 x y) 1))
47.6b
(*.f64 (/.f64 y (+.f64 x y)) (pow.f64 (/.f64 (sqrt.f64 x) (hypot.f64 (+.f64 x y) (sqrt.f64 (+.f64 x y)))) 2))
9.9b
(*.f64 x (/.f64 1 (/.f64 (pow.f64 (+.f64 x y) 2) (/.f64 y (+.f64 (+.f64 x y) 1)))))
0.1b
(/.f64 (/.f64 (*.f64 x (/.f64 y (+.f64 x y))) (+.f64 x y)) (+.f64 (+.f64 x y) 1))
14.7b
(/.f64 (/.f64 (*.f64 x (log.f64 (exp.f64 (/.f64 y (+.f64 x y))))) (+.f64 x y)) (+.f64 (+.f64 x y) 1))
0.1b
(*.f64 (/.f64 y (+.f64 x y)) (*.f64 (/.f64 x (+.f64 x y)) (/.f64 1 (+.f64 (+.f64 x y) 1))))
0.8b
(/.f64 (/.f64 x (+.f64 x y)) (*.f64 (/.f64 (+.f64 x y) y) (+.f64 (+.f64 x y) 1)))
Compiler

Compiled 6766 to 3450 computations (49% saved)

localize8.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 y (+.f64 x y))
0.0b
(/.f64 1 (+.f64 (+.f64 x y) 1))
0.1b
(*.f64 (/.f64 y (+.f64 x y)) (*.f64 (/.f64 x (+.f64 x y)) (/.f64 1 (+.f64 (+.f64 x y) 1))))
0.1b
(*.f64 (/.f64 x (+.f64 x y)) (/.f64 1 (+.f64 (+.f64 x y) 1)))

series68.0ms (1.7%)

Counts
3 → 72
Calls

3 calls:

33.0ms
(*.f64 (/.f64 y (+.f64 x y)) (*.f64 (/.f64 x (+.f64 x y)) (/.f64 1 (+.f64 (+.f64 x y) 1))))
23.0ms
(*.f64 (/.f64 x (+.f64 x y)) (/.f64 1 (+.f64 (+.f64 x y) 1)))
11.0ms
(/.f64 1 (+.f64 (+.f64 x y) 1))

rewrite87.0ms (2.1%)

Algorithm
batch-egg-rewrite
Rules
635×prod-diff_binary64
132×add-sqr-sqrt_binary64
127×egg-rr
126×log1p-expm1-u_binary64
126×expm1-log1p-u_binary64
Counts
3 → 127
Calls

3 calls:

85.0ms
(/.f64 1 (+.f64 (+.f64 x y) 1))
85.0ms
(*.f64 (/.f64 y (+.f64 x y)) (*.f64 (/.f64 x (+.f64 x y)) (/.f64 1 (+.f64 (+.f64 x y) 1))))
85.0ms
(*.f64 (/.f64 x (+.f64 x y)) (/.f64 1 (+.f64 (+.f64 x y) 1)))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01151
126248
2387248
3512848
000
100

simplify83.0ms (2%)

Algorithm
egg-herbie
Rules
438×associate-+r+_binary64
355×fma-def_binary64
321×associate-/r*_binary64
317×times-frac_binary64
316×associate-+l+_binary64
Counts
199 → 213
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
03814547
112764503
255794503

prune298.0ms (7.3%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New2602262
Fresh235
Picked011
Done011
Total2627269
Error
0b
Counts
269 → 7
Alt Table
StatusErrorProgram
0.1b
(/.f64 (/.f64 (*.f64 x (/.f64 y (+.f64 x y))) (+.f64 x y)) (+.f64 (+.f64 x y) 1))
0.2b
(/.f64 (/.f64 (/.f64 x (+.f64 x y)) (+.f64 (+.f64 x y) 1)) (/.f64 (+.f64 x y) y))
0.3b
(*.f64 (/.f64 y (+.f64 x y)) (/.f64 1 (*.f64 (/.f64 (+.f64 x y) x) (+.f64 (+.f64 x y) 1))))
14.7b
(/.f64 (/.f64 (*.f64 x (log.f64 (exp.f64 (/.f64 y (+.f64 x y))))) (+.f64 x y)) (+.f64 (+.f64 x y) 1))
9.9b
(*.f64 x (/.f64 1 (/.f64 (pow.f64 (+.f64 x y) 2) (/.f64 y (+.f64 (+.f64 x y) 1)))))
0.1b
(*.f64 (/.f64 y (+.f64 x y)) (*.f64 (/.f64 x (+.f64 x y)) (/.f64 1 (+.f64 (+.f64 x y) 1))))
0.8b
(/.f64 (/.f64 x (+.f64 x y)) (*.f64 (/.f64 (+.f64 x y) y) (+.f64 (+.f64 x y) 1)))
Compiler

Compiled 9050 to 4900 computations (45.9% saved)

regimes550.0ms (13.5%)

Accuracy

Total 0.1b remaining (75.8%)

Threshold costs 0.1b (75.8%)

Counts
199 → 1
Compiler

Compiled 11942 to 6818 computations (42.9% saved)

simplify3.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01025
11525
21425

end220.0ms (5.4%)

Compiler

Compiled 215 to 108 computations (49.8% saved)

Profiling

Loading profile data...