Details

Time bar (total: 5.1s)

analyze682.0ms (13.3%)

Algorithm
search
Search
TrueOtherFalseIter
0%99.8%0.2%0
0%99.8%0.2%1
0%99.8%0.2%2
0%99.8%0.2%3
0%99.8%0.2%4
0%99.8%0.2%5
0%99.8%0.2%6
0%99.8%0.2%7
6.2%93.6%0.2%8
25%74.9%0.2%9
28.1%71.7%0.2%10
29.6%70.2%0.2%11
53%46.8%0.2%12
71.3%28.5%0.2%13
71.7%28.1%0.2%14
Compiler

Compiled 20 to 12 computations (40% saved)

sample1.0s (19.8%)

Results
931.0ms8256×body128valid
54.0ms498×body128invalid
Compiler

Compiled 59 to 35 computations (40.7% saved)

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Rules
fma-def_binary64
+-commutative_binary64
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01218
11818
22218
Stop Event
saturated
Counts
1 → 2

prune3.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New112
Fresh011
Picked000
Done000
Total123
Error
26.7b
Counts
3 → 1
Alt Table
StatusErrorProgram
26.7b
(/.f64 (+.f64 (*.f64 a c) (*.f64 b d)) (+.f64 (*.f64 c c) (*.f64 d d)))
Compiler

Compiled 70 to 36 computations (48.6% saved)

localize8.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.2b
(+.f64 (*.f64 a c) (*.f64 b d))
26.2b
(/.f64 (+.f64 (*.f64 a c) (*.f64 b d)) (+.f64 (*.f64 c c) (*.f64 d d)))

series71.0ms (1.4%)

Counts
2 → 96
Calls

2 calls:

64.0ms
(/.f64 (+.f64 (*.f64 a c) (*.f64 b d)) (+.f64 (*.f64 c c) (*.f64 d d)))
7.0ms
(+.f64 (*.f64 a c) (*.f64 b d))

rewrite61.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
506×fma-def_binary64
244×fma-neg_binary64
239×expm1-udef_binary64
239×log1p-udef_binary64
134×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01226
126425
2378225
Stop Event
node limit
Counts
2 → 94
Calls

2 calls:

59.0ms
(+.f64 (*.f64 a c) (*.f64 b d))
59.0ms
(/.f64 (+.f64 (*.f64 a c) (*.f64 b d)) (+.f64 (*.f64 c c) (*.f64 d d)))

simplify41.0ms (0.8%)

Algorithm
egg-herbie
Rules
597×associate-*l/_binary64
518×fma-def_binary64
407×associate-/r/_binary64
354×fma-neg_binary64
278×associate-/l/_binary64
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
0411626
11141542
23561458
317971410
Stop Event
node limit
Counts
190 → 118

prune81.0ms (1.6%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New1117118
Fresh000
Picked011
Done000
Total1118119
Error
2.2b
Counts
119 → 8
Alt Table
StatusErrorProgram
26.7b
(/.f64 (+.f64 (*.f64 a c) (*.f64 b d)) (+.f64 (*.f64 c c) (*.f64 d d)))
35.7b
(/.f64 a c)
19.8b
(*.f64 (/.f64 (pow.f64 (cbrt.f64 (fma.f64 a c (*.f64 b d))) 2) (hypot.f64 c d)) (/.f64 (cbrt.f64 (fma.f64 a c (*.f64 b d))) (hypot.f64 c d)))
34.9b
(fma.f64 a (/.f64 c (*.f64 d d)) (/.f64 b d))
25.3b
(fma.f64 b (/.f64 d (fma.f64 d d (*.f64 c c))) (/.f64 c (/.f64 (fma.f64 d d (*.f64 c c)) a)))
38.7b
(pow.f64 (/.f64 (sqrt.f64 (fma.f64 a c (*.f64 b d))) (hypot.f64 c d)) 2)
19.3b
(*.f64 (/.f64 1 (hypot.f64 c d)) (/.f64 (fma.f64 a c (*.f64 b d)) (hypot.f64 c d)))
37.2b
(/.f64 b d)
Compiler

Compiled 2539 to 818 computations (67.8% saved)

localize12.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 a c (*.f64 b d))
0.0b
(hypot.f64 c d)
0.3b
(*.f64 (/.f64 1 (hypot.f64 c d)) (/.f64 (fma.f64 a c (*.f64 b d)) (hypot.f64 c d)))
17.9b
(/.f64 (fma.f64 a c (*.f64 b d)) (hypot.f64 c d))

series175.0ms (3.4%)

Counts
4 → 168
Calls

4 calls:

80.0ms
(*.f64 (/.f64 1 (hypot.f64 c d)) (/.f64 (fma.f64 a c (*.f64 b d)) (hypot.f64 c d)))
76.0ms
(/.f64 (fma.f64 a c (*.f64 b d)) (hypot.f64 c d))
10.0ms
(hypot.f64 c d)
8.0ms
(fma.f64 a c (*.f64 b d))

rewrite61.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
614×log-prod_binary64
254×prod-diff_binary64
213×expm1-udef_binary64
213×log1p-udef_binary64
200×log-pow_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01246
124643
2315543
Stop Event
node limit
Counts
4 → 153
Calls

4 calls:

58.0ms
(fma.f64 a c (*.f64 b d))
58.0ms
(hypot.f64 c d)
58.0ms
(*.f64 (/.f64 1 (hypot.f64 c d)) (/.f64 (fma.f64 a c (*.f64 b d)) (hypot.f64 c d)))
58.0ms
(/.f64 (fma.f64 a c (*.f64 b d)) (hypot.f64 c d))

simplify82.0ms (1.6%)

Algorithm
egg-herbie
Rules
560×times-frac_binary64
423×associate-/l*_binary64
332×fma-def_binary64
297×cancel-sign-sub-inv_binary64
277×associate-/r*_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01133196
13733046
212842876
Stop Event
node limit
Counts
321 → 243

prune222.0ms (4.3%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New2946300
Fresh516
Picked101
Done011
Total3008308
Error
0.1b
Counts
308 → 8
Alt Table
StatusErrorProgram
25.3b
(fma.f64 b (/.f64 d (fma.f64 d d (*.f64 c c))) (/.f64 c (/.f64 (fma.f64 d d (*.f64 c c)) a)))
44.1b
(*.f64 (/.f64 1 (hypot.f64 c d)) (neg.f64 (fma.f64 (/.f64 d c) b a)))
44.3b
(*.f64 (/.f64 1 (hypot.f64 c d)) (fma.f64 (/.f64 d c) b a))
19.3b
(/.f64 (/.f64 1 (hypot.f64 c d)) (/.f64 (hypot.f64 c d) (fma.f64 a c (*.f64 b d))))
44.7b
(*.f64 (/.f64 1 (hypot.f64 c d)) (fma.f64 (/.f64 c d) a b))
26.7b
(/.f64 (+.f64 (*.f64 a c) (*.f64 b d)) (+.f64 (*.f64 c c) (*.f64 d d)))
31.1b
(fma.f64 (/.f64 d c) (/.f64 b c) (/.f64 a c))
32.4b
(fma.f64 (/.f64 a d) (/.f64 c d) (/.f64 b d))
Compiler

Compiled 6884 to 2551 computations (62.9% saved)

localize9.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 a c (*.f64 b d))
0.0b
(hypot.f64 c d)
0.3b
(/.f64 (/.f64 1 (hypot.f64 c d)) (/.f64 (hypot.f64 c d) (fma.f64 a c (*.f64 b d))))
17.9b
(/.f64 (hypot.f64 c d) (fma.f64 a c (*.f64 b d)))

series143.0ms (2.8%)

Counts
2 → 96
Calls

2 calls:

91.0ms
(/.f64 (/.f64 1 (hypot.f64 c d)) (/.f64 (hypot.f64 c d) (fma.f64 a c (*.f64 b d))))
52.0ms
(/.f64 (hypot.f64 c d) (fma.f64 a c (*.f64 b d)))

rewrite52.0ms (1%)

Algorithm
batch-egg-rewrite
Rules
281×prod-diff_binary64
221×expm1-udef_binary64
221×log1p-udef_binary64
207×log-pow_binary64
127×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01237
125231
2338231
Stop Event
node limit
Counts
2 → 79
Calls

2 calls:

50.0ms
(/.f64 (/.f64 1 (hypot.f64 c d)) (/.f64 (hypot.f64 c d) (fma.f64 a c (*.f64 b d))))
50.0ms
(/.f64 (hypot.f64 c d) (fma.f64 a c (*.f64 b d)))

simplify58.0ms (1.1%)

Algorithm
egg-herbie
Rules
576×fma-def_binary64
567×cancel-sign-sub-inv_binary64
236×fma-neg_binary64
227×times-frac_binary64
209×distribute-neg-frac_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01343858
14913302
223833044
Stop Event
node limit
Counts
175 → 145

prune223.0ms (4.3%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New2911292
Fresh156
Picked011
Done011
Total2928300
Error
0.0b
Counts
300 → 8
Alt Table
StatusErrorProgram
25.3b
(fma.f64 b (/.f64 d (fma.f64 d d (*.f64 c c))) (/.f64 c (/.f64 (fma.f64 d d (*.f64 c c)) a)))
44.1b
(*.f64 (/.f64 1 (hypot.f64 c d)) (neg.f64 (fma.f64 (/.f64 d c) b a)))
19.3b
(/.f64 (/.f64 1 (hypot.f64 c d)) (/.f64 (hypot.f64 c d) (fma.f64 a c (*.f64 b d))))
44.7b
(*.f64 (/.f64 1 (hypot.f64 c d)) (fma.f64 (/.f64 c d) a b))
26.7b
(/.f64 (+.f64 (*.f64 a c) (*.f64 b d)) (+.f64 (*.f64 c c) (*.f64 d d)))
31.1b
(fma.f64 (/.f64 d c) (/.f64 b c) (/.f64 a c))
32.4b
(fma.f64 (/.f64 a d) (/.f64 c d) (/.f64 b d))
50.9b
(/.f64 (/.f64 1 (hypot.f64 c d)) (+.f64 (*.f64 (*.f64 (/.f64 d c) (/.f64 d c)) (+.f64 (/.f64 (*.f64 b b) (pow.f64 a 3)) (/.f64 1/2 a))) (-.f64 (/.f64 1 a) (*.f64 (/.f64 d c) (/.f64 b (*.f64 a a))))))
Compiler

Compiled 7710 to 3268 computations (57.6% saved)

localize12.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
1.2b
(fma.f64 b (/.f64 d (fma.f64 d d (*.f64 c c))) (/.f64 c (/.f64 (fma.f64 d d (*.f64 c c)) a)))
8.4b
(/.f64 c (/.f64 (fma.f64 d d (*.f64 c c)) a))
9.2b
(/.f64 (fma.f64 d d (*.f64 c c)) a)
18.5b
(/.f64 d (fma.f64 d d (*.f64 c c)))

series204.0ms (4%)

Counts
4 → 144
Calls

4 calls:

112.0ms
(fma.f64 b (/.f64 d (fma.f64 d d (*.f64 c c))) (/.f64 c (/.f64 (fma.f64 d d (*.f64 c c)) a)))
58.0ms
(/.f64 c (/.f64 (fma.f64 d d (*.f64 c c)) a))
21.0ms
(/.f64 (fma.f64 d d (*.f64 c c)) a)
14.0ms
(/.f64 d (fma.f64 d d (*.f64 c c)))

rewrite62.0ms (1.2%)

Algorithm
batch-egg-rewrite
Rules
463×prod-diff_binary64
218×expm1-udef_binary64
218×log1p-udef_binary64
132×egg-rr
122×add-sqr-sqrt_binary64
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01164
123659
2333559
Stop Event
node limit
Counts
4 → 132
Calls

4 calls:

59.0ms
(fma.f64 b (/.f64 d (fma.f64 d d (*.f64 c c))) (/.f64 c (/.f64 (fma.f64 d d (*.f64 c c)) a)))
59.0ms
(/.f64 c (/.f64 (fma.f64 d d (*.f64 c c)) a))
59.0ms
(/.f64 (fma.f64 d d (*.f64 c c)) a)
59.0ms
(/.f64 d (fma.f64 d d (*.f64 c c)))

simplify80.0ms (1.6%)

Algorithm
egg-herbie
Rules
388×distribute-neg-frac_binary64
387×times-frac_binary64
309×associate-/l*_binary64
243×associate-/r*_binary64
238×sub-neg_binary64
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0933240
12413108
27512964
339992964
Stop Event
node limit
Counts
276 → 189

prune127.0ms (2.5%)

Pruning

8 alts after pruning (5 fresh and 3 done)

PrunedKeptTotal
New1890189
Fresh055
Picked011
Done022
Total1898197
Error
0.0b
Counts
197 → 8
Alt Table
StatusErrorProgram
25.3b
(fma.f64 b (/.f64 d (fma.f64 d d (*.f64 c c))) (/.f64 c (/.f64 (fma.f64 d d (*.f64 c c)) a)))
44.1b
(*.f64 (/.f64 1 (hypot.f64 c d)) (neg.f64 (fma.f64 (/.f64 d c) b a)))
19.3b
(/.f64 (/.f64 1 (hypot.f64 c d)) (/.f64 (hypot.f64 c d) (fma.f64 a c (*.f64 b d))))
44.7b
(*.f64 (/.f64 1 (hypot.f64 c d)) (fma.f64 (/.f64 c d) a b))
26.7b
(/.f64 (+.f64 (*.f64 a c) (*.f64 b d)) (+.f64 (*.f64 c c) (*.f64 d d)))
31.1b
(fma.f64 (/.f64 d c) (/.f64 b c) (/.f64 a c))
32.4b
(fma.f64 (/.f64 a d) (/.f64 c d) (/.f64 b d))
50.9b
(/.f64 (/.f64 1 (hypot.f64 c d)) (+.f64 (*.f64 (*.f64 (/.f64 d c) (/.f64 d c)) (+.f64 (/.f64 (*.f64 b b) (pow.f64 a 3)) (/.f64 1/2 a))) (-.f64 (/.f64 1 a) (*.f64 (/.f64 d c) (/.f64 b (*.f64 a a))))))
Compiler

Compiled 4810 to 1849 computations (61.6% saved)

regimes1.5s (28.2%)

Accuracy

Total 11.2b remaining (98.6%)

Threshold costs 0b (0%)

Counts
121 → 5
Compiler

Compiled 11198 to 6849 computations (38.8% saved)

bsearch77.0ms (1.5%)

Steps
ItersRangePoint
9
3.363924642192831e+135
3.5965325781940086e+140
1.2722428837589733e+140
9
2.634451215286903e-71
3.60595376629138e-65
2.670610561569208e-71
8
-2.4141280899525958e-105
-1.8387138583883085e-108
-3.283521020638581e-106
7
-9.881632775610893e+154
-1.2999618955171796e+153
-1.1870115366769325e+154
Compiler

Compiled 5 to 4 computations (20% saved)

simplify5.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
040113
142113
Stop Event
saturated

end118.0ms (2.3%)

Compiler

Compiled 333 to 170 computations (48.9% saved)

Profiling

Loading profile data...