Details

Time bar (total: 13.1s)

analyze484.0ms (3.7%)

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
25%74.9%0.1%4
37.4%62.4%0.1%5
37.4%62.4%0.1%6
40.6%54.6%4.8%7
48.4%46%5.6%8
53.8%37.8%8.3%9
56.2%32.6%11.3%10
60.8%26%13.1%11
63.8%21%15.2%12
65.1%17.8%17%13
67.7%13.9%18.4%14
Compiler

Compiled 17 to 11 computations (35.3% saved)

sample3.3s (25.4%)

Results
970.0ms5537×body128valid
736.0ms1089×body2048valid
396.0ms397×body4096valid
371.0ms695×body1024valid
149.0ms367×body512valid
139.0ms801×body128invalid
47.0ms171×body256valid
Compiler

Compiled 50 to 32 computations (36% saved)

simplify472.0ms (3.6%)

Algorithm
egg-herbie
Rules
518×div-sub_binary64
428×fma-neg_binary64
246×associate-/l*_binary64
205×fma-def_binary64
183×times-frac_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01120
12720
25420
311520
417920
529120
641720
752820
860220
985420
10180220
11104320
12102720
13103520
14104320
15104320
16110120
17113720
18113920
19115120
20104620

prune3.0ms (0%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
28.2b
Counts
2 → 1
Alt Table
StatusErrorProgram
28.2b
(/.f64 (-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a)
Compiler

Compiled 48 to 30 computations (37.5% saved)

localize17.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 (-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a)
0.8b
(-.f64 (*.f64 b_2 b_2) (*.f64 a c))
1.0b
(-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))
24.4b
(sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))

series372.0ms (2.8%)

Counts
4 → 96
Calls

4 calls:

130.0ms
(/.f64 (-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a)
129.0ms
(sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))
95.0ms
(-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))
17.0ms
(-.f64 (*.f64 b_2 b_2) (*.f64 a c))

rewrite134.0ms (1%)

Algorithm
rewrite-expression-head
Rules
81×add-sqr-sqrt_binary64
80×*-un-lft-identity_binary64
61×prod-diff_binary64
60×add-cube-cbrt_binary64
41×sqrt-prod_binary64
Counts
4 → 176
Calls

4 calls:

13.0ms
(/.f64 (-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a)
9.0ms
(-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))
3.0ms
(sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))
3.0ms
(-.f64 (*.f64 b_2 b_2) (*.f64 a c))

simplify487.0ms (3.7%)

Algorithm
egg-herbie
Rules
819×fma-neg_binary64
295×cancel-sign-sub-inv_binary64
181×unswap-sqr_binary64
169×sub-neg_binary64
135×associate-*r*_binary64
Counts
272 → 292
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
03178791
17796792
226825750
345845750
449745750

prune349.0ms (2.7%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New2848292
Fresh000
Picked011
Done000
Total2849293
Error
4.1b
Counts
293 → 9
Alt Table
StatusErrorProgram
42.2b
(/.f64 (*.f64 -2 b_2) a)
28.2b
(/.f64 (-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) a)
28.6b
(/.f64 (*.f64 (cbrt.f64 (-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))) (cbrt.f64 (-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))))) (/.f64 a (cbrt.f64 (-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))))))
46.3b
(/.f64 (-.f64 (*.f64 (neg.f64 b_2) (neg.f64 b_2)) (*.f64 (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))) (*.f64 a (+.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))))
28.3b
(*.f64 (-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) (/.f64 1 a))
29.1b
(/.f64 1 (/.f64 a (-.f64 (neg.f64 b_2) (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2))))
41.5b
(*.f64 -1/2 (/.f64 c b_2))
42.3b
(fma.f64 1/2 (/.f64 c b_2) (*.f64 -2 (/.f64 b_2 a)))
34.1b
(/.f64 (/.f64 (*.f64 c a) (-.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2) b_2)) a)
Compiler

Compiled 9070 to 1968 computations (78.3% saved)

localize14.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) (/.f64 1 a))
0.8b
(-.f64 (*.f64 b_2 b_2) (*.f64 a c))
1.0b
(-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c))))
24.4b
(sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))

series158.0ms (1.2%)

Counts
1 → 20
Calls

1 calls:

158.0ms
(*.f64 (-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) (/.f64 1 a))

rewrite20.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
20×add-sqr-sqrt_binary64
14×*-un-lft-identity_binary64
13×associate-*r*_binary64
11×times-frac_binary64
10×add-exp-log_binary64
Counts
1 → 46
Calls

1 calls:

16.0ms
(*.f64 (-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) (/.f64 1 a))

simplify160.0ms (1.2%)

Algorithm
egg-herbie
Rules
740×times-frac_binary64
400×fma-neg_binary64
392×associate-/l*_binary64
309×fma-def_binary64
212×distribute-rgt-in_binary64
Counts
66 → 94
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01481869
13981694
213271613
349871613
452151613

prune338.0ms (2.6%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New2981299
Fresh257
Picked011
Done101
Total3017308
Error
4.1b
Counts
308 → 7
Alt Table
StatusErrorProgram
41.5b
(*.f64 -1/2 (/.f64 c b_2))
36.3b
(/.f64 (*.f64 c a) (*.f64 a (-.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2) b_2)))
42.2b
(/.f64 (*.f64 -2 b_2) a)
28.3b
(*.f64 (-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) (/.f64 1 a))
29.1b
(/.f64 1 (/.f64 a (-.f64 (neg.f64 b_2) (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2))))
42.3b
(fma.f64 1/2 (/.f64 c b_2) (*.f64 -2 (/.f64 b_2 a)))
34.1b
(/.f64 (/.f64 (*.f64 c a) (-.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2) b_2)) a)
Compiler

Compiled 9416 to 2545 computations (73% saved)

localize12.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(/.f64 a (-.f64 (neg.f64 b_2) (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2)))
0.1b
(/.f64 1 (/.f64 a (-.f64 (neg.f64 b_2) (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2))))
0.5b
(-.f64 (neg.f64 b_2) (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2))
12.8b
(sqrt.f64 (neg.f64 (*.f64 c a)))

series1.3s (10%)

Counts
4 → 42
Calls

4 calls:

622.0ms
(/.f64 a (-.f64 (neg.f64 b_2) (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2)))
341.0ms
(/.f64 1 (/.f64 a (-.f64 (neg.f64 b_2) (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2))))
278.0ms
(-.f64 (neg.f64 b_2) (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2))
67.0ms
(sqrt.f64 (neg.f64 (*.f64 c a)))

rewrite60.0ms (0.5%)

Algorithm
rewrite-expression-head
Rules
172×*-un-lft-identity_binary64
162×times-frac_binary64
139×add-sqr-sqrt_binary64
104×add-cube-cbrt_binary64
34×distribute-lft-out--_binary64
Counts
4 → 244
Calls

4 calls:

11.0ms
(/.f64 1 (/.f64 a (-.f64 (neg.f64 b_2) (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2))))
8.0ms
(/.f64 a (-.f64 (neg.f64 b_2) (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2)))
7.0ms
(-.f64 (neg.f64 b_2) (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2))
1.0ms
(sqrt.f64 (neg.f64 (*.f64 c a)))

simplify449.0ms (3.4%)

Algorithm
egg-herbie
Rules
715×fma-def_binary64
401×fma-neg_binary64
316×cancel-sign-sub-inv_binary64
186×sub-neg_binary64
154×distribute-frac-neg_binary64
Counts
286 → 331
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03499712
17948164
227057612
347987608
449067608

prune355.0ms (2.7%)

Pruning

8 alts after pruning (7 fresh and 1 done)

PrunedKeptTotal
New3283331
Fresh145
Picked101
Done011
Total3308338
Error
0.3b
Counts
338 → 8
Alt Table
StatusErrorProgram
41.5b
(*.f64 -1/2 (/.f64 c b_2))
36.3b
(/.f64 (*.f64 c a) (*.f64 a (-.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2) b_2)))
34.1b
(/.f64 (/.f64 (*.f64 c a) (-.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2) b_2)) a)
48.0b
(/.f64 1 (/.f64 a (-.f64 (neg.f64 b_2) (hypot.f64 (*.f64 (sqrt.f64 (neg.f64 c)) (sqrt.f64 a)) b_2))))
41.4b
(/.f64 1 (fma.f64 1/2 (/.f64 a b_2) (/.f64 2 (*.f64 (/.f64 c b_2) -1))))
28.3b
(*.f64 (-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) (/.f64 1 a))
42.3b
(fma.f64 1/2 (/.f64 c b_2) (*.f64 -2 (/.f64 b_2 a)))
45.6b
(/.f64 1 (/.f64 a (-.f64 (neg.f64 b_2) (hypot.f64 (*.f64 (sqrt.f64 c) (sqrt.f64 (neg.f64 a))) b_2))))
Compiler

Compiled 10393 to 2636 computations (74.6% saved)

localize9.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(-.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2) b_2)
2.3b
(/.f64 (/.f64 (*.f64 c a) (-.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2) b_2)) a)
6.6b
(/.f64 (*.f64 c a) (-.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2) b_2))
12.8b
(sqrt.f64 (neg.f64 (*.f64 c a)))

series1.6s (12%)

Counts
3 → 36
Calls

3 calls:

674.0ms
(/.f64 (/.f64 (*.f64 c a) (-.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2) b_2)) a)
603.0ms
(/.f64 (*.f64 c a) (-.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2) b_2))
288.0ms
(-.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2) b_2)

rewrite56.0ms (0.4%)

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

3 calls:

15.0ms
(/.f64 (/.f64 (*.f64 c a) (-.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2) b_2)) a)
10.0ms
(/.f64 (*.f64 c a) (-.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2) b_2))
6.0ms
(-.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2) b_2)

simplify308.0ms (2.4%)

Algorithm
egg-herbie
Rules
720×fma-def_binary64
390×cancel-sign-sub-inv_binary64
251×fma-neg_binary64
247×times-frac_binary64
196×associate-/l*_binary64
Counts
161 → 236
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
03315674
18724918
232664799
348074797
449664797
549094797

prune226.0ms (1.7%)

Pruning

8 alts after pruning (6 fresh and 2 done)

PrunedKeptTotal
New2550255
Fresh066
Picked011
Done011
Total2558263
Error
0.3b
Counts
263 → 8
Alt Table
StatusErrorProgram
41.5b
(*.f64 -1/2 (/.f64 c b_2))
36.3b
(/.f64 (*.f64 c a) (*.f64 a (-.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2) b_2)))
34.1b
(/.f64 (/.f64 (*.f64 c a) (-.f64 (hypot.f64 (sqrt.f64 (neg.f64 (*.f64 c a))) b_2) b_2)) a)
48.0b
(/.f64 1 (/.f64 a (-.f64 (neg.f64 b_2) (hypot.f64 (*.f64 (sqrt.f64 (neg.f64 c)) (sqrt.f64 a)) b_2))))
41.4b
(/.f64 1 (fma.f64 1/2 (/.f64 a b_2) (/.f64 2 (*.f64 (/.f64 c b_2) -1))))
28.3b
(*.f64 (-.f64 (neg.f64 b_2) (sqrt.f64 (-.f64 (*.f64 b_2 b_2) (*.f64 a c)))) (/.f64 1 a))
42.3b
(fma.f64 1/2 (/.f64 c b_2) (*.f64 -2 (/.f64 b_2 a)))
45.6b
(/.f64 1 (/.f64 a (-.f64 (neg.f64 b_2) (hypot.f64 (*.f64 (sqrt.f64 c) (sqrt.f64 (neg.f64 a))) b_2))))
Compiler

Compiled 7405 to 1719 computations (76.8% saved)

regimes2.0s (15.2%)

Accuracy

Total 7.9b remaining (98.8%)

Threshold costs 0b (0%)

Counts
103 → 4
Compiler

Compiled 9143 to 5033 computations (45% saved)

bsearch122.0ms (0.9%)

Steps
ItersRangePoint
8
4.199021549675812e+120
4.964530208330052e+131
2.4756347151901527e+129
11
-4.03553621741327e-283
1.0650770863787324e-305
-1.148291726482369e-308
8
-2.4259918529072486e+85
-1.9348829176278518e+82
-1.96537383651797e+82
Compiler

Compiled 4 to 3 computations (25% saved)

simplify9.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
03569
15469
27069
38469
49169
59469
69569
79469

end265.0ms (2%)

Compiler

Compiled 226 to 146 computations (35.4% saved)

Profiling

Loading profile data...