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

Time bar (total: 2.4s)

analyze14.0ms (0.6%)

Memory
4.1MiB live, 4.1MiB allocated
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 24 to 19 computations (20.8% saved)

sample2.2s (90%)

Memory
-10.9MiB live, 659.5MiB allocated
Samples
486.0ms8 255×0valid-sollya
394.0ms8 255×0valid-baseline
358.0ms8 255×0valid-rival
0.0ms1valid-baseline
0.0ms1valid-rival
0.0ms1valid-sollya
Bogosity

preprocess210.0ms (8.7%)

Memory
6.8MiB live, 22.7MiB allocated
Algorithm
egg-herbie
Rules
1 010×fmm-def
531×fma-define
206×distribute-rgt-in
150×sub-neg
128×associate-+l-
Iterations

Useful iterations: 10 (0.0ms)

IterNodesCost
040435
199371
2275371
3801323
41688297
52817292
63293292
73479292
83529292
93537292
103537276
114075276
124075276
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z)
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z)
(+.f64 (+.f64 (/.f64 (neg.f64 x) #s(literal 2 binary64)) (*.f64 y (neg.f64 x))) z)
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 (neg.f64 y) x)) z)
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) (neg.f64 z))
(neg.f64 (+.f64 (+.f64 (/.f64 (neg.f64 x) #s(literal 2 binary64)) (*.f64 y (neg.f64 x))) z))
(neg.f64 (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 (neg.f64 y) x)) z))
(neg.f64 (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) (neg.f64 z)))
(+.f64 (+.f64 (/.f64 y #s(literal 2 binary64)) (*.f64 x y)) z)
(+.f64 (+.f64 (/.f64 z #s(literal 2 binary64)) (*.f64 y z)) x)
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 z x)) y)
Outputs
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z)
(+.f64 (/.f64 x #s(literal 2 binary64)) (+.f64 (*.f64 x y) z))
(+.f64 (/.f64 x #s(literal 2 binary64)) (fma.f64 x y z))
(-.f64 z (*.f64 x (-.f64 #s(literal -1/2 binary64) y)))
(fma.f64 x (+.f64 y #s(literal 1/2 binary64)) z)
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z)
(+.f64 (/.f64 x #s(literal 2 binary64)) (+.f64 (*.f64 x y) z))
(+.f64 (/.f64 x #s(literal 2 binary64)) (fma.f64 x y z))
(-.f64 z (*.f64 x (-.f64 #s(literal -1/2 binary64) y)))
(fma.f64 x (+.f64 y #s(literal 1/2 binary64)) z)
(+.f64 (+.f64 (/.f64 (neg.f64 x) #s(literal 2 binary64)) (*.f64 y (neg.f64 x))) z)
(+.f64 z (+.f64 (/.f64 (neg.f64 x) #s(literal 2 binary64)) (*.f64 x (neg.f64 y))))
(-.f64 z (fma.f64 x y (/.f64 x #s(literal 2 binary64))))
(+.f64 z (*.f64 x (-.f64 #s(literal -1/2 binary64) y)))
(fma.f64 x (-.f64 #s(literal -1/2 binary64) y) z)
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 (neg.f64 y) x)) z)
(+.f64 (/.f64 x #s(literal 2 binary64)) (+.f64 (*.f64 x (neg.f64 y)) z))
(+.f64 (/.f64 x #s(literal 2 binary64)) (fma.f64 y (neg.f64 x) z))
(+.f64 (/.f64 x #s(literal 2 binary64)) (-.f64 z (*.f64 x y)))
(-.f64 z (*.f64 x (+.f64 y #s(literal -1/2 binary64))))
(+.f64 z (*.f64 x (-.f64 #s(literal 1/2 binary64) y)))
(fma.f64 x (-.f64 #s(literal 1/2 binary64) y) z)
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) (neg.f64 z))
(-.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 x y)) z)
(-.f64 (fma.f64 x y (/.f64 x #s(literal 2 binary64))) z)
(-.f64 (*.f64 x (-.f64 y #s(literal -1/2 binary64))) z)
(fma.f64 x (+.f64 y #s(literal 1/2 binary64)) (neg.f64 z))
(neg.f64 (+.f64 (+.f64 (/.f64 (neg.f64 x) #s(literal 2 binary64)) (*.f64 y (neg.f64 x))) z))
(-.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 x y)) z)
(-.f64 (fma.f64 x y (/.f64 x #s(literal 2 binary64))) z)
(-.f64 (*.f64 x (-.f64 y #s(literal -1/2 binary64))) z)
(fma.f64 x (+.f64 y #s(literal 1/2 binary64)) (neg.f64 z))
(neg.f64 (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 (neg.f64 y) x)) z))
(neg.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (+.f64 (*.f64 x (neg.f64 y)) z)))
(-.f64 (/.f64 x #s(literal -2 binary64)) (fma.f64 y (neg.f64 x) z))
(+.f64 (*.f64 x y) (-.f64 (*.f64 x #s(literal -1/2 binary64)) z))
(-.f64 (*.f64 x (+.f64 y #s(literal -1/2 binary64))) z)
(neg.f64 (+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) (neg.f64 z)))
(+.f64 z (+.f64 (/.f64 (neg.f64 x) #s(literal 2 binary64)) (*.f64 x (neg.f64 y))))
(-.f64 z (fma.f64 x y (/.f64 x #s(literal 2 binary64))))
(+.f64 z (*.f64 x (-.f64 #s(literal -1/2 binary64) y)))
(fma.f64 x (-.f64 #s(literal -1/2 binary64) y) z)
(+.f64 (+.f64 (/.f64 y #s(literal 2 binary64)) (*.f64 x y)) z)
(+.f64 z (+.f64 (*.f64 x y) (/.f64 y #s(literal 2 binary64))))
(+.f64 z (fma.f64 x y (/.f64 y #s(literal 2 binary64))))
(+.f64 z (fma.f64 x y (*.f64 y #s(literal 1/2 binary64))))
(+.f64 z (*.f64 y (+.f64 x #s(literal 1/2 binary64))))
(fma.f64 y (+.f64 x #s(literal 1/2 binary64)) z)
(+.f64 (+.f64 (/.f64 z #s(literal 2 binary64)) (*.f64 y z)) x)
(+.f64 x (+.f64 (/.f64 z #s(literal 2 binary64)) (*.f64 y z)))
(+.f64 x (fma.f64 y z (/.f64 z #s(literal 2 binary64))))
(+.f64 x (fma.f64 y z (*.f64 z #s(literal 1/2 binary64))))
(+.f64 x (*.f64 z (+.f64 #s(literal 1/2 binary64) y)))
(+.f64 x (*.f64 z (+.f64 y #s(literal 1/2 binary64))))
(fma.f64 z (+.f64 y #s(literal 1/2 binary64)) x)
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 z x)) y)
(+.f64 y (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 x z)))
(+.f64 y (fma.f64 x z (/.f64 x #s(literal 2 binary64))))
(+.f64 (/.f64 x #s(literal 2 binary64)) (fma.f64 x z y))
(+.f64 (*.f64 x #s(literal 1/2 binary64)) (fma.f64 x z y))
(+.f64 y (*.f64 x (+.f64 #s(literal 1/2 binary64) z)))
(+.f64 y (*.f64 x (+.f64 z #s(literal 1/2 binary64))))
(fma.f64 x (+.f64 z #s(literal 1/2 binary64)) y)
Compiler

Compiled 12 to 8 computations (33.3% saved)

eval0.0ms (0%)

Memory
0.2MiB live, 0.2MiB allocated
Compiler

Compiled 3 to 3 computations (0% saved)

prune1.0ms (0%)

Memory
0.9MiB live, 0.9MiB allocated
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z)
Compiler

Compiled 24 to 16 computations (33.3% saved)

simplify2.0ms (0.1%)

Memory
0.3MiB live, 0.3MiB allocated
Algorithm
egg-herbie
Rules
+-commutative
*-commutative
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01437
11737
Stop Event
saturated
Calls
Call 1
Inputs
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z)
Outputs
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 y x)) z)
(+.f64 (+.f64 (/.f64 x #s(literal 2 binary64)) (*.f64 x y)) z)

soundness0.0ms (0%)

Memory
0.4MiB live, 0.4MiB allocated
Stop Event
fuel
Compiler

Compiled 12 to 8 computations (33.3% saved)

preprocess15.0ms (0.6%)

Memory
6.0MiB live, 21.6MiB allocated
Compiler

Compiled 48 to 32 computations (33.3% saved)

end0.0ms (0%)

Memory
0.0MiB live, 0.0MiB allocated

Profiling

Loading profile data...