Details

Time bar (total: 7.9s)

analyze1.4s (18.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.5s (31.7%)

Results
1.5s8256×body128valid
953.0ms4908×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
9.7b
Counts
3 → 2
Alt Table
StatusErrorProgram
13.3b
(-.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)
9.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))
Compiler

Compiled 171 to 121 computations (29.2% saved)

localize22.0ms (0.3%)

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.4b
(/.f64 2 (*.f64 r r))
1.5b
(fma.f64 r (*.f64 (*.f64 r (*.f64 w w)) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2)
11.1b
(*.f64 r (*.f64 w w))

series94.0ms (1.2%)

Counts
4 → 108
Calls

4 calls:

46.0ms
(fma.f64 r (*.f64 (*.f64 r (*.f64 w w)) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2)
38.0ms
(*.f64 (*.f64 r (*.f64 w w)) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)))
8.0ms
(*.f64 r (*.f64 w w))
2.0ms
(/.f64 2 (*.f64 r r))

rewrite73.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
324×log1p-udef_binary64
186×add-sqr-sqrt_binary64
177×log1p-expm1-u_binary64
177×expm1-log1p-u_binary64
176×add-log-exp_binary64
Counts
4 → 89
Calls

4 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01858
138658
2454058
3526958

simplify188.0ms (2.4%)

Algorithm
egg-herbie
Rules
716×fma-def_binary64
627×associate-*l*_binary64
497×associate-*r*_binary64
314×associate-/l*_binary64
248×times-frac_binary64
Counts
197 → 133
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01002804
13352526
211611968
352401968

prune507.0ms (6.4%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New12211133
Fresh101
Picked101
Done000
Total12411135
Error
2.2b
Counts
135 → 11
Alt Table
StatusErrorProgram
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))
15.9b
(-.f64 (/.f64 2 (*.f64 r r)) (+.f64 3/2 (*.f64 (*.f64 r r) (/.f64 (*.f64 w w) (/.f64 (-.f64 1 v) (fma.f64 v -1/4 3/8))))))
9.9b
(-.f64 (/.f64 2 (*.f64 r r)) (fma.f64 r (pow.f64 (cbrt.f64 (*.f64 (*.f64 r (*.f64 w w)) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)))) 3) 3/2))
9.8b
(-.f64 (/.f64 2 (*.f64 r r)) (fma.f64 r (*.f64 (pow.f64 (cbrt.f64 (*.f64 r (*.f64 w w))) 3) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2))
9.6b
(-.f64 (*.f64 2 (pow.f64 r -2)) (fma.f64 r (*.f64 (*.f64 r (*.f64 w w)) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2))
14.8b
(-.f64 (/.f64 2 (*.f64 r r)) (fma.f64 r (*.f64 (/.f64 (*.f64 w w) (-.f64 1 v)) (*.f64 r (fma.f64 v -1/4 3/8))) 3/2))
10.0b
(-.f64 (/.f64 2 (*.f64 r r)) (pow.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)) 2))
18.6b
(-.f64 (/.f64 2 (*.f64 r r)) 3/2)
29.9b
(-.f64 (/.f64 2 (*.f64 r r)) (fma.f64 r (*.f64 (pow.f64 (*.f64 w (sqrt.f64 r)) 2) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2))
18.6b
(-.f64 (/.f64 2 (*.f64 r r)) (cbrt.f64 (pow.f64 (fma.f64 r (*.f64 (*.f64 r (*.f64 w w)) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2) 3)))
16.0b
(-.f64 (/.f64 2 (*.f64 r r)) (fma.f64 r (*.f64 w (*.f64 (*.f64 w r) (fma.f64 v 1/8 3/8))) 3/2))
Compiler

Compiled 4272 to 2580 computations (39.6% saved)

localize15.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))
0.1b
(*.f64 (*.f64 r (*.f64 w w)) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)))
1.5b
(fma.f64 r (*.f64 (*.f64 r (*.f64 w w)) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2)
11.1b
(*.f64 r (*.f64 w w))

series2.0ms (0%)

Counts
1 → 12
Calls

1 calls:

2.0ms
(/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))

rewrite44.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
831×log1p-expm1-u_binary64
831×expm1-log1p-u_binary64
150×prod-diff_binary64
84×add-sqr-sqrt_binary64
79×add-cbrt-cube_binary64
Counts
1 → 36
Calls

1 calls:

43.0ms
(/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0811
117211
2206211
3525311

simplify69.0ms (0.9%)

Algorithm
egg-herbie
Rules
577×div-sub_binary64
516×fma-neg_binary64
467×times-frac_binary64
446×cancel-sign-sub-inv_binary64
413×fma-def_binary64
Counts
48 → 50
Iterations

Useful iterations: 4 (0.0ms)

IterNodesCost
031138
192134
2234131
3579126
41651122
54211122
64694122
75299122

prune503.0ms (6.4%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New1535158
Fresh5510
Picked101
Done000
Total15910169
Error
2.2b
Counts
169 → 10
Alt Table
StatusErrorProgram
9.8b
(-.f64 (*.f64 2 (pow.f64 r -2)) (fma.f64 r (*.f64 (*.f64 r (*.f64 w w)) (log.f64 (exp.f64 (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))))) 3/2))
16.0b
(-.f64 (/.f64 2 (*.f64 r r)) (fma.f64 r (*.f64 w (*.f64 (*.f64 w r) (fma.f64 v 1/8 3/8))) 3/2))
15.9b
(-.f64 (/.f64 2 (*.f64 r r)) (+.f64 3/2 (*.f64 (*.f64 r r) (/.f64 (*.f64 w w) (/.f64 (-.f64 1 v) (fma.f64 v -1/4 3/8))))))
10.0b
(-.f64 (/.f64 2 (*.f64 r r)) (pow.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)) 2))
9.6b
(-.f64 (*.f64 2 (pow.f64 r -2)) (fma.f64 r (*.f64 (*.f64 (*.f64 w w) r) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2))
29.9b
(-.f64 (*.f64 2 (pow.f64 r -2)) (fma.f64 r (*.f64 (pow.f64 (*.f64 w (sqrt.f64 r)) 2) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2))
9.9b
(-.f64 (/.f64 2 (*.f64 r r)) (fma.f64 r (pow.f64 (cbrt.f64 (*.f64 (*.f64 r (*.f64 w w)) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)))) 3) 3/2))
18.6b
(-.f64 (/.f64 2 (*.f64 r r)) (cbrt.f64 (pow.f64 (fma.f64 r (*.f64 (*.f64 r (*.f64 w w)) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2) 3)))
18.5b
(-.f64 (*.f64 2 (pow.f64 r -2)) 3/2)
9.7b
(-.f64 (*.f64 2 (pow.f64 r -2)) (fma.f64 r (*.f64 (*.f64 r (*.f64 w w)) (cbrt.f64 (pow.f64 (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)) 3))) 3/2))
Compiler

Compiled 4960 to 3294 computations (33.6% saved)

localize16.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.0b
(/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))
0.1b
(*.f64 (*.f64 (*.f64 w w) r) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)))
1.5b
(fma.f64 r (*.f64 (*.f64 (*.f64 w w) r) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2)
11.1b
(*.f64 (*.f64 w w) r)

series157.0ms (2%)

Counts
3 → 96
Calls

3 calls:

102.0ms
(*.f64 (*.f64 (*.f64 w w) r) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)))
47.0ms
(fma.f64 r (*.f64 (*.f64 (*.f64 w w) r) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2)
7.0ms
(*.f64 (*.f64 w w) r)

rewrite193.0ms (2.4%)

Algorithm
batch-egg-rewrite
Rules
274×expm1-udef_binary64
273×log1p-udef_binary64
156×add-sqr-sqrt_binary64
150×prod-diff_binary64
147×log1p-expm1-u_binary64
Counts
3 → 65
Calls

3 calls:

192.0ms
(*.f64 (*.f64 (*.f64 w w) r) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)))
192.0ms
(fma.f64 r (*.f64 (*.f64 (*.f64 w w) r) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2)
192.0ms
(*.f64 (*.f64 w w) r)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01551
131851
2380351
3498951
4489551

simplify59.0ms (0.7%)

Algorithm
egg-herbie
Rules
716×fma-def_binary64
627×associate-*l*_binary64
497×associate-*r*_binary64
314×associate-/l*_binary64
248×times-frac_binary64
Counts
161 → 107
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0992576
13342442
211581884
352331884

prune229.0ms (2.9%)

Pruning

9 alts after pruning (8 fresh and 1 done)

PrunedKeptTotal
New1561157
Fresh279
Picked011
Done000
Total1589167
Error
2.2b
Counts
167 → 9
Alt Table
StatusErrorProgram
9.6b
(-.f64 (*.f64 2 (pow.f64 r -2)) (fma.f64 r (*.f64 (*.f64 (*.f64 w w) r) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2))
29.9b
(-.f64 (*.f64 2 (pow.f64 r -2)) (fma.f64 r (pow.f64 (*.f64 w (sqrt.f64 (*.f64 r (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))))) 2) 3/2))
9.8b
(-.f64 (*.f64 2 (pow.f64 r -2)) (fma.f64 r (*.f64 (*.f64 r (*.f64 w w)) (log.f64 (exp.f64 (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))))) 3/2))
16.0b
(-.f64 (/.f64 2 (*.f64 r r)) (fma.f64 r (*.f64 w (*.f64 (*.f64 w r) (fma.f64 v 1/8 3/8))) 3/2))
15.9b
(-.f64 (/.f64 2 (*.f64 r r)) (+.f64 3/2 (*.f64 (*.f64 r r) (/.f64 (*.f64 w w) (/.f64 (-.f64 1 v) (fma.f64 v -1/4 3/8))))))
10.0b
(-.f64 (/.f64 2 (*.f64 r r)) (pow.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)) 2))
18.6b
(-.f64 (/.f64 2 (*.f64 r r)) (cbrt.f64 (pow.f64 (fma.f64 r (*.f64 (*.f64 r (*.f64 w w)) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2) 3)))
18.5b
(-.f64 (*.f64 2 (pow.f64 r -2)) 3/2)
9.7b
(-.f64 (*.f64 2 (pow.f64 r -2)) (fma.f64 r (*.f64 (*.f64 r (*.f64 w w)) (cbrt.f64 (pow.f64 (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)) 3))) 3/2))
Compiler

Compiled 4850 to 3218 computations (33.6% saved)

localize17.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.1b
(*.f64 (*.f64 r (*.f64 w w)) (cbrt.f64 (pow.f64 (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)) 3)))
0.5b
(cbrt.f64 (pow.f64 (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)) 3))
1.5b
(fma.f64 r (*.f64 (*.f64 r (*.f64 w w)) (cbrt.f64 (pow.f64 (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)) 3))) 3/2)
11.1b
(*.f64 r (*.f64 w w))

series227.0ms (2.9%)

Counts
3 → 84
Calls

3 calls:

186.0ms
(fma.f64 r (*.f64 (*.f64 r (*.f64 w w)) (cbrt.f64 (pow.f64 (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)) 3))) 3/2)
38.0ms
(*.f64 (*.f64 r (*.f64 w w)) (cbrt.f64 (pow.f64 (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)) 3)))
2.0ms
(cbrt.f64 (pow.f64 (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)) 3))

rewrite70.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
298×log1p-udef_binary64
171×add-sqr-sqrt_binary64
166×log1p-expm1-u_binary64
166×expm1-log1p-u_binary64
161×add-cbrt-cube_binary64
Counts
3 → 94
Calls

3 calls:

68.0ms
(*.f64 (*.f64 r (*.f64 w w)) (cbrt.f64 (pow.f64 (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)) 3)))
68.0ms
(cbrt.f64 (pow.f64 (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)) 3))
68.0ms
(fma.f64 r (*.f64 (*.f64 r (*.f64 w w)) (cbrt.f64 (pow.f64 (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)) 3))) 3/2)
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01855
136355
2416255
3480055

simplify83.0ms (1%)

Algorithm
egg-herbie
Rules
808×fma-def_binary64
643×associate-*l*_binary64
320×associate-/l*_binary64
297×fma-neg_binary64
254×times-frac_binary64
Counts
178 → 149
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01202690
13992400
213341841
349901841
451601841

prune246.0ms (3.1%)

Pruning

10 alts after pruning (8 fresh and 2 done)

PrunedKeptTotal
New1652167
Fresh167
Picked011
Done011
Total16610176
Error
1.5b
Counts
176 → 10
Alt Table
StatusErrorProgram
9.6b
(-.f64 (*.f64 2 (pow.f64 r -2)) (fma.f64 r (*.f64 (*.f64 (*.f64 w w) r) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2))
29.9b
(-.f64 (*.f64 2 (pow.f64 r -2)) (fma.f64 r (pow.f64 (*.f64 w (sqrt.f64 (*.f64 r (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))))) 2) 3/2))
9.7b
(-.f64 (*.f64 2 (pow.f64 r -2)) (fma.f64 r (*.f64 (*.f64 r (*.f64 w w)) (cbrt.f64 (pow.f64 (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)) 3))) 3/2))
26.6b
(-.f64 (*.f64 2 (pow.f64 r -2)) (fma.f64 r (fma.f64 w (*.f64 (*.f64 w r) 1/4) (*.f64 -1/8 (fma.f64 (/.f64 (*.f64 w w) v) (/.f64 r v) (*.f64 (/.f64 (*.f64 w w) v) (+.f64 r (/.f64 r (*.f64 v v))))))) 3/2))
9.8b
(-.f64 (*.f64 2 (pow.f64 r -2)) (fma.f64 r (*.f64 (*.f64 r (*.f64 w w)) (log.f64 (exp.f64 (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))))) 3/2))
16.0b
(-.f64 (/.f64 2 (*.f64 r r)) (fma.f64 r (*.f64 w (*.f64 (*.f64 w r) (fma.f64 v 1/8 3/8))) 3/2))
15.9b
(-.f64 (/.f64 2 (*.f64 r r)) (+.f64 3/2 (*.f64 (*.f64 r r) (/.f64 (*.f64 w w) (/.f64 (-.f64 1 v) (fma.f64 v -1/4 3/8))))))
10.0b
(-.f64 (/.f64 2 (*.f64 r r)) (pow.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)) 2))
29.9b
(-.f64 (*.f64 2 (pow.f64 r -2)) (fma.f64 r (*.f64 (pow.f64 (*.f64 w (sqrt.f64 r)) 2) (cbrt.f64 (pow.f64 (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)) 3))) 3/2))
18.5b
(-.f64 (*.f64 2 (pow.f64 r -2)) 3/2)
Compiler

Compiled 5055 to 3354 computations (33.6% saved)

regimes848.0ms (10.7%)

Accuracy

Total 2.7b remaining (62.7%)

Threshold costs 0b (0%)

Counts
74 → 3
Compiler

Compiled 12320 to 9022 computations (26.8% saved)

bsearch43.0ms (0.5%)

Steps
ItersRangePoint
1
-4.72196167779232e-154
7.3053804877496215e-149
-4.72196167779232e-154
6
-6.095156488141736e-38
-1.3720966542300381e-38
-1.391648850866366e-38
Compiler

Compiled 4 to 3 computations (25% saved)

simplify5.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
03490
15090
26190
36790
47090
56890

end220.0ms (2.8%)

Compiler

Compiled 401 to 292 computations (27.2% saved)

Profiling

Loading profile data...