Details

Time bar (total: 9.1s)

analyze1.8s (19.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
0%99.8%0.2%8
0%99.8%0.2%9
0%99.8%0.2%10
0%99.8%0.2%11
0%99.8%0.2%12
0%99.8%0.2%13
0%99.8%0.2%14
Compiler

Compiled 20 to 12 computations (40% saved)

sample1.4s (15.4%)

Results
1.1s8256×body128valid
185.0ms250×body8192exit
31.0ms243×body128invalid
Compiler

Compiled 59 to 35 computations (40.7% saved)

simplify67.0ms (0.7%)

Algorithm
egg-herbie
Rules
1070×fma-neg_binary64
881×fma-def_binary64
768×times-frac_binary64
551×cancel-sign-sub-inv_binary64
514×unsub-neg_binary64
Counts
1 → 2
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01220
12520
24720
37820
414920
522820
632420
750020
869420
986720
1099920
11242220
12392020
13495020

prune3.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New112
Fresh101
Picked000
Done000
Total213
Error
24.7b
Counts
3 → 1
Alt Table
StatusErrorProgram
24.7b
(/.f64 (-.f64 (*.f64 b c) (*.f64 a d)) (fma.f64 c c (*.f64 d d)))
Compiler

Compiled 69 to 33 computations (52.2% saved)

localize9.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(fma.f64 c c (*.f64 d d))
0.5b
(-.f64 (*.f64 b c) (*.f64 a d))
24.4b
(/.f64 (-.f64 (*.f64 b c) (*.f64 a d)) (fma.f64 c c (*.f64 d d)))

series102.0ms (1.1%)

Counts
3 → 120
Calls

3 calls:

86.0ms
(/.f64 (-.f64 (*.f64 b c) (*.f64 a d)) (fma.f64 c c (*.f64 d d)))
9.0ms
(-.f64 (*.f64 b c) (*.f64 a d))
6.0ms
(fma.f64 c c (*.f64 d d))

rewrite11.0ms (0.1%)

Algorithm
rewrite-expression-head
Rules
11×*-un-lft-identity_binary64
11×add-sqr-sqrt_binary64
11×add-cube-cbrt_binary64
times-frac_binary64
add-cbrt-cube_binary64
Counts
3 → 58
Calls

3 calls:

5.0ms
(/.f64 (-.f64 (*.f64 b c) (*.f64 a d)) (fma.f64 c c (*.f64 d d)))
3.0ms
(-.f64 (*.f64 b c) (*.f64 a d))
0.0ms
(fma.f64 c c (*.f64 d d))

simplify113.0ms (1.2%)

Algorithm
egg-herbie
Rules
491×fma-neg_binary64
380×associate-*l*_binary64
348×fma-def_binary64
315×associate-*r*_binary64
247×associate-/l*_binary64
Counts
178 → 132
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01323054
13262877
210912830
343962830
449942830
549422830

prune105.0ms (1.2%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New12210132
Fresh000
Picked101
Done000
Total12310133
Error
1.6b
Counts
133 → 10
Alt Table
StatusErrorProgram
16.7b
(*.f64 (/.f64 1 (hypot.f64 d c)) (/.f64 (-.f64 (*.f64 c b) (*.f64 a d)) (hypot.f64 d c)))
38.7b
(/.f64 b c)
25.2b
(*.f64 (/.f64 1 (*.f64 (cbrt.f64 (fma.f64 c c (*.f64 d d))) (cbrt.f64 (fma.f64 c c (*.f64 d d))))) (/.f64 (-.f64 (*.f64 b c) (*.f64 a d)) (cbrt.f64 (fma.f64 c c (*.f64 d d)))))
38.6b
(/.f64 (/.f64 (*.f64 (-.f64 (*.f64 c b) (*.f64 a d)) (fma.f64 a d (*.f64 c b))) (fma.f64 a d (*.f64 c b))) (fma.f64 c c (*.f64 d d)))
38.0b
(-.f64 (/.f64 b c) (fma.f64 (/.f64 a c) (/.f64 d c) (/.f64 (*.f64 (*.f64 d d) b) (pow.f64 c 3))))
24.7b
(-.f64 (/.f64 (*.f64 b c) (fma.f64 c c (*.f64 d d))) (/.f64 (*.f64 a d) (fma.f64 c c (*.f64 d d))))
17.3b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 c b) (*.f64 a d))) (cbrt.f64 (-.f64 (*.f64 c b) (*.f64 a d)))) (hypot.f64 d c)) (/.f64 (cbrt.f64 (-.f64 (*.f64 c b) (*.f64 a d))) (hypot.f64 d c)))
37.6b
(-.f64 (fma.f64 (/.f64 c d) (/.f64 b d) (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 d 3))) (/.f64 a d))
25.2b
(/.f64 (/.f64 (-.f64 (*.f64 b c) (*.f64 a d)) (*.f64 (cbrt.f64 (fma.f64 c c (*.f64 d d))) (cbrt.f64 (fma.f64 c c (*.f64 d d))))) (cbrt.f64 (fma.f64 c c (*.f64 d d))))
37.3b
(neg.f64 (/.f64 a d))
Compiler

Compiled 3381 to 725 computations (78.6% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 1 (hypot.f64 d c))
0.2b
(*.f64 (/.f64 1 (hypot.f64 d c)) (/.f64 (-.f64 (*.f64 c b) (*.f64 a d)) (hypot.f64 d c)))
0.5b
(-.f64 (*.f64 c b) (*.f64 a d))
15.7b
(/.f64 (-.f64 (*.f64 c b) (*.f64 a d)) (hypot.f64 d c))

series247.0ms (2.7%)

Counts
4 → 132
Calls

4 calls:

110.0ms
(*.f64 (/.f64 1 (hypot.f64 d c)) (/.f64 (-.f64 (*.f64 c b) (*.f64 a d)) (hypot.f64 d c)))
107.0ms
(/.f64 (-.f64 (*.f64 c b) (*.f64 a d)) (hypot.f64 d c))
20.0ms
(/.f64 1 (hypot.f64 d c))
9.0ms
(-.f64 (*.f64 c b) (*.f64 a d))

rewrite31.0ms (0.3%)

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 → 139
Calls

4 calls:

9.0ms
(*.f64 (/.f64 1 (hypot.f64 d c)) (/.f64 (-.f64 (*.f64 c b) (*.f64 a d)) (hypot.f64 d c)))
4.0ms
(/.f64 (-.f64 (*.f64 c b) (*.f64 a d)) (hypot.f64 d c))
3.0ms
(-.f64 (*.f64 c b) (*.f64 a d))
2.0ms
(/.f64 1 (hypot.f64 d c))

simplify131.0ms (1.4%)

Algorithm
egg-herbie
Rules
874×times-frac_binary64
537×fma-def_binary64
368×cancel-sign-sub-inv_binary64
196×fma-neg_binary64
181×sub-neg_binary64
Counts
271 → 271
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02656415
17445877
225525818
350615818

prune204.0ms (2.3%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New2647271
Fresh639
Picked101
Done000
Total27110281
Error
1.6b
Counts
281 → 10
Alt Table
StatusErrorProgram
24.7b
(*.f64 1 (/.f64 (-.f64 (*.f64 c b) (*.f64 a d)) (*.f64 (hypot.f64 d c) (hypot.f64 d c))))
48.4b
(*.f64 (/.f64 1 (hypot.f64 d c)) (neg.f64 b))
16.9b
(*.f64 (/.f64 1 (hypot.f64 d c)) (/.f64 (/.f64 (-.f64 (*.f64 c b) (*.f64 a d)) (sqrt.f64 (hypot.f64 d c))) (sqrt.f64 (hypot.f64 d c))))
42.7b
(*.f64 (/.f64 1 (hypot.f64 d c)) b)
16.6b
(/.f64 (/.f64 (-.f64 (*.f64 c b) (*.f64 a d)) (hypot.f64 d c)) (hypot.f64 d c))
37.6b
(-.f64 (fma.f64 (/.f64 c d) (/.f64 b d) (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 d 3))) (/.f64 a d))
38.7b
(*.f64 (*.f64 (/.f64 1 (hypot.f64 d c)) (/.f64 (sqrt.f64 (-.f64 (*.f64 c b) (*.f64 a d))) 1)) (/.f64 (sqrt.f64 (-.f64 (*.f64 c b) (*.f64 a d))) (hypot.f64 d c)))
37.3b
(neg.f64 (/.f64 a d))
44.6b
(*.f64 (/.f64 1 (hypot.f64 d c)) (neg.f64 a))
38.7b
(/.f64 b c)
Compiler

Compiled 7445 to 2228 computations (70.1% saved)

localize11.0ms (0.1%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (/.f64 (-.f64 (*.f64 c b) (*.f64 a d)) (hypot.f64 d c)) (hypot.f64 d c))
0.5b
(-.f64 (*.f64 c b) (*.f64 a d))
15.7b
(/.f64 (-.f64 (*.f64 c b) (*.f64 a d)) (hypot.f64 d c))

series103.0ms (1.1%)

Counts
1 → 48
Calls

1 calls:

103.0ms
(/.f64 (/.f64 (-.f64 (*.f64 c b) (*.f64 a d)) (hypot.f64 d c)) (hypot.f64 d c))

rewrite17.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
75×times-frac_binary64
43×*-un-lft-identity_binary64
43×add-sqr-sqrt_binary64
43×add-cube-cbrt_binary64
13×associate-/l*_binary64
Counts
1 → 73
Calls

1 calls:

8.0ms
(/.f64 (/.f64 (-.f64 (*.f64 c b) (*.f64 a d)) (hypot.f64 d c)) (hypot.f64 d c))

simplify117.0ms (1.3%)

Algorithm
egg-herbie
Rules
562×times-frac_binary64
475×associate-/l/_binary64
466×associate-/l*_binary64
465×fma-neg_binary64
359×div-sub_binary64
Counts
121 → 137
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01854368
14394066
210893872
340503805
452233805

prune143.0ms (1.6%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New2274231
Fresh549
Picked011
Done000
Total2329241
Error
1.6b
Counts
241 → 9
Alt Table
StatusErrorProgram
16.6b
(/.f64 (/.f64 (-.f64 (*.f64 c b) (*.f64 a d)) (hypot.f64 d c)) (hypot.f64 d c))
37.6b
(-.f64 (fma.f64 (/.f64 c d) (/.f64 b d) (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 d 3))) (/.f64 a d))
42.4b
(/.f64 (-.f64 b (/.f64 (*.f64 a d) c)) (hypot.f64 d c))
37.3b
(neg.f64 (/.f64 a d))
48.4b
(/.f64 (neg.f64 b) (hypot.f64 d c))
16.9b
(*.f64 (/.f64 1 (hypot.f64 d c)) (/.f64 (/.f64 (-.f64 (*.f64 c b) (*.f64 a d)) (sqrt.f64 (hypot.f64 d c))) (sqrt.f64 (hypot.f64 d c))))
16.8b
(/.f64 (/.f64 (/.f64 (-.f64 (*.f64 c b) (*.f64 a d)) (hypot.f64 d c)) (sqrt.f64 (hypot.f64 d c))) (sqrt.f64 (hypot.f64 d c)))
44.6b
(*.f64 (/.f64 1 (hypot.f64 d c)) (neg.f64 a))
42.6b
(/.f64 b (hypot.f64 d c))
Compiler

Compiled 6256 to 1302 computations (79.2% saved)

localize11.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(/.f64 (/.f64 (-.f64 (*.f64 c b) (*.f64 a d)) (hypot.f64 d c)) (sqrt.f64 (hypot.f64 d c)))
0.3b
(/.f64 (/.f64 (/.f64 (-.f64 (*.f64 c b) (*.f64 a d)) (hypot.f64 d c)) (sqrt.f64 (hypot.f64 d c))) (sqrt.f64 (hypot.f64 d c)))
0.5b
(-.f64 (*.f64 c b) (*.f64 a d))
15.7b
(/.f64 (-.f64 (*.f64 c b) (*.f64 a d)) (hypot.f64 d c))

series332.0ms (3.7%)

Counts
2 → 80
Calls

2 calls:

220.0ms
(/.f64 (/.f64 (-.f64 (*.f64 c b) (*.f64 a d)) (hypot.f64 d c)) (sqrt.f64 (hypot.f64 d c)))
112.0ms
(/.f64 (/.f64 (/.f64 (-.f64 (*.f64 c b) (*.f64 a d)) (hypot.f64 d c)) (sqrt.f64 (hypot.f64 d c))) (sqrt.f64 (hypot.f64 d c)))

rewrite261.0ms (2.9%)

Algorithm
rewrite-expression-head
Rules
1557×times-frac_binary64
728×*-un-lft-identity_binary64
728×add-sqr-sqrt_binary64
728×add-cube-cbrt_binary64
564×sqrt-prod_binary64
Counts
2 → 715
Calls

2 calls:

21.0ms
(/.f64 (/.f64 (/.f64 (-.f64 (*.f64 c b) (*.f64 a d)) (hypot.f64 d c)) (sqrt.f64 (hypot.f64 d c))) (sqrt.f64 (hypot.f64 d c)))
7.0ms
(/.f64 (/.f64 (-.f64 (*.f64 c b) (*.f64 a d)) (hypot.f64 d c)) (sqrt.f64 (hypot.f64 d c)))

simplify937.0ms (10.3%)

Algorithm
egg-herbie
Rules
746×div-sub_binary64
452×associate-/l/_binary64
349×fma-def_binary64
318×associate-/r*_binary64
265×cancel-sign-sub-inv_binary64
Counts
795 → 847
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
074546940
1163143437
2305940615
3446039864
4574439864

prune477.0ms (5.3%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New9374941
Fresh347
Picked011
Done011
Total94010950
Error
1.6b
Counts
950 → 10
Alt Table
StatusErrorProgram
48.4b
(/.f64 (neg.f64 b) (hypot.f64 d c))
44.6b
(/.f64 (/.f64 (neg.f64 a) (sqrt.f64 (hypot.f64 d c))) (sqrt.f64 (hypot.f64 d c)))
16.6b
(/.f64 (/.f64 (-.f64 (*.f64 c b) (*.f64 a d)) (hypot.f64 d c)) (hypot.f64 d c))
37.6b
(-.f64 (fma.f64 (/.f64 c d) (/.f64 b d) (/.f64 (*.f64 a (*.f64 c c)) (pow.f64 d 3))) (/.f64 a d))
42.7b
(/.f64 (/.f64 b (sqrt.f64 (hypot.f64 d c))) (sqrt.f64 (hypot.f64 d c)))
48.5b
(/.f64 (/.f64 (neg.f64 b) (sqrt.f64 (hypot.f64 d c))) (sqrt.f64 (hypot.f64 d c)))
16.8b
(/.f64 (/.f64 (/.f64 (-.f64 (*.f64 c b) (*.f64 a d)) (hypot.f64 d c)) (sqrt.f64 (hypot.f64 d c))) (sqrt.f64 (hypot.f64 d c)))
24.3b
(*.f64 (-.f64 (*.f64 c b) (*.f64 a d)) (/.f64 (/.f64 1 (hypot.f64 d c)) (hypot.f64 d c)))
42.6b
(/.f64 b (hypot.f64 d c))
37.3b
(neg.f64 (/.f64 a d))
Compiler

Compiled 39376 to 5264 computations (86.6% saved)

regimes2.2s (24.7%)

Accuracy

Total 10.5b remaining (84.3%)

Threshold costs 0b (0%)

Counts
216 → 5
Compiler

Compiled 24053 to 13679 computations (43.1% saved)

bsearch74.0ms (0.8%)

Steps
ItersRangePoint
4
2.1632354542689256e+70
3.4779604366576765e+70
3.4182045595690496e+70
7
1.1136234348634036e-116
1.9856969308334364e-114
2.532329616296603e-115
9
-2.0285685508430287e-67
-3.209187298588941e-73
-5.175827438536771e-73
8
-6.638769396851526e+187
-6.272179725595773e+183
-7.275365746467164e+183
Compiler

Compiled 5 to 4 computations (20% saved)

simplify5.0ms (0.1%)

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
035106
149106
264106
372106
476106
576106

end115.0ms (1.3%)

Compiler

Compiled 315 to 157 computations (50.2% saved)

Profiling

Loading profile data...