Details

Time bar (total: 11.4s)

analyze1.5s (13.2%)

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.7s (23.9%)

Results
1.6s8256×body128valid
1.1s4847×body128invalid
Compiler

Compiled 98 to 74 computations (24.5% saved)

simplify42.0ms (0.4%)

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

Pruning

3 alts after pruning (3 fresh and 0 done)

PrunedKeptTotal
New022
Fresh011
Picked000
Done000
Total033
Error
8.3b
Counts
3 → 2
Alt Table
StatusErrorProgram
8.4b
(-.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))
14.1b
(-.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)

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

series147.0ms (1.3%)

Counts
4 → 108
Calls

4 calls:

81.0ms
(*.f64 (*.f64 r (*.f64 w w)) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)))
54.0ms
(fma.f64 r (*.f64 (*.f64 r (*.f64 w w)) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2)
10.0ms
(*.f64 r (*.f64 w w))
2.0ms
(/.f64 2 (*.f64 r r))

rewrite77.0ms (0.7%)

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

4 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01858
138658
2454058
3526958
000
100

simplify90.0ms (0.8%)

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
193 → 130
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01002804
13352526
211611968
352401968

prune202.0ms (1.8%)

Pruning

12 alts after pruning (12 fresh and 0 done)

PrunedKeptTotal
New11911130
Fresh011
Picked101
Done000
Total12012132
Error
2.9b
Counts
132 → 12
Alt Table
StatusErrorProgram
34.1b
(-.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))
15.6b
(-.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))))))
8.3b
(-.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))
18.8b
(-.f64 (/.f64 2 (*.f64 r r)) 3/2)
19.4b
(-.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)))
17.2b
(-.f64 (/.f64 2 (*.f64 r r)) (fma.f64 r (*.f64 w (*.f64 (*.f64 w r) (fma.f64 v 1/8 3/8))) 3/2))
8.7b
(-.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))
11.0b
(-.f64 (/.f64 2 (*.f64 r r)) (fma.f64 r (/.f64 (/.f64 (*.f64 (*.f64 r (*.f64 w w)) (fma.f64 v -1/4 3/8)) (pow.f64 (cbrt.f64 (-.f64 1 v)) 2)) (cbrt.f64 (-.f64 1 v))) 3/2))
10.8b
(-.f64 (/.f64 2 (*.f64 r r)) (fma.f64 r (/.f64 (*.f64 (*.f64 r (*.f64 w w)) (fma.f64 v -1/4 3/8)) (-.f64 1 v)) 3/2))
9.2b
(-.f64 (/.f64 2 (*.f64 r r)) (*.f64 (cbrt.f64 (fma.f64 r (*.f64 (*.f64 r (*.f64 w w)) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2)) (pow.f64 (cbrt.f64 (fma.f64 r (*.f64 (*.f64 r (*.f64 w w)) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2)) 2)))
14.1b
(-.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)
12.9b
(-.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))
Compiler

Compiled 4305 to 2612 computations (39.3% saved)

localize15.0ms (0.1%)

Local error

Found 4 expressions with local error:

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

series3.0ms (0%)

Counts
1 → 12
Calls

1 calls:

3.0ms
(*.f64 2 (pow.f64 r -2))

rewrite73.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
870×log1p-udef_binary64
466×log1p-expm1-u_binary64
466×expm1-log1p-u_binary64
318×unpow-prod-down_binary64
238×log-prod_binary64
Counts
1 → 18
Calls

1 calls:

72.0ms
(*.f64 2 (pow.f64 r -2))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
067
11257
212437
348187
461707
000
100

simplify138.0ms (1.2%)

Algorithm
egg-herbie
Rules
1108×sqr-pow_binary64
573×fabs-mul_binary64
560×cube-prod_binary64
536×pow-sqr_binary64
434×unswap-sqr_binary64
Counts
30 → 20
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0584
11084
21884
33384
46984
516584
649084
7114784
8114984
9129784
10146784
11164684
12187184
13215684
14257584
15314084
16382684
17404484
18428884
19437084
20440384
21442484
22499284

prune218.0ms (1.9%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New1205125
Fresh5611
Picked101
Done000
Total12611137
Error
2.9b
Counts
137 → 11
Alt Table
StatusErrorProgram
34.1b
(-.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))
8.7b
(-.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))
14.1b
(-.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)
18.7b
(-.f64 (*.f64 2 (pow.f64 r -2)) 3/2)
12.9b
(-.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))
15.6b
(-.f64 (*.f64 2 (pow.f64 r -2)) (+.f64 3/2 (*.f64 (*.f64 r r) (/.f64 (*.f64 w w) (/.f64 (-.f64 1 v) (fma.f64 v -1/4 3/8))))))
9.1b
(-.f64 (*.f64 2 (pow.f64 r -2)) (pow.f64 (cbrt.f64 (fma.f64 r (*.f64 (*.f64 r (*.f64 w w)) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2)) 3))
19.4b
(-.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)))
17.2b
(-.f64 (/.f64 2 (*.f64 r r)) (fma.f64 r (*.f64 w (*.f64 (*.f64 w r) (fma.f64 v 1/8 3/8))) 3/2))
10.8b
(-.f64 (/.f64 2 (*.f64 r r)) (fma.f64 r (/.f64 (*.f64 (*.f64 r (*.f64 w w)) (fma.f64 v -1/4 3/8)) (-.f64 1 v)) 3/2))
8.5b
(-.f64 (*.f64 2 (pow.f64 r -2)) (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))
Compiler

Compiled 4089 to 2730 computations (33.2% saved)

localize17.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.4b
(pow.f64 (cbrt.f64 (*.f64 (*.f64 r (*.f64 w w)) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)))) 3)
3.1b
(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)
8.1b
(*.f64 r (*.f64 w w))
24.0b
(cbrt.f64 (*.f64 (*.f64 r (*.f64 w w)) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))))

series4.2s (36.6%)

Counts
3 → 108
Calls

3 calls:

1.6s
(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)
1.4s
(pow.f64 (cbrt.f64 (*.f64 (*.f64 r (*.f64 w w)) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)))) 3)
1.2s
(cbrt.f64 (*.f64 (*.f64 r (*.f64 w w)) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))))

rewrite74.0ms (0.6%)

Algorithm
batch-egg-rewrite
Rules
300×log1p-udef_binary64
172×add-sqr-sqrt_binary64
165×log1p-expm1-u_binary64
165×expm1-log1p-u_binary64
163×add-cbrt-cube_binary64
Counts
3 → 109
Calls

3 calls:

72.0ms
(pow.f64 (cbrt.f64 (*.f64 (*.f64 r (*.f64 w w)) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)))) 3)
71.0ms
(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)
71.0ms
(cbrt.f64 (*.f64 (*.f64 r (*.f64 w w)) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))))
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01866
136466
2420566
3484766
000
100

simplify127.0ms (1.1%)

Algorithm
egg-herbie
Rules
494×times-frac_binary64
478×fma-neg_binary64
384×cancel-sign-sub-inv_binary64
239×distribute-rgt-out_binary64
217×associate-*r*_binary64
Counts
217 → 192
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01994840
16203943
221523536
346643426
449773426

prune330.0ms (2.9%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New2063209
Fresh3710
Picked101
Done000
Total21010220
Error
1.2b
Counts
220 → 10
Alt Table
StatusErrorProgram
12.8b
(-.f64 (*.f64 2 (pow.f64 r -2)) (fma.f64 (*.f64 r (*.f64 r (*.f64 w w))) (cbrt.f64 1/64) 3/2))
8.7b
(-.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))
14.1b
(-.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)
18.7b
(-.f64 (*.f64 2 (pow.f64 r -2)) 3/2)
12.9b
(-.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))
15.6b
(-.f64 (*.f64 2 (pow.f64 r -2)) (+.f64 3/2 (*.f64 (*.f64 r r) (/.f64 (*.f64 w w) (/.f64 (-.f64 1 v) (fma.f64 v -1/4 3/8))))))
51.1b
(-.f64 (*.f64 2 (pow.f64 r -2)) (+.f64 3/2 (*.f64 (pow.f64 (exp.f64 (*.f64 1/3 (+.f64 (*.f64 2 (log.f64 w)) (log.f64 (/.f64 (*.f64 r (-.f64 3/8 (*.f64 1/4 v))) (-.f64 1 v)))))) 2) (*.f64 r (exp.f64 (*.f64 1/3 (+.f64 (log.f64 (/.f64 (*.f64 r (-.f64 3/8 (*.f64 1/4 v))) (-.f64 1 v))) (*.f64 2 (log.f64 w)))))))))
17.2b
(-.f64 (/.f64 2 (*.f64 r r)) (fma.f64 r (*.f64 w (*.f64 (*.f64 w r) (fma.f64 v 1/8 3/8))) 3/2))
10.8b
(-.f64 (/.f64 2 (*.f64 r r)) (fma.f64 r (/.f64 (*.f64 (*.f64 r (*.f64 w w)) (fma.f64 v -1/4 3/8)) (-.f64 1 v)) 3/2))
3.4b
(-.f64 (*.f64 2 (pow.f64 r -2)) (fma.f64 r (*.f64 (*.f64 r w) (*.f64 w (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)))) 3/2))
Compiler

Compiled 7388 to 5124 computations (30.6% saved)

localize14.0ms (0.1%)

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

series114.0ms (1%)

Counts
3 → 96
Calls

3 calls:

58.0ms
(fma.f64 r (*.f64 (*.f64 r w) (*.f64 w (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)))) 3/2)
42.0ms
(*.f64 (*.f64 r w) (*.f64 w (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))))
13.0ms
(*.f64 w (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)))

rewrite75.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
279×expm1-udef_binary64
278×log1p-udef_binary64
157×add-sqr-sqrt_binary64
150×prod-diff_binary64
147×log1p-expm1-u_binary64
Counts
3 → 68
Calls

3 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01558
131857
2388057
3491857
000
100

simplify66.0ms (0.6%)

Algorithm
egg-herbie
Rules
905×fma-def_binary64
671×associate-*l*_binary64
343×associate-/l*_binary64
277×times-frac_binary64
192×distribute-rgt-out_binary64
Counts
164 → 126
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01262953
14222662
214172057
353892057

prune263.0ms (2.3%)

Pruning

7 alts after pruning (6 fresh and 1 done)

PrunedKeptTotal
New1433146
Fresh639
Picked011
Done000
Total1497156
Error
0.0b
Counts
156 → 7
Alt Table
StatusErrorProgram
0.1b
(-.f64 (*.f64 2 (pow.f64 r -2)) (+.f64 3/2 (*.f64 (pow.f64 (*.f64 r w) 2) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)))))
12.7b
(-.f64 (*.f64 2 (pow.f64 r -2)) (fma.f64 r (*.f64 1/4 (*.f64 (*.f64 w w) r)) 3/2))
0.4b
(-.f64 (*.f64 2 (pow.f64 r -2)) (pow.f64 (sqrt.f64 (+.f64 3/2 (*.f64 (pow.f64 (*.f64 r w) 2) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))))) 2))
12.8b
(-.f64 (*.f64 2 (pow.f64 r -2)) (fma.f64 (*.f64 r (*.f64 r (*.f64 w w))) (cbrt.f64 1/64) 3/2))
3.4b
(-.f64 (*.f64 2 (pow.f64 r -2)) (fma.f64 r (*.f64 (*.f64 r w) (*.f64 w (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v)))) 3/2))
14.1b
(-.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)
12.9b
(-.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))
Compiler

Compiled 4177 to 2883 computations (31% saved)

regimes755.0ms (6.6%)

Accuracy

Total 0.2b remaining (78.2%)

Threshold costs 0.2b (78.2%)

Counts
104 → 1
Compiler

Compiled 18025 to 13275 computations (26.4% saved)

simplify4.0ms (0%)

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
02032
13032
24232
35532
46532
57232
67632
77732
87532

end142.0ms (1.2%)

Compiler

Compiled 226 to 173 computations (23.5% saved)

Profiling

Loading profile data...