Details

Time bar (total: 8.6s)

analyze694.0ms (8%)

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.1s (12.5%)

Results
995.0ms8256×body128valid
58.0ms471×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
Counts
1 → 2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01218
11818
22218
32218

prune3.0ms (0%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
25.9b
Counts
3 → 2
Alt Table
StatusErrorProgram
25.9b
(/.f64 (fma.f64 a c (*.f64 b d)) (fma.f64 c c (*.f64 d d)))
25.9b
(/.f64 (+.f64 (*.f64 a c) (*.f64 b d)) (+.f64 (*.f64 c c) (*.f64 d d)))
Compiler

Compiled 104 to 54 computations (48.1% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (*.f64 c c) (*.f64 d d))
0.5b
(+.f64 (*.f64 a c) (*.f64 b d))
25.4b
(/.f64 (+.f64 (*.f64 a c) (*.f64 b d)) (+.f64 (*.f64 c c) (*.f64 d d)))

series96.0ms (1.1%)

Counts
3 → 120
Calls

3 calls:

81.0ms
(/.f64 (+.f64 (*.f64 a c) (*.f64 b d)) (+.f64 (*.f64 c c) (*.f64 d d)))
8.0ms
(+.f64 (*.f64 a c) (*.f64 b d))
6.0ms
(+.f64 (*.f64 c c) (*.f64 d d))

rewrite16.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
11×*-un-lft-identity_binary64
11×add-sqr-sqrt_binary64
11×add-cube-cbrt_binary64
times-frac_binary64
add-log-exp_binary64
Counts
3 → 61
Calls

3 calls:

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

simplify126.0ms (1.5%)

Algorithm
egg-herbie
Rules
498×associate-*l*_binary64
491×fma-def_binary64
421×associate-*r*_binary64
343×times-frac_binary64
328×fma-neg_binary64
Counts
181 → 136
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01323026
13822904
212512820
347512808
449752808
549682808

prune95.0ms (1.1%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New1306136
Fresh101
Picked101
Done000
Total1326138
Error
0.0b
Counts
138 → 6
Alt Table
StatusErrorProgram
31.3b
(fma.f64 (/.f64 d c) (/.f64 b c) (/.f64 a c))
16.9b
(*.f64 (/.f64 1 (hypot.f64 d c)) (/.f64 (fma.f64 d b (*.f64 c a)) (hypot.f64 d c)))
33.1b
(fma.f64 (/.f64 c d) (/.f64 a d) (/.f64 b d))
17.5b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (fma.f64 d b (*.f64 c a))) (cbrt.f64 (fma.f64 d b (*.f64 c a)))) (hypot.f64 d c)) (/.f64 (cbrt.f64 (fma.f64 d b (*.f64 c a))) (hypot.f64 d c)))
25.8b
(fma.f64 (/.f64 d (fma.f64 d d (*.f64 c c))) b (/.f64 (*.f64 c a) (fma.f64 d d (*.f64 c c))))
25.9b
(/.f64 1 (/.f64 (fma.f64 d d (*.f64 c c)) (fma.f64 d b (*.f64 c a))))
Compiler

Compiled 3372 to 649 computations (80.8% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 d c)
0.0b
(fma.f64 d b (*.f64 c a))
0.2b
(*.f64 (/.f64 1 (hypot.f64 d c)) (/.f64 (fma.f64 d b (*.f64 c a)) (hypot.f64 d c)))
15.9b
(/.f64 (fma.f64 d b (*.f64 c a)) (hypot.f64 d c))

series222.0ms (2.6%)

Counts
4 → 168
Calls

4 calls:

104.0ms
(*.f64 (/.f64 1 (hypot.f64 d c)) (/.f64 (fma.f64 d b (*.f64 c a)) (hypot.f64 d c)))
96.0ms
(/.f64 (fma.f64 d b (*.f64 c a)) (hypot.f64 d c))
12.0ms
(hypot.f64 d c)
9.0ms
(fma.f64 d b (*.f64 c a))

rewrite19.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
43×add-sqr-sqrt_binary64
34×times-frac_binary64
28×*-un-lft-identity_binary64
28×add-exp-log_binary64
26×add-cube-cbrt_binary64
Counts
4 → 107
Calls

4 calls:

8.0ms
(*.f64 (/.f64 1 (hypot.f64 d c)) (/.f64 (fma.f64 d b (*.f64 c a)) (hypot.f64 d c)))
2.0ms
(/.f64 (fma.f64 d b (*.f64 c a)) (hypot.f64 d c))
0.0ms
(fma.f64 d b (*.f64 c a))
0.0ms
(hypot.f64 d c)

simplify144.0ms (1.7%)

Algorithm
egg-herbie
Rules
843×times-frac_binary64
425×fma-neg_binary64
389×fma-def_binary64
310×cancel-sign-sub-inv_binary64
283×distribute-rgt-in_binary64
Counts
275 → 264
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02285683
16235331
220835152
348045152
450305152

prune252.0ms (2.9%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New3015306
Fresh325
Picked101
Done000
Total3057312
Error
0.0b
Counts
312 → 7
Alt Table
StatusErrorProgram
16.8b
(/.f64 (*.f64 1 (/.f64 (fma.f64 d b (*.f64 c a)) (hypot.f64 d c))) (hypot.f64 d c))
31.0b
(*.f64 (/.f64 1 (hypot.f64 d c)) (cbrt.f64 (*.f64 (*.f64 (/.f64 (fma.f64 d b (*.f64 c a)) (hypot.f64 d c)) (/.f64 (fma.f64 d b (*.f64 c a)) (hypot.f64 d c))) (/.f64 (fma.f64 d b (*.f64 c a)) (hypot.f64 d c)))))
31.3b
(fma.f64 (/.f64 d c) (/.f64 b c) (/.f64 a c))
33.1b
(fma.f64 (/.f64 c d) (/.f64 a d) (/.f64 b d))
17.1b
(*.f64 (/.f64 1 (hypot.f64 d c)) (/.f64 (/.f64 (fma.f64 d b (*.f64 c a)) (sqrt.f64 (hypot.f64 d c))) (sqrt.f64 (hypot.f64 d c))))
43.1b
(*.f64 (/.f64 1 (hypot.f64 d c)) (fma.f64 (/.f64 d c) b a))
24.3b
(fma.f64 (/.f64 c (fma.f64 d d (*.f64 c c))) a (/.f64 (*.f64 d b) (fma.f64 d d (*.f64 c c))))
Compiler

Compiled 7918 to 2444 computations (69.1% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(hypot.f64 d c)
0.0b
(fma.f64 d b (*.f64 c a))
0.1b
(/.f64 (*.f64 1 (/.f64 (fma.f64 d b (*.f64 c a)) (hypot.f64 d c))) (hypot.f64 d c))
15.9b
(/.f64 (fma.f64 d b (*.f64 c a)) (hypot.f64 d c))

series138.0ms (1.6%)

Counts
1 → 48
Calls

1 calls:

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

rewrite8.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
15×add-exp-log_binary64
10×add-cbrt-cube_binary64
div-exp_binary64
cbrt-undiv_binary64
prod-exp_binary64
Counts
1 → 28
Calls

1 calls:

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

simplify91.0ms (1.1%)

Algorithm
egg-herbie
Rules
658×fma-def_binary64
563×fma-neg_binary64
466×times-frac_binary64
352×associate-/l*_binary64
263×distribute-rgt-neg-in_binary64
Counts
76 → 64
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
0992092
12421844
27831742
329011724
447021688
551061688

prune178.0ms (2.1%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New2561257
Fresh156
Picked011
Done000
Total2577264
Error
0.0b
Counts
264 → 7
Alt Table
StatusErrorProgram
16.8b
(/.f64 (*.f64 1 (/.f64 (fma.f64 d b (*.f64 c a)) (hypot.f64 d c))) (hypot.f64 d c))
31.0b
(*.f64 (/.f64 1 (hypot.f64 d c)) (cbrt.f64 (*.f64 (*.f64 (/.f64 (fma.f64 d b (*.f64 c a)) (hypot.f64 d c)) (/.f64 (fma.f64 d b (*.f64 c a)) (hypot.f64 d c))) (/.f64 (fma.f64 d b (*.f64 c a)) (hypot.f64 d c)))))
31.3b
(fma.f64 (/.f64 d c) (/.f64 b c) (/.f64 a c))
33.1b
(fma.f64 (/.f64 c d) (/.f64 a d) (/.f64 b d))
17.1b
(*.f64 (/.f64 1 (hypot.f64 d c)) (/.f64 (/.f64 (fma.f64 d b (*.f64 c a)) (sqrt.f64 (hypot.f64 d c))) (sqrt.f64 (hypot.f64 d c))))
43.1b
(/.f64 (*.f64 1 (fma.f64 (/.f64 d c) b a)) (hypot.f64 d c))
24.3b
(fma.f64 (/.f64 c (fma.f64 d d (*.f64 c c))) a (/.f64 (*.f64 d b) (fma.f64 d d (*.f64 c c))))
Compiler

Compiled 6355 to 2169 computations (65.9% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(sqrt.f64 (hypot.f64 d c))
0.2b
(*.f64 (/.f64 1 (hypot.f64 d c)) (/.f64 (/.f64 (fma.f64 d b (*.f64 c a)) (sqrt.f64 (hypot.f64 d c))) (sqrt.f64 (hypot.f64 d c))))
6.5b
(/.f64 (/.f64 (fma.f64 d b (*.f64 c a)) (sqrt.f64 (hypot.f64 d c))) (sqrt.f64 (hypot.f64 d c)))
9.4b
(/.f64 (fma.f64 d b (*.f64 c a)) (sqrt.f64 (hypot.f64 d c)))

series376.0ms (4.4%)

Counts
4 → 136
Calls

4 calls:

131.0ms
(/.f64 (fma.f64 d b (*.f64 c a)) (sqrt.f64 (hypot.f64 d c)))
121.0ms
(/.f64 (/.f64 (fma.f64 d b (*.f64 c a)) (sqrt.f64 (hypot.f64 d c))) (sqrt.f64 (hypot.f64 d c)))
103.0ms
(*.f64 (/.f64 1 (hypot.f64 d c)) (/.f64 (/.f64 (fma.f64 d b (*.f64 c a)) (sqrt.f64 (hypot.f64 d c))) (sqrt.f64 (hypot.f64 d c))))
21.0ms
(sqrt.f64 (hypot.f64 d c))

rewrite143.0ms (1.7%)

Algorithm
rewrite-expression-head
Rules
569×times-frac_binary64
367×add-sqr-sqrt_binary64
294×*-un-lft-identity_binary64
287×add-cube-cbrt_binary64
282×sqrt-prod_binary64
Counts
4 → 435
Calls

4 calls:

39.0ms
(*.f64 (/.f64 1 (hypot.f64 d c)) (/.f64 (/.f64 (fma.f64 d b (*.f64 c a)) (sqrt.f64 (hypot.f64 d c))) (sqrt.f64 (hypot.f64 d c))))
11.0ms
(/.f64 (/.f64 (fma.f64 d b (*.f64 c a)) (sqrt.f64 (hypot.f64 d c))) (sqrt.f64 (hypot.f64 d c)))
3.0ms
(/.f64 (fma.f64 d b (*.f64 c a)) (sqrt.f64 (hypot.f64 d c)))
1.0ms
(sqrt.f64 (hypot.f64 d c))

simplify517.0ms (6%)

Algorithm
egg-herbie
Rules
622×fma-def_binary64
350×associate-/l/_binary64
331×associate-/l*_binary64
313×associate-*l/_binary64
301×associate-*r/_binary64
Counts
571 → 620
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
048419970
1132518582
2404517818
3490217818
4499217818
5496017818

prune531.0ms (6.2%)

Pruning

6 alts after pruning (5 fresh and 1 done)

PrunedKeptTotal
New6491650
Fresh145
Picked101
Done011
Total6516657
Error
0.0b
Counts
657 → 6
Alt Table
StatusErrorProgram
31.3b
(fma.f64 (/.f64 d c) (/.f64 b c) (/.f64 a c))
33.1b
(fma.f64 (/.f64 c d) (/.f64 a d) (/.f64 b d))
43.1b
(/.f64 (*.f64 1 (fma.f64 (/.f64 d c) b a)) (hypot.f64 d c))
17.0b
(*.f64 (/.f64 1 (hypot.f64 d c)) (/.f64 (*.f64 (fma.f64 d b (*.f64 c a)) (/.f64 1 (sqrt.f64 (hypot.f64 d c)))) (sqrt.f64 (hypot.f64 d c))))
24.3b
(fma.f64 (/.f64 c (fma.f64 d d (*.f64 c c))) a (/.f64 (*.f64 d b) (fma.f64 d d (*.f64 c c))))
16.8b
(/.f64 (*.f64 1 (/.f64 (fma.f64 d b (*.f64 c a)) (hypot.f64 d c))) (hypot.f64 d c))
Compiler

Compiled 24014 to 4853 computations (79.8% saved)

regimes3.7s (42.5%)

Accuracy

Total 9.6b remaining (98.1%)

Threshold costs 0b (0%)

Counts
230 → 5
Compiler

Compiled 24304 to 13932 computations (42.7% saved)

bsearch72.0ms (0.8%)

Steps
ItersRangePoint
6
7.246757509829897e+167
4.731472614573352e+168
7.346913309450737e+167
6
4.540840466594869e-207
2.893572695982277e-206
2.840945379294546e-206
7
-3.58980974963377e-213
-2.085940664827632e-215
-3.503819725312034e-213
6
-4.203831380111236e+129
-7.79835634961433e+128
-1.258944315537144e+129
Compiler

Compiled 5 to 4 computations (20% saved)

simplify6.0ms (0.1%)

Algorithm
egg-herbie
Rules
10×*-commutative_binary64
neg-sub0_binary64
neg-mul-1_binary64
+-commutative_binary64
sub-neg_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
043112
160112
276112
383112
488112
590112
688112

end111.0ms (1.3%)

Compiler

Compiled 278 to 134 computations (51.8% saved)

Profiling

Loading profile data...