Details

Time bar (total: 8.9s)

analyze1.4s (16.1%)

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
0%99.9%0.1%4
0%99.9%0.1%5
0%99.9%0.1%6
0%99.9%0.1%7
0%99.9%0.1%8
0%96.7%3.3%9
16.4%74.9%8.7%10
17.6%71.8%10.7%11
26.3%59.5%14.2%12
30.7%45.7%23.5%13
31.7%43.5%24.7%14
Compiler

Compiled 33 to 25 computations (24.2% saved)

sample2.4s (26.7%)

Results
1.4s8256×body128valid
909.0ms5075×body128invalid
Compiler

Compiled 98 to 74 computations (24.5% saved)

simplify42.0ms (0.5%)

Algorithm
egg-herbie
Rules
721×fma-neg_binary64
464×div-sub_binary64
380×associate-*l*_binary64
365×associate-*r*_binary64
276×neg-mul-1_binary64
Counts
1 → 2
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
02343
15943
216337
360735
4274433
5474833
6493833

prune5.0ms (0.1%)

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
8.6b
Counts
3 → 2
Alt Table
StatusErrorProgram
8.7b
(-.f64 (/.f64 2 (*.f64 r r)) (fma.f64 r (*.f64 (*.f64 r (*.f64 w w)) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2))
12.8b
(-.f64 (-.f64 (+.f64 3 (/.f64 2 (*.f64 r r))) (/.f64 (*.f64 (*.f64 1/8 (-.f64 3 (*.f64 2 v))) (*.f64 (*.f64 (*.f64 w w) r) r)) (-.f64 1 v))) 9/2)
Compiler

Compiled 171 to 121 computations (29.2% saved)

localize13.0ms (0.1%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (*.f64 r (*.f64 w w)) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)))
0.8b
(/.f64 2 (*.f64 r r))
1.7b
(fma.f64 r (*.f64 (*.f64 r (*.f64 w w)) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2)
10.2b
(*.f64 r (*.f64 w w))

series103.0ms (1.1%)

Counts
4 → 108
Calls

4 calls:

51.0ms
(fma.f64 r (*.f64 (*.f64 r (*.f64 w w)) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2)
40.0ms
(*.f64 (*.f64 r (*.f64 w w)) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)))
9.0ms
(*.f64 r (*.f64 w w))
2.0ms
(/.f64 2 (*.f64 r r))

rewrite33.0ms (0.4%)

Algorithm
rewrite-expression-head
Rules
35×add-cbrt-cube_binary64
35×add-exp-log_binary64
27×add-sqr-sqrt_binary64
26×*-un-lft-identity_binary64
25×associate-*r*_binary64
Counts
4 → 105
Calls

4 calls:

19.0ms
(*.f64 (*.f64 r (*.f64 w w)) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)))
4.0ms
(*.f64 r (*.f64 w w))
3.0ms
(/.f64 2 (*.f64 r r))
0.0ms
(fma.f64 r (*.f64 (*.f64 r (*.f64 w w)) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2)

simplify153.0ms (1.7%)

Algorithm
egg-herbie
Rules
871×fma-def_binary64
703×times-frac_binary64
347×associate-*l*_binary64
306×associate-*r*_binary64
172×*-commutative_binary64
Counts
213 → 196
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02665076
17124298
226704167
347814167
449744167
549624167

prune598.0ms (6.7%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New18610196
Fresh011
Picked101
Done000
Total18711198
Error
1.3b
Counts
198 → 11
Alt Table
StatusErrorProgram
12.8b
(-.f64 (-.f64 (+.f64 3 (/.f64 2 (*.f64 r r))) (/.f64 (*.f64 (*.f64 1/8 (-.f64 3 (*.f64 2 v))) (*.f64 (*.f64 (*.f64 w w) r) r)) (-.f64 1 v))) 9/2)
8.7b
(-.f64 (/.f64 (/.f64 2 r) r) (fma.f64 r (*.f64 (*.f64 r (*.f64 w w)) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2))
8.8b
(-.f64 (/.f64 (sqrt.f64 2) (/.f64 (*.f64 r r) (sqrt.f64 2))) (fma.f64 r (*.f64 (*.f64 r (*.f64 w w)) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2))
8.8b
(-.f64 (*.f64 (sqrt.f64 (/.f64 2 (*.f64 r r))) (sqrt.f64 (/.f64 2 (*.f64 r r)))) (fma.f64 r (*.f64 (*.f64 r (*.f64 w w)) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2))
24.0b
(-.f64 (/.f64 2 (*.f64 r r)) (fma.f64 (*.f64 (*.f64 w w) (*.f64 r r)) 1/4 3/2))
12.0b
(-.f64 (/.f64 2 (*.f64 r r)) (fma.f64 r (/.f64 (*.f64 w (*.f64 w (*.f64 r (fma.f64 v -1/4 3/8)))) (-.f64 1 v)) 3/2))
9.0b
(-.f64 (/.f64 2 (*.f64 r r)) (*.f64 (sqrt.f64 (fma.f64 r (*.f64 (*.f64 r (*.f64 w w)) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2)) (sqrt.f64 (fma.f64 r (*.f64 (*.f64 r (*.f64 w w)) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2))))
23.5b
(-.f64 (/.f64 2 (*.f64 r r)) 3/2)
1.9b
(-.f64 (/.f64 2 (*.f64 r r)) (fma.f64 r (*.f64 (*.f64 (*.f64 r w) w) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2))
12.9b
(-.f64 (/.f64 2 (*.f64 r r)) (fma.f64 r (/.f64 (*.f64 (-.f64 (*.f64 3/8 (pow.f64 w 2)) (*.f64 1/4 (*.f64 v (pow.f64 w 2)))) r) (-.f64 1 v)) 3/2))
8.9b
(-.f64 (/.f64 2 (*.f64 r r)) (fma.f64 r (*.f64 (*.f64 (*.f64 (cbrt.f64 (*.f64 r (*.f64 w w))) (cbrt.f64 (*.f64 r (*.f64 w w)))) (cbrt.f64 (*.f64 r (*.f64 w w)))) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2))
Compiler

Compiled 6804 to 3933 computations (42.2% saved)

localize14.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (*.f64 (*.f64 r w) w) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)))
0.2b
(*.f64 (*.f64 r w) w)
0.8b
(/.f64 2 (*.f64 r r))
1.7b
(fma.f64 r (*.f64 (*.f64 (*.f64 r w) w) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2)

series132.0ms (1.5%)

Counts
3 → 96
Calls

3 calls:

71.0ms
(*.f64 (*.f64 (*.f64 r w) w) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)))
52.0ms
(fma.f64 r (*.f64 (*.f64 (*.f64 r w) w) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2)
8.0ms
(*.f64 (*.f64 r w) w)

rewrite21.0ms (0.2%)

Algorithm
rewrite-expression-head
Rules
29×add-cbrt-cube_binary64
29×add-exp-log_binary64
27×associate-*r*_binary64
23×*-un-lft-identity_binary64
23×add-sqr-sqrt_binary64
Counts
3 → 81
Calls

3 calls:

11.0ms
(*.f64 (*.f64 (*.f64 r w) w) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)))
4.0ms
(*.f64 (*.f64 r w) w)
0.0ms
(fma.f64 r (*.f64 (*.f64 (*.f64 r w) w) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2)

simplify161.0ms (1.8%)

Algorithm
egg-herbie
Rules
778×times-frac_binary64
486×associate-*l*_binary64
374×associate-*r*_binary64
186×fma-neg_binary64
172×*-commutative_binary64
Counts
177 → 165
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02274716
16603983
229253947
346793943
449703943

prune342.0ms (3.8%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New1895194
Fresh5510
Picked101
Done000
Total19510205
Error
1.3b
Counts
205 → 10
Alt Table
StatusErrorProgram
2.2b
(-.f64 (*.f64 (/.f64 (sqrt.f64 2) r) (/.f64 (sqrt.f64 2) r)) (fma.f64 r (*.f64 (*.f64 (*.f64 r w) w) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2))
12.8b
(-.f64 (-.f64 (+.f64 3 (/.f64 2 (*.f64 r r))) (/.f64 (*.f64 (*.f64 1/8 (-.f64 3 (*.f64 2 v))) (*.f64 (*.f64 (*.f64 w w) r) r)) (-.f64 1 v))) 9/2)
24.0b
(-.f64 (/.f64 2 (*.f64 r r)) (fma.f64 (*.f64 (*.f64 w w) (*.f64 r r)) 1/4 3/2))
12.0b
(-.f64 (/.f64 2 (*.f64 r r)) (fma.f64 r (/.f64 (*.f64 w (*.f64 w (*.f64 r (fma.f64 v -1/4 3/8)))) (-.f64 1 v)) 3/2))
2.1b
(-.f64 (/.f64 (sqrt.f64 2) (/.f64 (*.f64 r r) (sqrt.f64 2))) (fma.f64 r (*.f64 (*.f64 (*.f64 r w) w) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2))
1.9b
(-.f64 (/.f64 (/.f64 2 r) r) (fma.f64 r (*.f64 (*.f64 (*.f64 r w) w) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2))
9.0b
(-.f64 (/.f64 2 (*.f64 r r)) (*.f64 (sqrt.f64 (fma.f64 r (*.f64 (*.f64 r (*.f64 w w)) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2)) (sqrt.f64 (fma.f64 r (*.f64 (*.f64 r (*.f64 w w)) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2))))
23.5b
(-.f64 (/.f64 2 (*.f64 r r)) 3/2)
2.4b
(-.f64 (/.f64 2 (*.f64 r r)) (fma.f64 r (*.f64 (*.f64 (*.f64 (*.f64 r w) w) (*.f64 (cbrt.f64 (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) (cbrt.f64 (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))))) (cbrt.f64 (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)))) 3/2))
2.0b
(-.f64 (/.f64 2 (*.f64 r r)) (fma.f64 r (*.f64 (*.f64 r w) (*.f64 w (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)))) 3/2))
Compiler

Compiled 6707 to 3899 computations (41.9% saved)

localize14.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (*.f64 (*.f64 r w) w) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)))
0.2b
(*.f64 (*.f64 r w) w)
0.2b
(/.f64 (/.f64 2 r) r)
1.7b
(fma.f64 r (*.f64 (*.f64 (*.f64 r w) w) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2)

series6.0ms (0.1%)

Counts
1 → 12
Calls

1 calls:

6.0ms
(/.f64 (/.f64 2 r) r)

rewrite9.0ms (0.1%)

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

1 calls:

4.0ms
(/.f64 (/.f64 2 r) r)

simplify117.0ms (1.3%)

Algorithm
egg-herbie
Rules
508×associate-/r/_binary64
476×*-commutative_binary64
393×associate-*r/_binary64
346×distribute-rgt-in_binary64
345×fma-neg_binary64
Counts
84 → 113
Iterations

Useful iterations: 6 (0.0ms)

IterNodesCost
01411388
12931287
25411206
312001182
421761177
533751127
647991097
749681097
848521097

prune429.0ms (4.8%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New2753278
Fresh279
Picked101
Done000
Total27810288
Error
1.3b
Counts
288 → 10
Alt Table
StatusErrorProgram
2.2b
(-.f64 (*.f64 (/.f64 (sqrt.f64 2) r) (/.f64 (sqrt.f64 2) r)) (fma.f64 r (*.f64 (*.f64 (*.f64 r w) w) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2))
12.8b
(-.f64 (-.f64 (+.f64 3 (/.f64 2 (*.f64 r r))) (/.f64 (*.f64 (*.f64 1/8 (-.f64 3 (*.f64 2 v))) (*.f64 (*.f64 (*.f64 w w) r) r)) (-.f64 1 v))) 9/2)
1.9b
(-.f64 (/.f64 (/.f64 2 r) r) (fma.f64 r (*.f64 (*.f64 r w) (*.f64 w (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)))) 3/2))
23.5b
(-.f64 (/.f64 (/.f64 2 r) r) 3/2)
23.5b
(-.f64 (/.f64 2 (*.f64 r r)) 3/2)
12.0b
(-.f64 (/.f64 2 (*.f64 r r)) (fma.f64 r (/.f64 (*.f64 w (*.f64 w (*.f64 r (fma.f64 v -1/4 3/8)))) (-.f64 1 v)) 3/2))
2.1b
(-.f64 (/.f64 (sqrt.f64 2) (/.f64 (*.f64 r r) (sqrt.f64 2))) (fma.f64 r (*.f64 (*.f64 (*.f64 r w) w) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2))
9.0b
(-.f64 (/.f64 2 (*.f64 r r)) (*.f64 (sqrt.f64 (fma.f64 r (*.f64 (*.f64 r (*.f64 w w)) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2)) (sqrt.f64 (fma.f64 r (*.f64 (*.f64 r (*.f64 w w)) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2))))
2.4b
(-.f64 (/.f64 2 (*.f64 r r)) (fma.f64 r (*.f64 (*.f64 (*.f64 (*.f64 r w) w) (*.f64 (cbrt.f64 (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) (cbrt.f64 (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))))) (cbrt.f64 (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)))) 3/2))
23.9b
(-.f64 (/.f64 (/.f64 2 r) r) (fma.f64 (*.f64 (*.f64 w w) (*.f64 r r)) 1/4 3/2))
Compiler

Compiled 9422 to 5653 computations (40% saved)

localize15.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(*.f64 w (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)))
0.2b
(*.f64 (*.f64 r w) (*.f64 w (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))))
0.2b
(/.f64 (/.f64 2 r) r)
1.7b
(fma.f64 r (*.f64 (*.f64 r w) (*.f64 w (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)))) 3/2)

series108.0ms (1.2%)

Counts
3 → 96
Calls

3 calls:

52.0ms
(fma.f64 r (*.f64 (*.f64 r w) (*.f64 w (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)))) 3/2)
41.0ms
(*.f64 (*.f64 r w) (*.f64 w (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))))
14.0ms
(*.f64 w (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)))

rewrite28.0ms (0.3%)

Algorithm
rewrite-expression-head
Rules
29×add-cbrt-cube_binary64
29×add-exp-log_binary64
28×add-sqr-sqrt_binary64
25×associate-*r*_binary64
23×*-un-lft-identity_binary64
Counts
3 → 84
Calls

3 calls:

11.0ms
(*.f64 (*.f64 r w) (*.f64 w (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))))
8.0ms
(*.f64 w (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)))
0.0ms
(fma.f64 r (*.f64 (*.f64 r w) (*.f64 w (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)))) 3/2)

simplify128.0ms (1.4%)

Algorithm
egg-herbie
Rules
592×times-frac_binary64
347×associate-*l*_binary64
340×associate-*r*_binary64
273×fma-neg_binary64
252×distribute-rgt-out_binary64
Counts
180 → 175
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
02565086
17234262
227124136
348384134
449754134

prune386.0ms (4.3%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New2871288
Fresh279
Picked011
Done000
Total2899298
Error
0.0b
Counts
298 → 9
Alt Table
StatusErrorProgram
2.2b
(-.f64 (*.f64 (/.f64 (sqrt.f64 2) r) (/.f64 (sqrt.f64 2) r)) (fma.f64 r (*.f64 (*.f64 (*.f64 r w) w) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2))
12.8b
(-.f64 (-.f64 (+.f64 3 (/.f64 2 (*.f64 r r))) (/.f64 (*.f64 (*.f64 1/8 (-.f64 3 (*.f64 2 v))) (*.f64 (*.f64 (*.f64 w w) r) r)) (-.f64 1 v))) 9/2)
1.9b
(-.f64 (/.f64 (/.f64 2 r) r) (fma.f64 r (*.f64 (*.f64 r w) (*.f64 w (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)))) 3/2))
12.0b
(-.f64 (/.f64 2 (*.f64 r r)) (fma.f64 r (/.f64 (*.f64 w (*.f64 w (*.f64 r (fma.f64 v -1/4 3/8)))) (-.f64 1 v)) 3/2))
2.1b
(-.f64 (/.f64 (sqrt.f64 2) (/.f64 (*.f64 r r) (sqrt.f64 2))) (fma.f64 r (*.f64 (*.f64 (*.f64 r w) w) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2))
9.0b
(-.f64 (/.f64 2 (*.f64 r r)) (*.f64 (sqrt.f64 (fma.f64 r (*.f64 (*.f64 r (*.f64 w w)) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2)) (sqrt.f64 (fma.f64 r (*.f64 (*.f64 r (*.f64 w w)) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2))))
13.9b
(-.f64 (/.f64 (/.f64 2 r) r) (*.f64 (sqrt.f64 (fma.f64 (*.f64 w (*.f64 r r)) (*.f64 (/.f64 w (-.f64 1 v)) (fma.f64 v -1/4 3/8)) 3/2)) (sqrt.f64 (fma.f64 (*.f64 w (*.f64 r r)) (*.f64 (/.f64 w (-.f64 1 v)) (fma.f64 v -1/4 3/8)) 3/2))))
2.4b
(-.f64 (/.f64 2 (*.f64 r r)) (fma.f64 r (*.f64 (*.f64 (*.f64 (*.f64 r w) w) (*.f64 (cbrt.f64 (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) (cbrt.f64 (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))))) (cbrt.f64 (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)))) 3/2))
23.9b
(-.f64 (/.f64 (/.f64 2 r) r) (fma.f64 (*.f64 (*.f64 w w) (*.f64 r r)) 1/4 3/2))
Compiler

Compiled 9370 to 5853 computations (37.5% saved)

regimes2.0s (22.5%)

Accuracy

Total 0.3b remaining (79%)

Threshold costs 0.3b (79%)

Counts
173 → 3
Compiler

Compiled 33212 to 22913 computations (31% saved)

bsearch29.0ms (0.3%)

Steps
ItersRangePoint
1
4.844194331878482e-42
6.960321699546017e-40
5.929669123769266e-41
5
-1.4935976946542254e-19
-6.708803850708212e-24
-9.065172876585645e-21
Compiler

Compiled 4 to 3 computations (25% saved)

simplify6.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
041141
161141
276141
386141
491141
590141

end207.0ms (2.3%)

Compiler

Compiled 502 to 340 computations (32.3% saved)

Profiling

Loading profile data...