Data.Histogram.Bin.BinF:$cfromIndex from histogram-fill-0.8.4.1

Time bar (total: 1.2s)

analyze0.0ms (0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0%0%99.9%0.1%0%0%0%0
100%99.9%0%0.1%0%0%0%1
Compiler

Compiled 13 to 9 computations (30.8% saved)

sample908.0ms (74%)

Results
729.0ms7184×body256valid
168.0ms1069×body256infinite
0.0msbody1024valid
0.0msbody512valid
Bogosity

preprocess198.0ms (16.2%)

Algorithm
egg-herbie
Rules
3066×fma-def
456×distribute-rgt-in
428×fma-neg
338×sub-neg
308×cancel-sign-sub-inv
Iterations

Useful iterations: 12 (0.0ms)

IterNodesCost
033187
179155
2182151
3313143
4578135
5868127
61749121
73171117
83735115
93922115
104001115
114009115
124009109
134328109
144328109
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) z)
(+.f64 (+.f64 (/.f64 (neg.f64 x) 2) (*.f64 y (neg.f64 x))) z)
(+.f64 (+.f64 (/.f64 x 2) (*.f64 (neg.f64 y) x)) z)
(+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) (neg.f64 z))
(+.f64 (+.f64 (/.f64 y 2) (*.f64 x y)) z)
(+.f64 (+.f64 (/.f64 z 2) (*.f64 y z)) x)
(+.f64 (+.f64 (/.f64 x 2) (*.f64 z x)) y)
Outputs
(+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) z)
(+.f64 (/.f64 x 2) (+.f64 (*.f64 x y) z))
(+.f64 (/.f64 x 2) (fma.f64 x y z))
(+.f64 (*.f64 x (+.f64 y 1/2)) z)
(fma.f64 x (+.f64 y 1/2) z)
(+.f64 (+.f64 (/.f64 (neg.f64 x) 2) (*.f64 y (neg.f64 x))) z)
(+.f64 z (+.f64 (/.f64 (neg.f64 x) 2) (*.f64 x (neg.f64 y))))
(+.f64 z (neg.f64 (fma.f64 x y (/.f64 x 2))))
(-.f64 z (fma.f64 x y (/.f64 x 2)))
(+.f64 z (*.f64 x (-.f64 -1/2 y)))
(fma.f64 x (-.f64 -1/2 y) z)
(+.f64 (+.f64 (/.f64 x 2) (*.f64 (neg.f64 y) x)) z)
(+.f64 (/.f64 x 2) (+.f64 (*.f64 x (neg.f64 y)) z))
(+.f64 (/.f64 x 2) (fma.f64 y (neg.f64 x) z))
(-.f64 z (fma.f64 x y (*.f64 x -1/2)))
(-.f64 z (*.f64 x (+.f64 y -1/2)))
(+.f64 z (*.f64 x (-.f64 1/2 y)))
(fma.f64 x (-.f64 1/2 y) z)
(+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) (neg.f64 z))
(-.f64 (+.f64 (/.f64 x 2) (*.f64 x y)) z)
(-.f64 (fma.f64 x y (/.f64 x 2)) z)
(-.f64 (*.f64 x (-.f64 y -1/2)) z)
(fma.f64 x (+.f64 y 1/2) (neg.f64 z))
(+.f64 (+.f64 (/.f64 y 2) (*.f64 x y)) z)
(+.f64 z (+.f64 (*.f64 x y) (/.f64 y 2)))
(+.f64 z (fma.f64 x y (/.f64 y 2)))
(-.f64 (fma.f64 x y z) (/.f64 y -2))
(fma.f64 x y (fma.f64 1/2 y z))
(fma.f64 y (+.f64 x 1/2) z)
(+.f64 (+.f64 (/.f64 z 2) (*.f64 y z)) x)
(+.f64 x (+.f64 (/.f64 z 2) (*.f64 y z)))
(+.f64 x (fma.f64 y z (/.f64 z 2)))
(+.f64 x (fma.f64 y z (*.f64 1/2 z)))
(+.f64 x (*.f64 z (+.f64 y 1/2)))
(fma.f64 z (+.f64 y 1/2) x)
(+.f64 (+.f64 (/.f64 x 2) (*.f64 z x)) y)
(+.f64 (/.f64 x 2) (+.f64 (*.f64 x z) y))
(+.f64 (/.f64 x 2) (fma.f64 x z y))
(+.f64 (*.f64 x 1/2) (fma.f64 x z y))
(fma.f64 x z (fma.f64 x 1/2 y))
(fma.f64 x (+.f64 z 1/2) y)
Compiler

Compiled 15 to 11 computations (26.7% saved)

simplify4.0ms (0.3%)

Algorithm
egg-herbie
Rules
12×fma-def
10×+-commutative
associate-+r+
associate-+l+
*-commutative
Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01025
11521
22721
33121
Stop Event
saturated
Counts
1 → 3
Calls
Call 1
Inputs
(+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) z)
Outputs
(+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) z)
(+.f64 (/.f64 x 2) (+.f64 (*.f64 x y) z))
(+.f64 (/.f64 x 2) (fma.f64 x y z))

eval1.0ms (0.1%)

Compiler

Compiled 29 to 17 computations (41.4% saved)

prune1.0ms (0.1%)

Pruning

1 alts after pruning (1 fresh and 0 done)

PrunedKeptTotal
New213
Fresh101
Picked000
Done000
Total314
Accurracy
100.0%
Counts
4 → 1
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 (/.f64 x 2) (+.f64 (*.f64 x y) z))
100.0%
(+.f64 (/.f64 x 2) (+.f64 (*.f64 x y) z))
Compiler

Compiled 24 to 16 computations (33.3% saved)

localize32.0ms (2.6%)

Compiler

Compiled 28 to 12 computations (57.1% saved)

eval0.0ms (0%)

Compiler

Compiled 3 to 3 computations (0% saved)

prune1.0ms (0.1%)

Pruning

1 alts after pruning (0 fresh and 1 done)

PrunedKeptTotal
New000
Fresh000
Picked011
Done000
Total011
Accurracy
100.0%
Counts
1 → 1
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 (/.f64 x 2) (+.f64 (*.f64 x y) z))
Compiler

Compiled 33 to 21 computations (36.4% saved)

regimes15.0ms (1.2%)

Accuracy

Total 0b remaining (0%)

Threshold costs 0b (0%)

Counts
2 → 1
Calls
Call 1
Inputs
(+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) z)
(+.f64 (/.f64 x 2) (+.f64 (*.f64 x y) z))
Outputs
(+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) z)
Calls

5 calls:

5.0ms
(+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) z)
2.0ms
(+.f64 (/.f64 x 2) (*.f64 y x))
2.0ms
z
2.0ms
x
2.0ms
y
Results
AccuracySegmentsBranch
100.0%1x
100.0%1y
100.0%1z
100.0%1(+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) z)
100.0%1(+.f64 (/.f64 x 2) (*.f64 y x))
Compiler

Compiled 55 to 37 computations (32.7% saved)

simplify4.0ms (0.3%)

Algorithm
egg-herbie
Rules
+-commutative
*-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01025
11325
Stop Event
done
saturated
Calls
Call 1
Inputs
(+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) z)
Outputs
(+.f64 (+.f64 (/.f64 x 2) (*.f64 y x)) z)
(+.f64 (+.f64 (/.f64 x 2) (*.f64 x y)) z)
Compiler

Compiled 12 to 8 computations (33.3% saved)

soundness0.0ms (0%)

end0.0ms (0%)

preprocess63.0ms (5.1%)

Compiler

Compiled 48 to 32 computations (33.3% saved)

Profiling

Loading profile data...