Data.Random.Distribution.Normal:normalF from random-fu-0.2.6.2

Time bar (total: 981.0ms)

start0.0ms (0.0%)

analyze1.0ms (0.1%)

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 8 to 7 computations (12.5% saved)

sample389.0ms (39.7%)

Samples
332.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 28.0ms
Exp: 22.0ms (79.0% of total, 0.0 MiB)
Mul: 6.0ms (21.5% of total, 0.0 MiB)
Bogosity

preprocess21.0ms (2.1%)

Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01842
18240
224340
397040
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(exp.f64 (*.f64 (*.f64 x y) y))
Symmetry

(abs y)

Compiler

Compiled 2 to 10 computations (-400.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series11.0ms (1.1%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
059168
Stop Event
iter-limit
Counts
5 → 12
Calls
Call 1
Inputs
%2 = (*.f64 x y)
%3 = (*.f64 %2 y)
x
y
%2
%3
(exp.f64 %3)
Outputs
%5 = (* x y)
%8 = (* %5 y)
%10 = (pow.f64 y #s(literal 2 binary64))
%11 = (*.f64 x %10)
%13 = (exp %8)
%20 = (pow.f64 y #s(literal 4 binary64))
%39 = (pow.f64 x #s(literal 2 binary64))
(approx x #s(literal 0 binary64))
(approx x x)
(approx %5 (*.f64 x y))
(approx %8 %11)
(approx %13 #s(literal 1 binary64))
(approx %13 (+.f64 #s(literal 1 binary64) %11))
(approx %13 (+.f64 #s(literal 1 binary64) (*.f64 x (fma.f64 #s(literal 1/2 binary64) (*.f64 x %20) %10))))
(approx %13 (+.f64 #s(literal 1 binary64) (*.f64 x (fma.f64 x (fma.f64 #s(literal 1/6 binary64) (*.f64 x (pow.f64 y #s(literal 6 binary64))) (*.f64 #s(literal 1/2 binary64) %20)) %10))))
(approx %13 (exp.f64 %11))
(approx y y)
(approx %13 (+.f64 #s(literal 1 binary64) (*.f64 %10 (+.f64 x (*.f64 #s(literal 1/2 binary64) (*.f64 %39 %10))))))
(approx %13 (+.f64 #s(literal 1 binary64) (*.f64 %10 (+.f64 x (*.f64 %10 (fma.f64 #s(literal 1/6 binary64) (*.f64 (pow.f64 x #s(literal 3 binary64)) %10) (*.f64 #s(literal 1/2 binary64) %39)))))))
Calls

6 calls:

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

rewrite101.0ms (10.3%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0516
0816
12416
26916
331916
4293016
0425816
0462316
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
5 → 248
Calls
Call 1
Inputs
%2 = (*.f64 x y)
%3 = (*.f64 %2 y)
x
y
%2
%3
(exp.f64 %3)
Outputs
%2 = (*.f64 y x)
%4 = (*.f64 %2 #s(literal 1/2 binary64))
%7 = (+.f64 y y)
%8 = (*.f64 %7 x)
%20 = (*.f64 %2 #s(literal 0 binary64))
%22 = (*.f64 #s(literal 0 binary64) %2)
%26 = (*.f64 #s(literal 1/2 binary64) %2)
%41 = (fabs.f64 y)
%42 = (neg.f64 %41)
%43 = (*.f64 x %42)
%45 = (*.f64 %2 y)
%46 = (*.f64 %45 #s(literal 1/2 binary64))
%48 = (neg.f64 x)
%49 = (neg.f64 %48)
%50 = (*.f64 y y)
%52 = (neg.f64 y)
%53 = (*.f64 %52 x)
%54 = (neg.f64 %53)
%56 = (*.f64 %41 x)
%57 = (*.f64 %41 #s(literal 1 binary64))
%60 = (*.f64 %52 y)
%63 = (*.f64 %42 x)
%65 = (*.f64 %2 %7)
%67 = (*.f64 %52 #s(literal 1 binary64))
%71 = (*.f64 %56 #s(literal 1 binary64))
%74 = (*.f64 %53 #s(literal 1 binary64))
%77 = (*.f64 #s(literal 1/2 binary64) %45)
%90 = (neg.f64 %45)
%92 = (*.f64 %45 #s(literal 0 binary64))
%94 = (*.f64 #s(literal 0 binary64) %45)
%152 = (exp.f64 %45)
%153 = (sqrt.f64 %152)
%154 = (neg.f64 %153)
%156 = (*.f64 #s(literal 2 binary64) %152)
%157 = (*.f64 #s(literal 2 binary64) %156)
%180 = (exp.f64 %50)
%188 = (exp.f64 %65)
%190 = (exp.f64 y)
%193 = (exp.f64 x)
%195 = (exp.f64 %90)
%207 = (sinh.f64 %45)
%209 = (cosh.f64 %45)
%210 = (*.f64 #s(literal -2 binary64) %209)
%213 = (*.f64 #s(literal -2 binary64) %207)
%216 = (*.f64 %209 #s(literal -2 binary64))
%217 = (*.f64 #s(literal 2 binary64) %207)
%220 = (*.f64 %210 #s(literal -2 binary64))
%223 = (*.f64 #s(literal 2 binary64) %209)
%224 = (*.f64 %223 #s(literal -2 binary64))
%230 = (*.f64 %210 #s(literal 2 binary64))
%268 = (*.f64 #s(literal -2 binary64) %213)
%271 = (*.f64 #s(literal -2 binary64) %217)
%276 = (*.f64 #s(literal 2 binary64) %213)
%286 = (*.f64 #s(literal 4 binary64) %207)
%298 = (*.f64 %152 #s(literal 1/2 binary64))
%306 = (neg.f64 %152)
%310 = (/.f64 %223 #s(literal 1/2 binary64))
%311 = (/.f64 %286 #s(literal 4 binary64))
%314 = (/.f64 %153 #s(literal 4 binary64))
%315 = (/.f64 %153 #s(literal 1/2 binary64))
%316 = (fma.f64 %195 #s(literal 1/2 binary64) %207)
%318 = (*.f64 %195 #s(literal 1/2 binary64))
%319 = (sinh.f64 %90)
%320 = (-.f64 %318 %319)
%324 = (/.f64 %153 #s(literal 2 binary64))
%325 = (/.f64 %153 #s(literal 1 binary64))
%330 = (/.f64 %207 #s(literal 2 binary64))
%332 = (/.f64 %209 #s(literal 2 binary64))
%337 = (/.f64 %209 #s(literal 4 binary64))
%348 = (/.f64 %209 #s(literal 1/2 binary64))
%361 = (*.f64 %209 #s(literal 1/2 binary64))
%383 = (neg.f64 %209)
x
y
(*.f64 %4 #s(literal 2 binary64))
(*.f64 %8 #s(literal 1/2 binary64))
(*.f64 #s(literal 1 binary64) %2)
(*.f64 %2 #s(literal 1 binary64))
%2
(*.f64 x y)
(pow.f64 %2 #s(literal 1 binary64))
(/.f64 %8 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %2 #s(literal -1 binary64)))
(fma.f64 %4 #s(literal 2 binary64) %20)
(fma.f64 %4 #s(literal 2 binary64) %22)
(fma.f64 %8 #s(literal 1/2 binary64) %20)
(fma.f64 %8 #s(literal 1/2 binary64) %22)
(fma.f64 #s(literal 1/2 binary64) %2 %26)
(fma.f64 #s(literal 1 binary64) %2 %20)
(fma.f64 #s(literal 1 binary64) %2 %22)
(fma.f64 %2 #s(literal 1/2 binary64) %4)
(fma.f64 %2 #s(literal 1 binary64) %20)
(fma.f64 %2 #s(literal 1 binary64) %22)
(fma.f64 y x %20)
(fma.f64 y x %22)
(fma.f64 x y %20)
(fma.f64 x y %22)
(+.f64 %4 %4)
(+.f64 %26 %26)
(+.f64 %2 %20)
(+.f64 %2 %22)
(*.f64 %43 %42)
(*.f64 %46 #s(literal 2 binary64))
(*.f64 %49 %50)
(*.f64 %54 y)
(*.f64 %56 %57)
(*.f64 %56 %41)
(*.f64 %48 %60)
(*.f64 %60 %48)
(*.f64 %42 %63)
(*.f64 %65 #s(literal 1/2 binary64))
(*.f64 %53 %67)
(*.f64 %53 %52)
(*.f64 #s(literal 1/2 binary64) %65)
(*.f64 %41 %71)
(*.f64 %41 %56)
(*.f64 %52 %74)
(*.f64 %52 %53)
(*.f64 #s(literal 2 binary64) %77)
(*.f64 %50 %49)
(*.f64 %50 x)
(*.f64 #s(literal 1 binary64) %45)
(*.f64 %45 #s(literal 1 binary64))
%45
(*.f64 y %54)
(*.f64 y %2)
(*.f64 x %50)
(pow.f64 %45 #s(literal 1 binary64))
(/.f64 %65 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %45 #s(literal -1 binary64)))
(neg.f64 %90)
(fma.f64 %43 %42 %92)
(fma.f64 %43 %42 %94)
(fma.f64 %46 #s(literal 2 binary64) %92)
(fma.f64 %46 #s(literal 2 binary64) %94)
(fma.f64 %49 %50 %92)
(fma.f64 %49 %50 %94)
(fma.f64 %54 y %92)
(fma.f64 %54 y %94)
(fma.f64 %56 %57 %92)
(fma.f64 %56 %57 %94)
(fma.f64 %56 %41 %92)
(fma.f64 %56 %41 %94)
(fma.f64 %48 %60 %92)
(fma.f64 %48 %60 %94)
(fma.f64 %60 %48 %92)
(fma.f64 %60 %48 %94)
(fma.f64 %42 %63 %92)
(fma.f64 %42 %63 %94)
(fma.f64 %65 #s(literal 1/2 binary64) %92)
(fma.f64 %65 #s(literal 1/2 binary64) %94)
(fma.f64 %53 %67 %92)
(fma.f64 %53 %67 %94)
(fma.f64 %53 %52 %92)
(fma.f64 %53 %52 %94)
(fma.f64 #s(literal 1/2 binary64) %65 %92)
(fma.f64 #s(literal 1/2 binary64) %65 %94)
(fma.f64 #s(literal 1/2 binary64) %45 %77)
(fma.f64 %41 %71 %92)
(fma.f64 %41 %71 %94)
(fma.f64 %41 %56 %92)
(fma.f64 %41 %56 %94)
(fma.f64 %52 %74 %92)
(fma.f64 %52 %74 %94)
(fma.f64 %52 %53 %92)
(fma.f64 %52 %53 %94)
(fma.f64 #s(literal 2 binary64) %77 %92)
(fma.f64 #s(literal 2 binary64) %77 %94)
(fma.f64 %50 %49 %92)
(fma.f64 %50 %49 %94)
(fma.f64 %50 x %92)
(fma.f64 %50 x %94)
(fma.f64 #s(literal 1 binary64) %45 %92)
(fma.f64 #s(literal 1 binary64) %45 %94)
(fma.f64 %45 #s(literal 1/2 binary64) %46)
(fma.f64 %45 #s(literal 1 binary64) %92)
(fma.f64 %45 #s(literal 1 binary64) %94)
(fma.f64 %2 y %92)
(fma.f64 %2 y %94)
(fma.f64 y %54 %92)
(fma.f64 y %54 %94)
(fma.f64 y %2 %92)
(fma.f64 y %2 %94)
(fma.f64 x %50 %92)
(fma.f64 x %50 %94)
(+.f64 %46 %46)
(+.f64 %77 %77)
(+.f64 %45 %92)
(+.f64 %45 %94)
(*.f64 %154 %154)
(*.f64 %157 #s(literal 1/4 binary64))
(*.f64 %156 #s(literal 1/2 binary64))
(*.f64 %153 %153)
(*.f64 #s(literal 1/2 binary64) %156)
(*.f64 #s(literal 1 binary64) %152)
(pow.f64 (exp.f64 %60) %48)
(pow.f64 (exp.f64 %56) %41)
(pow.f64 (exp.f64 %41) %56)
(pow.f64 (exp.f64 #s(literal 1 binary64)) %45)
(pow.f64 (exp.f64 %52) %53)
(pow.f64 (exp.f64 %48) %60)
(pow.f64 (exp.f64 (*.f64 %65 #s(literal 2 binary64))) #s(literal 1/4 binary64))
(pow.f64 %153 #s(literal 2 binary64))
(pow.f64 %180 %49)
(pow.f64 %180 x)
(pow.f64 (exp.f64 %8) (/.f64 y #s(literal 2 binary64)))
(pow.f64 (exp.f64 %53) %52)
(pow.f64 %188 #s(literal 1/2 binary64))
(pow.f64 %190 %54)
(pow.f64 %190 %2)
(pow.f64 %193 %50)
(pow.f64 %195 #s(literal -1 binary64))
(pow.f64 (exp.f64 %2) y)
(pow.f64 %152 #s(literal 1 binary64))
(/.f64 (/.f64 %157 #s(literal 2 binary64)) #s(literal 2 binary64))
(/.f64 (/.f64 %156 #s(literal 1/2 binary64)) #s(literal 4 binary64))
(/.f64 (/.f64 %156 #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (fma.f64 %207 #s(literal -2 binary64) %210) #s(literal -2 binary64))
(/.f64 (fma.f64 %209 #s(literal -2 binary64) %213) #s(literal -2 binary64))
(/.f64 (-.f64 %216 %217) #s(literal -2 binary64))
(/.f64 (fma.f64 %213 #s(literal -2 binary64) %220) #s(literal 4 binary64))
(/.f64 (fma.f64 %213 #s(literal 2 binary64) %224) #s(literal -4 binary64))
(/.f64 (fma.f64 %213 #s(literal 1 binary64) %216) #s(literal -2 binary64))
(/.f64 (fma.f64 %217 #s(literal -2 binary64) %230) #s(literal -4 binary64))
(/.f64 (fma.f64 %207 #s(literal -2 binary64) (*.f64 %210 #s(literal 1 binary64))) #s(literal -2 binary64))
(/.f64 (fma.f64 %210 #s(literal -2 binary64) (*.f64 %213 #s(literal -2 binary64))) #s(literal 4 binary64))
(/.f64 (fma.f64 %210 #s(literal 2 binary64) (*.f64 %217 #s(literal -2 binary64))) #s(literal -4 binary64))
(/.f64 (fma.f64 %210 #s(literal 1 binary64) (*.f64 %207 #s(literal -2 binary64))) #s(literal -2 binary64))
(/.f64 (fma.f64 %223 #s(literal -2 binary64) (*.f64 %213 #s(literal 2 binary64))) #s(literal -4 binary64))
(/.f64 (fma.f64 %209 #s(literal -2 binary64) (*.f64 %213 #s(literal 1 binary64))) #s(literal -2 binary64))
(/.f64 (fma.f64 #s(literal -2 binary64) %207 %210) #s(literal -2 binary64))
(/.f64 (fma.f64 #s(literal -2 binary64) %209 %213) #s(literal -2 binary64))
(/.f64 (-.f64 %210 %217) #s(literal -2 binary64))
(/.f64 (fma.f64 %213 #s(literal -2 binary64) (*.f64 #s(literal -2 binary64) %210)) #s(literal 4 binary64))
(/.f64 (fma.f64 %213 #s(literal 2 binary64) (*.f64 #s(literal -2 binary64) %223)) #s(literal -4 binary64))
(/.f64 (fma.f64 %213 #s(literal 1 binary64) %210) #s(literal -2 binary64))
(/.f64 (fma.f64 %217 #s(literal -2 binary64) (*.f64 #s(literal 2 binary64) %210)) #s(literal -4 binary64))
(/.f64 (fma.f64 %210 #s(literal -2 binary64) %268) #s(literal 4 binary64))
(/.f64 (fma.f64 %210 #s(literal 2 binary64) %271) #s(literal -4 binary64))
(/.f64 (fma.f64 %210 #s(literal 1 binary64) %213) #s(literal -2 binary64))
(/.f64 (fma.f64 %223 #s(literal -2 binary64) %276) #s(literal -4 binary64))
(/.f64 (-.f64 %230 %268) #s(literal -4 binary64))
(/.f64 (-.f64 %220 %271) #s(literal 4 binary64))
(/.f64 (-.f64 (*.f64 #s(literal 4 binary64) %209) %276) #s(literal 4 binary64))
(/.f64 (-.f64 %224 %286) #s(literal -4 binary64))
(/.f64 (neg.f64 %157) #s(literal -4 binary64))
(/.f64 (neg.f64 %156) #s(literal -2 binary64))
(/.f64 (fabs.f64 %157) #s(literal 4 binary64))
(/.f64 (fabs.f64 %156) #s(literal 2 binary64))
(/.f64 %157 #s(literal 4 binary64))
(/.f64 %298 #s(literal 1/2 binary64))
(/.f64 %156 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %193 (*.f64 %60 #s(literal 1 binary64))))
(/.f64 #s(literal 1 binary64) %195)
(/.f64 %152 #s(literal 1 binary64))
(neg.f64 %306)
(fma.f64 (/.f64 %217 #s(literal 1/2 binary64)) #s(literal 1/4 binary64) %209)
(fma.f64 %310 #s(literal 1/4 binary64) %311)
(fma.f64 %310 #s(literal 1/4 binary64) %207)
(fma.f64 %314 %315 %316)
(fma.f64 %314 %315 %320)
(fma.f64 %315 %314 %316)
(fma.f64 %315 %314 %320)
(fma.f64 %324 %325 %316)
(fma.f64 %324 %325 %320)
(fma.f64 %325 %324 %316)
(fma.f64 %325 %324 %320)
(fma.f64 %330 #s(literal 2 binary64) %209)
(fma.f64 %332 #s(literal 2 binary64) %311)
(fma.f64 %332 #s(literal 2 binary64) %207)
(fma.f64 #s(literal 4 binary64) (/.f64 %207 #s(literal 4 binary64)) %209)
(fma.f64 #s(literal 4 binary64) %337 %311)
(fma.f64 #s(literal 4 binary64) %337 %207)
(fma.f64 %213 #s(literal -1/2 binary64) %209)
(fma.f64 %210 #s(literal -1/2 binary64) %311)
(fma.f64 %210 #s(literal -1/2 binary64) %207)
(fma.f64 %153 %324 %316)
(fma.f64 %153 %324 %320)
(fma.f64 #s(literal 1/2 binary64) (/.f64 %207 #s(literal 1/2 binary64)) %209)
(fma.f64 #s(literal 1/2 binary64) %348 %311)
(fma.f64 #s(literal 1/2 binary64) %348 %207)
(fma.f64 #s(literal 1/2 binary64) %217 %209)
(fma.f64 #s(literal 1/2 binary64) %223 %311)
(fma.f64 #s(literal 1/2 binary64) %223 %207)
(fma.f64 %217 #s(literal 1/2 binary64) %209)
(fma.f64 #s(literal 2 binary64) (*.f64 (sinh.f64 %77) (cosh.f64 %77)) %209)
(fma.f64 #s(literal 2 binary64) (*.f64 %207 #s(literal 1/2 binary64)) %209)
(fma.f64 #s(literal 2 binary64) %361 %311)
(fma.f64 #s(literal 2 binary64) %361 %207)
(fma.f64 #s(literal 2 binary64) %330 %209)
(fma.f64 #s(literal 2 binary64) %332 %311)
(fma.f64 #s(literal 2 binary64) %332 %207)
(fma.f64 %223 #s(literal 1/2 binary64) %311)
(fma.f64 %223 #s(literal 1/2 binary64) %207)
(fma.f64 #s(literal 1 binary64) %298 %316)
(fma.f64 #s(literal 1 binary64) %298 %320)
(fma.f64 #s(literal 1 binary64) %207 %209)
(fma.f64 #s(literal 1 binary64) %209 %311)
(fma.f64 #s(literal 1 binary64) %209 %207)
(fma.f64 %207 #s(literal 1 binary64) %209)
(fma.f64 %209 #s(literal 1 binary64) %311)
(fma.f64 %209 #s(literal 1 binary64) %207)
(fma.f64 %152 #s(literal 1/2 binary64) %316)
(fma.f64 %152 #s(literal 1/2 binary64) %320)
(-.f64 (+.f64 %209 %298) %318)
(-.f64 %298 (-.f64 %318 %209))
(-.f64 %298 (fma.f64 %195 #s(literal 1/2 binary64) %383))
(-.f64 %207 %383)
(-.f64 %209 %319)
(sqrt.f64 %188)
(fabs.f64 %306)
(fabs.f64 %152)
(+.f64 (+.f64 %207 %298) %318)
(+.f64 %311 %209)
(+.f64 %298 %316)
(+.f64 %298 %320)
(+.f64 %207 %209)
(+.f64 %209 %311)
(+.f64 %209 %207)
%152

reconstruct35.0ms (3.6%)

Counts
260 → 35
Compiler

Compiled 260 to 432 computations (-66.2% saved)

eval6.0ms (0.6%)

Compiler

Compiled 34 to 120 computations (-252.9% saved)

prune2.0ms (0.2%)

Pruning

2 alts after pruning (1 fresh and 1 done)

PrunedKeptTotal
New33134
Fresh000
Picked011
Done000
Total33235
Accuracy
100.0%
Counts
35 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(exp.f64 (*.f64 (*.f64 x y) y))
51.3%
(approx (exp (* (* x y) y)) #s(literal 1 binary64))
Compiler

Compiled 2 to 6 computations (-200.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series5.0ms (0.5%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
055144
Stop Event
iter-limit
Counts
2 → 8
Calls
Call 1
Inputs
#s(literal 1 binary64)
(approx (exp (* (* x y) y)) #s(literal 1 binary64))
Outputs
%7 = (exp (* (* x y) y))
%11 = (pow.f64 y #s(literal 2 binary64))
%12 = (*.f64 x %11)
%17 = (pow.f64 y #s(literal 4 binary64))
%35 = (pow.f64 x #s(literal 2 binary64))
(approx 1 #s(literal 0 binary64))
(approx %7 #s(literal 1 binary64))
(approx %7 (+.f64 #s(literal 1 binary64) %12))
(approx %7 (+.f64 #s(literal 1 binary64) (*.f64 x (fma.f64 #s(literal 1/2 binary64) (*.f64 x %17) %11))))
(approx %7 (+.f64 #s(literal 1 binary64) (*.f64 x (fma.f64 x (fma.f64 #s(literal 1/6 binary64) (*.f64 x (pow.f64 y #s(literal 6 binary64))) (*.f64 #s(literal 1/2 binary64) %17)) %11))))
(approx %7 (exp.f64 %12))
(approx %7 (+.f64 #s(literal 1 binary64) (*.f64 %11 (+.f64 x (*.f64 #s(literal 1/2 binary64) (*.f64 %35 %11))))))
(approx %7 (+.f64 #s(literal 1 binary64) (*.f64 %11 (+.f64 x (*.f64 %11 (fma.f64 #s(literal 1/6 binary64) (*.f64 (pow.f64 x #s(literal 3 binary64)) %11) (*.f64 #s(literal 1/2 binary64) %35)))))))
Calls

6 calls:

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

rewrite115.0ms (11.8%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
079
079
1309
2799
33659
436919
041079
041789
Stop Event
iter-limit
iter-limit
node-limit
saturated
Counts
2 → 4
Calls
Call 1
Inputs
#s(literal 1 binary64)
(approx (exp (* (* x y) y)) #s(literal 1 binary64))
Outputs
%6 = (approx (exp (* (* y x) y)) #s(literal 1 binary64))
#s(literal 1 binary64)
(*.f64 #s(literal 1 binary64) %6)
(pow.f64 %6 #s(literal 1 binary64))
%6

reconstruct1.0ms (0.1%)

Counts
12 → 9
Compiler

Compiled 12 to 42 computations (-250.0% saved)

eval1.0ms (0.1%)

Compiler

Compiled 8 to 40 computations (-400.0% saved)

prune1.0ms (0.1%)

Pruning

3 alts after pruning (1 fresh and 2 done)

PrunedKeptTotal
New718
Fresh000
Picked011
Done011
Total7310
Accuracy
100.0%
Counts
10 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(exp.f64 (*.f64 (*.f64 x y) y))
30.8%
(approx (exp (* (* x y) y)) (approx 1 #s(literal 0 binary64)))
51.3%
(approx (exp (* (* x y) y)) #s(literal 1 binary64))
Compiler

Compiled 3 to 7 computations (-133.3% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
1
Outputs
#s(literal 1 binary64)
Samples
0.0ms0valid
Compiler

Compiled 3 to 2 computations (33.3% saved)

series3.0ms (0.3%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
055144
Stop Event
iter-limit
Counts
3 → 8
Calls
Call 1
Inputs
%2 = (approx 1 #s(literal 0 binary64))
#s(literal 0 binary64)
%2
(approx (exp (* (* x y) y)) %2)
Outputs
%7 = (exp (* (* x y) y))
%11 = (pow.f64 y #s(literal 2 binary64))
%12 = (*.f64 x %11)
%17 = (pow.f64 y #s(literal 4 binary64))
%35 = (pow.f64 x #s(literal 2 binary64))
(approx 0 #s(literal 0 binary64))
(approx %7 #s(literal 1 binary64))
(approx %7 (+.f64 #s(literal 1 binary64) %12))
(approx %7 (+.f64 #s(literal 1 binary64) (*.f64 x (fma.f64 #s(literal 1/2 binary64) (*.f64 x %17) %11))))
(approx %7 (+.f64 #s(literal 1 binary64) (*.f64 x (fma.f64 x (fma.f64 #s(literal 1/6 binary64) (*.f64 x (pow.f64 y #s(literal 6 binary64))) (*.f64 #s(literal 1/2 binary64) %17)) %11))))
(approx %7 (exp.f64 %12))
(approx %7 (+.f64 #s(literal 1 binary64) (*.f64 %11 (+.f64 x (*.f64 #s(literal 1/2 binary64) (*.f64 %35 %11))))))
(approx %7 (+.f64 #s(literal 1 binary64) (*.f64 %11 (+.f64 x (*.f64 %11 (fma.f64 #s(literal 1/6 binary64) (*.f64 (pow.f64 x #s(literal 3 binary64)) %11) (*.f64 #s(literal 1/2 binary64) %35)))))))
Calls

6 calls:

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

rewrite72.0ms (7.3%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0914
0914
13414
28314
339514
0408214
0416714
Stop Event
iter-limit
iter-limit
node-limit
saturated
Counts
3 → 7
Calls
Call 1
Inputs
%2 = (approx 1 #s(literal 0 binary64))
#s(literal 0 binary64)
%2
(approx (exp (* (* x y) y)) %2)
Outputs
%3 = (approx 1 #s(literal 0 binary64))
%11 = (approx (exp (* (* y x) y)) %3)
#s(literal 0 binary64)
(*.f64 #s(literal 1 binary64) %3)
(pow.f64 %3 #s(literal 1 binary64))
%3
(*.f64 #s(literal 1 binary64) %11)
(pow.f64 %11 #s(literal 1 binary64))
%11

reconstruct1.0ms (0.1%)

Counts
16 → 11
Compiler

Compiled 16 to 44 computations (-175.0% saved)

eval1.0ms (0.1%)

Compiler

Compiled 9 to 40 computations (-344.4% saved)

prune1.0ms (0.1%)

Pruning

3 alts after pruning (0 fresh and 3 done)

PrunedKeptTotal
New909
Fresh000
Picked011
Done022
Total9312
Accuracy
100.0%
Counts
12 → 3
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(exp.f64 (*.f64 (*.f64 x y) y))
30.8%
(approx (exp (* (* x y) y)) (approx 1 #s(literal 0 binary64)))
51.3%
(approx (exp (* (* x y) y)) #s(literal 1 binary64))
Compiler

Compiled 3 to 7 computations (-133.3% saved)

regimes8.0ms (0.9%)

Accuracy

Total -0.0b remaining (-0.0%)

Threshold costs -0.0b (-0.0%)

0.0b0%
-0.0b100.0%
-0.0b-10.0%

Counts
1 → 1
2 → 2
3 → 1
Calls
Call 1
Inputs
(approx (exp (* (* x y) y)) #s(literal 1 binary64))
Outputs
(approx (exp (* (* x y) y)) #s(literal 1 binary64))
Call 2
Inputs
%4 = (exp (* (* x y) y))
(approx %4 #s(literal 1 binary64))
(approx %4 (approx 1 #s(literal 0 binary64)))
Outputs
%4 = (exp (* (* x y) y))
(approx %4 (approx 1 #s(literal 0 binary64)))
(approx %4 #s(literal 1 binary64))
Call 3
Inputs
%4 = (exp (* (* x y) y))
(approx %4 #s(literal 1 binary64))
(approx %4 (approx 1 #s(literal 0 binary64)))
(exp.f64 (*.f64 (*.f64 x y) y))
Outputs
(exp.f64 (*.f64 (*.f64 x y) y))
Calls

4 calls:

2.0ms
x
2.0ms
y
2.0ms
(*.f64 (*.f64 x y) y)
1.0ms
(exp.f64 (*.f64 (*.f64 x y) y))
Results
AccuracySegmentsBranch
51.3%1
y
51.3%1
x
51.3%1
(exp.f64 (*.f64 (*.f64 x y) y))
51.3%1
(*.f64 (*.f64 x y) y)
Compiler

Compiled 7 to 12 computations (-71.4% saved)

bsearch0.0ms (0.0%)

bsearch10.0ms (1.0%)

Algorithm
binary-search
Stop Event
narrow-enough
Steps
TimeLeftRight
8.0ms
-195128896.94502157
-6.171056855877662e-22
Samples
4.0ms176×0valid
Compiler

Compiled 11 to 14 computations (-27.3% saved)

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

bsearch-1.0ms (-0.1%)

derivations1.0ms (0.1%)

Stop Event
done
Compiler

Compiled 3 to 10 computations (-233.3% saved)

preprocess13.0ms (1.4%)

Compiler

Compiled 10 to 45 computations (-350.0% saved)

end0.0ms (0.0%)

gc182ms (18.5%)

Allocations
AllocatedPercentPhase
424.7 MiB47.1%sample
318.9 MiB35.4%rewrite
56.2 MiB6.2%reconstruct
37.6 MiB4.2%preprocess
25.4 MiB2.8%series
11.2 MiB1.2%regimes
11.1 MiB1.2%eval
8.8 MiB1.0%bsearch
5.5 MiB0.6%prune
1.1 MiB0.1%derivations
1.0 MiB0.1%analyze
0.0 MiB0.0%start
0.0 MiB0.0%end
901.7 MiB100.0%total

Profiling

Loading profile data...