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

Time bar (total: 1.3s)

start0.0ms (0.0%)

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

analyze0.0ms (0.0%)

Memory
0.9MiB live, 0.9MiB 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)

sample619.0ms (47.2%)

Memory
-18.3MiB live, 1 193.6MiB allocated; 275ms collecting garbage
Samples
377.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 161.0ms
ival-mult!: 139.0ms (86.3% of total)
ival-sub!: 20.0ms (12.4% of total)
adjust: 2.0ms (1.2% of total)
Bogosity

preprocess53.0ms (4.0%)

Memory
-11.5MiB live, 47.9MiB allocated; 10ms 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

series10.0ms (0.8%)

Memory
33.0MiB live, 33.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
1.0ms
x
0

rewrite187.0ms (14.3%)

Memory
-8.8MiB live, 357.0MiB allocated; 98ms 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))

eval4.0ms (0.3%)

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

Compiled 491 to 126 computations (74.3% saved)

prune2.0ms (0.1%)

Memory
5.3MiB live, 5.3MiB 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.2%
#s(approx (- (* x y) x) (*.f64 #s(literal -1 binary64) x))
Compiler

Compiled 14 to 11 computations (21.4% saved)

sample0.0ms (0.0%)

Memory
0.5MiB live, 0.5MiB 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)

series7.0ms (0.5%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
02887
Stop Event
iter-limit
Counts
4 → 8
Calls
Call 1
Inputs
x
#s(literal -1 binary64)
(*.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

rewrite175.0ms (13.3%)

Memory
8.4MiB live, 323.7MiB allocated; 46ms collecting garbage
Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0714
0812
13212
27712
325512
455412
5187712
0538812
Stop Event
iter-limit
node-limit
iter-limit
Counts
4 → 102
Calls
Call 1
Inputs
x
#s(literal -1 binary64)
(*.f64 #s(literal -1 binary64) x)
#s(approx (- (* x y) x) (*.f64 #s(literal -1 binary64) x))
Outputs
x
#s(literal -1 binary64)
(*.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 #s(literal -1 binary64) x)
(*.f64 x #s(literal -1 binary64))
(/.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 #s(literal -1 binary64) x #s(literal 0 binary64))
(fma.f64 x #s(literal -1 binary64) #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))

eval42.0ms (3.2%)

Memory
-42.4MiB live, 21.3MiB allocated; 40ms collecting garbage
Compiler

Compiled 1 521 to 320 computations (79.0% saved)

prune3.0ms (0.2%)

Memory
6.1MiB live, 6.1MiB 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.6%
#s(approx (- (* x y) x) (*.f64 x y))
53.2%
#s(approx (- (* x y) x) (neg.f64 x))
Compiler

Compiled 22 to 16 computations (27.3% saved)

sample0.0ms (0.0%)

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

series7.0ms (0.5%)

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

Useful iterations: 0 (0.0ms)

IterNodesCost
03087
Stop Event
iter-limit
Counts
6 → 9
Calls
Call 1
Inputs
x
y
(neg.f64 x)
#s(approx (- (* x y) x) (neg.f64 x))
(*.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 y y)
#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
0
1.0ms
x
-inf
0.0ms
y
-inf
0.0ms
x
inf
0.0ms
y
inf

rewrite111.0ms (8.5%)

Memory
0.5MiB live, 142.3MiB allocated; 14ms 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
y
(neg.f64 x)
#s(approx (- (* x y) x) (neg.f64 x))
(*.f64 x y)
#s(approx (- (* x y) x) (*.f64 x y))
Outputs
x
y
(neg.f64 x)
#s(approx (- (* x y) x) (neg.f64 x))
(*.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))
#s(approx (- (* x y) x) (*.f64 y x))

eval1.0ms (0.1%)

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

Compiled 184 to 53 computations (71.2% saved)

prune1.0ms (0.1%)

Memory
4.7MiB live, 4.7MiB 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.6%
#s(approx (- (* x y) x) (*.f64 x y))
53.2%
#s(approx (- (* x y) x) (neg.f64 x))
Compiler

Compiled 22 to 16 computations (27.3% saved)

regimes24.0ms (1.9%)

Memory
-6.8MiB live, 43.7MiB allocated; 5ms 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:

8.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.2%1x
53.2%1(-.f64 (*.f64 x y) x)
53.2%1y
81.4%3(-.f64 (*.f64 x y) x)
57.7%3x
97.8%3y
100.0%1(-.f64 (*.f64 x y) x)
100.0%1x
100.0%1y
Compiler

Compiled 52 to 36 computations (30.8% saved)

bsearch21.0ms (1.6%)

Memory
-14.8MiB live, 31.3MiB allocated; 3ms collecting garbage
Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
10.0ms
2.3518613645234935e-5
31.53597757819726
10.0ms
-66249856323.28104
-0.2365958493201232
Samples
9.0ms304×0valid
Compiler

Compiled 331 to 275 computations (16.9% saved)

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

derivations24.0ms (1.9%)

Memory
31.3MiB live, 31.3MiB allocated; 0ms collecting garbage
Stop Event
done
Compiler

Compiled 47 to 15 computations (68.1% saved)

preprocess19.0ms (1.5%)

Memory
-2.2MiB live, 43.6MiB allocated; 3ms collecting garbage
Compiler

Compiled 146 to 67 computations (54.1% saved)

end0.0ms (0.0%)

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

Profiling

Loading profile data...