Details

Time bar (total: 7.3s)

analyze703.0ms (9.6%)

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)

sample40.0ms (0.5%)

Algorithm
intervals
Results
14.0ms256×body128valid
1.0ms18×body128invalid
Compiler

Compiled 43 to 27 computations (37.2% 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

2 alts after pruning (2 fresh and 0 done)

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

Compiled 70 to 36 computations (48.6% saved)

localize9.0ms (0.1%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.7b
(+.f64 (*.f64 a c) (*.f64 b d))
27.7b
(/.f64 (+.f64 (*.f64 a c) (*.f64 b d)) (+.f64 (*.f64 c c) (*.f64 d d)))

series89.0ms (1.2%)

Counts
2 → 96
Calls

2 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))

rewrite15.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
10×*-un-lft-identity_binary64
10×add-sqr-sqrt_binary64
10×add-cube-cbrt_binary64
times-frac_binary64
add-cbrt-cube_binary64
Counts
2 → 47
Calls

2 calls:

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

simplify107.0ms (1.5%)

Algorithm
egg-herbie
Rules
472×associate-*l*_binary64
420×fma-def_binary64
391×associate-*r*_binary64
343×times-frac_binary64
331×fma-neg_binary64
Counts
143 → 107
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01222682
13412585
211592501
344612489
448882489
549802489

prune76.0ms (1%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New1016107
Fresh000
Picked101
Done000
Total1026108
Error
0.0b
Counts
108 → 6
Alt Table
StatusErrorProgram
34.0b
(fma.f64 (/.f64 c d) (/.f64 a d) (/.f64 b d))
28.5b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 d b (*.f64 c a))) (cbrt.f64 (fma.f64 d b (*.f64 c a)))) (/.f64 (cbrt.f64 (fma.f64 d b (*.f64 c a))) (fma.f64 d d (*.f64 c c))))
26.9b
(fma.f64 (/.f64 d (fma.f64 d d (*.f64 c c))) b (/.f64 (*.f64 c a) (fma.f64 d d (*.f64 c c))))
30.8b
(fma.f64 (/.f64 d c) (/.f64 b c) (/.f64 a c))
43.6b
(/.f64 (-.f64 (*.f64 (*.f64 a c) (*.f64 a c)) (*.f64 (*.f64 b d) (*.f64 b d))) (*.f64 (fma.f64 d d (*.f64 c c)) (-.f64 (*.f64 c a) (*.f64 d b))))
18.5b
(*.f64 (/.f64 1 (hypot.f64 d c)) (/.f64 (fma.f64 d b (*.f64 c a)) (hypot.f64 d c)))
Compiler

Compiled 2833 to 562 computations (80.2% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series228.0ms (3.1%)

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)))
95.0ms
(/.f64 (fma.f64 d b (*.f64 c a)) (hypot.f64 d c))
17.0ms
(/.f64 1 (hypot.f64 d c))
11.0ms
(fma.f64 d b (*.f64 c a))

rewrite26.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
51×add-sqr-sqrt_binary64
43×times-frac_binary64
36×*-un-lft-identity_binary64
34×add-cube-cbrt_binary64
32×add-exp-log_binary64
Counts
4 → 130
Calls

4 calls:

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

simplify153.0ms (2.1%)

Algorithm
egg-herbie
Rules
845×times-frac_binary64
428×fma-neg_binary64
410×fma-def_binary64
335×cancel-sign-sub-inv_binary64
274×distribute-rgt-in_binary64
Counts
298 → 286
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02336205
16315720
221255547
348415539
450795539

prune189.0ms (2.6%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New2815286
Fresh325
Picked101
Done000
Total2857292
Error
0.0b
Counts
292 → 7
Alt Table
StatusErrorProgram
30.8b
(fma.f64 (/.f64 d c) (/.f64 b c) (/.f64 a c))
18.4b
(/.f64 (/.f64 (fma.f64 a c (*.f64 d b)) (hypot.f64 d c)) (hypot.f64 d c))
43.7b
(*.f64 (/.f64 1 (hypot.f64 d c)) (neg.f64 (fma.f64 (/.f64 d c) b a)))
18.7b
(*.f64 (/.f64 (/.f64 1 (sqrt.f64 (hypot.f64 d c))) (sqrt.f64 (hypot.f64 d c))) (/.f64 (fma.f64 d b (*.f64 c a)) (hypot.f64 d c)))
26.1b
(fma.f64 (/.f64 c (fma.f64 d d (*.f64 c c))) a (/.f64 (*.f64 d b) (fma.f64 d d (*.f64 c c))))
34.0b
(fma.f64 (/.f64 c d) (/.f64 a d) (/.f64 b d))
19.0b
(*.f64 (/.f64 1 (hypot.f64 d c)) (/.f64 (/.f64 (fma.f64 d b (*.f64 c a)) (*.f64 (cbrt.f64 (hypot.f64 d c)) (cbrt.f64 (hypot.f64 d c)))) (cbrt.f64 (hypot.f64 d c))))
Compiler

Compiled 7357 to 2191 computations (70.2% saved)

localize11.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (/.f64 (fma.f64 a c (*.f64 d b)) (hypot.f64 d c)) (hypot.f64 d c))
0.3b
(fma.f64 a c (*.f64 d b))
17.3b
(/.f64 (fma.f64 a c (*.f64 d b)) (hypot.f64 d c))

series206.0ms (2.8%)

Counts
3 → 144
Calls

3 calls:

101.0ms
(/.f64 (/.f64 (fma.f64 a c (*.f64 d b)) (hypot.f64 d c)) (hypot.f64 d c))
94.0ms
(/.f64 (fma.f64 a c (*.f64 d b)) (hypot.f64 d c))
11.0ms
(fma.f64 a c (*.f64 d b))

rewrite18.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
84×times-frac_binary64
53×*-un-lft-identity_binary64
53×add-sqr-sqrt_binary64
53×add-cube-cbrt_binary64
16×associate-/l*_binary64
Counts
3 → 111
Calls

3 calls:

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

simplify156.0ms (2.1%)

Algorithm
egg-herbie
Rules
674×times-frac_binary64
512×associate-/l*_binary64
382×associate-/l/_binary64
345×fma-neg_binary64
339×associate-/r*_binary64
Counts
255 → 249
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02216272
15385929
214405628
345245565
450335565

prune148.0ms (2%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New2472249
Fresh246
Picked011
Done000
Total2497256
Error
0.0b
Counts
256 → 7
Alt Table
StatusErrorProgram
30.8b
(fma.f64 (/.f64 d c) (/.f64 b c) (/.f64 a c))
18.4b
(/.f64 (/.f64 (fma.f64 a c (*.f64 d b)) (hypot.f64 d c)) (hypot.f64 d c))
19.0b
(/.f64 (/.f64 (/.f64 (fma.f64 a c (*.f64 d b)) (*.f64 (cbrt.f64 (hypot.f64 d c)) (cbrt.f64 (hypot.f64 d c)))) (cbrt.f64 (hypot.f64 d c))) (hypot.f64 d c))
18.7b
(*.f64 (/.f64 (/.f64 1 (sqrt.f64 (hypot.f64 d c))) (sqrt.f64 (hypot.f64 d c))) (/.f64 (fma.f64 d b (*.f64 c a)) (hypot.f64 d c)))
26.1b
(fma.f64 (/.f64 c (fma.f64 d d (*.f64 c c))) a (/.f64 (*.f64 d b) (fma.f64 d d (*.f64 c c))))
34.0b
(fma.f64 (/.f64 c d) (/.f64 a d) (/.f64 b d))
43.7b
(/.f64 (neg.f64 (fma.f64 (/.f64 d c) b a)) (hypot.f64 d c))
Compiler

Compiled 6448 to 1207 computations (81.3% saved)

localize13.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (/.f64 (/.f64 1 (sqrt.f64 (hypot.f64 d c))) (sqrt.f64 (hypot.f64 d c))) (/.f64 (fma.f64 d b (*.f64 c a)) (hypot.f64 d c)))
0.3b
(/.f64 (/.f64 1 (sqrt.f64 (hypot.f64 d c))) (sqrt.f64 (hypot.f64 d c)))
0.5b
(fma.f64 d b (*.f64 c a))
17.3b
(/.f64 (fma.f64 d b (*.f64 c a)) (hypot.f64 d c))

series118.0ms (1.6%)

Counts
2 → 72
Calls

2 calls:

98.0ms
(*.f64 (/.f64 (/.f64 1 (sqrt.f64 (hypot.f64 d c))) (sqrt.f64 (hypot.f64 d c))) (/.f64 (fma.f64 d b (*.f64 c a)) (hypot.f64 d c)))
19.0ms
(/.f64 (/.f64 1 (sqrt.f64 (hypot.f64 d c))) (sqrt.f64 (hypot.f64 d c)))

rewrite118.0ms (1.6%)

Algorithm
rewrite-expression-head
Rules
555×times-frac_binary64
355×add-sqr-sqrt_binary64
277×*-un-lft-identity_binary64
270×sqrt-prod_binary64
269×add-cube-cbrt_binary64
Counts
2 → 388
Calls

2 calls:

34.0ms
(*.f64 (/.f64 (/.f64 1 (sqrt.f64 (hypot.f64 d c))) (sqrt.f64 (hypot.f64 d c))) (/.f64 (fma.f64 d b (*.f64 c a)) (hypot.f64 d c)))
8.0ms
(/.f64 (/.f64 1 (sqrt.f64 (hypot.f64 d c))) (sqrt.f64 (hypot.f64 d c)))

simplify373.0ms (5.1%)

Algorithm
egg-herbie
Rules
421×associate-/r/_binary64
276×fma-def_binary64
270×distribute-rgt-in_binary64
255×distribute-lft-in_binary64
250×associate-*l/_binary64
Counts
460 → 493
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
029114937
178813365
2236312215
3485112207
4499412207
5496012207

prune365.0ms (5%)

Pruning

7 alts after pruning (5 fresh and 2 done)

PrunedKeptTotal
New6020602
Fresh055
Picked011
Done011
Total6027609
Error
0.0b
Counts
609 → 7
Alt Table
StatusErrorProgram
30.8b
(fma.f64 (/.f64 d c) (/.f64 b c) (/.f64 a c))
18.4b
(/.f64 (/.f64 (fma.f64 a c (*.f64 d b)) (hypot.f64 d c)) (hypot.f64 d c))
19.0b
(/.f64 (/.f64 (/.f64 (fma.f64 a c (*.f64 d b)) (*.f64 (cbrt.f64 (hypot.f64 d c)) (cbrt.f64 (hypot.f64 d c)))) (cbrt.f64 (hypot.f64 d c))) (hypot.f64 d c))
18.7b
(*.f64 (/.f64 (/.f64 1 (sqrt.f64 (hypot.f64 d c))) (sqrt.f64 (hypot.f64 d c))) (/.f64 (fma.f64 d b (*.f64 c a)) (hypot.f64 d c)))
26.1b
(fma.f64 (/.f64 c (fma.f64 d d (*.f64 c c))) a (/.f64 (*.f64 d b) (fma.f64 d d (*.f64 c c))))
34.0b
(fma.f64 (/.f64 c d) (/.f64 a d) (/.f64 b d))
43.7b
(/.f64 (neg.f64 (fma.f64 (/.f64 d c) b a)) (hypot.f64 d c))
Compiler

Compiled 20625 to 5671 computations (72.5% saved)

regimes3.2s (44%)

Accuracy

Total 10.1b remaining (98.7%)

Threshold costs 0b (0%)

Counts
178 → 5
Compiler

Compiled 19366 to 10873 computations (43.9% saved)

bsearch86.0ms (1.2%)

Steps
ItersRangePoint
7
5.5013555494050716e+132
1.163007707576428e+135
1.6628009337917042e+133
9
1.3539858821618174e-112
1.1977277435158817e-107
2.8636600701744714e-111
10
-4.571610901252968e-192
-1.6060599745547955e-204
-1.050794049494874e-197
10
-2.4619775670305076e+166
-1.759780515416923e+153
-2.937760174171857e+153
Compiler

Compiled 5 to 4 computations (20% saved)

simplify14.0ms (0.2%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
039110
149110
253110
356110
457110
556110

end1.0ms (0%)

Compiler

Compiled 80 to 35 computations (56.3% saved)

sample809.0ms (11.1%)

Algorithm
intervals
Results
411.0ms8000×body128valid
27.0ms467×body128invalid
Compiler

Compiled 244 to 120 computations (50.8% saved)

Profiling

Loading profile data...