Details

Time bar (total: 8.9s)

analyze1.5s (17.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.6s (29.6%)

Results
1.5s8256×body128valid
1.0s5050×body128invalid
Compiler

Compiled 98 to 74 computations (24.5% saved)

simplify44.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.9b
Counts
3 → 2
Alt Table
StatusErrorProgram
13.5b
(-.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.9b
(-.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)

localize13.0ms (0.2%)

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))
2.4b
(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))

series119.0ms (1.3%)

Counts
4 → 108
Calls

4 calls:

56.0ms
(fma.f64 r (*.f64 (*.f64 r (*.f64 w w)) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2)
46.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))
7.0ms
(/.f64 2 (*.f64 r r))

rewrite80.0ms (0.9%)

Algorithm
batch-egg-rewrite
Rules
85×egg-rr
Counts
4 → 85
Calls

2 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01858
138658
2454058
3526958
000
100

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

Useful iterations: 2 (0.0ms)

IterNodesCost
01002804
13352526
211611968
352401968

prune200.0ms (2.3%)

Pruning

11 alts after pruning (11 fresh and 0 done)

PrunedKeptTotal
New11911130
Fresh101
Picked101
Done000
Total12111132
Error
2.6b
Counts
132 → 11
Alt Table
StatusErrorProgram
33.4b
(-.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))
32.3b
(-.f64 (/.f64 2 (*.f64 r r)) (*.f64 (-.f64 (*.f64 3/8 (/.f64 (pow.f64 r 2) (-.f64 1 v))) (*.f64 1/4 (/.f64 (*.f64 v (pow.f64 r 2)) (-.f64 1 v)))) (pow.f64 w 2)))
19.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))
18.4b
(-.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))))))
23.1b
(-.f64 (/.f64 2 (*.f64 r r)) 3/2)
8.8b
(-.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))
10.5b
(-.f64 (/.f64 2 (*.f64 r r)) (expm1.f64 (log1p.f64 (fma.f64 r (*.f64 (*.f64 r (*.f64 w w)) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2))))
21.2b
(-.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)))
9.4b
(-.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 (*.f64 r r)) (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))
21.3b
(-.f64 (/.f64 2 (*.f64 r r)) (pow.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) 1/3))
Compiler

Compiled 4215 to 2556 computations (39.4% saved)

localize14.0ms (0.2%)

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)))
2.4b
(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))

series4.0ms (0%)

Counts
1 → 12
Calls

1 calls:

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

rewrite69.0ms (0.8%)

Algorithm
batch-egg-rewrite
Rules
18×egg-rr
Counts
1 → 18
Calls

2 calls:

68.0ms
((*.f64 2 (pow.f64 r -2)))
0.0ms
()
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
067
11257
212437
348187
461707
000
100

simplify137.0ms (1.5%)

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

prune188.0ms (2.1%)

Pruning

11 alts after pruning (10 fresh and 1 done)

PrunedKeptTotal
New1223125
Fresh3710
Picked011
Done000
Total12511136
Error
2.6b
Counts
136 → 11
Alt Table
StatusErrorProgram
23.0b
(-.f64 (*.f64 2 (pow.f64 r -2)) 3/2)
19.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))
18.4b
(-.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))))))
33.4b
(-.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))
23.6b
(-.f64 (*.f64 2 (pow.f64 r -2)) (+.f64 3/2 (*.f64 3/8 (*.f64 (pow.f64 w 2) (pow.f64 r 2)))))
8.8b
(-.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))
10.5b
(-.f64 (/.f64 2 (*.f64 r r)) (expm1.f64 (log1p.f64 (fma.f64 r (*.f64 (*.f64 r (*.f64 w w)) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2))))
21.2b
(-.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)))
9.4b
(-.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 (*.f64 r r)) (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))
21.3b
(-.f64 (/.f64 2 (*.f64 r r)) (pow.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) 1/3))
Compiler

Compiled 4045 to 2697 computations (33.3% saved)

localize17.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.7b
(/.f64 2 (*.f64 r r))
0.7b
(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)
2.4b
(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))

series506.0ms (5.7%)

Counts
1 → 36
Calls

1 calls:

505.0ms
(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)

rewrite60.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
24×egg-rr
Counts
1 → 24
Calls

2 calls:

59.0ms
((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))
0.0ms
()
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01824
136324
2413024
3516224
000
100

simplify69.0ms (0.8%)

Algorithm
egg-herbie
Rules
656×associate-/l*_binary64
634×fma-def_binary64
422×associate-/r*_binary64
230×associate-*l/_binary64
188×fma-neg_binary64
Counts
60 → 50
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0992383
13282033
213241575
349711575
450211575

prune170.0ms (1.9%)

Pruning

12 alts after pruning (10 fresh and 2 done)

PrunedKeptTotal
New1361137
Fresh099
Picked011
Done011
Total13612148
Error
2.5b
Counts
148 → 12
Alt Table
StatusErrorProgram
23.0b
(-.f64 (*.f64 2 (pow.f64 r -2)) 3/2)
19.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))
18.4b
(-.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.5b
(-.f64 (/.f64 2 (*.f64 r r)) (expm1.f64 (log1p.f64 (fma.f64 r (*.f64 (*.f64 r (*.f64 w w)) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2))))
33.5b
(-.f64 (/.f64 2 (*.f64 r r)) (pow.f64 (sqrt.f64 (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)) 2))
33.4b
(-.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))
23.6b
(-.f64 (*.f64 2 (pow.f64 r -2)) (+.f64 3/2 (*.f64 3/8 (*.f64 (pow.f64 w 2) (pow.f64 r 2)))))
8.8b
(-.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))
21.2b
(-.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)))
9.4b
(-.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 (*.f64 r r)) (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))
21.3b
(-.f64 (/.f64 2 (*.f64 r r)) (pow.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) 1/3))
Compiler

Compiled 5204 to 3307 computations (36.5% saved)

localize16.0ms (0.2%)

Local error

Found 4 expressions with local error:

NewErrorProgram
0.7b
(/.f64 2 (*.f64 r r))
0.8b
(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.4b
(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))

series535.0ms (6%)

Counts
1 → 36
Calls

1 calls:

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

rewrite59.0ms (0.7%)

Algorithm
batch-egg-rewrite
Rules
21×egg-rr
Counts
1 → 21
Calls

2 calls:

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

Useful iterations: 0 (0.0ms)

IterNodesCost
01626
133526
2398726
3500926
000
100

simplify235.0ms (2.7%)

Algorithm
egg-herbie
Rules
560×cancel-sign-sub-inv_binary64
322×unswap-sqr_binary64
274×associate-*r*_binary64
239×fma-def_binary64
197×*-commutative_binary64
Counts
57 → 80
Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
02795519
19115119
236905075
354455075

prune507.0ms (5.7%)

Pruning

14 alts after pruning (12 fresh and 2 done)

PrunedKeptTotal
New1616167
Fresh369
Picked101
Done022
Total16514179
Error
1.2b
Counts
179 → 14
Alt Table
StatusErrorProgram
23.0b
(-.f64 (*.f64 2 (pow.f64 r -2)) 3/2)
19.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))
18.4b
(-.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.8b
(-.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))
48.7b
(-.f64 (/.f64 2 (*.f64 r r)) (pow.f64 (cbrt.f64 (exp.f64 (+.f64 (log.f64 (fma.f64 3/8 (/.f64 (*.f64 r r) (-.f64 1 v)) (*.f64 (/.f64 (*.f64 (*.f64 r r) v) (-.f64 1 v)) -1/4))) (*.f64 2 (log.f64 w))))) 3))
9.9b
(-.f64 (/.f64 2 (*.f64 r r)) (pow.f64 (pow.f64 (cbrt.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) 3))
33.4b
(-.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))
44.5b
(-.f64 (/.f64 2 (*.f64 r r)) (pow.f64 (cbrt.f64 (exp.f64 (+.f64 (log.f64 (fma.f64 3/8 (/.f64 (*.f64 r r) (-.f64 1 v)) (*.f64 (/.f64 (*.f64 (*.f64 r r) v) (-.f64 1 v)) -1/4))) (*.f64 (log.f64 (/.f64 -1 w)) -2)))) 3))
44.5b
(-.f64 (/.f64 2 (*.f64 r r)) (pow.f64 (exp.f64 (*.f64 1/3 (-.f64 (log.f64 (-.f64 (*.f64 3/8 (/.f64 (pow.f64 r 2) (-.f64 1 v))) (*.f64 1/4 (/.f64 (*.f64 v (pow.f64 r 2)) (-.f64 1 v))))) (*.f64 2 (log.f64 (/.f64 -1 w)))))) 3))
33.5b
(-.f64 (/.f64 2 (*.f64 r r)) (pow.f64 (sqrt.f64 (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)) 2))
21.2b
(-.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)))
9.4b
(-.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))
33.8b
(-.f64 (/.f64 2 (*.f64 r r)) (pow.f64 (cbrt.f64 (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)) 3))
10.7b
(-.f64 (/.f64 2 (*.f64 r r)) (pow.f64 (exp.f64 (*.f64 (log.f64 (fma.f64 r (*.f64 (*.f64 r (*.f64 w w)) (/.f64 (fma.f64 v -1/4 3/8) (-.f64 1 v))) 3/2)) 1/3)) 3))
Compiler

Compiled 10503 to 7168 computations (31.8% saved)

regimes1.3s (14.2%)

Accuracy

Total 2.9b remaining (68.3%)

Threshold costs 0b (0%)

Counts
98 → 3
Compiler

Compiled 18735 to 13748 computations (26.6% saved)

bsearch58.0ms (0.7%)

Steps
ItersRangePoint
5
4.5949376477215113e-128
1.0225676521558169e-126
9.21149556780841e-127
8
-1.9247252258922348e-45
-2.97100461379456e-49
-3.350971884985321e-49
Compiler

Compiled 4 to 3 computations (25% saved)

simplify6.0ms (0.1%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
039117
155117
268117
376117
480117
579117

end290.0ms (3.3%)

Compiler

Compiled 583 to 429 computations (26.4% saved)

Profiling

Loading profile data...