Details

Time bar (total: 4.9s)

analyze229.0ms (4.7%)

Algorithm
search
Search
TrueOtherFalseIter
0%0%100%0
0%0%100%1
Compiler

Compiled 17 to 11 computations (35.3% saved)

sample41.0ms (0.8%)

Algorithm
intervals
Results
13.0ms256×body128valid
9.0ms256×pre128true
Compiler

Compiled 30 to 20 computations (33.3% saved)

simplify105.0ms (2.2%)

Algorithm
egg-herbie
Rules
649×fma-neg_binary64
504×div-sub_binary64
481×fma-def_binary64
326×times-frac_binary64
174×associate-/l/_binary64
Counts
1 → 1
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0710
11310
22110
33710
46410
511310
621610
741510
875410
9118310
10153710
11161210
12165710
13168410
14169410
15170210
16170210
17160010

prune2.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New011
Fresh011
Picked000
Done000
Total022
Error
62.0b
Counts
2 → 1
Alt Table
StatusErrorProgram
62.0b
(/.f64 (-.f64 x lo) (-.f64 hi lo))
Compiler

Compiled 30 to 18 computations (40% saved)

localize9.0ms (0.2%)

Local error

Found 1 expressions with local error:

NewErrorProgram
62.0b
(/.f64 (-.f64 x lo) (-.f64 hi lo))

rewrite19.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
37×*-un-lft-identity_binary64
37×add-sqr-sqrt_binary64
25×times-frac_binary64
13×add-cube-cbrt_binary64
12×distribute-lft-out--_binary64
Counts
1 → 54
Calls

1 calls:

14.0ms
(/.f64 (-.f64 x lo) (-.f64 hi lo))

series48.0ms (1%)

Counts
1 → 36
Calls

1 calls:

48.0ms
(/.f64 (-.f64 x lo) (-.f64 hi lo))

simplify150.0ms (3.1%)

Algorithm
egg-herbie
Rules
810×fma-neg_binary64
418×fma-def_binary64
402×associate--l+_binary64
279×cancel-sign-sub-inv_binary64
264×times-frac_binary64
Counts
90 → 138
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01622093
14362033
213581879
346431879
453461879

prune83.0ms (1.7%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New1344138
Fresh000
Picked101
Done000
Total1354139
Error
51.3b
Counts
139 → 4
Alt Table
StatusErrorProgram
51.9b
(-.f64 (+.f64 1 (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 hi lo))) (+.f64 (/.f64 x lo) (*.f64 (/.f64 x lo) (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 hi lo)))))
57.4b
(-.f64 (+.f64 1 (+.f64 (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 hi lo)) (pow.f64 (/.f64 hi lo) 3))) (+.f64 (/.f64 x lo) (*.f64 (/.f64 x lo) (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 hi lo)))))
51.9b
(-.f64 (+.f64 1 (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 hi lo))) (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 x lo)))
51.9b
(+.f64 (/.f64 x hi) (-.f64 (fma.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi)) (*.f64 (/.f64 lo hi) (-.f64 -1 (/.f64 lo hi)))) (pow.f64 (/.f64 lo hi) 3)))
Compiler

Compiled 1901 to 683 computations (64.1% saved)

localize17.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.2b
(*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 x lo))
0.4b
(*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 hi lo))
1.5b
(+.f64 1 (/.f64 hi lo))
1.5b
(+.f64 1 (/.f64 hi lo))

rewrite55.0ms (1.1%)

Algorithm
rewrite-expression-head
Rules
30×add-sqr-sqrt_binary64
26×associate-*r*_binary64
26×*-un-lft-identity_binary64
20×times-frac_binary64
20×add-cube-cbrt_binary64
Counts
3 → 95
Calls

3 calls:

18.0ms
(*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 hi lo))
18.0ms
(*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 x lo))
9.0ms
(+.f64 1 (/.f64 hi lo))

series180.0ms (3.7%)

Counts
3 → 66
Calls

3 calls:

103.0ms
(*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 x lo))
56.0ms
(*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 hi lo))
20.0ms
(+.f64 1 (/.f64 hi lo))

simplify226.0ms (4.7%)

Algorithm
egg-herbie
Rules
523×associate-*r/_binary64
511×associate-*l/_binary64
415×distribute-rgt-in_binary64
394×distribute-lft-in_binary64
387×associate-/l*_binary64
Counts
161 → 276
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
01552542
13842296
213382015
344582013
448051995
549851995
649751995

prune262.0ms (5.4%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New2959304
Fresh123
Picked101
Done000
Total29711308
Error
51.3b
Counts
308 → 11
Alt Table
StatusErrorProgram
51.9b
(-.f64 (+.f64 1 (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 hi lo))) (/.f64 x lo))
51.9b
(-.f64 (+.f64 1 (*.f64 (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 (*.f64 (cbrt.f64 hi) (cbrt.f64 hi)) (*.f64 (cbrt.f64 lo) (cbrt.f64 lo)))) (/.f64 (cbrt.f64 hi) (cbrt.f64 lo)))) (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 x lo)))
57.4b
(-.f64 (+.f64 1 (+.f64 (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 hi lo)) (pow.f64 (/.f64 hi lo) 3))) (+.f64 (/.f64 x lo) (*.f64 (/.f64 x lo) (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 hi lo)))))
51.9b
(-.f64 (+.f64 1 (log.f64 (exp.f64 (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 hi lo))))) (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 x lo)))
51.9b
(-.f64 (+.f64 1 (*.f64 (*.f64 (+.f64 1 (/.f64 hi lo)) (*.f64 (cbrt.f64 hi) (cbrt.f64 hi))) (/.f64 (cbrt.f64 hi) lo))) (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 x lo)))
51.9b
(-.f64 (+.f64 1 (*.f64 (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 1 (*.f64 (cbrt.f64 lo) (cbrt.f64 lo)))) (/.f64 hi (cbrt.f64 lo)))) (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 x lo)))
51.9b
(-.f64 (+.f64 1 (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 hi lo))) (*.f64 (/.f64 hi lo) (/.f64 x lo)))
51.9b
(-.f64 (+.f64 1 (/.f64 (-.f64 (/.f64 hi lo) (pow.f64 (/.f64 hi lo) 3)) (-.f64 1 (/.f64 hi lo)))) (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 x lo)))
51.9b
(+.f64 (/.f64 x hi) (-.f64 (fma.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi)) (*.f64 (/.f64 lo hi) (-.f64 -1 (/.f64 lo hi)))) (pow.f64 (/.f64 lo hi) 3)))
51.9b
(-.f64 (+.f64 1 (*.f64 (log.f64 (exp.f64 (+.f64 1 (/.f64 hi lo)))) (/.f64 hi lo))) (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 x lo)))
51.9b
(-.f64 (+.f64 1 (*.f64 (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 (sqrt.f64 hi) (*.f64 (cbrt.f64 lo) (cbrt.f64 lo)))) (/.f64 (sqrt.f64 hi) (cbrt.f64 lo)))) (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 x lo)))
Compiler

Compiled 5294 to 2432 computations (54.1% saved)

localize19.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(+.f64 1 (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 hi lo)))
0.2b
(*.f64 (/.f64 hi lo) (/.f64 x lo))
0.4b
(*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 hi lo))
1.5b
(+.f64 1 (/.f64 hi lo))

rewrite28.0ms (0.6%)

Algorithm
rewrite-expression-head
Rules
29×add-sqr-sqrt_binary64
22×times-frac_binary64
17×*-un-lft-identity_binary64
17×add-cube-cbrt_binary64
14×add-cbrt-cube_binary64
Counts
2 → 68
Calls

2 calls:

16.0ms
(*.f64 (/.f64 hi lo) (/.f64 x lo))
5.0ms
(+.f64 1 (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 hi lo)))

series163.0ms (3.4%)

Counts
2 → 60
Calls

2 calls:

132.0ms
(*.f64 (/.f64 hi lo) (/.f64 x lo))
31.0ms
(+.f64 1 (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 hi lo)))

simplify155.0ms (3.2%)

Algorithm
egg-herbie
Rules
940×fma-def_binary64
591×associate-*l/_binary64
540×associate-*r/_binary64
524×associate-/l*_binary64
367×times-frac_binary64
Counts
128 → 231
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01371836
13941602
211751584
345301570
452901570

prune157.0ms (3.2%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New3972399
Fresh8210
Picked101
Done000
Total4064410
Error
50.7b
Counts
410 → 4
Alt Table
StatusErrorProgram
51.5b
(-.f64 (*.f64 (/.f64 hi lo) (/.f64 hi lo)) (*.f64 (/.f64 hi lo) (/.f64 x lo)))
57.4b
(-.f64 (+.f64 1 (+.f64 (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 hi lo)) (pow.f64 (/.f64 hi lo) 3))) (+.f64 (/.f64 x lo) (*.f64 (/.f64 x lo) (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 hi lo)))))
57.7b
(-.f64 (/.f64 (fma.f64 hi (/.f64 hi lo) hi) lo) (*.f64 (/.f64 hi lo) (/.f64 x lo)))
51.9b
(+.f64 (/.f64 x hi) (-.f64 (fma.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi)) (*.f64 (/.f64 lo hi) (-.f64 -1 (/.f64 lo hi)))) (pow.f64 (/.f64 lo hi) 3)))
Compiler

Compiled 5269 to 1888 computations (64.2% saved)

localize14.0ms (0.3%)

Local error

Found 3 expressions with local error:

NewErrorProgram
0.0b
(-.f64 (*.f64 (/.f64 hi lo) (/.f64 hi lo)) (*.f64 (/.f64 hi lo) (/.f64 x lo)))
0.2b
(*.f64 (/.f64 hi lo) (/.f64 x lo))
0.5b
(*.f64 (/.f64 hi lo) (/.f64 hi lo))

rewrite40.0ms (0.8%)

Algorithm
rewrite-expression-head
Rules
42×add-sqr-sqrt_binary64
40×times-frac_binary64
30×*-un-lft-identity_binary64
30×add-cube-cbrt_binary64
14×add-cbrt-cube_binary64
Counts
2 → 100
Calls

2 calls:

16.0ms
(*.f64 (/.f64 hi lo) (/.f64 hi lo))
13.0ms
(-.f64 (*.f64 (/.f64 hi lo) (/.f64 hi lo)) (*.f64 (/.f64 hi lo) (/.f64 x lo)))

series247.0ms (5.1%)

Counts
2 → 60
Calls

2 calls:

170.0ms
(-.f64 (*.f64 (/.f64 hi lo) (/.f64 hi lo)) (*.f64 (/.f64 hi lo) (/.f64 x lo)))
77.0ms
(*.f64 (/.f64 hi lo) (/.f64 hi lo))

simplify183.0ms (3.8%)

Algorithm
egg-herbie
Rules
629×fma-neg_binary64
565×times-frac_binary64
360×associate-/l/_binary64
359×fma-def_binary64
189×associate-*l*_binary64
Counts
160 → 308
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01812488
15162195
217272023
344112023
450162023

prune171.0ms (3.5%)

Pruning

17 alts after pruning (17 fresh and 0 done)

PrunedKeptTotal
New45714471
Fresh033
Picked101
Done000
Total45817475
Error
50.7b
Counts
475 → 17
Alt Table
StatusErrorProgram
57.7b
(-.f64 (/.f64 (fma.f64 hi (/.f64 hi lo) hi) lo) (*.f64 (/.f64 hi lo) (/.f64 x lo)))
54.6b
(-.f64 (*.f64 (/.f64 1 lo) (*.f64 hi (/.f64 hi lo))) (*.f64 (/.f64 hi lo) (/.f64 x lo)))
57.4b
(-.f64 (+.f64 1 (+.f64 (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 hi lo)) (pow.f64 (/.f64 hi lo) 3))) (+.f64 (/.f64 x lo) (*.f64 (/.f64 x lo) (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 hi lo)))))
51.5b
(-.f64 (*.f64 (*.f64 (/.f64 (*.f64 (cbrt.f64 hi) (cbrt.f64 hi)) (*.f64 (cbrt.f64 lo) (cbrt.f64 lo))) (/.f64 (*.f64 (cbrt.f64 hi) (cbrt.f64 hi)) (*.f64 (cbrt.f64 lo) (cbrt.f64 lo)))) (*.f64 (/.f64 (cbrt.f64 hi) (cbrt.f64 lo)) (/.f64 (cbrt.f64 hi) (cbrt.f64 lo)))) (*.f64 (/.f64 hi lo) (/.f64 x lo)))
51.5b
(-.f64 (*.f64 (/.f64 (*.f64 (cbrt.f64 hi) (cbrt.f64 hi)) 1) (*.f64 (/.f64 (cbrt.f64 hi) lo) (/.f64 hi lo))) (*.f64 (/.f64 hi lo) (/.f64 x lo)))
51.5b
(-.f64 (log.f64 (exp.f64 (*.f64 (/.f64 hi lo) (/.f64 hi lo)))) (*.f64 (/.f64 hi lo) (/.f64 x lo)))
51.5b
(-.f64 (*.f64 (/.f64 hi lo) (/.f64 hi lo)) (*.f64 hi (/.f64 x (*.f64 lo lo))))
51.5b
(-.f64 (*.f64 hi (*.f64 (/.f64 1 lo) (/.f64 hi lo))) (*.f64 (/.f64 hi lo) (/.f64 x lo)))
51.5b
(-.f64 (*.f64 (*.f64 hi (/.f64 (*.f64 (cbrt.f64 hi) (cbrt.f64 hi)) lo)) (/.f64 (cbrt.f64 hi) lo)) (*.f64 (/.f64 hi lo) (/.f64 x lo)))
51.5b
(-.f64 (*.f64 (*.f64 (/.f64 (cbrt.f64 hi) (cbrt.f64 lo)) (pow.f64 (/.f64 (cbrt.f64 hi) (cbrt.f64 lo)) 3)) (/.f64 (*.f64 (cbrt.f64 hi) (cbrt.f64 hi)) (*.f64 (cbrt.f64 lo) (cbrt.f64 lo)))) (*.f64 (/.f64 hi lo) (/.f64 x lo)))
51.5b
(-.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 hi lo)) (pow.f64 (cbrt.f64 (/.f64 hi lo)) 4)) (cbrt.f64 (/.f64 hi lo))) (*.f64 (/.f64 hi lo) (/.f64 x lo)))
51.5b
(-.f64 (*.f64 (*.f64 (/.f64 (sqrt.f64 hi) 1) (/.f64 (sqrt.f64 hi) 1)) (*.f64 (/.f64 (sqrt.f64 hi) lo) (/.f64 (sqrt.f64 hi) lo))) (*.f64 (/.f64 hi lo) (/.f64 x lo)))
51.5b
(-.f64 (*.f64 (*.f64 (/.f64 (sqrt.f64 hi) (*.f64 (cbrt.f64 lo) (cbrt.f64 lo))) (/.f64 (sqrt.f64 hi) (*.f64 (cbrt.f64 lo) (cbrt.f64 lo)))) (*.f64 (/.f64 (sqrt.f64 hi) (cbrt.f64 lo)) (/.f64 (sqrt.f64 hi) (cbrt.f64 lo)))) (*.f64 (/.f64 hi lo) (/.f64 x lo)))
51.5b
(-.f64 (*.f64 (*.f64 (*.f64 (cbrt.f64 (/.f64 hi lo)) (cbrt.f64 (/.f64 hi lo))) (*.f64 (cbrt.f64 (/.f64 hi lo)) (cbrt.f64 (/.f64 hi lo)))) (*.f64 (cbrt.f64 (/.f64 hi lo)) (cbrt.f64 (/.f64 hi lo)))) (*.f64 (/.f64 hi lo) (/.f64 x lo)))
51.5b
(*.f64 (*.f64 (cbrt.f64 (-.f64 (*.f64 (/.f64 hi lo) (/.f64 hi lo)) (*.f64 (/.f64 hi lo) (/.f64 x lo)))) (cbrt.f64 (-.f64 (*.f64 (/.f64 hi lo) (/.f64 hi lo)) (*.f64 (/.f64 hi lo) (/.f64 x lo))))) (cbrt.f64 (-.f64 (*.f64 (/.f64 hi lo) (/.f64 hi lo)) (*.f64 (/.f64 hi lo) (/.f64 x lo)))))
51.9b
(+.f64 (/.f64 x hi) (-.f64 (fma.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi)) (*.f64 (/.f64 lo hi) (-.f64 -1 (/.f64 lo hi)))) (pow.f64 (/.f64 lo hi) 3)))
51.5b
(-.f64 (cbrt.f64 (pow.f64 (/.f64 hi lo) 6)) (*.f64 (/.f64 hi lo) (/.f64 x lo)))
Compiler

Compiled 5665 to 1163 computations (79.5% saved)

regimes607.0ms (12.5%)

Accuracy

Total 0.9b remaining (1.7%)

Threshold costs 0.9b (1.7%)

Compiler

Compiled 8266 to 4256 computations (48.5% saved)

simplify7.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
01022
11622
22622
33422
44022
54322
64422
74422

end1.0ms (0%)

Compiler

Compiled 18 to 9 computations (50% saved)

sample1.6s (33.8%)

Algorithm
intervals
Results
430.0ms8000×body128valid
280.0ms8000×pre128true
Compiler

Compiled 549 to 243 computations (55.7% saved)

Profiling

Loading profile data...