Details

Time bar (total: 3.6s)

analyze205.0ms (5.8%)

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

Compiled 17 to 11 computations (35.3% saved)

sample24.0ms (0.7%)

Algorithm
intervals
Results
8.0ms256×body128valid
5.0ms256×pre128true
Compiler

Compiled 30 to 20 computations (33.3% saved)

simplify88.0ms (2.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 → 0
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

prune1.0ms (0%)

Pruning

1 alts after pruning (1 fresh and 0 done)

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

Compiled 20 to 12 computations (40% saved)

localize5.0ms (0.1%)

Local error

Found 1 expressions with local error:

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

rewrite35.0ms (1%)

Algorithm
rewrite-expression-head
Error
62.0b
Rules
15×add-cube-cbrt_binary64
add-cbrt-cube_binary64
div-sub_binary64
add-exp-log_binary64
flip3--_binary64
Counts
1 → 54
Calls

1 calls:

15.0ms
(/.f64 (-.f64 x lo) (-.f64 hi lo))
Compiler

Compiled 810 to 177 computations (78.1% saved)

series22.0ms (0.6%)

Error
51.8b
Counts
1 → 10
Calls

1 calls:

13.0ms
(/.f64 (-.f64 x lo) (-.f64 hi lo))
Compiler

Compiled 304 to 187 computations (38.5% saved)

simplify65.0ms (1.8%)

Algorithm
egg-herbie
Rules
802×fma-def_binary64
776×times-frac_binary64
385×associate-/l*_binary64
275×associate-/r*_binary64
231×associate-*l/_binary64
Counts
64 → 23
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0100873
1281822
2953810
34779810
45440810

prune11.0ms (0.3%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New21223
Fresh000
Picked101
Done000
Total22224
Error
51.8b
Counts
24 → 2
Alt Table
StatusErrorProgram
52.1b
(/.f64 (fma.f64 -1 x lo) lo)
52.0b
(fma.f64 (/.f64 x hi) (/.f64 lo hi) (/.f64 (-.f64 x lo) hi))
Compiler

Compiled 350 to 127 computations (63.7% saved)

localize8.0ms (0.2%)

Local error

Found 1 expressions with local error:

0.0b
(fma.f64 (/.f64 x hi) (/.f64 lo hi) (/.f64 (-.f64 x lo) hi))

rewrite23.0ms (0.7%)

Algorithm
rewrite-expression-head
Error
51.8b
Rules
add-cube-cbrt_binary64
fma-udef_binary64
pow1_binary64
add-sqr-sqrt_binary64
add-cbrt-cube_binary64
Counts
1 → 33
Calls

1 calls:

10.0ms
(fma.f64 (/.f64 x hi) (/.f64 lo hi) (/.f64 (-.f64 x lo) hi))
Compiler

Compiled 590 to 73 computations (87.6% saved)

series92.0ms (2.6%)

Error
51.8b
Counts
1 → 13
Calls

1 calls:

87.0ms
(fma.f64 (/.f64 x hi) (/.f64 lo hi) (/.f64 (-.f64 x lo) hi))
Compiler

Compiled 414 to 259 computations (37.4% saved)

simplify69.0ms (1.9%)

Algorithm
egg-herbie
Rules
894×fma-def_binary64
752×distribute-rgt-in_binary64
450×fma-neg_binary64
209×cancel-sign-sub-inv_binary64
183×associate-*l/_binary64
Counts
46 → 28
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
059789
1164734
2471719
31822713
44613713
55018713

prune27.0ms (0.7%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New171128
Fresh011
Picked101
Done000
Total181230
Error
51.8b
Counts
30 → 12
Alt Table
StatusErrorProgram
52.1b
(/.f64 (fma.f64 -1 x lo) lo)
52.0b
(cbrt.f64 (pow.f64 (fma.f64 lo (/.f64 x (*.f64 hi hi)) (/.f64 (-.f64 x lo) hi)) 3))
52.0b
(/.f64 (*.f64 (fma.f64 lo (/.f64 x (*.f64 hi hi)) (/.f64 (-.f64 x lo) hi)) (fma.f64 lo (/.f64 x (*.f64 hi hi)) (/.f64 (-.f64 lo x) hi))) (fma.f64 lo (/.f64 x (*.f64 hi hi)) (/.f64 (-.f64 lo x) hi)))
52.0b
(/.f64 (+.f64 (pow.f64 (*.f64 (/.f64 lo hi) (/.f64 x hi)) 3) (pow.f64 (/.f64 (-.f64 x lo) hi) 3)) (fma.f64 (/.f64 x hi) (*.f64 (/.f64 lo hi) (fma.f64 lo (/.f64 x (*.f64 hi hi)) (/.f64 (-.f64 lo x) hi))) (*.f64 (/.f64 (-.f64 x lo) hi) (/.f64 (-.f64 x lo) hi))))
52.0b
(*.f64 (sqrt.f64 (fma.f64 lo (/.f64 x (*.f64 hi hi)) (/.f64 (-.f64 x lo) hi))) (sqrt.f64 (fma.f64 lo (/.f64 x (*.f64 hi hi)) (/.f64 (-.f64 x lo) hi))))
52.0b
(*.f64 (cbrt.f64 (*.f64 (fma.f64 lo (/.f64 x (*.f64 hi hi)) (/.f64 (-.f64 x lo) hi)) (fma.f64 lo (/.f64 x (*.f64 hi hi)) (/.f64 (-.f64 x lo) hi)))) (cbrt.f64 (fma.f64 lo (/.f64 x (*.f64 hi hi)) (/.f64 (-.f64 x lo) hi))))
52.0b
(*.f64 (*.f64 (cbrt.f64 (fma.f64 lo (/.f64 x (*.f64 hi hi)) (/.f64 (-.f64 x lo) hi))) (cbrt.f64 (fma.f64 lo (/.f64 x (*.f64 hi hi)) (/.f64 (-.f64 x lo) hi)))) (cbrt.f64 (fma.f64 lo (/.f64 x (*.f64 hi hi)) (/.f64 (-.f64 x lo) hi))))
52.0b
(log.f64 (exp.f64 (fma.f64 lo (/.f64 x (*.f64 hi hi)) (/.f64 (-.f64 x lo) hi))))
52.0b
(-.f64 (exp.f64 (log1p.f64 (fma.f64 lo (/.f64 x (*.f64 hi hi)) (/.f64 (-.f64 x lo) hi)))) 1)
52.0b
(log1p.f64 (expm1.f64 (fma.f64 lo (/.f64 x (*.f64 hi hi)) (/.f64 (-.f64 x lo) hi))))
52.0b
(expm1.f64 (log1p.f64 (fma.f64 lo (/.f64 x (*.f64 hi hi)) (/.f64 (-.f64 x lo) hi))))
52.0b
(*.f64 (/.f64 lo hi) (+.f64 (/.f64 x hi) -1))
Compiler

Compiled 1065 to 332 computations (68.8% saved)

localize6.0ms (0.2%)

Local error

Found 1 expressions with local error:

0.0b
(*.f64 (/.f64 lo hi) (+.f64 (/.f64 x hi) -1))

rewrite43.0ms (1.2%)

Algorithm
rewrite-expression-head
Error
51.8b
Rules
11×pow1_binary64
flip3-+_binary64
add-exp-log_binary64
add-sqr-sqrt_binary64
frac-times_binary64
Counts
1 → 53
Calls

1 calls:

17.0ms
(*.f64 (/.f64 lo hi) (+.f64 (/.f64 x hi) -1))
Compiler

Compiled 916 to 408 computations (55.5% saved)

series30.0ms (0.9%)

Error
51.8b
Counts
1 → 12
Calls

1 calls:

29.0ms
(*.f64 (/.f64 lo hi) (+.f64 (/.f64 x hi) -1))
Compiler

Compiled 287 to 187 computations (34.8% saved)

simplify75.0ms (2.1%)

Algorithm
egg-herbie
Rules
575×associate-*l/_binary64
480×associate-*r/_binary64
352×fma-neg_binary64
300×distribute-rgt-in_binary64
251×distribute-lft-in_binary64
Counts
65 → 46
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0921050
1310948
21091916
34899916
45149916

prune32.0ms (0.9%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New361046
Fresh10111
Picked101
Done000
Total471158
Error
51.8b
Counts
58 → 11
Alt Table
StatusErrorProgram
52.0b
(-.f64 (exp.f64 (log1p.f64 (/.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1)) hi))) 1)
52.1b
(/.f64 (fma.f64 -1 x lo) lo)
52.0b
(cbrt.f64 (pow.f64 (/.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1)) hi) 3))
52.0b
(log.f64 (+.f64 1 (expm1.f64 (/.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1)) hi))))
52.0b
(expm1.f64 (log1p.f64 (/.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1)) hi)))
52.0b
(*.f64 (*.f64 lo (+.f64 (pow.f64 (/.f64 x hi) 3) (pow.f64 -1 3))) (/.f64 1 (+.f64 hi (*.f64 (*.f64 (/.f64 x hi) (+.f64 (/.f64 x hi) 1)) hi))))
52.0b
(/.f64 1 (*.f64 (/.f64 hi (*.f64 lo (+.f64 -1 (pow.f64 (/.f64 x hi) 3)))) (+.f64 1 (*.f64 (/.f64 x hi) (+.f64 (/.f64 x hi) 1)))))
52.0b
(/.f64 (*.f64 (pow.f64 (/.f64 lo hi) 3) (+.f64 -1 (pow.f64 (/.f64 x hi) 3))) (*.f64 (pow.f64 (/.f64 lo hi) 2) (+.f64 1 (*.f64 (/.f64 x hi) (+.f64 (/.f64 x hi) 1)))))
52.0b
(*.f64 (sqrt.f64 (/.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1)) hi)) (sqrt.f64 (/.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1)) hi)))
52.0b
(*.f64 (cbrt.f64 (*.f64 (pow.f64 (/.f64 lo hi) 2) (pow.f64 (-.f64 (/.f64 x hi) 1) 2))) (cbrt.f64 (/.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1)) hi)))
52.0b
(*.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1)) hi)) (cbrt.f64 (/.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1)) hi))) (cbrt.f64 (/.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1)) hi)))
Compiler

Compiled 1023 to 591 computations (42.2% saved)

localize11.0ms (0.3%)

Local error

Found 4 expressions with local error:

0.5b
(cbrt.f64 (/.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1)) hi))
0.5b
(cbrt.f64 (/.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1)) hi))
0.5b
(cbrt.f64 (/.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1)) hi))
0.5b
(*.f64 (cbrt.f64 (/.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1)) hi)) (cbrt.f64 (/.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1)) hi)))

rewrite152.0ms (4.3%)

Algorithm
rewrite-expression-head
Error
51.8b
Rules
31×cbrt-div_binary64
28×add-cube-cbrt_binary64
27×pow1/3_binary64
17×add-sqr-sqrt_binary64
12×add-exp-log_binary64
Counts
4 → 156
Calls

4 calls:

15.0ms
(*.f64 (cbrt.f64 (/.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1)) hi)) (cbrt.f64 (/.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1)) hi)))
12.0ms
(cbrt.f64 (/.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1)) hi))
10.0ms
(cbrt.f64 (/.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1)) hi))
10.0ms
(cbrt.f64 (/.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1)) hi))
Compiler

Compiled 4406 to 2449 computations (44.4% saved)

series371.0ms (10.4%)

Error
51.8b
Counts
4 → 36
Calls

4 calls:

163.0ms
(*.f64 (cbrt.f64 (/.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1)) hi)) (cbrt.f64 (/.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1)) hi)))
85.0ms
(cbrt.f64 (/.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1)) hi))
49.0ms
(cbrt.f64 (/.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1)) hi))
47.0ms
(cbrt.f64 (/.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1)) hi))
Compiler

Compiled 4340 to 2966 computations (31.7% saved)

simplify172.0ms (4.8%)

Algorithm
egg-herbie
Rules
383×fma-neg_binary64
376×associate-*l*_binary64
358×exp-prod_binary64
300×associate-*r*_binary64
244×log-prod_binary64
Counts
192 → 114
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01763441
14132926
29292801
335762739
449552739
549812739
649422739

prune134.0ms (3.8%)

Pruning

17 alts after pruning (17 fresh and 0 done)

PrunedKeptTotal
New10311114
Fresh4610
Picked101
Done000
Total10817125
Error
51.8b
Counts
125 → 17
Alt Table
StatusErrorProgram
52.0b
(cbrt.f64 (pow.f64 (/.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1)) hi) 3))
52.0b
(*.f64 (*.f64 (expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 (-.f64 (/.f64 x hi) 1) (/.f64 lo hi))))) (cbrt.f64 (/.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1)) hi))) (cbrt.f64 (/.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1)) hi)))
52.0b
(*.f64 (*.f64 (*.f64 (cbrt.f64 lo) (cbrt.f64 (/.f64 -1 hi))) (cbrt.f64 (/.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1)) hi))) (cbrt.f64 (/.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1)) hi)))
52.0b
(-.f64 (exp.f64 (log1p.f64 (/.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1)) hi))) 1)
52.1b
(/.f64 (fma.f64 -1 x lo) lo)
52.0b
(*.f64 (*.f64 lo (+.f64 (pow.f64 (/.f64 x hi) 3) (pow.f64 -1 3))) (/.f64 1 (+.f64 hi (*.f64 (*.f64 (/.f64 x hi) (+.f64 (/.f64 x hi) 1)) hi))))
52.0b
(*.f64 (*.f64 (cbrt.f64 (/.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1)) hi)) (cbrt.f64 (/.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1)) hi))) (expm1.f64 (log1p.f64 (cbrt.f64 (*.f64 (-.f64 (/.f64 x hi) 1) (/.f64 lo hi))))))
52.0b
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 (/.f64 x hi) 1) (/.f64 lo hi)))) 5) (cbrt.f64 (cbrt.f64 (/.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1)) hi)))) (cbrt.f64 (/.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1)) hi)))
52.0b
(*.f64 (/.f64 (*.f64 (cbrt.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1))) (/.f64 (cbrt.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1))) (cbrt.f64 hi))) (cbrt.f64 hi)) (cbrt.f64 (/.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1)) hi)))
52.0b
(*.f64 (/.f64 (cbrt.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1))) (/.f64 (cbrt.f64 hi) (/.f64 (cbrt.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1))) (cbrt.f64 hi)))) (cbrt.f64 (/.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1)) hi)))
52.0b
(*.f64 (*.f64 (pow.f64 (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 (/.f64 x hi) 1) (/.f64 lo hi)))) 4) (*.f64 (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 (/.f64 x hi) 1) (/.f64 lo hi)))) (cbrt.f64 (cbrt.f64 (*.f64 (-.f64 (/.f64 x hi) 1) (/.f64 lo hi)))))) (cbrt.f64 (/.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1)) hi)))
52.0b
(*.f64 (*.f64 (*.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 (/.f64 x hi) 1) (/.f64 lo hi)) 2/3)) (cbrt.f64 (pow.f64 (*.f64 (-.f64 (/.f64 x hi) 1) (/.f64 lo hi)) 2/3))) (cbrt.f64 (pow.f64 (*.f64 (-.f64 (/.f64 x hi) 1) (/.f64 lo hi)) 2/3))) (cbrt.f64 (/.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1)) hi)))
52.0b
(*.f64 (cbrt.f64 (pow.f64 (*.f64 (-.f64 (/.f64 x hi) 1) (/.f64 lo hi)) 2)) (cbrt.f64 (/.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1)) hi)))
52.0b
(expm1.f64 (log1p.f64 (/.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1)) hi)))
52.0b
(/.f64 1 (*.f64 (/.f64 hi (*.f64 lo (+.f64 -1 (pow.f64 (/.f64 x hi) 3)))) (+.f64 1 (*.f64 (/.f64 x hi) (+.f64 (/.f64 x hi) 1)))))
52.0b
(*.f64 (*.f64 (log.f64 (exp.f64 (cbrt.f64 (*.f64 (-.f64 (/.f64 x hi) 1) (/.f64 lo hi))))) (cbrt.f64 (/.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1)) hi))) (cbrt.f64 (/.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1)) hi)))
52.0b
(*.f64 (*.f64 (-.f64 (exp.f64 (log1p.f64 (cbrt.f64 (*.f64 (-.f64 (/.f64 x hi) 1) (/.f64 lo hi))))) 1) (cbrt.f64 (/.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1)) hi))) (cbrt.f64 (/.f64 (*.f64 lo (-.f64 (/.f64 x hi) 1)) hi)))
Compiler

Compiled 3213 to 1787 computations (44.4% saved)

regimes741.0ms (20.9%)

Accuracy

Total 0.2b remaining (0.3%)

Threshold costs 0.2b (0.3%)

Compiler

Compiled 18982 to 11308 computations (40.4% saved)

simplify4.0ms (0.1%)

Algorithm
egg-herbie
Rules
*-commutative_binary64
+-commutative_binary64
sub-neg_binary64
1-exp_binary64
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01753
12553
22653
32453

end1.0ms (0%)

Compiler

Compiled 37 to 23 computations (37.8% saved)

sample1.1s (31.1%)

Algorithm
intervals
Results
252.0ms8000×pre128true
245.0ms8000×body128valid
Compiler

Compiled 593 to 375 computations (36.8% saved)

Profiling

Loading profile data...