Graphics.Rasterific.Shading:$sradialGradientWithFocusShader from Rasterific-0.6.1, A

Time bar (total: 728.0ms)

start0.0ms (0.0%)

analyze0.0ms (0.0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0.0%0.0%100.0%0.0%0.0%0.0%0.0%0
100.0%100.0%0.0%0.0%0.0%0.0%0.0%1
Compiler

Compiled 7 to 5 computations (28.6% saved)

sample204.0ms (28.1%)

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

preprocess44.0ms (6.0%)

Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
0816
14115
210315
324115
4111215
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 (*.f64 x x) #s(literal 1 binary64))
Symmetry

(abs x)

Compiler

Compiled 2 to 8 computations (-300.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series6.0ms (0.8%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01745
Stop Event
iter-limit
Counts
4 → 6
Calls
Call 1
Inputs
%1 = (*.f64 x x)
x
%1
#s(literal 1 binary64)
(+.f64 %1 #s(literal 1 binary64))
Outputs
%4 = (* x x)
%6 = (pow.f64 x #s(literal 2 binary64))
%9 = (+ %4 1)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %4 %6)
(approx %9 #s(literal 1 binary64))
(approx %9 (+.f64 #s(literal 1 binary64) %6))
(approx %9 (*.f64 %6 (+.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) %6))))
Calls

3 calls:

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

rewrite93.0ms (12.7%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0410
0610
12510
27310
326010
4106910
0409610
042609
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
4 → 197
Calls
Call 1
Inputs
%1 = (*.f64 x x)
x
%1
#s(literal 1 binary64)
(+.f64 %1 #s(literal 1 binary64))
Outputs
%1 = (*.f64 x x)
%2 = (*.f64 %1 %1)
%4 = (pow.f64 %2 #s(literal -1/2 binary64))
%6 = (fabs.f64 x)
%7 = (sqrt.f64 %6)
%8 = (*.f64 %7 %6)
%11 = (neg.f64 %6)
%14 = (neg.f64 x)
%46 = (*.f64 %14 x)
%47 = (+.f64 #s(literal 0 binary64) %46)
%49 = (-.f64 %46 #s(literal 0 binary64))
%60 = (-.f64 #s(literal 0 binary64) %1)
%64 = (+.f64 #s(literal 1 binary64) %46)
%66 = (-.f64 #s(literal 1 binary64) %1)
%77 = (*.f64 %14 %11)
%80 = (*.f64 x %11)
%83 = (*.f64 %14 %6)
%86 = (*.f64 x %6)
%89 = (*.f64 %11 %14)
%92 = (*.f64 %6 %14)
%95 = (*.f64 %11 x)
%98 = (*.f64 %6 x)
%151 = (fma.f64 x x #s(literal 1 binary64))
%152 = (*.f64 #s(literal 2 binary64) %151)
%153 = (/.f64 %152 #s(literal 8 binary64))
%155 = (/.f64 %152 #s(literal 4 binary64))
%163 = (/.f64 %152 #s(literal 1/2 binary64))
%166 = (/.f64 %152 #s(literal 1 binary64))
%171 = (fma.f64 x x #s(literal 1/2 binary64))
%172 = (fma.f64 %171 #s(literal 2 binary64) #s(literal 1 binary64))
%175 = (fma.f64 %1 #s(literal -2 binary64) #s(literal -2 binary64))
%178 = (fma.f64 %1 #s(literal 1 binary64) #s(literal 1 binary64))
%182 = (-.f64 (*.f64 %1 #s(literal -2 binary64)) #s(literal 2 binary64))
%185 = (fma.f64 %152 #s(literal 2 binary64) #s(literal 0 binary64))
%188 = (neg.f64 %152)
%258 = (-.f64 #s(literal -1 binary64) %1)
%279 = (/.f64 %171 #s(literal 1 binary64))
%281 = (/.f64 %1 #s(literal 1 binary64))
%286 = (/.f64 (*.f64 #s(literal 2 binary64) %1) #s(literal 2 binary64))
%289 = (-.f64 #s(literal -1/2 binary64) %1)
%292 = (+.f64 #s(literal -1/2 binary64) %46)
%295 = (neg.f64 %171)
%338 = (+.f64 #s(literal 0 binary64) %171)
x
(*.f64 %4 %2)
(*.f64 %8 %7)
(*.f64 %7 %8)
(*.f64 %11 %11)
(*.f64 %6 %6)
(*.f64 %14 %14)
(*.f64 #s(literal 1 binary64) %1)
%1
(pow.f64 (pow.f64 x #s(literal 8 binary64)) #s(literal 1/4 binary64))
(pow.f64 %2 #s(literal 1/2 binary64))
(pow.f64 %7 #s(literal 4 binary64))
(pow.f64 %11 #s(literal 2 binary64))
(pow.f64 %6 #s(literal 2 binary64))
(pow.f64 %14 #s(literal 2 binary64))
(pow.f64 %1 #s(literal 1 binary64))
(pow.f64 x #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) %4)
(/.f64 #s(literal 1 binary64) (pow.f64 %11 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %6 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %14 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %1 #s(literal -1 binary64)))
(neg.f64 %47)
(neg.f64 %49)
(neg.f64 %46)
(fma.f64 %4 %2 #s(literal 0 binary64))
(fma.f64 %8 %7 #s(literal 0 binary64))
(fma.f64 %7 %8 #s(literal 0 binary64))
(fma.f64 %11 %11 #s(literal 0 binary64))
(fma.f64 %6 %6 #s(literal 0 binary64))
(fma.f64 %14 %14 #s(literal 0 binary64))
(fma.f64 #s(literal 1 binary64) %1 #s(literal 0 binary64))
(fma.f64 x x #s(literal 0 binary64))
(-.f64 #s(literal 0 binary64) %60)
(-.f64 #s(literal 0 binary64) %47)
(-.f64 #s(literal 0 binary64) %46)
(-.f64 #s(literal 1 binary64) %64)
(-.f64 #s(literal 1 binary64) %66)
(sqrt.f64 %2)
(fabs.f64 (-.f64 %60 #s(literal 0 binary64)))
(fabs.f64 (-.f64 %47 #s(literal 0 binary64)))
(fabs.f64 (-.f64 %64 #s(literal 1 binary64)))
(fabs.f64 (-.f64 %66 #s(literal 1 binary64)))
(fabs.f64 (neg.f64 %77))
(fabs.f64 (neg.f64 %80))
(fabs.f64 (neg.f64 %83))
(fabs.f64 (neg.f64 %86))
(fabs.f64 (neg.f64 %89))
(fabs.f64 (neg.f64 %92))
(fabs.f64 (neg.f64 %95))
(fabs.f64 (neg.f64 %98))
(fabs.f64 (*.f64 #s(literal -1 binary64) %77))
(fabs.f64 (*.f64 #s(literal -1 binary64) %80))
(fabs.f64 (*.f64 #s(literal -1 binary64) %83))
(fabs.f64 (*.f64 #s(literal -1 binary64) %86))
(fabs.f64 (*.f64 #s(literal -1 binary64) %89))
(fabs.f64 (*.f64 #s(literal -1 binary64) %92))
(fabs.f64 (*.f64 #s(literal -1 binary64) %95))
(fabs.f64 (*.f64 #s(literal -1 binary64) %98))
(fabs.f64 (*.f64 #s(literal -1 binary64) %46))
(fabs.f64 (*.f64 #s(literal -1 binary64) %1))
(fabs.f64 (*.f64 #s(literal 1 binary64) %77))
(fabs.f64 (*.f64 #s(literal 1 binary64) %80))
(fabs.f64 (*.f64 #s(literal 1 binary64) %83))
(fabs.f64 (*.f64 #s(literal 1 binary64) %86))
(fabs.f64 (*.f64 #s(literal 1 binary64) %89))
(fabs.f64 (*.f64 #s(literal 1 binary64) %92))
(fabs.f64 (*.f64 #s(literal 1 binary64) %95))
(fabs.f64 (*.f64 #s(literal 1 binary64) %98))
(fabs.f64 %47)
(fabs.f64 %49)
(fabs.f64 %77)
(fabs.f64 %80)
(fabs.f64 %83)
(fabs.f64 %86)
(fabs.f64 %89)
(fabs.f64 %92)
(fabs.f64 %95)
(fabs.f64 %98)
(fabs.f64 %46)
(fabs.f64 %1)
(+.f64 #s(literal 0 binary64) %1)
(+.f64 %1 #s(literal 0 binary64))
#s(literal 1 binary64)
(*.f64 %153 #s(literal 4 binary64))
(*.f64 %155 #s(literal 2 binary64))
(*.f64 %152 #s(literal 1/2 binary64))
(*.f64 #s(literal 1 binary64) %151)
(pow.f64 %151 #s(literal 1 binary64))
(/.f64 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) %1 #s(literal 1 binary64))) #s(literal 2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %163) #s(literal 4 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %166) #s(literal 2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %155) #s(literal 1/2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %172) #s(literal 2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %175) #s(literal -2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %178) #s(literal 1 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %182) #s(literal -2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %185) #s(literal 4 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %188) #s(literal -2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %152) #s(literal 2 binary64))
(/.f64 (+.f64 %185 #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (+.f64 %175 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (+.f64 %182 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (+.f64 %188 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (+.f64 %172 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (+.f64 %178 #s(literal 0 binary64)) #s(literal 1 binary64))
(/.f64 (-.f64 %163 #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (-.f64 %185 #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (-.f64 %175 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (-.f64 %182 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (-.f64 %188 #s(literal 0 binary64)) #s(literal -2 binary64))
(/.f64 (-.f64 %155 #s(literal 0 binary64)) #s(literal 1/2 binary64))
(/.f64 (-.f64 %166 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 %172 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 %152 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 %178 #s(literal 0 binary64)) #s(literal 1 binary64))
(/.f64 (neg.f64 %163) #s(literal -4 binary64))
(/.f64 (neg.f64 %166) #s(literal -2 binary64))
(/.f64 (neg.f64 %155) #s(literal -1/2 binary64))
(/.f64 (neg.f64 %172) #s(literal -2 binary64))
(/.f64 (neg.f64 %175) #s(literal 2 binary64))
(/.f64 (neg.f64 %178) #s(literal -1 binary64))
(/.f64 (neg.f64 %182) #s(literal 2 binary64))
(/.f64 (neg.f64 %185) #s(literal -4 binary64))
(/.f64 (neg.f64 %188) #s(literal 2 binary64))
(/.f64 %163 #s(literal 4 binary64))
(/.f64 %166 #s(literal 2 binary64))
(/.f64 %155 #s(literal 1/2 binary64))
(/.f64 %172 #s(literal 2 binary64))
(/.f64 %175 #s(literal -2 binary64))
(/.f64 %178 #s(literal 1 binary64))
(/.f64 %182 #s(literal -2 binary64))
(/.f64 (-.f64 #s(literal 1 binary64) %2) %66)
(/.f64 (-.f64 %2 #s(literal 1 binary64)) (-.f64 %1 #s(literal 1 binary64)))
(/.f64 %185 #s(literal 4 binary64))
(/.f64 %188 #s(literal -2 binary64))
(/.f64 %258 #s(literal -1 binary64))
(/.f64 %152 #s(literal 2 binary64))
(/.f64 %151 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) %152))
(/.f64 #s(literal 1 binary64) (pow.f64 %151 #s(literal -1 binary64)))
(neg.f64 %258)
(fma.f64 %4 %2 #s(literal 1 binary64))
(fma.f64 %8 %7 #s(literal 1 binary64))
(fma.f64 %153 #s(literal 4 binary64) #s(literal 0 binary64))
(fma.f64 %155 #s(literal 2 binary64) #s(literal 0 binary64))
(fma.f64 %152 #s(literal 1/2 binary64) #s(literal 0 binary64))
(fma.f64 %7 %8 #s(literal 1 binary64))
(fma.f64 %11 %11 #s(literal 1 binary64))
(fma.f64 %6 %6 #s(literal 1 binary64))
(fma.f64 %14 %14 #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) %171 #s(literal 1/2 binary64))
(fma.f64 #s(literal 1 binary64) %151 #s(literal 0 binary64))
(fma.f64 #s(literal 1 binary64) %1 #s(literal 1 binary64))
%151
(-.f64 %279 #s(literal -1/2 binary64))
(-.f64 %281 #s(literal -1 binary64))
(-.f64 (+.f64 %151 #s(literal 1 binary64)) #s(literal 1 binary64))
(-.f64 %286 #s(literal -1 binary64))
(-.f64 %171 #s(literal -1/2 binary64))
(-.f64 #s(literal 1/2 binary64) (/.f64 %289 #s(literal 1 binary64)))
(-.f64 #s(literal 1/2 binary64) (/.f64 %292 #s(literal 1 binary64)))
(-.f64 #s(literal 1/2 binary64) (/.f64 %295 #s(literal 1 binary64)))
(-.f64 #s(literal 1/2 binary64) %289)
(-.f64 #s(literal 1/2 binary64) %292)
(-.f64 #s(literal 1/2 binary64) %295)
(-.f64 %151 #s(literal 0 binary64))
(-.f64 #s(literal 1 binary64) (/.f64 %60 #s(literal 1 binary64)))
(-.f64 #s(literal 1 binary64) (/.f64 %47 #s(literal 1 binary64)))
(-.f64 #s(literal 1 binary64) (/.f64 %49 #s(literal 1 binary64)))
(-.f64 #s(literal 1 binary64) (/.f64 %46 #s(literal 1 binary64)))
(-.f64 #s(literal 1 binary64) %60)
(-.f64 #s(literal 1 binary64) %47)
(-.f64 #s(literal 1 binary64) %49)
(-.f64 #s(literal 1 binary64) %46)
(-.f64 %1 #s(literal -1 binary64))
(+.f64 (/.f64 (*.f64 %171 #s(literal 2 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(+.f64 (/.f64 (*.f64 %1 #s(literal 1 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64))
(+.f64 (/.f64 (*.f64 %152 #s(literal 2 binary64)) #s(literal 4 binary64)) #s(literal 0 binary64))
(+.f64 (/.f64 (fma.f64 #s(literal 2 binary64) %1 #s(literal 3/2 binary64)) #s(literal 2 binary64)) #s(literal 1/4 binary64))
(+.f64 (/.f64 (fma.f64 #s(literal 2 binary64) %1 #s(literal 1/2 binary64)) #s(literal 2 binary64)) #s(literal 3/4 binary64))
(+.f64 (/.f64 %286 #s(literal 1 binary64)) #s(literal 1 binary64))
(+.f64 %279 #s(literal 1/2 binary64))
(+.f64 %281 #s(literal 1 binary64))
(+.f64 %286 #s(literal 1 binary64))
(+.f64 %171 #s(literal 1/2 binary64))
(+.f64 #s(literal 1/2 binary64) (/.f64 %338 #s(literal 1 binary64)))
(+.f64 #s(literal 1/2 binary64) %279)
(+.f64 #s(literal 1/2 binary64) %338)
(+.f64 #s(literal 1/2 binary64) %171)
(+.f64 #s(literal 0 binary64) %151)
(+.f64 %151 #s(literal 0 binary64))
(+.f64 #s(literal 1 binary64) %281)
(+.f64 #s(literal 1 binary64) %286)
(+.f64 #s(literal 1 binary64) %1)
(+.f64 %1 #s(literal 1 binary64))

reconstruct34.0ms (4.7%)

Counts
203 → 24
Compiler

Compiled 203 to 354 computations (-74.4% saved)

eval5.0ms (0.8%)

Compiler

Compiled 22 to 64 computations (-190.9% saved)

prune1.0ms (0.2%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New20222
Fresh000
Picked101
Done000
Total21223
Accuracy
100.0%
Counts
23 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 x x #s(literal 1 binary64))
47.1%
(approx (+ (* x x) 1) #s(literal 1 binary64))
Compiler

Compiled 2 to 3 computations (-50.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series6.0ms (0.8%)

Iterations

Useful iterations: 0 (0.0ms)

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

3 calls:

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

rewrite132.0ms (18.2%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0612
0612
12612
27412
326312
4107512
0410712
0427912
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
4 → 118
Calls
Call 1
Inputs
x
#s(literal 1 binary64)
(approx (+ (* x x) 1) #s(literal 1 binary64))
(fma.f64 x x #s(literal 1 binary64))
Outputs
%5 = (approx (+ (* x x) 1) #s(literal 1 binary64))
%12 = (fma.f64 x x #s(literal 1 binary64))
%13 = (*.f64 #s(literal 2 binary64) %12)
%15 = (/.f64 %13 #s(literal 8 binary64))
%18 = (/.f64 %13 #s(literal 4 binary64))
%24 = (*.f64 x x)
%29 = (/.f64 %13 #s(literal 1/2 binary64))
%32 = (/.f64 %13 #s(literal 1 binary64))
%37 = (fma.f64 x x #s(literal 1/2 binary64))
%38 = (fma.f64 %37 #s(literal 2 binary64) #s(literal 1 binary64))
%42 = (fma.f64 %24 #s(literal -2 binary64) #s(literal -2 binary64))
%45 = (fma.f64 %24 #s(literal 1 binary64) #s(literal 1 binary64))
%49 = (-.f64 (*.f64 %24 #s(literal -2 binary64)) #s(literal 2 binary64))
%52 = (fma.f64 %13 #s(literal 2 binary64) #s(literal 0 binary64))
%55 = (neg.f64 %13)
%119 = (*.f64 %24 %24)
%128 = (-.f64 #s(literal -1 binary64) %24)
%139 = (fabs.f64 x)
%140 = (sqrt.f64 %139)
%141 = (*.f64 %140 %139)
%147 = (neg.f64 %139)
%150 = (neg.f64 x)
%155 = (/.f64 %37 #s(literal 1 binary64))
%157 = (/.f64 %24 #s(literal 1 binary64))
%162 = (/.f64 (*.f64 #s(literal 2 binary64) %24) #s(literal 2 binary64))
%165 = (-.f64 #s(literal -1/2 binary64) %24)
%168 = (*.f64 %150 x)
%169 = (+.f64 #s(literal -1/2 binary64) %168)
%172 = (neg.f64 %37)
%180 = (-.f64 #s(literal 0 binary64) %24)
%183 = (+.f64 #s(literal 0 binary64) %168)
%186 = (-.f64 %168 #s(literal 0 binary64))
%219 = (+.f64 #s(literal 0 binary64) %37)
x
#s(literal 1 binary64)
(*.f64 #s(literal 1 binary64) %5)
(pow.f64 %5 #s(literal 1 binary64))
%5
(/.f64 #s(literal 1 binary64) (pow.f64 %5 #s(literal -1 binary64)))
(*.f64 %15 #s(literal 4 binary64))
(*.f64 %18 #s(literal 2 binary64))
(*.f64 %13 #s(literal 1/2 binary64))
(*.f64 #s(literal 1 binary64) %12)
(pow.f64 %12 #s(literal 1 binary64))
(/.f64 (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal 2 binary64) %24 #s(literal 1 binary64))) #s(literal 2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %29) #s(literal 4 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %32) #s(literal 2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %18) #s(literal 1/2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %38) #s(literal 2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %42) #s(literal -2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %45) #s(literal 1 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %49) #s(literal -2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %52) #s(literal 4 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %55) #s(literal -2 binary64))
(/.f64 (+.f64 #s(literal 0 binary64) %13) #s(literal 2 binary64))
(/.f64 (+.f64 %52 #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (+.f64 %42 #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 -2 binary64))
(/.f64 (+.f64 %38 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (+.f64 %45 #s(literal 0 binary64)) #s(literal 1 binary64))
(/.f64 (-.f64 %29 #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (-.f64 %52 #s(literal 0 binary64)) #s(literal 4 binary64))
(/.f64 (-.f64 %42 #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 -2 binary64))
(/.f64 (-.f64 %18 #s(literal 0 binary64)) #s(literal 1/2 binary64))
(/.f64 (-.f64 %32 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 %38 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 %13 #s(literal 0 binary64)) #s(literal 2 binary64))
(/.f64 (-.f64 %45 #s(literal 0 binary64)) #s(literal 1 binary64))
(/.f64 (neg.f64 %29) #s(literal -4 binary64))
(/.f64 (neg.f64 %32) #s(literal -2 binary64))
(/.f64 (neg.f64 %18) #s(literal -1/2 binary64))
(/.f64 (neg.f64 %38) #s(literal -2 binary64))
(/.f64 (neg.f64 %42) #s(literal 2 binary64))
(/.f64 (neg.f64 %45) #s(literal -1 binary64))
(/.f64 (neg.f64 %49) #s(literal 2 binary64))
(/.f64 (neg.f64 %52) #s(literal -4 binary64))
(/.f64 (neg.f64 %55) #s(literal 2 binary64))
(/.f64 %29 #s(literal 4 binary64))
(/.f64 %32 #s(literal 2 binary64))
(/.f64 %18 #s(literal 1/2 binary64))
(/.f64 %38 #s(literal 2 binary64))
(/.f64 %42 #s(literal -2 binary64))
(/.f64 %45 #s(literal 1 binary64))
(/.f64 %49 #s(literal -2 binary64))
(/.f64 (-.f64 %119 #s(literal 1 binary64)) (-.f64 %24 #s(literal 1 binary64)))
(/.f64 (-.f64 #s(literal 1 binary64) %119) (-.f64 #s(literal 1 binary64) %24))
(/.f64 %52 #s(literal 4 binary64))
(/.f64 %55 #s(literal -2 binary64))
(/.f64 %128 #s(literal -1 binary64))
(/.f64 %13 #s(literal 2 binary64))
(/.f64 %12 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) %13))
(/.f64 #s(literal 1 binary64) (pow.f64 %12 #s(literal -1 binary64)))
(neg.f64 %128)
(fma.f64 (pow.f64 %119 #s(literal -1/2 binary64)) %119 #s(literal 1 binary64))
(fma.f64 %141 %140 #s(literal 1 binary64))
(fma.f64 %15 #s(literal 4 binary64) #s(literal 0 binary64))
(fma.f64 %18 #s(literal 2 binary64) #s(literal 0 binary64))
(fma.f64 %13 #s(literal 1/2 binary64) #s(literal 0 binary64))
(fma.f64 %140 %141 #s(literal 1 binary64))
(fma.f64 %147 %147 #s(literal 1 binary64))
(fma.f64 %139 %139 #s(literal 1 binary64))
(fma.f64 %150 %150 #s(literal 1 binary64))
(fma.f64 #s(literal 1 binary64) %37 #s(literal 1/2 binary64))
(fma.f64 #s(literal 1 binary64) %12 #s(literal 0 binary64))
(fma.f64 #s(literal 1 binary64) %24 #s(literal 1 binary64))
%12
(-.f64 %155 #s(literal -1/2 binary64))
(-.f64 %157 #s(literal -1 binary64))
(-.f64 (+.f64 %12 #s(literal 1 binary64)) #s(literal 1 binary64))
(-.f64 %162 #s(literal -1 binary64))
(-.f64 %37 #s(literal -1/2 binary64))
(-.f64 #s(literal 1/2 binary64) (/.f64 %165 #s(literal 1 binary64)))
(-.f64 #s(literal 1/2 binary64) (/.f64 %169 #s(literal 1 binary64)))
(-.f64 #s(literal 1/2 binary64) (/.f64 %172 #s(literal 1 binary64)))
(-.f64 #s(literal 1/2 binary64) %165)
(-.f64 #s(literal 1/2 binary64) %169)
(-.f64 #s(literal 1/2 binary64) %172)
(-.f64 %12 #s(literal 0 binary64))
(-.f64 %24 #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) (/.f64 %180 #s(literal 1 binary64)))
(-.f64 #s(literal 1 binary64) (/.f64 %183 #s(literal 1 binary64)))
(-.f64 #s(literal 1 binary64) (/.f64 %186 #s(literal 1 binary64)))
(-.f64 #s(literal 1 binary64) (/.f64 %168 #s(literal 1 binary64)))
(-.f64 #s(literal 1 binary64) %180)
(-.f64 #s(literal 1 binary64) %183)
(-.f64 #s(literal 1 binary64) %186)
(-.f64 #s(literal 1 binary64) %168)
(+.f64 (/.f64 (*.f64 %37 #s(literal 2 binary64)) #s(literal 2 binary64)) #s(literal 1/2 binary64))
(+.f64 (/.f64 (*.f64 %24 #s(literal 1 binary64)) #s(literal 1 binary64)) #s(literal 1 binary64))
(+.f64 (/.f64 (*.f64 %13 #s(literal 2 binary64)) #s(literal 4 binary64)) #s(literal 0 binary64))
(+.f64 (/.f64 (fma.f64 #s(literal 2 binary64) %24 #s(literal 3/2 binary64)) #s(literal 2 binary64)) #s(literal 1/4 binary64))
(+.f64 (/.f64 (fma.f64 #s(literal 2 binary64) %24 #s(literal 1/2 binary64)) #s(literal 2 binary64)) #s(literal 3/4 binary64))
(+.f64 (/.f64 %162 #s(literal 1 binary64)) #s(literal 1 binary64))
(+.f64 %155 #s(literal 1/2 binary64))
(+.f64 %157 #s(literal 1 binary64))
(+.f64 %162 #s(literal 1 binary64))
(+.f64 %37 #s(literal 1/2 binary64))
(+.f64 #s(literal 1/2 binary64) (/.f64 %219 #s(literal 1 binary64)))
(+.f64 #s(literal 1/2 binary64) %155)
(+.f64 #s(literal 1/2 binary64) %219)
(+.f64 #s(literal 1/2 binary64) %37)
(+.f64 #s(literal 0 binary64) %12)
(+.f64 %12 #s(literal 0 binary64))
(+.f64 %24 #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) %157)
(+.f64 #s(literal 1 binary64) %162)
(+.f64 #s(literal 1 binary64) %24)

reconstruct20.0ms (2.8%)

Counts
123 → 14
Compiler

Compiled 123 to 232 computations (-88.6% saved)

eval2.0ms (0.3%)

Compiler

Compiled 12 to 31 computations (-158.3% saved)

prune2.0ms (0.2%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New12012
Fresh000
Picked022
Done000
Total12214
Accuracy
100.0%
Counts
14 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 x x #s(literal 1 binary64))
47.1%
(approx (+ (* x x) 1) #s(literal 1 binary64))
Compiler

Compiled 2 to 3 computations (-50.0% saved)

regimes10.0ms (1.4%)

Accuracy

Total 0.0b remaining (0.0%)

Threshold costs 0.0b (0.0%)

0.0b0%
0.0b0%

Counts
1 → 1
2 → 1
Calls
Call 1
Inputs
(approx (+ (* x x) 1) #s(literal 1 binary64))
Outputs
(approx (+ (* x x) 1) #s(literal 1 binary64))
Call 2
Inputs
(approx (+ (* x x) 1) #s(literal 1 binary64))
(fma.f64 x x #s(literal 1 binary64))
Outputs
(fma.f64 x x #s(literal 1 binary64))
Calls

3 calls:

4.0ms
x
4.0ms
(*.f64 x x)
3.0ms
(+.f64 (*.f64 x x) #s(literal 1 binary64))
Results
AccuracySegmentsBranch
47.1%1
x
47.1%1
(+.f64 (*.f64 x x) #s(literal 1 binary64))
47.1%1
(*.f64 x x)
Compiler

Compiled 6 to 9 computations (-50.0% saved)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

derivations29.0ms (3.9%)

Stop Event
done
Compiler

Compiled 2 to 3 computations (-50.0% saved)

preprocess17.0ms (2.4%)

Compiler

Compiled 7 to 15 computations (-114.3% saved)

end0.0ms (0.0%)

gc122ms (16.8%)

Allocations
AllocatedPercentPhase
269.5 MiB37.8%sample
219.8 MiB30.8%rewrite
73.2 MiB10.3%reconstruct
58.3 MiB8.2%preprocess
33.0 MiB4.6%derivations
22.7 MiB3.2%regimes
17.7 MiB2.5%series
12.9 MiB1.8%eval
5.2 MiB0.7%prune
0.2 MiB0.0%analyze
0.1 MiB0.0%bsearch
0.1 MiB0.0%start
0.0 MiB0.0%end
712.6 MiB100.0%total

Profiling

Loading profile data...