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

Time bar (total: 927.0ms)

start0.0ms (0.0%)

analyze0.0ms (0.0%)

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)

sample220.0ms (23.7%)

Samples
160.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 5.0ms
Mul: 3.0ms (56.1% of total, 0.0 MiB)
Sub: 2.0ms (37.4% of total, 0.0 MiB)
Bogosity

preprocess44.0ms (4.7%)

Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
01433
15431
210331
320430
433530
5134330
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 2 to 8 computations (-300.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series10.0ms (1.1%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03193
Stop Event
iter-limit
Counts
4 → 10
Calls
Call 1
Inputs
%2 = (*.f64 x y)
x
y
%2
(-.f64 %2 x)
Outputs
%5 = (* x y)
%6 = (*.f64 x y)
%8 = (- %5 x)
%24 = (/.f64 x y)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %5 %6)
(approx %8 (*.f64 x (-.f64 y #s(literal 1 binary64))))
(approx %8 (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) y)))))
(approx y y)
(approx %8 (*.f64 #s(literal -1 binary64) x))
(approx %8 (-.f64 %6 x))
(approx %8 (*.f64 y (+.f64 x (*.f64 #s(literal -1 binary64) %24))))
(approx %8 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x %24))))
Calls

6 calls:

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

rewrite90.0ms (9.7%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0410
0610
11610
23610
38110
417610
566810
0422210
0435610
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
4 → 64
Calls
Call 1
Inputs
%2 = (*.f64 x y)
x
y
%2
(-.f64 %2 x)
Outputs
%3 = (neg.f64 x)
%4 = (*.f64 %3 y)
%6 = (neg.f64 y)
%10 = (*.f64 y x)
%19 = (fma.f64 y #s(literal -2 binary64) #s(literal 2 binary64))
%20 = (*.f64 %19 %3)
%23 = (-.f64 y #s(literal 1 binary64))
%25 = (-.f64 x %10)
%27 = (-.f64 #s(literal 1 binary64) y)
%30 = (-.f64 %10 x)
%34 = (*.f64 x %19)
%47 = (*.f64 x #s(literal 0 binary64))
%49 = (*.f64 #s(literal 0 binary64) x)
%54 = (neg.f64 (*.f64 x #s(literal 1 binary64)))
%80 = (-.f64 #s(literal 1/2 binary64) y)
x
y
(*.f64 #s(literal -1 binary64) %4)
(*.f64 %6 %3)
(*.f64 %3 %6)
(*.f64 #s(literal 1 binary64) %10)
%10
(*.f64 x y)
(pow.f64 %10 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %10 #s(literal -1 binary64)))
(neg.f64 %4)
(*.f64 %20 #s(literal 1/2 binary64))
(*.f64 %23 x)
(*.f64 #s(literal -1 binary64) %25)
(*.f64 %27 %3)
(*.f64 %3 %27)
(*.f64 #s(literal 1 binary64) %30)
(*.f64 x %23)
(pow.f64 %30 #s(literal 1 binary64))
(/.f64 (neg.f64 %34) #s(literal 2 binary64))
(/.f64 %34 #s(literal -2 binary64))
(/.f64 (*.f64 %19 x) #s(literal -2 binary64))
(/.f64 %20 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) %20))
(/.f64 #s(literal 1 binary64) (pow.f64 %30 #s(literal -1 binary64)))
(neg.f64 %25)
(fma.f64 %20 #s(literal 1/2 binary64) %47)
(fma.f64 %20 #s(literal 1/2 binary64) %49)
(fma.f64 %23 x %47)
(fma.f64 %23 x %49)
(fma.f64 #s(literal -1 binary64) %4 %54)
(fma.f64 #s(literal -1 binary64) %4 %3)
(fma.f64 #s(literal -1 binary64) %25 %47)
(fma.f64 #s(literal -1 binary64) %25 %49)
(fma.f64 #s(literal -1 binary64) x %10)
(fma.f64 %27 %3 %47)
(fma.f64 %27 %3 %49)
(fma.f64 %6 %3 %54)
(fma.f64 %6 %3 %3)
(fma.f64 %3 %27 %47)
(fma.f64 %3 %27 %49)
(fma.f64 %3 %6 %54)
(fma.f64 %3 %6 %3)
(fma.f64 #s(literal 1 binary64) %3 %10)
(fma.f64 #s(literal 1 binary64) %30 %47)
(fma.f64 #s(literal 1 binary64) %30 %49)
(fma.f64 #s(literal 1 binary64) %10 %54)
(fma.f64 #s(literal 1 binary64) %10 %3)
(fma.f64 y x %54)
(fma.f64 y x %3)
(fma.f64 x %23 %47)
(fma.f64 x %23 %49)
(fma.f64 x y %54)
(fma.f64 x y %3)
(-.f64 %3 %4)
%30
(+.f64 (neg.f64 (*.f64 x %80)) (neg.f64 (*.f64 x #s(literal 1/2 binary64))))
(+.f64 (neg.f64 (*.f64 %80 x)) (neg.f64 (*.f64 #s(literal 1/2 binary64) x)))
(+.f64 %54 %10)
(+.f64 %3 %10)
(+.f64 %30 %47)
(+.f64 %30 %49)
(+.f64 %10 %54)
(+.f64 %10 %3)

reconstruct6.0ms (0.6%)

Counts
74 → 13
Compiler

Compiled 74 to 110 computations (-48.6% saved)

eval1.0ms (0.1%)

Compiler

Compiled 12 to 39 computations (-225.0% saved)

prune1.0ms (0.1%)

Pruning

3 alts after pruning (2 fresh and 1 done)

PrunedKeptTotal
New10212
Fresh000
Picked011
Done000
Total10313
Accuracy
100.0%
Counts
13 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 (*.f64 x y) x)
100.0%
(approx (- (* x y) x) (*.f64 x (-.f64 y #s(literal 1 binary64))))
49.9%
(approx (- (* x y) x) (*.f64 #s(literal -1 binary64) x))
Compiler

Compiled 3 to 9 computations (-200.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series7.0ms (0.7%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
043141
Stop Event
iter-limit
Counts
9 → 15
Calls
Call 1
Inputs
%3 = (-.f64 y #s(literal 1 binary64))
%4 = (*.f64 x %3)
%6 = (- (* x y) x)
%9 = (*.f64 #s(literal -1 binary64) x)
x
y
#s(literal 1 binary64)
%3
%4
(approx %6 %4)
#s(literal -1 binary64)
%9
(approx %6 %9)
Outputs
%6 = (- y 1)
%7 = (* x %6)
%9 = (-.f64 y #s(literal 1 binary64))
%18 = (- (* x y) x)
%27 = (*.f64 x y)
%32 = (/.f64 #s(literal 1 binary64) y)
%37 = (/.f64 x y)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %7 (*.f64 x %9))
(approx (* -1 x) (*.f64 #s(literal -1 binary64) x))
(approx %18 (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) y)))))
(approx y y)
(approx %6 #s(literal -1 binary64))
(approx %6 %9)
(approx %7 (fma.f64 #s(literal -1 binary64) x %27))
(approx %18 (-.f64 %27 x))
(approx %6 (*.f64 y (-.f64 #s(literal 1 binary64) %32)))
(approx %7 %27)
(approx %7 (*.f64 y (+.f64 x (*.f64 #s(literal -1 binary64) %37))))
(approx %6 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 %32 #s(literal 1 binary64)))))
(approx %7 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x %37))))
Calls

6 calls:

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

rewrite98.0ms (10.6%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01135
01433
14333
29033
329133
4171233
0408933
0423533
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
9 → 407
Calls
Call 1
Inputs
%3 = (-.f64 y #s(literal 1 binary64))
%4 = (*.f64 x %3)
%6 = (- (* x y) x)
%9 = (*.f64 #s(literal -1 binary64) x)
x
y
#s(literal 1 binary64)
%3
%4
(approx %6 %4)
#s(literal -1 binary64)
%9
(approx %6 %9)
Outputs
%5 = (fma.f64 #s(literal 2 binary64) y #s(literal -2 binary64))
%7 = (/.f64 %5 #s(literal 8 binary64))
%10 = (/.f64 %5 #s(literal 4 binary64))
%14 = (-.f64 y #s(literal 1 binary64))
%18 = (+.f64 y y)
%22 = (/.f64 %5 #s(literal 1/2 binary64))
%27 = (-.f64 (*.f64 %5 #s(literal 2 binary64)) #s(literal 0 binary64))
%30 = (fma.f64 y #s(literal -2 binary64) #s(literal 2 binary64))
%34 = (-.f64 (*.f64 y #s(literal -2 binary64)) #s(literal -2 binary64))
%37 = (neg.f64 %5)
%40 = (/.f64 %5 #s(literal 1 binary64))
%43 = (-.f64 y #s(literal 1/2 binary64))
%45 = (-.f64 (*.f64 %43 #s(literal 2 binary64)) #s(literal 1 binary64))
%48 = (*.f64 %14 #s(literal 2 binary64))
%49 = (-.f64 %48 #s(literal 0 binary64))
%54 = (*.f64 y #s(literal 1 binary64))
%55 = (-.f64 %54 #s(literal 1 binary64))
%110 = (-.f64 #s(literal 1 binary64) y)
%124 = (-.f64 y #s(literal 0 binary64))
%126 = (/.f64 %18 #s(literal 2 binary64))
%129 = (neg.f64 y)
%132 = (/.f64 %43 #s(literal 1 binary64))
%134 = (/.f64 y #s(literal 1 binary64))
%140 = (-.f64 #s(literal -1/2 binary64) %129)
%143 = (+.f64 #s(literal -1/2 binary64) y)
%150 = (-.f64 #s(literal 0 binary64) %129)
%153 = (+.f64 #s(literal 0 binary64) y)
%165 = (*.f64 %110 #s(literal -2 binary64))
%166 = (*.f64 #s(literal 1/2 binary64) x)
%168 = (*.f64 %14 #s(literal 1/2 binary64))
%169 = (+.f64 x x)
%171 = (*.f64 #s(literal -2 binary64) x)
%172 = (*.f64 %110 %171)
%174 = (*.f64 %110 #s(literal 2 binary64))
%175 = (*.f64 #s(literal -1/2 binary64) x)
%177 = (*.f64 %110 #s(literal -1 binary64))
%179 = (*.f64 %110 #s(literal 1 binary64))
%180 = (neg.f64 x)
%182 = (*.f64 %14 %171)
%184 = (*.f64 %14 #s(literal -1 binary64))
%186 = (*.f64 %14 #s(literal 1 binary64))
%188 = (*.f64 %14 %169)
%190 = (*.f64 %110 %169)
%192 = (*.f64 %14 %166)
%195 = (*.f64 #s(literal -1/2 binary64) %14)
%197 = (*.f64 #s(literal 1/2 binary64) %110)
%199 = (*.f64 #s(literal 1/2 binary64) %14)
%201 = (*.f64 #s(literal -1/2 binary64) %110)
%204 = (*.f64 %166 %110)
%206 = (*.f64 %169 %14)
%208 = (*.f64 %175 %110)
%210 = (*.f64 %166 %14)
%213 = (*.f64 y x)
%214 = (-.f64 x %213)
%216 = (*.f64 #s(literal -1 binary64) %14)
%220 = (*.f64 %14 x)
%223 = (*.f64 #s(literal -1 binary64) %110)
%227 = (*.f64 y %169)
%232 = (*.f64 %169 y)
%237 = (*.f64 #s(literal 4 binary64) %175)
%246 = (*.f64 %129 %169)
%251 = (*.f64 #s(literal -2 binary64) %213)
%259 = (*.f64 %169 %129)
%264 = (*.f64 %5 %169)
%267 = (*.f64 %169 %5)
%272 = (*.f64 x %5)
%275 = (*.f64 %5 x)
%281 = (-.f64 (*.f64 %213 #s(literal 2 binary64)) %169)
%312 = (*.f64 %14 #s(literal 0 binary64))
%314 = (*.f64 #s(literal 0 binary64) %14)
%343 = (*.f64 #s(literal -1/2 binary64) %166)
%344 = (-.f64 #s(literal 1/2 binary64) y)
%345 = (*.f64 %180 %344)
%347 = (*.f64 %344 %180)
%389 = (*.f64 %180 y)
%459 = (* (- y 1) x)
%460 = (approx %459 %220)
%479 = (*.f64 #s(literal 8 binary64) %175)
%488 = (*.f64 #s(literal -2 binary64) %169)
%491 = (*.f64 #s(literal 2 binary64) %169)
%494 = (*.f64 %169 #s(literal -2 binary64))
%497 = (*.f64 %169 #s(literal 2 binary64))
%538 = (*.f64 #s(literal 0 binary64) %171)
%539 = (/.f64 %538 #s(literal 1 binary64))
%589 = (/.f64 (*.f64 %180 #s(literal 3/2 binary64)) #s(literal 2 binary64))
%590 = (/.f64 %175 #s(literal 2 binary64))
%593 = (/.f64 (*.f64 #s(literal 3/2 binary64) %180) #s(literal 2 binary64))
%596 = (/.f64 (*.f64 x #s(literal 3/2 binary64)) #s(literal -2 binary64))
%597 = (/.f64 %166 #s(literal -2 binary64))
%600 = (/.f64 (*.f64 #s(literal 3/2 binary64) x) #s(literal -2 binary64))
%604 = (/.f64 %175 #s(literal 1 binary64))
%613 = (approx %459 %180)
x
y
#s(literal 1 binary64)
(*.f64 %7 #s(literal 4 binary64))
(*.f64 %10 #s(literal 2 binary64))
(*.f64 %5 #s(literal 1/2 binary64))
(*.f64 #s(literal 1 binary64) %14)
(pow.f64 %14 #s(literal 1 binary64))
(/.f64 (+.f64 #s(literal -1 binary64) (-.f64 %18 #s(literal 1 binary64))) #s(literal 2 binary64))
(/.f64 (+.f64 %22 #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (+.f64 %27 #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (+.f64 %30 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (+.f64 %34 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (+.f64 %37 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (+.f64 %40 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (+.f64 %45 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (+.f64 %49 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 2 binary64) %14 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (+.f64 %55 #s(literal 0 binary64)) #s(literal 1 binary64))
(/.f64 (-.f64 #s(literal -2 binary64) (*.f64 #s(literal -2 binary64) y)) #s(literal 2 binary64))
(/.f64 (-.f64 %22 #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (-.f64 %27 #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (-.f64 %30 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (-.f64 %34 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (-.f64 %37 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (-.f64 %40 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 %45 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 %49 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 %55 #s(literal 0 binary64)) #s(literal 1 binary64))
(/.f64 (neg.f64 %22) #s(literal -4 binary64))
(/.f64 (neg.f64 %40) #s(literal -2 binary64))
(/.f64 (neg.f64 %30) #s(literal 2 binary64))
(/.f64 (neg.f64 %45) #s(literal -2 binary64))
(/.f64 (neg.f64 %49) #s(literal -2 binary64))
(/.f64 (neg.f64 %34) #s(literal 2 binary64))
(/.f64 (neg.f64 %55) #s(literal -1 binary64))
(/.f64 (neg.f64 %27) #s(literal -4 binary64))
(/.f64 (neg.f64 %37) #s(literal 2 binary64))
(/.f64 %22 #s(literal 4 binary64))
(/.f64 %40 #s(literal 2 binary64))
(/.f64 (-.f64 #s(literal 2 binary64) %18) #s(literal -2 binary64))
(/.f64 %30 #s(literal -2 binary64))
(/.f64 %45 #s(literal 2 binary64))
(/.f64 %49 #s(literal 2 binary64))
(/.f64 %34 #s(literal -2 binary64))
(/.f64 %55 #s(literal 1 binary64))
(/.f64 %27 #s(literal 4 binary64))
(/.f64 %37 #s(literal -2 binary64))
(/.f64 %5 #s(literal 2 binary64))
(/.f64 %110 #s(literal -1 binary64))
(/.f64 %14 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) %5))
(/.f64 #s(literal 1 binary64) (pow.f64 %14 #s(literal -1 binary64)))
(neg.f64 %110)
(fma.f64 %7 #s(literal 4 binary64) #s(literal 0 binary64))
(fma.f64 %10 #s(literal 2 binary64) #s(literal 0 binary64))
(fma.f64 %5 #s(literal 1/2 binary64) #s(literal 0 binary64))
(fma.f64 #s(literal 1 binary64) %43 #s(literal -1/2 binary64))
(fma.f64 #s(literal 1 binary64) %14 #s(literal 0 binary64))
(-.f64 %124 #s(literal 1 binary64))
(-.f64 %126 #s(literal 1 binary64))
(-.f64 %43 #s(literal 1/2 binary64))
(-.f64 #s(literal -1 binary64) %129)
(-.f64 %14 #s(literal 0 binary64))
%14
(+.f64 %132 #s(literal -1/2 binary64))
(+.f64 %134 #s(literal -1 binary64))
(+.f64 (-.f64 %14 #s(literal 1 binary64)) #s(literal 1 binary64))
(+.f64 %126 #s(literal -1 binary64))
(+.f64 %43 #s(literal -1/2 binary64))
(+.f64 #s(literal -1/2 binary64) (/.f64 %140 #s(literal 1 binary64)))
(+.f64 #s(literal -1/2 binary64) (/.f64 %143 #s(literal 1 binary64)))
(+.f64 #s(literal -1/2 binary64) %132)
(+.f64 #s(literal -1/2 binary64) %140)
(+.f64 #s(literal -1/2 binary64) %143)
(+.f64 #s(literal -1/2 binary64) %43)
(+.f64 #s(literal -1 binary64) (/.f64 %150 #s(literal 1 binary64)))
(+.f64 #s(literal -1 binary64) (/.f64 %153 #s(literal 1 binary64)))
(+.f64 #s(literal -1 binary64) (/.f64 %124 #s(literal 1 binary64)))
(+.f64 #s(literal -1 binary64) %134)
(+.f64 #s(literal -1 binary64) %150)
(+.f64 #s(literal -1 binary64) %153)
(+.f64 #s(literal -1 binary64) %124)
(+.f64 #s(literal -1 binary64) y)
(+.f64 %14 #s(literal 0 binary64))
(+.f64 y #s(literal -1 binary64))
(*.f64 %165 %166)
(*.f64 %168 %169)
(*.f64 %172 #s(literal 1/2 binary64))
(*.f64 %174 %175)
(*.f64 %177 x)
(*.f64 %179 %180)
(*.f64 %182 #s(literal -1/2 binary64))
(*.f64 %184 %180)
(*.f64 %186 x)
(*.f64 %188 #s(literal 1/2 binary64))
(*.f64 %190 #s(literal -1/2 binary64))
(*.f64 %192 #s(literal 2 binary64))
(*.f64 %48 %166)
(*.f64 %171 %195)
(*.f64 %171 %197)
(*.f64 %169 %199)
(*.f64 %169 %201)
(*.f64 %166 %5)
(*.f64 #s(literal -2 binary64) %204)
(*.f64 #s(literal 1/2 binary64) %206)
(*.f64 #s(literal 2 binary64) %208)
(*.f64 #s(literal 2 binary64) %210)
(*.f64 %110 %180)
(*.f64 %214 #s(literal -1 binary64))
(*.f64 %180 %216)
(*.f64 %180 %110)
(*.f64 #s(literal -1 binary64) %214)
(*.f64 %220 #s(literal 1 binary64))
%220
(*.f64 #s(literal 1 binary64) %220)
(*.f64 x %223)
(*.f64 x %14)
(pow.f64 %220 #s(literal 1 binary64))
(/.f64 (fma.f64 #s(literal 4 binary64) %175 %227) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal -2 binary64) x %227) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 4 binary64) %175 %232) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal -2 binary64) x %232) #s(literal 2 binary64))
(/.f64 (fma.f64 y %169 %237) #s(literal 2 binary64))
(/.f64 (fma.f64 %169 y %237) #s(literal 2 binary64))
(/.f64 (fma.f64 y %169 %171) #s(literal 2 binary64))
(/.f64 (fma.f64 %169 y %171) #s(literal 2 binary64))
(/.f64 (-.f64 %237 %246) #s(literal 2 binary64))
(/.f64 (-.f64 %171 %246) #s(literal 2 binary64))
(/.f64 (-.f64 %237 %251) #s(literal 2 binary64))
(/.f64 (-.f64 %171 %251) #s(literal 2 binary64))
(/.f64 (-.f64 %169 (*.f64 #s(literal 2 binary64) %213)) #s(literal -2 binary64))
(/.f64 (-.f64 %237 %259) #s(literal 2 binary64))
(/.f64 (-.f64 %171 %259) #s(literal 2 binary64))
(/.f64 (-.f64 %264 #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (-.f64 %267 #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (-.f64 %188 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 %272 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 %275 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 %206 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 %281 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 %227 %169) #s(literal 2 binary64))
(/.f64 (-.f64 %232 %169) #s(literal 2 binary64))
(/.f64 (neg.f64 %188) #s(literal -2 binary64))
(/.f64 (neg.f64 %272) #s(literal -2 binary64))
(/.f64 (neg.f64 %275) #s(literal -2 binary64))
(/.f64 (neg.f64 %206) #s(literal -2 binary64))
(/.f64 (neg.f64 %281) #s(literal -2 binary64))
(/.f64 (neg.f64 %264) #s(literal -4 binary64))
(/.f64 (neg.f64 %267) #s(literal -4 binary64))
(/.f64 %188 #s(literal 2 binary64))
(/.f64 %272 #s(literal 2 binary64))
(/.f64 %275 #s(literal 2 binary64))
(/.f64 %206 #s(literal 2 binary64))
(/.f64 %281 #s(literal 2 binary64))
(/.f64 %264 #s(literal 4 binary64))
(/.f64 %267 #s(literal 4 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %220 #s(literal -1 binary64)))
(neg.f64 %214)
(fma.f64 %165 %166 %312)
(fma.f64 %165 %166 %314)
(fma.f64 %168 %169 %312)
(fma.f64 %168 %169 %314)
(fma.f64 %172 #s(literal 1/2 binary64) %312)
(fma.f64 %172 #s(literal 1/2 binary64) %314)
(fma.f64 %174 %175 %312)
(fma.f64 %174 %175 %314)
(fma.f64 %177 x %312)
(fma.f64 %177 x %314)
(fma.f64 %179 %180 %312)
(fma.f64 %179 %180 %314)
(fma.f64 %182 #s(literal -1/2 binary64) %312)
(fma.f64 %182 #s(literal -1/2 binary64) %314)
(fma.f64 %184 %180 %312)
(fma.f64 %184 %180 %314)
(fma.f64 %186 x %312)
(fma.f64 %186 x %314)
(fma.f64 (*.f64 y %171) #s(literal -1/2 binary64) %180)
(fma.f64 %188 #s(literal 1/2 binary64) %312)
(fma.f64 %188 #s(literal 1/2 binary64) %314)
(fma.f64 %227 #s(literal 1/2 binary64) %180)
(fma.f64 %190 #s(literal -1/2 binary64) %312)
(fma.f64 %190 #s(literal -1/2 binary64) %314)
(fma.f64 (*.f64 y #s(literal 1/2 binary64)) %169 %180)
(fma.f64 %192 #s(literal 2 binary64) %312)
(fma.f64 %192 #s(literal 2 binary64) %314)
(fma.f64 %343 #s(literal 2 binary64) %345)
(fma.f64 %343 #s(literal 2 binary64) %347)
(fma.f64 (*.f64 y %166) #s(literal 2 binary64) %180)
(fma.f64 %48 %166 %312)
(fma.f64 %48 %166 %314)
(fma.f64 %54 x %180)
(fma.f64 #s(literal -1/4 binary64) %169 %345)
(fma.f64 #s(literal -1/4 binary64) %169 %347)
(fma.f64 %171 %195 %312)
(fma.f64 %171 %195 %314)
(fma.f64 %171 %197 %312)
(fma.f64 %171 %197 %314)
(fma.f64 %171 (*.f64 #s(literal -1/2 binary64) y) %180)
(fma.f64 %171 #s(literal 1/2 binary64) %213)
(fma.f64 %175 #s(literal 2 binary64) %213)
(fma.f64 %175 #s(literal 1 binary64) %345)
(fma.f64 %175 #s(literal 1 binary64) %347)
(fma.f64 %169 %199 %312)
(fma.f64 %169 %199 %314)
(fma.f64 %169 %201 %312)
(fma.f64 %169 %201 %314)
(fma.f64 %169 (*.f64 #s(literal 1/2 binary64) y) %180)
(fma.f64 %169 #s(literal -1/2 binary64) %213)
(fma.f64 %166 %5 %312)
(fma.f64 %166 %5 %314)
(fma.f64 %166 %18 %180)
(fma.f64 %166 #s(literal -2 binary64) %213)
(fma.f64 %166 #s(literal -1 binary64) %345)
(fma.f64 %166 #s(literal -1 binary64) %347)
(fma.f64 %166 %14 %210)
(fma.f64 %18 %166 %180)
(fma.f64 #s(literal -1/2 binary64) %169 %213)
(fma.f64 #s(literal -1/2 binary64) x %345)
(fma.f64 #s(literal -1/2 binary64) x %347)
(fma.f64 #s(literal -2 binary64) %204 %312)
(fma.f64 #s(literal -2 binary64) %204 %314)
(fma.f64 #s(literal -2 binary64) %166 %213)
(fma.f64 %129 %180 %180)
(fma.f64 %389 #s(literal -1 binary64) %180)
(fma.f64 #s(literal 1/2 binary64) %237 %213)
(fma.f64 #s(literal 1/2 binary64) %206 %312)
(fma.f64 #s(literal 1/2 binary64) %206 %314)
(fma.f64 #s(literal 1/2 binary64) %232 %180)
(fma.f64 #s(literal 1/2 binary64) %171 %213)
(fma.f64 #s(literal 1/2 binary64) %180 %345)
(fma.f64 #s(literal 1/2 binary64) %180 %347)
(fma.f64 #s(literal 2 binary64) %208 %312)
(fma.f64 #s(literal 2 binary64) %208 %314)
(fma.f64 #s(literal 2 binary64) %210 %312)
(fma.f64 #s(literal 2 binary64) %210 %314)
(fma.f64 #s(literal 2 binary64) (*.f64 %166 y) %180)
(fma.f64 #s(literal 2 binary64) %175 %213)
(fma.f64 %110 %180 %312)
(fma.f64 %110 %180 %314)
(fma.f64 %214 #s(literal -1 binary64) %312)
(fma.f64 %214 #s(literal -1 binary64) %314)
(fma.f64 %180 %216 %312)
(fma.f64 %180 %216 %314)
(fma.f64 %180 %129 %180)
(fma.f64 %180 #s(literal 1/2 binary64) %345)
(fma.f64 %180 #s(literal 1/2 binary64) %347)
(fma.f64 %180 %110 %312)
(fma.f64 %180 %110 %314)
(fma.f64 %180 #s(literal 1 binary64) %213)
(fma.f64 #s(literal -1 binary64) %166 %345)
(fma.f64 #s(literal -1 binary64) %166 %347)
(fma.f64 #s(literal -1 binary64) %389 %180)
(fma.f64 #s(literal -1 binary64) %214 %312)
(fma.f64 #s(literal -1 binary64) %214 %314)
(fma.f64 #s(literal -1 binary64) x %213)
(fma.f64 %220 #s(literal 1 binary64) %312)
(fma.f64 %220 #s(literal 1 binary64) %314)
(fma.f64 %213 #s(literal 1 binary64) %180)
(fma.f64 %14 %166 %192)
(fma.f64 %14 x %312)
(fma.f64 %14 x %314)
(fma.f64 #s(literal 1 binary64) %175 %345)
(fma.f64 #s(literal 1 binary64) %175 %347)
(fma.f64 #s(literal 1 binary64) %180 %213)
(fma.f64 #s(literal 1 binary64) %220 %312)
(fma.f64 #s(literal 1 binary64) %220 %314)
(fma.f64 #s(literal 1 binary64) %213 %180)
(fma.f64 y x %180)
(fma.f64 x %223 %312)
(fma.f64 x %223 %314)
(fma.f64 x #s(literal -1/2 binary64) %345)
(fma.f64 x #s(literal -1/2 binary64) %347)
(fma.f64 x #s(literal -1 binary64) %213)
(fma.f64 x %14 %312)
(fma.f64 x %14 %314)
(fma.f64 x y %180)
(-.f64 (-.f64 %213 %166) %166)
(-.f64 %180 %389)
(-.f64 %220 #s(literal 0 binary64))
(-.f64 %213 x)
(+.f64 %192 %192)
(+.f64 %210 %210)
(+.f64 %175 %345)
(+.f64 %175 %347)
(+.f64 %180 %213)
(+.f64 %220 %312)
(+.f64 %220 %314)
(+.f64 %213 %180)
(*.f64 #s(literal 1 binary64) %460)
(pow.f64 %460 #s(literal 1 binary64))
%460
(/.f64 #s(literal 1 binary64) (pow.f64 %460 #s(literal -1 binary64)))
#s(literal -1 binary64)
(*.f64 %171 #s(literal 1/2 binary64))
(*.f64 %175 #s(literal 2 binary64))
(*.f64 %169 #s(literal -1/2 binary64))
(*.f64 %166 #s(literal -2 binary64))
(*.f64 #s(literal -1/2 binary64) %169)
(*.f64 #s(literal -2 binary64) %166)
(*.f64 #s(literal 1/2 binary64) %237)
(*.f64 #s(literal 1/2 binary64) %171)
(*.f64 #s(literal 2 binary64) %175)
(*.f64 %180 #s(literal 1 binary64))
(*.f64 #s(literal -1 binary64) x)
(*.f64 #s(literal 1 binary64) %180)
(*.f64 x #s(literal -1 binary64))
(pow.f64 %180 #s(literal 1 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %479) #s(literal 4 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %237) #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 8 binary64) %175 #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (fma.f64 #s(literal 4 binary64) %175 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %488) #s(literal 4 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %491) #s(literal -4 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %494) #s(literal 4 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %497) #s(literal -4 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %171) #s(literal 2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %169) #s(literal -2 binary64))
(/.f64 (fma.f64 #s(literal -2 binary64) %169 #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (fma.f64 %169 #s(literal -2 binary64) #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (fma.f64 #s(literal 2 binary64) %169 #s(literal 0 binary64)) #s(literal -4 binary64))
(/.f64 (fma.f64 %169 #s(literal 2 binary64) #s(literal 0 binary64)) #s(literal -4 binary64))
(/.f64 (neg.f64 %479) #s(literal -4 binary64))
(/.f64 (neg.f64 %237) #s(literal -2 binary64))
(/.f64 (neg.f64 %488) #s(literal -4 binary64))
(/.f64 (neg.f64 %491) #s(literal 4 binary64))
(/.f64 (neg.f64 %494) #s(literal -4 binary64))
(/.f64 (neg.f64 %497) #s(literal 4 binary64))
(/.f64 %479 #s(literal 4 binary64))
(/.f64 %237 #s(literal 2 binary64))
(/.f64 %488 #s(literal 4 binary64))
(/.f64 %491 #s(literal -4 binary64))
(/.f64 %494 #s(literal 4 binary64))
(/.f64 %497 #s(literal -4 binary64))
(/.f64 %171 #s(literal 2 binary64))
(/.f64 %169 #s(literal -2 binary64))
(/.f64 %180 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %180 #s(literal -1 binary64)))
(/.f64 x #s(literal -1 binary64))
%180
(fma.f64 %343 #s(literal 2 binary64) %175)
(fma.f64 #s(literal -1/4 binary64) %169 %175)
(fma.f64 %171 #s(literal 1/2 binary64) %539)
(fma.f64 %171 #s(literal 1/2 binary64) %538)
(fma.f64 %171 #s(literal 1/2 binary64) #s(literal 0 binary64))
(fma.f64 %175 #s(literal 2 binary64) %539)
(fma.f64 %175 #s(literal 2 binary64) %538)
(fma.f64 %175 #s(literal 2 binary64) #s(literal 0 binary64))
(fma.f64 %175 #s(literal 1 binary64) %175)
(fma.f64 %169 #s(literal -1/2 binary64) %539)
(fma.f64 %169 #s(literal -1/2 binary64) %538)
(fma.f64 %169 #s(literal -1/2 binary64) #s(literal 0 binary64))
(fma.f64 %166 #s(literal -2 binary64) %539)
(fma.f64 %166 #s(literal -2 binary64) %538)
(fma.f64 %166 #s(literal -2 binary64) #s(literal 0 binary64))
(fma.f64 %166 #s(literal -1 binary64) %175)
(fma.f64 #s(literal -1/2 binary64) %169 %539)
(fma.f64 #s(literal -1/2 binary64) %169 %538)
(fma.f64 #s(literal -1/2 binary64) %169 #s(literal 0 binary64))
(fma.f64 #s(literal -1/2 binary64) x %175)
(fma.f64 #s(literal -2 binary64) %166 %539)
(fma.f64 #s(literal -2 binary64) %166 %538)
(fma.f64 #s(literal -2 binary64) %166 #s(literal 0 binary64))
(fma.f64 #s(literal 1/2 binary64) %237 %539)
(fma.f64 #s(literal 1/2 binary64) %237 %538)
(fma.f64 #s(literal 1/2 binary64) %237 #s(literal 0 binary64))
(fma.f64 #s(literal 1/2 binary64) %171 %539)
(fma.f64 #s(literal 1/2 binary64) %171 %538)
(fma.f64 #s(literal 1/2 binary64) %171 #s(literal 0 binary64))
(fma.f64 #s(literal 1/2 binary64) %180 %175)
(fma.f64 #s(literal 2 binary64) %175 %539)
(fma.f64 #s(literal 2 binary64) %175 %538)
(fma.f64 #s(literal 2 binary64) %175 #s(literal 0 binary64))
(fma.f64 %180 #s(literal 1/2 binary64) %175)
(fma.f64 %180 #s(literal 1 binary64) %539)
(fma.f64 %180 #s(literal 1 binary64) %538)
(fma.f64 %180 #s(literal 1 binary64) #s(literal 0 binary64))
(fma.f64 #s(literal -1 binary64) %166 %175)
(fma.f64 #s(literal -1 binary64) x %539)
(fma.f64 #s(literal -1 binary64) x %538)
(fma.f64 #s(literal -1 binary64) x #s(literal 0 binary64))
(fma.f64 #s(literal 1 binary64) %175 %175)
(fma.f64 #s(literal 1 binary64) %180 %539)
(fma.f64 #s(literal 1 binary64) %180 %538)
(fma.f64 #s(literal 1 binary64) %180 #s(literal 0 binary64))
(fma.f64 x #s(literal -1/2 binary64) %175)
(fma.f64 x #s(literal -1 binary64) %539)
(fma.f64 x #s(literal -1 binary64) %538)
(fma.f64 x #s(literal -1 binary64) #s(literal 0 binary64))
(+.f64 %589 %590)
(+.f64 %593 %590)
(+.f64 %596 %597)
(+.f64 %600 %597)
(+.f64 %597 %596)
(+.f64 %597 %600)
(+.f64 %604 %604)
(+.f64 %590 %589)
(+.f64 %590 %593)
(+.f64 %175 %175)
(+.f64 #s(literal 0 binary64) %180)
(+.f64 %180 %539)
(+.f64 %180 %538)
(+.f64 %180 #s(literal 0 binary64))
(*.f64 #s(literal 1 binary64) %613)
(pow.f64 %613 #s(literal 1 binary64))
%613
(/.f64 #s(literal 1 binary64) (pow.f64 %613 #s(literal -1 binary64)))

reconstruct22.0ms (2.3%)

Counts
422 → 26
Compiler

Compiled 422 to 633 computations (-50.0% saved)

eval2.0ms (0.2%)

Compiler

Compiled 25 to 55 computations (-120.0% saved)

prune1.0ms (0.1%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New23225
Fresh000
Picked112
Done011
Total24428
Accuracy
100.0%
Counts
28 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 (*.f64 x y) x)
100.0%
(approx (- (* x y) x) (*.f64 x (-.f64 y #s(literal 1 binary64))))
49.9%
(approx (- (* x y) x) (neg.f64 x))
51.9%
(approx (- (* x y) x) (approx (* x (- y 1)) (*.f64 x y)))
Compiler

Compiled 4 to 8 computations (-100.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series7.0ms (0.8%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
034102
Stop Event
iter-limit
Counts
7 → 11
Calls
Call 1
Inputs
%2 = (*.f64 x y)
%3 = (neg.f64 x)
%7 = (approx (* x (- y 1)) %2)
%9 = (- (* x y) x)
x
y
%2
%3
%7
(approx %9 %7)
(approx %9 %3)
Outputs
%5 = (* x y)
%6 = (*.f64 x y)
%14 = (* x (- y 1))
%19 = (- %5 x)
%30 = (/.f64 x y)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %5 %6)
(approx (neg x) (*.f64 #s(literal -1 binary64) x))
(approx %14 (*.f64 x (-.f64 y #s(literal 1 binary64))))
(approx %19 (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) y)))))
(approx y y)
(approx %14 (fma.f64 #s(literal -1 binary64) x %6))
(approx %19 (-.f64 %6 x))
(approx %14 (*.f64 y (+.f64 x (*.f64 #s(literal -1 binary64) %30))))
(approx %14 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x %30))))
Calls

6 calls:

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

rewrite95.0ms (10.3%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01239
01439
14139
28539
325539
4109939
0421539
0437639
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
7 → 155
Calls
Call 1
Inputs
%2 = (*.f64 x y)
%3 = (neg.f64 x)
%7 = (approx (* x (- y 1)) %2)
%9 = (- (* x y) x)
x
y
%2
%3
%7
(approx %9 %7)
(approx %9 %3)
Outputs
%2 = (neg.f64 y)
%3 = (neg.f64 x)
%6 = (*.f64 y x)
%17 = (*.f64 #s(literal -2 binary64) x)
%18 = (*.f64 %17 #s(literal 1 binary64))
%22 = (+.f64 x x)
%25 = (*.f64 #s(literal 1/2 binary64) x)
%27 = (*.f64 #s(literal -1/2 binary64) x)
%33 = (*.f64 #s(literal 4 binary64) %27)
%45 = (*.f64 #s(literal 8 binary64) %27)
%63 = (*.f64 x #s(literal 0 binary64))
%64 = (/.f64 %63 #s(literal -2 binary64))
%66 = (*.f64 #s(literal 0 binary64) x)
%67 = (/.f64 %66 #s(literal -2 binary64))
%69 = (*.f64 %17 #s(literal 0 binary64))
%72 = (*.f64 #s(literal 0 binary64) %17)
%105 = (/.f64 %3 #s(literal 2 binary64))
%146 = (/.f64 x #s(literal -2 binary64))
%165 = (/.f64 (*.f64 x #s(literal 3/2 binary64)) #s(literal -2 binary64))
%166 = (/.f64 %25 #s(literal -2 binary64))
%169 = (/.f64 (*.f64 #s(literal 3/2 binary64) x) #s(literal -2 binary64))
%186 = (* (- y 1) x)
%187 = (approx %186 %6)
%192 = (approx %186 %187)
%197 = (approx %186 %3)
x
y
(*.f64 %2 %3)
(*.f64 #s(literal 1 binary64) %6)
(*.f64 %3 %2)
%6
(*.f64 x y)
(pow.f64 %6 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %6 #s(literal -1 binary64)))
(neg.f64 (*.f64 %3 y))
(*.f64 %18 #s(literal 1/2 binary64))
(*.f64 %17 #s(literal 1/2 binary64))
(*.f64 %22 #s(literal -1/2 binary64))
(*.f64 %25 #s(literal -2 binary64))
(*.f64 %27 #s(literal 2 binary64))
(*.f64 #s(literal -1/2 binary64) %22)
(*.f64 #s(literal -2 binary64) %25)
(*.f64 #s(literal 1/2 binary64) %33)
(*.f64 #s(literal 1/2 binary64) %17)
(*.f64 #s(literal 2 binary64) %27)
(*.f64 #s(literal -1 binary64) x)
(*.f64 #s(literal 1 binary64) %3)
(*.f64 %3 #s(literal 1 binary64))
(*.f64 x #s(literal -1 binary64))
(pow.f64 %3 #s(literal 1 binary64))
(/.f64 (neg.f64 %18) #s(literal -2 binary64))
(/.f64 (neg.f64 %45) #s(literal -4 binary64))
(/.f64 (neg.f64 %33) #s(literal -2 binary64))
(/.f64 %18 #s(literal 2 binary64))
(/.f64 %45 #s(literal 4 binary64))
(/.f64 %33 #s(literal 2 binary64))
(/.f64 (*.f64 %3 #s(literal 2 binary64)) #s(literal 2 binary64))
(/.f64 (*.f64 %3 #s(literal -2 binary64)) #s(literal -2 binary64))
(/.f64 %17 #s(literal 2 binary64))
(/.f64 %22 #s(literal -2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %3 #s(literal -1 binary64)))
%3
(fma.f64 %18 #s(literal 1/2 binary64) %64)
(fma.f64 %18 #s(literal 1/2 binary64) %67)
(fma.f64 %18 #s(literal 1/2 binary64) %69)
(fma.f64 %18 #s(literal 1/2 binary64) %63)
(fma.f64 %18 #s(literal 1/2 binary64) %72)
(fma.f64 %18 #s(literal 1/2 binary64) %66)
(fma.f64 %17 #s(literal 1/2 binary64) %64)
(fma.f64 %17 #s(literal 1/2 binary64) %67)
(fma.f64 %17 #s(literal 1/2 binary64) %69)
(fma.f64 %17 #s(literal 1/2 binary64) %63)
(fma.f64 %17 #s(literal 1/2 binary64) %72)
(fma.f64 %17 #s(literal 1/2 binary64) %66)
(fma.f64 %22 #s(literal -1/2 binary64) %64)
(fma.f64 %22 #s(literal -1/2 binary64) %67)
(fma.f64 %22 #s(literal -1/2 binary64) %69)
(fma.f64 %22 #s(literal -1/2 binary64) %63)
(fma.f64 %22 #s(literal -1/2 binary64) %72)
(fma.f64 %22 #s(literal -1/2 binary64) %66)
(fma.f64 %25 #s(literal -2 binary64) %64)
(fma.f64 %25 #s(literal -2 binary64) %67)
(fma.f64 %25 #s(literal -2 binary64) %69)
(fma.f64 %25 #s(literal -2 binary64) %63)
(fma.f64 %25 #s(literal -2 binary64) %72)
(fma.f64 %25 #s(literal -2 binary64) %66)
(fma.f64 %27 #s(literal 2 binary64) %64)
(fma.f64 %27 #s(literal 2 binary64) %67)
(fma.f64 %27 #s(literal 2 binary64) %69)
(fma.f64 %27 #s(literal 2 binary64) %63)
(fma.f64 %27 #s(literal 2 binary64) %72)
(fma.f64 %27 #s(literal 2 binary64) %66)
(fma.f64 #s(literal -1/2 binary64) %22 %64)
(fma.f64 #s(literal -1/2 binary64) %22 %67)
(fma.f64 #s(literal -1/2 binary64) %22 %69)
(fma.f64 #s(literal -1/2 binary64) %22 %63)
(fma.f64 #s(literal -1/2 binary64) %22 %72)
(fma.f64 #s(literal -1/2 binary64) %22 %66)
(fma.f64 #s(literal -1/2 binary64) x %105)
(fma.f64 #s(literal -1/2 binary64) x %27)
(fma.f64 #s(literal -2 binary64) %25 %64)
(fma.f64 #s(literal -2 binary64) %25 %67)
(fma.f64 #s(literal -2 binary64) %25 %69)
(fma.f64 #s(literal -2 binary64) %25 %63)
(fma.f64 #s(literal -2 binary64) %25 %72)
(fma.f64 #s(literal -2 binary64) %25 %66)
(fma.f64 #s(literal 1/2 binary64) %33 %64)
(fma.f64 #s(literal 1/2 binary64) %33 %67)
(fma.f64 #s(literal 1/2 binary64) %33 %69)
(fma.f64 #s(literal 1/2 binary64) %33 %63)
(fma.f64 #s(literal 1/2 binary64) %33 %72)
(fma.f64 #s(literal 1/2 binary64) %33 %66)
(fma.f64 #s(literal 1/2 binary64) %17 %64)
(fma.f64 #s(literal 1/2 binary64) %17 %67)
(fma.f64 #s(literal 1/2 binary64) %17 %69)
(fma.f64 #s(literal 1/2 binary64) %17 %63)
(fma.f64 #s(literal 1/2 binary64) %17 %72)
(fma.f64 #s(literal 1/2 binary64) %17 %66)
(fma.f64 #s(literal 2 binary64) %27 %64)
(fma.f64 #s(literal 2 binary64) %27 %67)
(fma.f64 #s(literal 2 binary64) %27 %69)
(fma.f64 #s(literal 2 binary64) %27 %63)
(fma.f64 #s(literal 2 binary64) %27 %72)
(fma.f64 #s(literal 2 binary64) %27 %66)
(fma.f64 #s(literal -1 binary64) x %64)
(fma.f64 #s(literal -1 binary64) x %67)
(fma.f64 #s(literal -1 binary64) x %69)
(fma.f64 #s(literal -1 binary64) x %63)
(fma.f64 #s(literal -1 binary64) x %72)
(fma.f64 #s(literal -1 binary64) x %66)
(fma.f64 #s(literal 1 binary64) %27 %105)
(fma.f64 #s(literal 1 binary64) %27 %27)
(fma.f64 #s(literal 1 binary64) %3 %64)
(fma.f64 #s(literal 1 binary64) %3 %67)
(fma.f64 #s(literal 1 binary64) %3 %69)
(fma.f64 #s(literal 1 binary64) %3 %63)
(fma.f64 #s(literal 1 binary64) %3 %72)
(fma.f64 #s(literal 1 binary64) %3 %66)
(fma.f64 %3 #s(literal 1/2 binary64) %146)
(fma.f64 %3 #s(literal 1 binary64) %64)
(fma.f64 %3 #s(literal 1 binary64) %67)
(fma.f64 %3 #s(literal 1 binary64) %69)
(fma.f64 %3 #s(literal 1 binary64) %63)
(fma.f64 %3 #s(literal 1 binary64) %72)
(fma.f64 %3 #s(literal 1 binary64) %66)
(fma.f64 x #s(literal -1/2 binary64) %105)
(fma.f64 x #s(literal -1/2 binary64) %27)
(fma.f64 x #s(literal -1 binary64) %64)
(fma.f64 x #s(literal -1 binary64) %67)
(fma.f64 x #s(literal -1 binary64) %69)
(fma.f64 x #s(literal -1 binary64) %63)
(fma.f64 x #s(literal -1 binary64) %72)
(fma.f64 x #s(literal -1 binary64) %66)
(+.f64 %105 %105)
(+.f64 %165 %166)
(+.f64 %169 %166)
(+.f64 %166 %165)
(+.f64 %166 %169)
(+.f64 %146 %146)
(+.f64 (*.f64 %3 #s(literal 1/2 binary64)) %146)
(+.f64 %27 %105)
(+.f64 %27 %27)
(+.f64 %3 %64)
(+.f64 %3 %67)
(+.f64 %3 %69)
(+.f64 %3 %63)
(+.f64 %3 %72)
(+.f64 %3 %66)
(*.f64 #s(literal 1 binary64) %187)
(pow.f64 %187 #s(literal 1 binary64))
%187
(/.f64 #s(literal 1 binary64) (pow.f64 %187 #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) %192)
(pow.f64 %192 #s(literal 1 binary64))
%192
(/.f64 #s(literal 1 binary64) (pow.f64 %192 #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) %197)
(pow.f64 %197 #s(literal 1 binary64))
%197
(/.f64 #s(literal 1 binary64) (pow.f64 %197 #s(literal -1 binary64)))

reconstruct13.0ms (1.4%)

Counts
166 → 18
Compiler

Compiled 166 to 211 computations (-27.1% saved)

eval2.0ms (0.2%)

Compiler

Compiled 18 to 32 computations (-77.8% saved)

prune1.0ms (0.1%)

Pruning

5 alts after pruning (1 fresh and 4 done)

PrunedKeptTotal
New17118
Fresh000
Picked022
Done022
Total17522
Accuracy
100.0%
Counts
22 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 (*.f64 x y) x)
100.0%
(approx (- (* x y) x) (*.f64 x (-.f64 y #s(literal 1 binary64))))
3.2%
(approx (- (* x y) x) (neg.f64 (approx x #s(literal 0 binary64))))
49.9%
(approx (- (* x y) x) (neg.f64 x))
51.9%
(approx (- (* x y) x) (approx (* x (- y 1)) (*.f64 x y)))
Compiler

Compiled 5 to 10 computations (-100.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series4.0ms (0.4%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
03189
Stop Event
iter-limit
Counts
5 → 9
Calls
Call 1
Inputs
%2 = (approx x #s(literal 0 binary64))
%3 = (neg.f64 %2)
x
#s(literal 0 binary64)
%2
%3
(approx (- (* x y) x) %3)
Outputs
%10 = (- (* x y) x)
%20 = (*.f64 x y)
%24 = (/.f64 x y)
(approx x #s(literal 0 binary64))
(approx x x)
(approx (neg x) (*.f64 #s(literal -1 binary64) x))
(approx %10 (*.f64 x (-.f64 y #s(literal 1 binary64))))
(approx %10 (*.f64 #s(literal -1 binary64) (*.f64 x (+.f64 #s(literal 1 binary64) (*.f64 #s(literal -1 binary64) y)))))
(approx %10 (-.f64 %20 x))
(approx %10 %20)
(approx %10 (*.f64 y (+.f64 x (*.f64 #s(literal -1 binary64) %24))))
(approx %10 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x %24))))
Calls

6 calls:

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

rewrite88.0ms (9.5%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0819
0919
12419
24819
312519
463019
0477919
0487519
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
5 → 14
Calls
Call 1
Inputs
%2 = (approx x #s(literal 0 binary64))
%3 = (neg.f64 %2)
x
#s(literal 0 binary64)
%2
%3
(approx (- (* x y) x) %3)
Outputs
%3 = (approx x #s(literal 0 binary64))
%9 = (neg.f64 %3)
%17 = (approx (- (* y x) x) %9)
x
#s(literal 0 binary64)
(*.f64 #s(literal 1 binary64) %3)
(pow.f64 %3 #s(literal 1 binary64))
%3
(/.f64 #s(literal 1 binary64) (pow.f64 %3 #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) %9)
(pow.f64 %9 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %9 #s(literal -1 binary64)))
%9
(*.f64 #s(literal 1 binary64) %17)
(pow.f64 %17 #s(literal 1 binary64))
%17
(/.f64 #s(literal 1 binary64) (pow.f64 %17 #s(literal -1 binary64)))

reconstruct2.0ms (0.2%)

Counts
23 → 11
Compiler

Compiled 23 to 34 computations (-47.8% saved)

eval1.0ms (0.1%)

Compiler

Compiled 7 to 15 computations (-114.3% saved)

prune1.0ms (0.1%)

Pruning

5 alts after pruning (0 fresh and 5 done)

PrunedKeptTotal
New707
Fresh000
Picked011
Done044
Total7512
Accuracy
100.0%
Counts
12 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(-.f64 (*.f64 x y) x)
100.0%
(approx (- (* x y) x) (*.f64 x (-.f64 y #s(literal 1 binary64))))
3.2%
(approx (- (* x y) x) (neg.f64 (approx x #s(literal 0 binary64))))
49.9%
(approx (- (* x y) x) (neg.f64 x))
51.9%
(approx (- (* x y) x) (approx (* x (- y 1)) (*.f64 x y)))
Compiler

Compiled 5 to 10 computations (-100.0% saved)

regimes24.0ms (2.6%)

Accuracy

Total 0.0b remaining (0.0%)

Threshold costs 0.0b (0.0%)

0.0b0.0%
0.0b100.0%
0.0b0%
0.0b0%

Counts
1 → 1
3 → 3
5 → 1
6 → 1
Calls
Call 1
Inputs
(approx (- (* x y) x) (neg.f64 x))
Outputs
(approx (- (* x y) x) (neg.f64 x))
Call 2
Inputs
%3 = (- (* x y) x)
(approx %3 (neg.f64 x))
(approx %3 (neg.f64 (approx x #s(literal 0 binary64))))
(approx %3 (approx (* x (- y 1)) (*.f64 x y)))
Outputs
%3 = (- (* x y) x)
%9 = (approx %3 (approx (* x (- y 1)) (*.f64 x y)))
%9
(approx %3 (neg.f64 x))
%9
Call 3
Inputs
%3 = (- (* x y) x)
(approx %3 (neg.f64 x))
(approx %3 (neg.f64 (approx x #s(literal 0 binary64))))
(approx %3 (approx (* x (- y 1)) (*.f64 x y)))
(approx %3 (*.f64 #s(literal -1 binary64) x))
(approx %3 (*.f64 x (-.f64 y #s(literal 1 binary64))))
Outputs
(approx (- (* x y) x) (*.f64 x (-.f64 y #s(literal 1 binary64))))
Call 4
Inputs
%3 = (- (* x y) x)
%13 = (*.f64 x y)
(approx %3 (neg.f64 x))
(approx %3 (neg.f64 (approx x #s(literal 0 binary64))))
(approx %3 (approx (* x (- y 1)) %13))
(approx %3 (*.f64 #s(literal -1 binary64) x))
(approx %3 (*.f64 x (-.f64 y #s(literal 1 binary64))))
(-.f64 %13 x)
Outputs
(-.f64 (*.f64 x y) x)
Calls

3 calls:

18.0ms
(-.f64 (*.f64 x y) x)
4.0ms
x
4.0ms
y
Results
AccuracySegmentsBranch
49.9%1
y
49.9%1
x
49.9%1
(-.f64 (*.f64 x y) x)
Compiler

Compiled 9 to 16 computations (-77.8% saved)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

bsearch13.0ms (1.4%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
6.0ms
2.860101974651004e-6
621.3165145431143
5.0ms
-7.956262582700838
-0.3265401055606291
Samples
5.0ms256×0valid
Compiler

Compiled 12 to 16 computations (-33.3% saved)

Precisions
Click to see histograms. Total time spent on operations: 0.0ms
Sub: 0.0ms (0.0% of total, 0.0 MiB)
Mul: 0.0ms (0.0% of total, 0.0 MiB)

bsearch0.0ms (0.0%)

derivations19.0ms (2.0%)

Stop Event
done
Compiler

Compiled 4 to 14 computations (-250.0% saved)

preprocess23.0ms (2.4%)

Compiler

Compiled 13 to 60 computations (-361.5% saved)

end0.0ms (0.0%)

gc132ms (14.2%)

Allocations
AllocatedPercentPhase
344.6 MiB41.7%rewrite
288.3 MiB34.9%sample
85.1 MiB10.3%reconstruct
40.8 MiB4.9%series
30.3 MiB3.7%preprocess
14.2 MiB1.7%regimes
8.1 MiB1.0%eval
7.1 MiB0.9%prune
4.8 MiB0.6%bsearch
1.9 MiB0.2%derivations
0.2 MiB0.0%analyze
0.0 MiB0.0%start
0.0 MiB0.0%end
825.5 MiB100.0%total

Profiling

Loading profile data...