Data.Histogram.Bin.LogBinD:$cbinSizeN from histogram-fill-0.8.4.1

Time bar (total: 1.2s)

start0.0ms (0.0%)

Memory
0.1MiB live, 0.0MiB allocated; 0ms collecting garbage

analyze0.0ms (0.0%)

Memory
0.4MiB live, 0.4MiB allocated; 0ms collecting garbage
Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0.0%0.0%99.9%0.1%0.0%0.0%0.0%0
100.0%99.9%0.0%0.1%0.0%0.0%0.0%1
Compiler

Compiled 7 to 6 computations (14.3% saved)

sample538.0ms (45.6%)

Memory
54.5MiB live, 1 073.9MiB allocated; 291ms collecting garbage
Samples
333.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 87.0ms
ival-mult!: 66.0ms (76.2% of total)
ival-sub!: 19.0ms (21.9% of total)
adjust: 1.0ms (1.2% of total)
Bogosity

preprocess81.0ms (6.8%)

Memory
-33.6MiB live, 77.0MiB allocated; 57ms collecting garbage
Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01433
13731
27731
315530
420730
535630
6183930
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 (*.f64 x y) x)
Symmetry

(negabs x)

Compiler

Compiled 10 to 8 computations (20.0% saved)

sample0.0ms (0.0%)

Memory
0.1MiB live, 0.1MiB allocated; 0ms collecting garbage
Calls
Call 1
Inputs
Outputs

series9.0ms (0.8%)

Memory
27.0MiB live, 27.0MiB allocated; 0ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02990
Stop Event
iter-limit
Counts
4 → 9
Calls
Call 1
Inputs
x
y
(*.f64 x y)
(-.f64 (*.f64 x y) x)
Outputs
#s(approx x x)
#s(approx (* x y) (*.f64 x y))
#s(approx (- (* x y) x) (*.f64 x (-.f64 y #s(literal 1 binary64))))
#s(approx (- (* x y) x) (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) y)))))
#s(approx y y)
#s(approx (- (* x y) x) (*.f64 #s(literal -1 binary64) x))
#s(approx (- (* x y) x) (-.f64 (*.f64 x y) x))
#s(approx (- (* x y) x) (*.f64 y (+.f64 x (*.f64 #s(literal -1 binary64) (/.f64 x y)))))
#s(approx (- (* x y) x) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (/.f64 x y)))))
Calls

6 calls:

TimeVariablePoint
1.0ms
x
-inf
1.0ms
x
inf
1.0ms
y
-inf
1.0ms
y
0
0.0ms
y
inf

rewrite132.0ms (11.2%)

Memory
-0.8MiB live, 225.2MiB allocated; 48ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0410
0610
12810
26610
317310
434810
582610
0401910
Stop Event
iter-limit
node-limit
iter-limit
Counts
4 → 36
Calls
Call 1
Inputs
x
y
(*.f64 x y)
(-.f64 (*.f64 x y) x)
Outputs
x
y
(*.f64 (neg.f64 y) (neg.f64 x))
(*.f64 (neg.f64 x) (neg.f64 y))
(*.f64 y x)
(*.f64 x y)
(neg.f64 (*.f64 (neg.f64 x) y))
(*.f64 (*.f64 (*.f64 (-.f64 #s(literal 1 binary64) y) #s(literal 2 binary64)) (neg.f64 x)) #s(literal 1/2 binary64))
(*.f64 (+.f64 #s(literal -1 binary64) y) x)
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 (*.f64 (neg.f64 x) y) (neg.f64 x))) (neg.f64 x))
(*.f64 (-.f64 #s(literal 1 binary64) y) (neg.f64 x))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 y x) (neg.f64 x))) (neg.f64 x))
(*.f64 (+.f64 #s(literal 1 binary64) (/.f64 (neg.f64 x) (*.f64 y x))) (*.f64 y x))
(*.f64 (neg.f64 x) (-.f64 #s(literal 1 binary64) y))
(*.f64 (-.f64 #s(literal 1 binary64) (/.f64 x (*.f64 y x))) (*.f64 y x))
(*.f64 x (+.f64 #s(literal -1 binary64) y))
(/.f64 (neg.f64 (*.f64 (*.f64 (-.f64 #s(literal 1 binary64) y) #s(literal 2 binary64)) (neg.f64 x))) #s(literal -2 binary64))
(/.f64 (*.f64 (*.f64 (-.f64 #s(literal 1 binary64) y) #s(literal 2 binary64)) (neg.f64 x)) #s(literal 2 binary64))
(/.f64 (-.f64 (*.f64 (neg.f64 x) (neg.f64 x)) (*.f64 (*.f64 (neg.f64 x) y) (*.f64 (neg.f64 x) y))) (+.f64 (neg.f64 x) (*.f64 (neg.f64 x) y)))
(/.f64 (-.f64 (pow.f64 (neg.f64 x) #s(literal 3 binary64)) (pow.f64 (*.f64 (neg.f64 x) y) #s(literal 3 binary64))) (fma.f64 (neg.f64 x) (neg.f64 x) (fma.f64 (*.f64 (neg.f64 x) y) (*.f64 (neg.f64 x) y) (*.f64 (neg.f64 x) (*.f64 (neg.f64 x) y)))))
(/.f64 (-.f64 (*.f64 (neg.f64 x) (neg.f64 x)) (*.f64 (*.f64 y x) (*.f64 y x))) (-.f64 (neg.f64 x) (*.f64 y x)))
(/.f64 (+.f64 (pow.f64 (neg.f64 x) #s(literal 3 binary64)) (pow.f64 (*.f64 y x) #s(literal 3 binary64))) (fma.f64 (neg.f64 x) (neg.f64 x) (-.f64 (*.f64 (*.f64 y x) (*.f64 y x)) (*.f64 (neg.f64 x) (*.f64 y x)))))
(/.f64 (-.f64 (*.f64 (*.f64 y x) (*.f64 y x)) (*.f64 (neg.f64 x) (neg.f64 x))) (-.f64 (*.f64 y x) (neg.f64 x)))
(/.f64 (+.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 (neg.f64 x) #s(literal 3 binary64))) (fma.f64 (*.f64 y x) (*.f64 y x) (-.f64 (*.f64 (neg.f64 x) (neg.f64 x)) (*.f64 (*.f64 y x) (neg.f64 x)))))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) (*.f64 (*.f64 (-.f64 #s(literal 1 binary64) y) #s(literal 2 binary64)) (neg.f64 x))))
(/.f64 (-.f64 (*.f64 (*.f64 y x) (*.f64 y x)) (*.f64 x x)) (+.f64 (*.f64 y x) x))
(/.f64 (-.f64 (pow.f64 (*.f64 y x) #s(literal 3 binary64)) (pow.f64 x #s(literal 3 binary64))) (fma.f64 (*.f64 y x) (*.f64 y x) (fma.f64 x x (*.f64 (*.f64 y x) x))))
(neg.f64 (-.f64 x (*.f64 y x)))
(fma.f64 (neg.f64 y) (neg.f64 x) (neg.f64 x))
(fma.f64 (neg.f64 x) (neg.f64 y) (neg.f64 x))
(fma.f64 y x (neg.f64 x))
(fma.f64 x y (neg.f64 x))
(-.f64 (neg.f64 x) (*.f64 (neg.f64 x) y))
(-.f64 (*.f64 y x) x)
(+.f64 (neg.f64 x) (*.f64 y x))
(+.f64 (*.f64 y x) (neg.f64 x))

eval3.0ms (0.3%)

Memory
12.4MiB live, 12.4MiB allocated; 0ms collecting garbage
Compiler

Compiled 455 to 124 computations (72.7% saved)

prune2.0ms (0.2%)

Memory
6.7MiB live, 6.7MiB allocated; 0ms collecting garbage
Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New41142
Fresh000
Picked101
Done-110
Total41243
Accuracy
100.0%
Counts
43 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 (*.f64 x y) x)
53.3%
#s(approx (- (* x y) x) (*.f64 #s(literal -1 binary64) x))
Compiler

Compiled 9 to 9 computations (0.0% saved)

sample0.0ms (0.0%)

Memory
0.7MiB live, 0.7MiB allocated; 0ms collecting garbage
Calls
Call 1
Inputs
-1
Outputs
#s(literal -1 binary64)
Samples
0.0ms0valid
Compiler

Compiled 3 to 3 computations (0.0% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
adjust: 0.0ms (0.0% of total)

series14.0ms (1.2%)

Memory
-24.1MiB live, 15.7MiB allocated; 12ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02887
Stop Event
iter-limit
Counts
4 → 8
Calls
Call 1
Inputs
#s(literal -1 binary64)
x
(*.f64 #s(literal -1 binary64) x)
#s(approx (- (* x y) x) (*.f64 #s(literal -1 binary64) x))
Outputs
#s(approx x x)
#s(approx (* -1 x) (*.f64 #s(literal -1 binary64) x))
#s(approx (- (* x y) x) (*.f64 x (-.f64 y #s(literal 1 binary64))))
#s(approx (- (* x y) x) (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) y)))))
#s(approx (- (* x y) x) (-.f64 (*.f64 x y) x))
#s(approx (- (* x y) x) (*.f64 x y))
#s(approx (- (* x y) x) (*.f64 y (+.f64 x (*.f64 #s(literal -1 binary64) (/.f64 x y)))))
#s(approx (- (* x y) x) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (/.f64 x y)))))
Calls

6 calls:

TimeVariablePoint
1.0ms
x
-inf
1.0ms
x
inf
0.0ms
x
0
0.0ms
y
-inf
0.0ms
y
inf

rewrite168.0ms (14.3%)

Memory
44.2MiB live, 280.0MiB allocated; 67ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0714
0812
13212
27712
325512
455412
5188112
0539212
Stop Event
iter-limit
node-limit
iter-limit
Counts
4 → 102
Calls
Call 1
Inputs
#s(literal -1 binary64)
x
(*.f64 #s(literal -1 binary64) x)
#s(approx (- (* x y) x) (*.f64 #s(literal -1 binary64) x))
Outputs
#s(literal -1 binary64)
x
(*.f64 (*.f64 (neg.f64 x) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(*.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/2 binary64) (neg.f64 x)))
(*.f64 #s(literal 1 binary64) (neg.f64 x))
(*.f64 (neg.f64 x) #s(literal 1 binary64))
(*.f64 x #s(literal -1 binary64))
(*.f64 #s(literal -1 binary64) x)
(/.f64 (fma.f64 (+.f64 x x) #s(literal 0 binary64) (*.f64 #s(literal -1 binary64) (+.f64 x x))) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 0 binary64) (+.f64 x x) (*.f64 #s(literal -1 binary64) (+.f64 x x))) #s(literal 2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) (*.f64 #s(literal -1 binary64) (+.f64 x x))) #s(literal 2 binary64))
(/.f64 (fma.f64 (+.f64 x x) #s(literal 0 binary64) (*.f64 (+.f64 x x) #s(literal -1 binary64))) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 0 binary64) (+.f64 x x) (*.f64 (+.f64 x x) #s(literal -1 binary64))) #s(literal 2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) (*.f64 (+.f64 x x) #s(literal -1 binary64))) #s(literal 2 binary64))
(/.f64 (fma.f64 (+.f64 x x) #s(literal 0 binary64) (*.f64 #s(literal -2 binary64) x)) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 0 binary64) (+.f64 x x) (*.f64 #s(literal -2 binary64) x)) #s(literal 2 binary64))
(/.f64 (fma.f64 (+.f64 x x) #s(literal 0 binary64) (*.f64 (neg.f64 x) #s(literal 2 binary64))) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 0 binary64) (+.f64 x x) (*.f64 (neg.f64 x) #s(literal 2 binary64))) #s(literal 2 binary64))
(/.f64 (fma.f64 (+.f64 x x) #s(literal 0 binary64) (*.f64 #s(literal 2 binary64) (neg.f64 x))) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 0 binary64) (+.f64 x x) (*.f64 #s(literal 2 binary64) (neg.f64 x))) #s(literal 2 binary64))
(/.f64 (fma.f64 (+.f64 x x) #s(literal 0 binary64) (*.f64 x #s(literal -2 binary64))) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 0 binary64) (+.f64 x x) (*.f64 x #s(literal -2 binary64))) #s(literal 2 binary64))
(/.f64 (fma.f64 (+.f64 x x) #s(literal 0 binary64) (*.f64 #s(literal -2 binary64) (+.f64 x x))) #s(literal 4 binary64))
(/.f64 (fma.f64 #s(literal 0 binary64) (+.f64 x x) (*.f64 #s(literal -2 binary64) (+.f64 x x))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 x x) #s(literal 0 binary64) (*.f64 (+.f64 x x) #s(literal -2 binary64))) #s(literal 4 binary64))
(/.f64 (fma.f64 #s(literal 0 binary64) (+.f64 x x) (*.f64 (+.f64 x x) #s(literal -2 binary64))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 x x) #s(literal 0 binary64) (neg.f64 (+.f64 x x))) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 0 binary64) (+.f64 x x) (neg.f64 (+.f64 x x))) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal -2 binary64) (+.f64 x x) (*.f64 (+.f64 x x) #s(literal 0 binary64))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 x x) #s(literal -2 binary64) (*.f64 (+.f64 x x) #s(literal 0 binary64))) #s(literal 4 binary64))
(/.f64 (fma.f64 #s(literal -1 binary64) (+.f64 x x) (*.f64 (+.f64 x x) #s(literal 0 binary64))) #s(literal 2 binary64))
(/.f64 (fma.f64 (+.f64 x x) #s(literal -1 binary64) (*.f64 (+.f64 x x) #s(literal 0 binary64))) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal -2 binary64) x (*.f64 (+.f64 x x) #s(literal 0 binary64))) #s(literal 2 binary64))
(/.f64 (fma.f64 (neg.f64 x) #s(literal 2 binary64) (*.f64 (+.f64 x x) #s(literal 0 binary64))) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 2 binary64) (neg.f64 x) (*.f64 (+.f64 x x) #s(literal 0 binary64))) #s(literal 2 binary64))
(/.f64 (fma.f64 x #s(literal -2 binary64) (*.f64 (+.f64 x x) #s(literal 0 binary64))) #s(literal 2 binary64))
(/.f64 (+.f64 (neg.f64 (+.f64 x x)) (*.f64 (+.f64 x x) #s(literal 0 binary64))) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal -2 binary64) (+.f64 x x) (*.f64 #s(literal 0 binary64) (+.f64 x x))) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 x x) #s(literal -2 binary64) (*.f64 #s(literal 0 binary64) (+.f64 x x))) #s(literal 4 binary64))
(/.f64 (fma.f64 #s(literal -1 binary64) (+.f64 x x) (*.f64 #s(literal 0 binary64) (+.f64 x x))) #s(literal 2 binary64))
(/.f64 (fma.f64 (+.f64 x x) #s(literal -1 binary64) (*.f64 #s(literal 0 binary64) (+.f64 x x))) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal -2 binary64) x (*.f64 #s(literal 0 binary64) (+.f64 x x))) #s(literal 2 binary64))
(/.f64 (fma.f64 (neg.f64 x) #s(literal 2 binary64) (*.f64 #s(literal 0 binary64) (+.f64 x x))) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 2 binary64) (neg.f64 x) (*.f64 #s(literal 0 binary64) (+.f64 x x))) #s(literal 2 binary64))
(/.f64 (fma.f64 x #s(literal -2 binary64) (*.f64 #s(literal 0 binary64) (+.f64 x x))) #s(literal 2 binary64))
(/.f64 (+.f64 (neg.f64 (+.f64 x x)) (*.f64 #s(literal 0 binary64) (+.f64 x x))) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal -1 binary64) (+.f64 x x) #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (fma.f64 (+.f64 x x) #s(literal -1 binary64) #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) (*.f64 #s(literal -2 binary64) x)) #s(literal 2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) (*.f64 (neg.f64 x) #s(literal 2 binary64))) #s(literal 2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) (*.f64 #s(literal 2 binary64) (neg.f64 x))) #s(literal 2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) (*.f64 x #s(literal -2 binary64))) #s(literal 2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) (*.f64 #s(literal -2 binary64) (+.f64 x x))) #s(literal 4 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) (*.f64 #s(literal 2 binary64) (+.f64 x x))) #s(literal -4 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) (*.f64 (+.f64 x x) #s(literal -2 binary64))) #s(literal 4 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) (*.f64 (+.f64 x x) #s(literal 2 binary64))) #s(literal -4 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) (neg.f64 (+.f64 x x))) #s(literal 2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) (+.f64 x x)) #s(literal -2 binary64))
(/.f64 (fma.f64 #s(literal -2 binary64) (+.f64 x x) #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (fma.f64 (+.f64 x x) #s(literal -2 binary64) #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (fma.f64 #s(literal 2 binary64) (+.f64 x x) #s(literal 0 binary64)) #s(literal -4 binary64))
(/.f64 (fma.f64 (+.f64 x x) #s(literal 2 binary64) #s(literal 0 binary64)) #s(literal -4 binary64))
(/.f64 (fma.f64 #s(literal -2 binary64) x #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (fma.f64 (neg.f64 x) #s(literal 2 binary64) #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 2 binary64) (neg.f64 x) #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (fma.f64 x #s(literal -2 binary64) #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (+.f64 (neg.f64 (+.f64 x x)) #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (neg.f64 (*.f64 #s(literal -1 binary64) (+.f64 x x))) #s(literal -2 binary64))
(/.f64 (neg.f64 (*.f64 (+.f64 x x) #s(literal -1 binary64))) #s(literal -2 binary64))
(/.f64 (neg.f64 (*.f64 #s(literal -2 binary64) (+.f64 x x))) #s(literal -4 binary64))
(/.f64 (neg.f64 (*.f64 #s(literal 2 binary64) (+.f64 x x))) #s(literal 4 binary64))
(/.f64 (neg.f64 (*.f64 (+.f64 x x) #s(literal -2 binary64))) #s(literal -4 binary64))
(/.f64 (neg.f64 (*.f64 (+.f64 x x) #s(literal 2 binary64))) #s(literal 4 binary64))
(/.f64 (neg.f64 (neg.f64 (+.f64 x x))) #s(literal -2 binary64))
(/.f64 (*.f64 #s(literal -1 binary64) (+.f64 x x)) #s(literal 2 binary64))
(/.f64 (*.f64 (+.f64 x x) #s(literal -1 binary64)) #s(literal 2 binary64))
(/.f64 (*.f64 #s(literal -2 binary64) x) #s(literal 2 binary64))
(/.f64 (*.f64 (neg.f64 x) #s(literal 2 binary64)) #s(literal 2 binary64))
(/.f64 (*.f64 #s(literal 2 binary64) (neg.f64 x)) #s(literal 2 binary64))
(/.f64 (*.f64 x #s(literal -2 binary64)) #s(literal 2 binary64))
(/.f64 (*.f64 #s(literal -2 binary64) (+.f64 x x)) #s(literal 4 binary64))
(/.f64 (*.f64 #s(literal 2 binary64) (+.f64 x x)) #s(literal -4 binary64))
(/.f64 (*.f64 (+.f64 x x) #s(literal -2 binary64)) #s(literal 4 binary64))
(/.f64 (*.f64 (+.f64 x x) #s(literal 2 binary64)) #s(literal -4 binary64))
(/.f64 (neg.f64 (+.f64 x x)) #s(literal 2 binary64))
(/.f64 (+.f64 x x) #s(literal -2 binary64))
(/.f64 (neg.f64 x) #s(literal 1 binary64))
(/.f64 x #s(literal -1 binary64))
(neg.f64 x)
(fma.f64 (*.f64 (neg.f64 x) #s(literal 2 binary64)) #s(literal 1/2 binary64) #s(literal 0 binary64))
(fma.f64 #s(literal 1/2 binary64) (neg.f64 x) (*.f64 #s(literal 1/2 binary64) (neg.f64 x)))
(fma.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/2 binary64) (neg.f64 x)) #s(literal 0 binary64))
(fma.f64 #s(literal 1 binary64) (neg.f64 x) #s(literal 0 binary64))
(fma.f64 (neg.f64 x) #s(literal 1/2 binary64) (*.f64 (neg.f64 x) #s(literal 1/2 binary64)))
(fma.f64 (neg.f64 x) #s(literal 1 binary64) #s(literal 0 binary64))
(fma.f64 x #s(literal -1 binary64) #s(literal 0 binary64))
(fma.f64 #s(literal -1 binary64) x #s(literal 0 binary64))
(+.f64 (*.f64 (neg.f64 x) #s(literal 1/2 binary64)) (*.f64 (neg.f64 x) #s(literal 1/2 binary64)))
(+.f64 (*.f64 #s(literal 1/2 binary64) (neg.f64 x)) (*.f64 #s(literal 1/2 binary64) (neg.f64 x)))
(+.f64 #s(literal 0 binary64) (neg.f64 x))
(+.f64 (neg.f64 x) #s(literal 0 binary64))
#s(approx (- (* x y) x) (neg.f64 x))

eval13.0ms (1.1%)

Memory
-21.0MiB live, 24.7MiB allocated; 6ms collecting garbage
Compiler

Compiled 982 to 316 computations (67.8% saved)

prune3.0ms (0.3%)

Memory
9.4MiB live, 9.4MiB allocated; 0ms collecting garbage
Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New1052107
Fresh000
Picked101
Done011
Total1063109
Accuracy
100.0%
Counts
109 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 (*.f64 x y) x)
48.5%
#s(approx (- (* x y) x) (*.f64 x y))
53.3%
#s(approx (- (* x y) x) (neg.f64 x))
Compiler

Compiled 12 to 12 computations (0.0% saved)

sample0.0ms (0.0%)

Memory
0.1MiB live, 0.1MiB allocated; 0ms collecting garbage
Calls
Call 1
Inputs
Outputs

series5.0ms (0.4%)

Memory
12.1MiB live, 12.1MiB allocated; 0ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03087
Stop Event
iter-limit
Counts
6 → 9
Calls
Call 1
Inputs
x
(neg.f64 x)
#s(approx (- (* x y) x) (neg.f64 x))
y
(*.f64 x y)
#s(approx (- (* x y) x) (*.f64 x y))
Outputs
#s(approx x x)
#s(approx (neg x) (*.f64 #s(literal -1 binary64) x))
#s(approx (- (* x y) x) (*.f64 x (-.f64 y #s(literal 1 binary64))))
#s(approx (* x y) (*.f64 x y))
#s(approx (- (* x y) x) (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) y)))))
#s(approx (- (* x y) x) (-.f64 (*.f64 x y) x))
#s(approx y y)
#s(approx (- (* x y) x) (*.f64 y (+.f64 x (*.f64 #s(literal -1 binary64) (/.f64 x y)))))
#s(approx (- (* x y) x) (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (/.f64 x y)))))
Calls

6 calls:

TimeVariablePoint
1.0ms
x
-inf
0.0ms
y
-inf
0.0ms
x
inf
0.0ms
y
inf
0.0ms
x
0

rewrite130.0ms (11.0%)

Memory
-47.4MiB live, 163.4MiB allocated; 67ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0824
01024
13124
26924
317624
435124
582924
0402224
Stop Event
iter-limit
node-limit
iter-limit
Counts
6 → 10
Calls
Call 1
Inputs
x
(neg.f64 x)
#s(approx (- (* x y) x) (neg.f64 x))
y
(*.f64 x y)
#s(approx (- (* x y) x) (*.f64 x y))
Outputs
x
(neg.f64 x)
#s(approx (- (* x y) x) (neg.f64 x))
y
(*.f64 (neg.f64 y) (neg.f64 x))
(*.f64 y x)
(*.f64 (neg.f64 x) (neg.f64 y))
(*.f64 x y)
(neg.f64 (*.f64 y (neg.f64 x)))
#s(approx (- (* x y) x) (*.f64 y x))

eval1.0ms (0.1%)

Memory
3.6MiB live, 3.6MiB allocated; 0ms collecting garbage
Compiler

Compiled 96 to 50 computations (47.9% saved)

prune1.0ms (0.1%)

Memory
4.2MiB live, 4.2MiB allocated; 0ms collecting garbage
Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New16016
Fresh000
Picked202
Done-231
Total16319
Accuracy
100.0%
Counts
19 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 (*.f64 x y) x)
48.5%
#s(approx (- (* x y) x) (*.f64 x y))
53.3%
#s(approx (- (* x y) x) (neg.f64 x))
Compiler

Compiled 12 to 12 computations (0.0% saved)

regimes19.0ms (1.6%)

Memory
2.9MiB live, 49.6MiB allocated; 3ms collecting garbage
Counts
2 → 1
3 → 3
4 → 1
Calls
Call 1
Inputs
#s(approx (- (* x y) x) (neg.f64 x))
#s(approx (- (* x y) x) (*.f64 #s(literal -1 binary64) x))
Outputs
#s(approx (- (* x y) x) (neg.f64 x))
Call 2
Inputs
#s(approx (- (* x y) x) (neg.f64 x))
#s(approx (- (* x y) x) (*.f64 #s(literal -1 binary64) x))
#s(approx (- (* x y) x) (*.f64 x y))
Outputs
#s(approx (- (* x y) x) (*.f64 x y))
#s(approx (- (* x y) x) (neg.f64 x))
#s(approx (- (* x y) x) (*.f64 x y))
Call 3
Inputs
#s(approx (- (* x y) x) (neg.f64 x))
#s(approx (- (* x y) x) (*.f64 #s(literal -1 binary64) x))
#s(approx (- (* x y) x) (*.f64 x y))
(-.f64 (*.f64 x y) x)
Outputs
(-.f64 (*.f64 x y) x)
Calls

9 calls:

4.0ms
x
2.0ms
y
2.0ms
x
2.0ms
(-.f64 (*.f64 x y) x)
2.0ms
(-.f64 (*.f64 x y) x)
Results
AccuracySegmentsBranch
53.3%1x
53.3%1(-.f64 (*.f64 x y) x)
53.3%1y
85.1%3(-.f64 (*.f64 x y) x)
62.1%3x
97.8%3y
100.0%1(-.f64 (*.f64 x y) x)
100.0%1x
100.0%1y
Compiler

Compiled 37 to 34 computations (8.1% saved)

bsearch21.0ms (1.8%)

Memory
-0.0MiB live, 46.3MiB allocated; 2ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
11.0ms
3.2197312839879646e-9
1283.6453748306992
9.0ms
-66095.21920929091
-0.0013377005323599214
Samples
10.0ms304×0valid
Compiler

Compiled 141 to 199 computations (-41.1% saved)

Precisions
Click to see histograms. Total time spent on operations: 2.0ms
ival-mult!: 2.0ms (83.0% of total)
ival-sub!: 1.0ms (41.5% of total)
adjust: 0.0ms (0.0% of total)

derivations23.0ms (2.0%)

Memory
-19.7MiB live, 30.6MiB allocated; 9ms collecting garbage
Stop Event
done
Compiler

Compiled 27 to 13 computations (51.9% saved)

preprocess16.0ms (1.3%)

Memory
42.0MiB live, 42.0MiB allocated; 0ms collecting garbage
Compiler

Compiled 86 to 57 computations (33.7% saved)

end0.0ms (0.0%)

Memory
0.0MiB live, 0.0MiB allocated; 0ms collecting garbage

Profiling

Loading profile data...