Details

Time bar (total: 6.6s)

analyze242.0ms (3.7%)

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

Compiled 17 to 11 computations (35.3% saved)

sample52.0ms (0.8%)

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

Compiled 30 to 20 computations (33.3% saved)

simplify100.0ms (1.5%)

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

prune3.0ms (0%)

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

Local error

Found 1 expressions with local error:

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

rewrite22.0ms (0.3%)

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

series54.0ms (0.8%)

Counts
1 → 36
Calls

1 calls:

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

simplify171.0ms (2.6%)

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

prune87.0ms (1.3%)

Pruning

5 alts after pruning (5 fresh and 0 done)

PrunedKeptTotal
New1335138
Fresh000
Picked101
Done000
Total1345139
Error
51.3b
Counts
139 → 5
Alt Table
StatusErrorProgram
58.0b
(-.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)))))
52.0b
(-.f64 (+.f64 1 (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 hi lo))) (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 x lo)))
57.5b
(+.f64 (/.f64 x hi) (fma.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi)) (*.f64 (/.f64 lo hi) (-.f64 -1 (/.f64 lo hi)))))
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)))
52.0b
(-.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)))))
Compiler

Compiled 1959 to 709 computations (63.8% saved)

localize28.0ms (0.4%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))
0.7b
(pow.f64 (/.f64 lo hi) 3)
1.6b
(-.f64 -1 (/.f64 lo hi))
1.6b
(+.f64 (/.f64 lo hi) 1)

rewrite79.0ms (1.2%)

Algorithm
rewrite-expression-head
Rules
86×add-sqr-sqrt_binary64
82×*-un-lft-identity_binary64
76×add-cube-cbrt_binary64
74×times-frac_binary64
39×prod-diff_binary64
Counts
4 → 185
Calls

4 calls:

22.0ms
(*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))
14.0ms
(-.f64 -1 (/.f64 lo hi))
13.0ms
(+.f64 (/.f64 lo hi) 1)
7.0ms
(pow.f64 (/.f64 lo hi) 3)

series194.0ms (2.9%)

Counts
4 → 96
Calls

4 calls:

86.0ms
(pow.f64 (/.f64 lo hi) 3)
61.0ms
(*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi))
23.0ms
(+.f64 (/.f64 lo hi) 1)
23.0ms
(-.f64 -1 (/.f64 lo hi))

simplify264.0ms (4%)

Algorithm
egg-herbie
Rules
504×fma-neg_binary64
386×distribute-rgt-in_binary64
353×log-prod_binary64
205×log-div_binary64
179×associate-*l*_binary64
Counts
281 → 486
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02833738
17422999
223532738
342982738
448442738

prune370.0ms (5.6%)

Pruning

17 alts after pruning (17 fresh and 0 done)

PrunedKeptTotal
New47214486
Fresh134
Picked101
Done000
Total47417491
Error
51.1b
Counts
491 → 17
Alt Table
StatusErrorProgram
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 (neg.f64 (/.f64 (*.f64 (cbrt.f64 lo) (cbrt.f64 lo)) 1)) (/.f64 (cbrt.f64 lo) hi))))) (pow.f64 (/.f64 lo hi) 3)))
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 (fma.f64 1 -1 (neg.f64 (*.f64 (/.f64 (cbrt.f64 lo) (cbrt.f64 hi)) (/.f64 (*.f64 (cbrt.f64 lo) (cbrt.f64 lo)) (*.f64 (cbrt.f64 hi) (cbrt.f64 hi)))))) (fma.f64 (neg.f64 (/.f64 (cbrt.f64 lo) (cbrt.f64 hi))) (/.f64 (*.f64 (cbrt.f64 lo) (cbrt.f64 lo)) (*.f64 (cbrt.f64 hi) (cbrt.f64 hi))) (*.f64 (/.f64 (cbrt.f64 lo) (cbrt.f64 hi)) (/.f64 (*.f64 (cbrt.f64 lo) (cbrt.f64 lo)) (*.f64 (cbrt.f64 hi) (cbrt.f64 hi)))))))) (pow.f64 (/.f64 lo hi) 3)))
58.0b
(-.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 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)))) (*.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 lo hi) 3)) (cbrt.f64 (pow.f64 (/.f64 lo hi) 3))) (cbrt.f64 (pow.f64 (/.f64 lo hi) 3)))))
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 (neg.f64 (*.f64 (cbrt.f64 (/.f64 lo hi)) (cbrt.f64 (/.f64 lo hi)))) (cbrt.f64 (/.f64 lo hi)))))) (pow.f64 (/.f64 lo hi) 3)))
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)))) (*.f64 (pow.f64 (*.f64 (cbrt.f64 (/.f64 lo hi)) (cbrt.f64 (/.f64 lo hi))) 3) (pow.f64 (cbrt.f64 (/.f64 lo hi)) 3))))
51.8b
(+.f64 (/.f64 x hi) (-.f64 (fma.f64 (/.f64 x hi) (/.f64 lo hi) (*.f64 (/.f64 lo hi) (-.f64 -1 (/.f64 lo hi)))) (pow.f64 (/.f64 lo hi) 3)))
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 (fma.f64 1 -1 (neg.f64 (*.f64 (/.f64 (cbrt.f64 lo) (sqrt.f64 hi)) (/.f64 (*.f64 (cbrt.f64 lo) (cbrt.f64 lo)) (sqrt.f64 hi))))) (fma.f64 (neg.f64 (/.f64 (cbrt.f64 lo) (sqrt.f64 hi))) (/.f64 (*.f64 (cbrt.f64 lo) (cbrt.f64 lo)) (sqrt.f64 hi)) (*.f64 (/.f64 (cbrt.f64 lo) (sqrt.f64 hi)) (/.f64 (*.f64 (cbrt.f64 lo) (cbrt.f64 lo)) (sqrt.f64 hi))))))) (pow.f64 (/.f64 lo hi) 3)))
52.0b
(-.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)))))
52.0b
(-.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 (neg.f64 (/.f64 (*.f64 (cbrt.f64 lo) (cbrt.f64 lo)) (*.f64 (cbrt.f64 hi) (cbrt.f64 hi)))) (/.f64 (cbrt.f64 lo) (cbrt.f64 hi)))))) (pow.f64 (/.f64 lo hi) 3)))
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)))) (*.f64 (pow.f64 (/.f64 (*.f64 (cbrt.f64 lo) (cbrt.f64 lo)) (sqrt.f64 hi)) 3) (pow.f64 (/.f64 (cbrt.f64 lo) (sqrt.f64 hi)) 3))))
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)))) (*.f64 (pow.f64 (/.f64 (*.f64 (cbrt.f64 lo) (cbrt.f64 lo)) (*.f64 (cbrt.f64 hi) (cbrt.f64 hi))) 3) (pow.f64 (/.f64 (cbrt.f64 lo) (cbrt.f64 hi)) 3))))
51.9b
(+.f64 (/.f64 x hi) (-.f64 (fma.f64 (/.f64 x hi) (pow.f64 (/.f64 lo hi) 2) (*.f64 (/.f64 lo hi) (-.f64 -1 (/.f64 lo hi)))) (pow.f64 (/.f64 lo hi) 3)))
58.0b
(+.f64 (/.f64 x hi) (-.f64 (fma.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi)) (*.f64 (/.f64 lo hi) (neg.f64 (/.f64 lo hi)))) (pow.f64 (/.f64 lo hi) 3)))
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 (fma.f64 1 -1 (neg.f64 (*.f64 (/.f64 lo (cbrt.f64 hi)) (/.f64 1 (*.f64 (cbrt.f64 hi) (cbrt.f64 hi)))))) (fma.f64 (neg.f64 (/.f64 lo (cbrt.f64 hi))) (/.f64 1 (*.f64 (cbrt.f64 hi) (cbrt.f64 hi))) (*.f64 (/.f64 lo (cbrt.f64 hi)) (/.f64 1 (*.f64 (cbrt.f64 hi) (cbrt.f64 hi)))))))) (pow.f64 (/.f64 lo hi) 3)))
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 (fma.f64 1 -1 (neg.f64 (*.f64 (/.f64 (cbrt.f64 lo) hi) (/.f64 (*.f64 (cbrt.f64 lo) (cbrt.f64 lo)) 1)))) (fma.f64 (neg.f64 (/.f64 (cbrt.f64 lo) hi)) (/.f64 (*.f64 (cbrt.f64 lo) (cbrt.f64 lo)) 1) (*.f64 (/.f64 (cbrt.f64 lo) hi) (/.f64 (*.f64 (cbrt.f64 lo) (cbrt.f64 lo)) 1)))))) (pow.f64 (/.f64 lo hi) 3)))
Compiler

Compiled 11910 to 4387 computations (63.2% saved)

localize23.0ms (0.3%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.3b
(-.f64 (fma.f64 (/.f64 x hi) (/.f64 lo hi) (*.f64 (/.f64 lo hi) (-.f64 -1 (/.f64 lo hi)))) (pow.f64 (/.f64 lo hi) 3))
0.3b
(*.f64 (/.f64 lo hi) (-.f64 -1 (/.f64 lo hi)))
0.7b
(pow.f64 (/.f64 lo hi) 3)
1.6b
(-.f64 -1 (/.f64 lo hi))

rewrite140.0ms (2.1%)

Algorithm
rewrite-expression-head
Rules
208×add-sqr-sqrt_binary64
189×*-un-lft-identity_binary64
185×add-cube-cbrt_binary64
174×prod-diff_binary64
157×times-frac_binary64
Counts
2 → 299
Calls

2 calls:

30.0ms
(-.f64 (fma.f64 (/.f64 x hi) (/.f64 lo hi) (*.f64 (/.f64 lo hi) (-.f64 -1 (/.f64 lo hi)))) (pow.f64 (/.f64 lo hi) 3))
30.0ms
(*.f64 (/.f64 lo hi) (-.f64 -1 (/.f64 lo hi)))

series279.0ms (4.2%)

Counts
2 → 60
Calls

2 calls:

205.0ms
(-.f64 (fma.f64 (/.f64 x hi) (/.f64 lo hi) (*.f64 (/.f64 lo hi) (-.f64 -1 (/.f64 lo hi)))) (pow.f64 (/.f64 lo hi) 3))
72.0ms
(*.f64 (/.f64 lo hi) (-.f64 -1 (/.f64 lo hi)))

simplify728.0ms (11%)

Algorithm
egg-herbie
Rules
596×associate-*l*_binary64
364×fma-neg_binary64
336×associate-*l/_binary64
329×associate-*r/_binary64
194×exp-prod_binary64
Counts
359 → 700
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
056219732
1141110305
238639749
346379749
450489749

prune618.0ms (9.3%)

Pruning

13 alts after pruning (13 fresh and 0 done)

PrunedKeptTotal
New99591004
Fresh12416
Picked101
Done000
Total1008131021
Error
50.7b
Counts
1021 → 13
Alt Table
StatusErrorProgram
58.0b
(-.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.8b
(+.f64 (/.f64 x hi) (/.f64 (-.f64 (*.f64 (fma.f64 (/.f64 x hi) (/.f64 lo hi) (*.f64 (/.f64 lo hi) (-.f64 -1 (/.f64 lo hi)))) (fma.f64 (/.f64 x hi) (/.f64 lo hi) (*.f64 (/.f64 lo hi) (-.f64 -1 (/.f64 lo hi))))) (*.f64 (pow.f64 (/.f64 lo hi) 3) (pow.f64 (/.f64 lo hi) 3))) (+.f64 (fma.f64 (/.f64 x hi) (/.f64 lo hi) (*.f64 (/.f64 lo hi) (-.f64 -1 (/.f64 lo hi)))) (pow.f64 (/.f64 lo hi) 3))))
52.0b
(-.f64 (+.f64 1 (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 hi lo))) (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 x lo)))
51.8b
(+.f64 (/.f64 x hi) (+.f64 (fma.f64 (*.f64 (cbrt.f64 (fma.f64 (/.f64 x hi) (/.f64 lo hi) (*.f64 (/.f64 lo hi) (-.f64 -1 (/.f64 lo hi))))) (cbrt.f64 (fma.f64 (/.f64 x hi) (/.f64 lo hi) (*.f64 (/.f64 lo hi) (-.f64 -1 (/.f64 lo hi)))))) (cbrt.f64 (fma.f64 (/.f64 x hi) (/.f64 lo hi) (*.f64 (/.f64 lo hi) (-.f64 -1 (/.f64 lo hi))))) (neg.f64 (*.f64 (pow.f64 (/.f64 (cbrt.f64 lo) (cbrt.f64 hi)) 3) (pow.f64 (/.f64 (*.f64 (cbrt.f64 lo) (cbrt.f64 lo)) (*.f64 (cbrt.f64 hi) (cbrt.f64 hi))) 3)))) (fma.f64 (neg.f64 (pow.f64 (/.f64 (cbrt.f64 lo) (cbrt.f64 hi)) 3)) (pow.f64 (/.f64 (*.f64 (cbrt.f64 lo) (cbrt.f64 lo)) (*.f64 (cbrt.f64 hi) (cbrt.f64 hi))) 3) (*.f64 (pow.f64 (/.f64 (cbrt.f64 lo) (cbrt.f64 hi)) 3) (pow.f64 (/.f64 (*.f64 (cbrt.f64 lo) (cbrt.f64 lo)) (*.f64 (cbrt.f64 hi) (cbrt.f64 hi))) 3)))))
52.0b
(-.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)))))
51.8b
(+.f64 (/.f64 x hi) (/.f64 (-.f64 (*.f64 (*.f64 (/.f64 lo hi) (+.f64 (/.f64 x hi) (-.f64 -1 (/.f64 lo hi)))) (*.f64 (/.f64 lo hi) (+.f64 (/.f64 x hi) (-.f64 -1 (/.f64 lo hi))))) (pow.f64 (/.f64 lo hi) 6)) (+.f64 (pow.f64 (/.f64 lo hi) 3) (*.f64 (/.f64 lo hi) (+.f64 (/.f64 x hi) (-.f64 -1 (/.f64 lo hi)))))))
51.8b
(+.f64 (/.f64 x hi) (+.f64 (fma.f64 (*.f64 (cbrt.f64 (fma.f64 (/.f64 x hi) (/.f64 lo hi) (*.f64 (/.f64 lo hi) (-.f64 -1 (/.f64 lo hi))))) (cbrt.f64 (fma.f64 (/.f64 x hi) (/.f64 lo hi) (*.f64 (/.f64 lo hi) (-.f64 -1 (/.f64 lo hi)))))) (cbrt.f64 (fma.f64 (/.f64 x hi) (/.f64 lo hi) (*.f64 (/.f64 lo hi) (-.f64 -1 (/.f64 lo hi))))) (neg.f64 (*.f64 (pow.f64 (cbrt.f64 (/.f64 lo hi)) 3) (pow.f64 (*.f64 (cbrt.f64 (/.f64 lo hi)) (cbrt.f64 (/.f64 lo hi))) 3)))) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (/.f64 lo hi)) 3)) (pow.f64 (*.f64 (cbrt.f64 (/.f64 lo hi)) (cbrt.f64 (/.f64 lo hi))) 3) (*.f64 (pow.f64 (cbrt.f64 (/.f64 lo hi)) 3) (pow.f64 (*.f64 (cbrt.f64 (/.f64 lo hi)) (cbrt.f64 (/.f64 lo hi))) 3)))))
58.0b
(+.f64 (/.f64 x hi) (-.f64 (neg.f64 (pow.f64 (/.f64 lo hi) 3)) (pow.f64 (cbrt.f64 (/.f64 lo hi)) 6)))
51.5b
(+.f64 (/.f64 x hi) (neg.f64 (pow.f64 (/.f64 lo hi) 3)))
51.8b
(+.f64 (/.f64 x hi) (-.f64 (fma.f64 (/.f64 x hi) (/.f64 lo hi) (+.f64 (neg.f64 (/.f64 lo hi)) (neg.f64 (pow.f64 (cbrt.f64 (/.f64 lo hi)) 6)))) (pow.f64 (/.f64 lo hi) 3)))
51.8b
(+.f64 (/.f64 x hi) (-.f64 (fma.f64 (/.f64 x hi) (/.f64 lo hi) (*.f64 (/.f64 lo hi) (+.f64 (fma.f64 1 -1 (neg.f64 (*.f64 (/.f64 (cbrt.f64 lo) (sqrt.f64 hi)) (/.f64 (*.f64 (cbrt.f64 lo) (cbrt.f64 lo)) (sqrt.f64 hi))))) (fma.f64 (neg.f64 (/.f64 (cbrt.f64 lo) (sqrt.f64 hi))) (/.f64 (*.f64 (cbrt.f64 lo) (cbrt.f64 lo)) (sqrt.f64 hi)) (*.f64 (/.f64 (cbrt.f64 lo) (sqrt.f64 hi)) (/.f64 (*.f64 (cbrt.f64 lo) (cbrt.f64 lo)) (sqrt.f64 hi))))))) (pow.f64 (/.f64 lo hi) 3)))
58.0b
(+.f64 (/.f64 x hi) (-.f64 (fma.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi)) (*.f64 (/.f64 lo hi) (neg.f64 (/.f64 lo hi)))) (pow.f64 (/.f64 lo hi) 3)))
52.0b
(+.f64 (/.f64 x hi) (-.f64 (fma.f64 (/.f64 x hi) (/.f64 lo hi) (/.f64 (*.f64 lo (-.f64 (*.f64 -1 -1) (*.f64 (/.f64 lo hi) (/.f64 lo hi)))) (*.f64 hi (+.f64 -1 (/.f64 lo hi))))) (pow.f64 (/.f64 lo hi) 3)))
Compiler

Compiled 22632 to 7703 computations (66% saved)

localize14.0ms (0.2%)

Local error

Found 2 expressions with local error:

NewErrorProgram
0.0b
(+.f64 (/.f64 x hi) (neg.f64 (pow.f64 (/.f64 lo hi) 3)))
0.7b
(pow.f64 (/.f64 lo hi) 3)

rewrite78.0ms (1.2%)

Algorithm
rewrite-expression-head
Rules
13×fma-def_binary64
12×*-un-lft-identity_binary64
times-frac_binary64
add-sqr-sqrt_binary64
add-cube-cbrt_binary64
Counts
1 → 32
Calls

1 calls:

74.0ms
(+.f64 (/.f64 x hi) (neg.f64 (pow.f64 (/.f64 lo hi) 3)))

series151.0ms (2.3%)

Counts
1 → 36
Calls

1 calls:

151.0ms
(+.f64 (/.f64 x hi) (neg.f64 (pow.f64 (/.f64 lo hi) 3)))

simplify143.0ms (2.2%)

Algorithm
egg-herbie
Rules
674×associate-*l*_binary64
366×associate-*l/_binary64
355×associate-*r/_binary64
237×fma-def_binary64
209×cube-prod_binary64
Counts
68 → 114
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
049770
1145723
2607719
33899719
44872719
55068719

prune143.0ms (2.2%)

Pruning

20 alts after pruning (20 fresh and 0 done)

PrunedKeptTotal
New3659374
Fresh11112
Picked101
Done000
Total36720387
Error
50.7b
Counts
387 → 20
Alt Table
StatusErrorProgram
58.0b
(-.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.8b
(+.f64 (/.f64 x hi) (/.f64 (-.f64 (*.f64 (fma.f64 (/.f64 x hi) (/.f64 lo hi) (*.f64 (/.f64 lo hi) (-.f64 -1 (/.f64 lo hi)))) (fma.f64 (/.f64 x hi) (/.f64 lo hi) (*.f64 (/.f64 lo hi) (-.f64 -1 (/.f64 lo hi))))) (*.f64 (pow.f64 (/.f64 lo hi) 3) (pow.f64 (/.f64 lo hi) 3))) (+.f64 (fma.f64 (/.f64 x hi) (/.f64 lo hi) (*.f64 (/.f64 lo hi) (-.f64 -1 (/.f64 lo hi)))) (pow.f64 (/.f64 lo hi) 3))))
51.5b
(*.f64 (sqrt.f64 (-.f64 (/.f64 x hi) (pow.f64 (/.f64 lo hi) 3))) (sqrt.f64 (-.f64 (/.f64 x hi) (pow.f64 (/.f64 lo hi) 3))))
52.0b
(-.f64 (+.f64 1 (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 hi lo))) (*.f64 (+.f64 1 (/.f64 hi lo)) (/.f64 x lo)))
51.8b
(+.f64 (/.f64 x hi) (+.f64 (fma.f64 (*.f64 (cbrt.f64 (fma.f64 (/.f64 x hi) (/.f64 lo hi) (*.f64 (/.f64 lo hi) (-.f64 -1 (/.f64 lo hi))))) (cbrt.f64 (fma.f64 (/.f64 x hi) (/.f64 lo hi) (*.f64 (/.f64 lo hi) (-.f64 -1 (/.f64 lo hi)))))) (cbrt.f64 (fma.f64 (/.f64 x hi) (/.f64 lo hi) (*.f64 (/.f64 lo hi) (-.f64 -1 (/.f64 lo hi))))) (neg.f64 (*.f64 (pow.f64 (/.f64 (cbrt.f64 lo) (cbrt.f64 hi)) 3) (pow.f64 (/.f64 (*.f64 (cbrt.f64 lo) (cbrt.f64 lo)) (*.f64 (cbrt.f64 hi) (cbrt.f64 hi))) 3)))) (fma.f64 (neg.f64 (pow.f64 (/.f64 (cbrt.f64 lo) (cbrt.f64 hi)) 3)) (pow.f64 (/.f64 (*.f64 (cbrt.f64 lo) (cbrt.f64 lo)) (*.f64 (cbrt.f64 hi) (cbrt.f64 hi))) 3) (*.f64 (pow.f64 (/.f64 (cbrt.f64 lo) (cbrt.f64 hi)) 3) (pow.f64 (/.f64 (*.f64 (cbrt.f64 lo) (cbrt.f64 lo)) (*.f64 (cbrt.f64 hi) (cbrt.f64 hi))) 3)))))
51.5b
(+.f64 (/.f64 x hi) (neg.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (cbrt.f64 lo) (cbrt.f64 lo)) (*.f64 (cbrt.f64 hi) (cbrt.f64 hi))) 3) (pow.f64 (/.f64 (cbrt.f64 lo) (cbrt.f64 hi)) 3))))
51.5b
(log.f64 (*.f64 (exp.f64 (/.f64 x hi)) (/.f64 1 (exp.f64 (pow.f64 (/.f64 lo hi) 3)))))
51.5b
(+.f64 (/.f64 x hi) (neg.f64 (*.f64 (pow.f64 (*.f64 (cbrt.f64 (/.f64 lo hi)) (cbrt.f64 (/.f64 lo hi))) 3) (pow.f64 (cbrt.f64 (/.f64 lo hi)) 3))))
51.8b
(+.f64 (/.f64 x hi) (-.f64 (fma.f64 (/.f64 x hi) (/.f64 lo hi) (*.f64 (/.f64 lo hi) (+.f64 (fma.f64 1 -1 (neg.f64 (*.f64 (/.f64 (cbrt.f64 lo) (sqrt.f64 hi)) (/.f64 (*.f64 (cbrt.f64 lo) (cbrt.f64 lo)) (sqrt.f64 hi))))) (fma.f64 (neg.f64 (/.f64 (cbrt.f64 lo) (sqrt.f64 hi))) (/.f64 (*.f64 (cbrt.f64 lo) (cbrt.f64 lo)) (sqrt.f64 hi)) (*.f64 (/.f64 (cbrt.f64 lo) (sqrt.f64 hi)) (/.f64 (*.f64 (cbrt.f64 lo) (cbrt.f64 lo)) (sqrt.f64 hi))))))) (pow.f64 (/.f64 lo hi) 3)))
52.0b
(-.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)))))
51.8b
(+.f64 (/.f64 x hi) (/.f64 (-.f64 (*.f64 (*.f64 (/.f64 lo hi) (+.f64 (/.f64 x hi) (-.f64 -1 (/.f64 lo hi)))) (*.f64 (/.f64 lo hi) (+.f64 (/.f64 x hi) (-.f64 -1 (/.f64 lo hi))))) (pow.f64 (/.f64 lo hi) 6)) (+.f64 (pow.f64 (/.f64 lo hi) 3) (*.f64 (/.f64 lo hi) (+.f64 (/.f64 x hi) (-.f64 -1 (/.f64 lo hi)))))))
51.5b
(pow.f64 (neg.f64 (/.f64 lo hi)) 3)
51.8b
(+.f64 (/.f64 x hi) (+.f64 (fma.f64 (*.f64 (cbrt.f64 (fma.f64 (/.f64 x hi) (/.f64 lo hi) (*.f64 (/.f64 lo hi) (-.f64 -1 (/.f64 lo hi))))) (cbrt.f64 (fma.f64 (/.f64 x hi) (/.f64 lo hi) (*.f64 (/.f64 lo hi) (-.f64 -1 (/.f64 lo hi)))))) (cbrt.f64 (fma.f64 (/.f64 x hi) (/.f64 lo hi) (*.f64 (/.f64 lo hi) (-.f64 -1 (/.f64 lo hi))))) (neg.f64 (*.f64 (pow.f64 (cbrt.f64 (/.f64 lo hi)) 3) (pow.f64 (*.f64 (cbrt.f64 (/.f64 lo hi)) (cbrt.f64 (/.f64 lo hi))) 3)))) (fma.f64 (neg.f64 (pow.f64 (cbrt.f64 (/.f64 lo hi)) 3)) (pow.f64 (*.f64 (cbrt.f64 (/.f64 lo hi)) (cbrt.f64 (/.f64 lo hi))) 3) (*.f64 (pow.f64 (cbrt.f64 (/.f64 lo hi)) 3) (pow.f64 (*.f64 (cbrt.f64 (/.f64 lo hi)) (cbrt.f64 (/.f64 lo hi))) 3)))))
58.0b
(+.f64 (/.f64 x hi) (-.f64 (neg.f64 (pow.f64 (/.f64 lo hi) 3)) (pow.f64 (cbrt.f64 (/.f64 lo hi)) 6)))
51.5b
(cbrt.f64 (pow.f64 (-.f64 (/.f64 x hi) (pow.f64 (/.f64 lo hi) 3)) 3))
51.5b
(+.f64 (/.f64 x hi) (neg.f64 (*.f64 (*.f64 (cbrt.f64 (pow.f64 (/.f64 lo hi) 3)) (cbrt.f64 (pow.f64 (/.f64 lo hi) 3))) (cbrt.f64 (pow.f64 (/.f64 lo hi) 3)))))
51.5b
(+.f64 (/.f64 x hi) (neg.f64 (*.f64 (pow.f64 (/.f64 (*.f64 (cbrt.f64 lo) (cbrt.f64 lo)) (sqrt.f64 hi)) 3) (pow.f64 (/.f64 (cbrt.f64 lo) (sqrt.f64 hi)) 3))))
51.8b
(+.f64 (/.f64 x hi) (-.f64 (fma.f64 (/.f64 x hi) (/.f64 lo hi) (+.f64 (neg.f64 (/.f64 lo hi)) (neg.f64 (pow.f64 (cbrt.f64 (/.f64 lo hi)) 6)))) (pow.f64 (/.f64 lo hi) 3)))
58.0b
(+.f64 (/.f64 x hi) (-.f64 (fma.f64 (/.f64 x hi) (*.f64 (+.f64 (/.f64 lo hi) 1) (/.f64 lo hi)) (*.f64 (/.f64 lo hi) (neg.f64 (/.f64 lo hi)))) (pow.f64 (/.f64 lo hi) 3)))
51.5b
(/.f64 (-.f64 (pow.f64 (/.f64 x hi) 3) (pow.f64 (pow.f64 (/.f64 lo hi) 3) 3)) (+.f64 (pow.f64 (/.f64 lo hi) 6) (*.f64 (/.f64 x hi) (+.f64 (pow.f64 (/.f64 lo hi) 3) (/.f64 x hi)))))
Compiler

Compiled 2328 to 1082 computations (53.5% saved)

regimes1.2s (17.4%)

Accuracy

Total 0.9b remaining (1.8%)

Threshold costs 0.9b (1.8%)

Compiler

Compiled 19566 to 9340 computations (52.3% saved)

simplify8.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
079
1139
2179
3209
4219
5219

end1.0ms (0%)

Compiler

Compiled 9 to 7 computations (22.2% saved)

sample1.5s (22.2%)

Algorithm
intervals
Results
411.0ms8000×body128valid
255.0ms8000×pre128true
Compiler

Compiled 869 to 413 computations (52.5% saved)

Profiling

Loading profile data...