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

Time bar (total: 835.0ms)

start0.0ms (0.0%)

analyze0.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 9 to 7 computations (22.2% saved)

sample328.0ms (39.3%)

Samples
260.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 8.0ms
Mul: 4.0ms (48.2% of total, 0.0 MiB)
Add: 4.0ms (48.2% of total, 0.0 MiB)
Bogosity

preprocess39.0ms (4.7%)

Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01744
17943
223742
345042
4108342
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(+.f64 (+.f64 (*.f64 x x) y) y)
Symmetry

(abs x)

Compiler

Compiled 2 to 10 computations (-400.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series16.0ms (1.9%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
044156
Stop Event
iter-limit
Counts
5 → 13
Calls
Call 1
Inputs
%1 = (*.f64 x x)
%3 = (+.f64 %1 y)
x
%1
y
%3
(+.f64 %3 y)
Outputs
%4 = (* x x)
%6 = (pow.f64 x #s(literal 2 binary64))
%9 = (+ %4 y)
%13 = (+ %9 y)
%19 = (/.f64 y %6)
%27 = (/.f64 %6 y)
%35 = (*.f64 #s(literal -1 binary64) %27)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %4 %6)
(approx %9 y)
(approx %9 (+.f64 y %6))
(approx %13 (*.f64 #s(literal 2 binary64) y))
(approx %13 (fma.f64 #s(literal 2 binary64) y %6))
(approx %9 (*.f64 %6 (+.f64 #s(literal 1 binary64) %19)))
(approx %13 (*.f64 %6 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) %19))))
(approx %9 (*.f64 y (+.f64 #s(literal 1 binary64) %27)))
(approx %13 (*.f64 y (+.f64 #s(literal 2 binary64) %27)))
(approx %9 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 %35 #s(literal 1 binary64)))))
(approx %13 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 %35 #s(literal 2 binary64)))))
Calls

6 calls:

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

rewrite131.0ms (15.7%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0517
0817
12717
28117
324617
460717
5382117
0404017
0414715
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
5 → 110
Calls
Call 1
Inputs
%1 = (*.f64 x x)
%3 = (+.f64 %1 y)
x
%1
y
%3
(+.f64 %3 y)
Outputs
%1 = (fabs.f64 x)
%2 = (sqrt.f64 %1)
%3 = (*.f64 %2 %1)
%4 = (sqrt.f64 %2)
%5 = (*.f64 %3 %4)
%8 = (neg.f64 %2)
%9 = (*.f64 %8 %1)
%12 = (*.f64 %4 %3)
%15 = (neg.f64 %1)
%18 = (neg.f64 x)
%21 = (*.f64 x x)
%27 = (*.f64 %21 %21)
%50 = (*.f64 %18 x)
%60 = (fma.f64 x x y)
%63 = (+.f64 y y)
%68 = (neg.f64 %60)
%81 = (neg.f64 y)
%85 = (+.f64 %60 y)
%94 = (*.f64 #s(literal 4 binary64) y)
%98 = (*.f64 #s(literal 1/2 binary64) y)
%149 = (*.f64 #s(literal -2 binary64) y)
x
(*.f64 %5 %4)
(*.f64 %3 %2)
(*.f64 %9 %8)
(*.f64 %8 %9)
(*.f64 %4 %12)
(*.f64 %2 %3)
(*.f64 %15 %15)
(*.f64 %1 %1)
(*.f64 %18 %18)
(*.f64 #s(literal 1 binary64) %21)
%21
(pow.f64 (pow.f64 x #s(literal 8 binary64)) #s(literal 1/4 binary64))
(pow.f64 %27 #s(literal 1/2 binary64))
(pow.f64 %2 #s(literal 4 binary64))
(pow.f64 %15 #s(literal 2 binary64))
(pow.f64 %1 #s(literal 2 binary64))
(pow.f64 %18 #s(literal 2 binary64))
(pow.f64 %21 #s(literal 1 binary64))
(pow.f64 x #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %15 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %1 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %18 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %21 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal -2 binary64)))
(neg.f64 %50)
(sqrt.f64 %27)
(fabs.f64 (*.f64 %15 x))
(fabs.f64 (*.f64 %1 x))
(fabs.f64 %50)
(fabs.f64 %21)
y
(*.f64 #s(literal 1 binary64) %60)
(pow.f64 %60 #s(literal 1 binary64))
(/.f64 (fma.f64 %21 #s(literal 2 binary64) %63) #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %60 #s(literal -1 binary64)))
(neg.f64 %68)
(fma.f64 %5 %4 y)
(fma.f64 %3 %2 y)
(fma.f64 %9 %8 y)
(fma.f64 %8 %9 y)
(fma.f64 %4 %12 y)
(fma.f64 %2 %3 y)
(fma.f64 %15 %15 y)
(fma.f64 %1 %1 y)
(fma.f64 %18 %18 y)
(fma.f64 #s(literal 1 binary64) %21 y)
%60
(-.f64 y %50)
(-.f64 %21 %81)
(+.f64 y %21)
(+.f64 %21 y)
(*.f64 #s(literal 1 binary64) %85)
(pow.f64 %85 #s(literal 1 binary64))
(/.f64 (fma.f64 %60 #s(literal 2 binary64) %63) #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %85 #s(literal -1 binary64)))
(neg.f64 (neg.f64 %85))
(fma.f64 (*.f64 %94 #s(literal 4 binary64)) #s(literal 1/8 binary64) %21)
(fma.f64 (*.f64 %98 #s(literal 16 binary64)) #s(literal 1/4 binary64) %21)
(fma.f64 (*.f64 %98 #s(literal 1/4 binary64)) #s(literal 16 binary64) %21)
(fma.f64 (*.f64 %63 #s(literal 1/8 binary64)) #s(literal 8 binary64) %21)
(fma.f64 %5 %4 %63)
(fma.f64 (*.f64 %98 #s(literal 1/2 binary64)) #s(literal 8 binary64) %21)
(fma.f64 (*.f64 %98 #s(literal -2 binary64)) #s(literal -2 binary64) %21)
(fma.f64 (*.f64 %94 #s(literal 2 binary64)) #s(literal 1/4 binary64) %21)
(fma.f64 (*.f64 %63 #s(literal 8 binary64)) #s(literal 1/8 binary64) %21)
(fma.f64 (*.f64 %63 #s(literal 4 binary64)) #s(literal 1/4 binary64) %21)
(fma.f64 %94 #s(literal 1/2 binary64) %21)
(fma.f64 %3 %2 %63)
(fma.f64 %9 %8 %63)
(fma.f64 %98 #s(literal 4 binary64) %21)
(fma.f64 #s(literal -4 binary64) (/.f64 y #s(literal -2 binary64)) %21)
(fma.f64 #s(literal 16 binary64) (*.f64 #s(literal 1/4 binary64) %98) %21)
(fma.f64 #s(literal -1/2 binary64) (*.f64 #s(literal 4 binary64) %81) %21)
(fma.f64 #s(literal 1/8 binary64) (*.f64 #s(literal 4 binary64) %94) %21)
(fma.f64 #s(literal 1/8 binary64) (*.f64 #s(literal 8 binary64) %63) %21)
(fma.f64 #s(literal 8 binary64) (*.f64 #s(literal 1/8 binary64) %63) %21)
(fma.f64 #s(literal 8 binary64) (*.f64 #s(literal 1/2 binary64) %98) %21)
(fma.f64 %8 %9 %63)
(fma.f64 #s(literal 1/4 binary64) (*.f64 #s(literal 16 binary64) %98) %21)
(fma.f64 #s(literal 1/4 binary64) (*.f64 #s(literal 2 binary64) %94) %21)
(fma.f64 #s(literal 1/4 binary64) (*.f64 #s(literal 4 binary64) %63) %21)
(fma.f64 %4 %12 %63)
(fma.f64 #s(literal 4 binary64) (*.f64 #s(literal -1/2 binary64) %81) %21)
(fma.f64 #s(literal 4 binary64) %98 %21)
(fma.f64 #s(literal -2 binary64) %81 %21)
(fma.f64 #s(literal -1 binary64) %149 %21)
(fma.f64 %2 %3 %63)
(fma.f64 %149 #s(literal -1 binary64) %21)
(fma.f64 #s(literal 1/2 binary64) (*.f64 #s(literal -4 binary64) %81) %21)
(fma.f64 #s(literal 1/2 binary64) %94 %21)
(fma.f64 %15 %15 %63)
(fma.f64 %63 #s(literal 1 binary64) %21)
(fma.f64 %81 #s(literal -2 binary64) %21)
(fma.f64 %1 %1 %63)
(fma.f64 %18 %18 %63)
(fma.f64 #s(literal 1 binary64) %63 %21)
(fma.f64 #s(literal 1 binary64) %60 y)
(fma.f64 #s(literal 1 binary64) %21 %63)
(fma.f64 #s(literal 2 binary64) y %21)
(fma.f64 y #s(literal 2 binary64) %21)
(fma.f64 x x %63)
(-.f64 %63 %50)
(-.f64 %60 %81)
(-.f64 y %68)
(-.f64 %21 %149)
(+.f64 %63 %21)
%85
(+.f64 y %60)
(+.f64 %21 %63)

reconstruct10.0ms (1.2%)

Counts
123 → 28
Compiler

Compiled 123 to 196 computations (-59.3% saved)

eval2.0ms (0.3%)

Compiler

Compiled 26 to 83 computations (-219.2% saved)

prune1.0ms (0.1%)

Pruning

2 alts after pruning (2 fresh and 0 done)

PrunedKeptTotal
New24226
Fresh000
Picked101
Done000
Total25227
Accuracy
100.0%
Counts
27 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 x x (+.f64 y y))
50.9%
(+.f64 (approx (+ (* x x) y) y) y)
Compiler

Compiled 2 to 5 computations (-150.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series6.0ms (0.7%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
045157
Stop Event
iter-limit
Counts
6 → 13
Calls
Call 1
Inputs
%4 = (approx (+ (* x x) y) y)
%5 = (+.f64 y y)
x
y
%4
%5
(fma.f64 x x %5)
(+.f64 %4 y)
Outputs
%4 = (* x x)
%6 = (+ %4 y)
%9 = (pow.f64 x #s(literal 2 binary64))
%13 = (+ %4 (+ y y))
%20 = (/.f64 y %9)
%28 = (/.f64 %9 y)
%36 = (*.f64 #s(literal -1 binary64) %28)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %6 y)
(approx %6 (+.f64 y %9))
(approx %13 (*.f64 #s(literal 2 binary64) y))
(approx %13 (fma.f64 #s(literal 2 binary64) y %9))
(approx %6 %9)
(approx %6 (*.f64 %9 (+.f64 #s(literal 1 binary64) %20)))
(approx %13 (*.f64 %9 (+.f64 #s(literal 1 binary64) (*.f64 #s(literal 2 binary64) %20))))
(approx %6 (*.f64 y (+.f64 #s(literal 1 binary64) %28)))
(approx %13 (*.f64 y (+.f64 #s(literal 2 binary64) %28)))
(approx %6 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 %36 #s(literal 1 binary64)))))
(approx %13 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 %36 #s(literal 2 binary64)))))
Calls

6 calls:

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

rewrite67.0ms (8.0%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0827
01127
13727
210427
330227
474727
0437027
0451625
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
6 → 256
Calls
Call 1
Inputs
%4 = (approx (+ (* x x) y) y)
%5 = (+.f64 y y)
x
y
%4
%5
(fma.f64 x x %5)
(+.f64 %4 y)
Outputs
%5 = (approx (+ (* x x) y) y)
%11 = (neg.f64 %5)
%14 = (*.f64 #s(literal 1/2 binary64) y)
%16 = (*.f64 %14 #s(literal 16 binary64))
%19 = (*.f64 %14 #s(literal 1/4 binary64))
%21 = (+.f64 y y)
%23 = (*.f64 %21 #s(literal 1/8 binary64))
%26 = (*.f64 %14 #s(literal 1/2 binary64))
%28 = (neg.f64 y)
%30 = (*.f64 %28 #s(literal -1/2 binary64))
%33 = (*.f64 #s(literal 4 binary64) y)
%34 = (*.f64 %33 #s(literal 4 binary64))
%36 = (*.f64 %21 #s(literal 8 binary64))
%39 = (*.f64 %33 #s(literal 2 binary64))
%41 = (*.f64 %21 #s(literal 4 binary64))
%43 = (*.f64 #s(literal 4 binary64) %28)
%46 = (/.f64 y #s(literal -2 binary64))
%52 = (*.f64 #s(literal 1/4 binary64) %14)
%55 = (*.f64 #s(literal 4 binary64) %33)
%57 = (*.f64 #s(literal 8 binary64) %21)
%59 = (*.f64 #s(literal 1/8 binary64) %21)
%61 = (*.f64 #s(literal 1/2 binary64) %14)
%63 = (*.f64 #s(literal 16 binary64) %14)
%65 = (*.f64 #s(literal 2 binary64) %33)
%67 = (*.f64 #s(literal 4 binary64) %21)
%69 = (*.f64 #s(literal -1/2 binary64) %28)
%72 = (*.f64 #s(literal -2 binary64) y)
%74 = (*.f64 #s(literal -4 binary64) %28)
%76 = (-.f64 %21 %72)
%133 = (*.f64 y #s(literal 1/8 binary64))
%135 = (*.f64 %14 #s(literal 3 binary64))
%138 = (*.f64 y #s(literal 3/2 binary64))
%140 = (*.f64 #s(literal 3 binary64) %14)
%142 = (*.f64 #s(literal 3/2 binary64) y)
%144 = (*.f64 y #s(literal 1/4 binary64))
%192 = (*.f64 #s(literal 1/8 binary64) y)
%215 = (*.f64 #s(literal 1/4 binary64) y)
%248 = (fma.f64 x x %21)
%251 = (fma.f64 x x y)
%254 = (*.f64 x x)
%266 = (fabs.f64 x)
%267 = (sqrt.f64 %266)
%268 = (*.f64 %267 %266)
%269 = (sqrt.f64 %267)
%281 = (neg.f64 %267)
%282 = (*.f64 %281 %266)
%308 = (neg.f64 %266)
%313 = (neg.f64 x)
%331 = (+.f64 %5 y)
x
y
(*.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)))
(neg.f64 %11)
(*.f64 %16 #s(literal 1/4 binary64))
(*.f64 %19 #s(literal 16 binary64))
(*.f64 %23 #s(literal 8 binary64))
(*.f64 %26 #s(literal 8 binary64))
(*.f64 %30 #s(literal 4 binary64))
(*.f64 %34 #s(literal 1/8 binary64))
(*.f64 %36 #s(literal 1/8 binary64))
(*.f64 %39 #s(literal 1/4 binary64))
(*.f64 %41 #s(literal 1/4 binary64))
(*.f64 %43 #s(literal -1/2 binary64))
(*.f64 %46 #s(literal -4 binary64))
(*.f64 %33 #s(literal 1/2 binary64))
(*.f64 %14 #s(literal 4 binary64))
(*.f64 #s(literal -4 binary64) %46)
(*.f64 #s(literal 16 binary64) %52)
(*.f64 #s(literal -1/2 binary64) %43)
(*.f64 #s(literal 1/8 binary64) %55)
(*.f64 #s(literal 1/8 binary64) %57)
(*.f64 #s(literal 8 binary64) %59)
(*.f64 #s(literal 8 binary64) %61)
(*.f64 #s(literal 1/4 binary64) %63)
(*.f64 #s(literal 1/4 binary64) %65)
(*.f64 #s(literal 1/4 binary64) %67)
(*.f64 #s(literal 4 binary64) %69)
(*.f64 #s(literal 4 binary64) %14)
(*.f64 #s(literal -1 binary64) %72)
(*.f64 #s(literal 1/2 binary64) %74)
(*.f64 #s(literal 1/2 binary64) %76)
(*.f64 #s(literal 1/2 binary64) %33)
(*.f64 #s(literal -2 binary64) %28)
(*.f64 %72 #s(literal -1 binary64))
(*.f64 %28 #s(literal -2 binary64))
(*.f64 #s(literal 1 binary64) %21)
(*.f64 #s(literal 2 binary64) y)
(*.f64 %21 #s(literal 1 binary64))
(*.f64 y #s(literal 2 binary64))
(pow.f64 %21 #s(literal 1 binary64))
(/.f64 (*.f64 y #s(literal 8 binary64)) #s(literal 4 binary64))
(/.f64 (*.f64 #s(literal 8 binary64) y) #s(literal 4 binary64))
(/.f64 (/.f64 %33 #s(literal 1/2 binary64)) #s(literal 4 binary64))
(/.f64 %74 #s(literal 2 binary64))
(/.f64 (fma.f64 #s(literal 4 binary64) y %33) #s(literal 4 binary64))
(/.f64 %76 #s(literal 2 binary64))
(/.f64 (-.f64 %33 %43) #s(literal 4 binary64))
(/.f64 (*.f64 #s(literal -4 binary64) %72) #s(literal 4 binary64))
(/.f64 (*.f64 %72 #s(literal -4 binary64)) #s(literal 4 binary64))
(/.f64 %55 #s(literal 8 binary64))
(/.f64 (*.f64 #s(literal -2 binary64) %33) #s(literal -4 binary64))
(/.f64 %57 #s(literal 8 binary64))
(/.f64 %34 #s(literal 8 binary64))
(/.f64 %36 #s(literal 8 binary64))
(/.f64 (*.f64 %33 #s(literal -2 binary64)) #s(literal -4 binary64))
(/.f64 (*.f64 #s(literal -1 binary64) %33) #s(literal -2 binary64))
(/.f64 %65 #s(literal 4 binary64))
(/.f64 (*.f64 %33 #s(literal -1 binary64)) #s(literal -2 binary64))
(/.f64 %39 #s(literal 4 binary64))
(/.f64 %41 #s(literal 4 binary64))
(/.f64 %67 #s(literal 4 binary64))
(/.f64 %43 #s(literal -2 binary64))
(/.f64 %33 #s(literal 2 binary64))
(/.f64 %72 #s(literal -1 binary64))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) %33))
(/.f64 #s(literal 1 binary64) (pow.f64 %21 #s(literal -1 binary64)))
(/.f64 %21 #s(literal 1 binary64))
(/.f64 y #s(literal 1/2 binary64))
(neg.f64 %72)
(fma.f64 %16 #s(literal 1/4 binary64) #s(literal 0 binary64))
(fma.f64 %19 #s(literal 16 binary64) #s(literal 0 binary64))
(fma.f64 %23 #s(literal 8 binary64) #s(literal 0 binary64))
(fma.f64 %133 #s(literal 4 binary64) %135)
(fma.f64 %133 #s(literal 4 binary64) %138)
(fma.f64 %133 #s(literal 4 binary64) %140)
(fma.f64 %133 #s(literal 4 binary64) %142)
(fma.f64 %144 #s(literal 2 binary64) %135)
(fma.f64 %144 #s(literal 2 binary64) %138)
(fma.f64 %144 #s(literal 2 binary64) %140)
(fma.f64 %144 #s(literal 2 binary64) %142)
(fma.f64 %61 #s(literal 2 binary64) %135)
(fma.f64 %61 #s(literal 2 binary64) %138)
(fma.f64 %61 #s(literal 2 binary64) %140)
(fma.f64 %61 #s(literal 2 binary64) %142)
(fma.f64 %26 #s(literal 8 binary64) #s(literal 0 binary64))
(fma.f64 %30 #s(literal 4 binary64) #s(literal 0 binary64))
(fma.f64 %34 #s(literal 1/8 binary64) #s(literal 0 binary64))
(fma.f64 %36 #s(literal 1/8 binary64) #s(literal 0 binary64))
(fma.f64 %39 #s(literal 1/4 binary64) #s(literal 0 binary64))
(fma.f64 %41 #s(literal 1/4 binary64) #s(literal 0 binary64))
(fma.f64 #s(literal 3/2 binary64) y %14)
(fma.f64 %43 #s(literal -1/2 binary64) #s(literal 0 binary64))
(fma.f64 %46 #s(literal -4 binary64) #s(literal 0 binary64))
(fma.f64 %33 #s(literal 1/8 binary64) %135)
(fma.f64 %33 #s(literal 1/8 binary64) %138)
(fma.f64 %33 #s(literal 1/8 binary64) %140)
(fma.f64 %33 #s(literal 1/8 binary64) %142)
(fma.f64 %33 #s(literal 1/2 binary64) #s(literal 0 binary64))
(fma.f64 %14 #s(literal 3 binary64) %14)
(fma.f64 %14 #s(literal 4 binary64) #s(literal 0 binary64))
(fma.f64 %14 #s(literal 1 binary64) %135)
(fma.f64 %14 #s(literal 1 binary64) %138)
(fma.f64 %14 #s(literal 1 binary64) %140)
(fma.f64 %14 #s(literal 1 binary64) %142)
(fma.f64 #s(literal -4 binary64) %46 #s(literal 0 binary64))
(fma.f64 #s(literal 16 binary64) %52 #s(literal 0 binary64))
(fma.f64 #s(literal -1/2 binary64) %43 #s(literal 0 binary64))
(fma.f64 #s(literal 1/8 binary64) %55 #s(literal 0 binary64))
(fma.f64 #s(literal 1/8 binary64) %57 #s(literal 0 binary64))
(fma.f64 #s(literal 1/8 binary64) %33 %135)
(fma.f64 #s(literal 1/8 binary64) %33 %138)
(fma.f64 #s(literal 1/8 binary64) %33 %140)
(fma.f64 #s(literal 1/8 binary64) %33 %142)
(fma.f64 #s(literal 8 binary64) %59 #s(literal 0 binary64))
(fma.f64 #s(literal 8 binary64) %61 #s(literal 0 binary64))
(fma.f64 #s(literal 1/4 binary64) %63 #s(literal 0 binary64))
(fma.f64 #s(literal 1/4 binary64) %65 #s(literal 0 binary64))
(fma.f64 #s(literal 1/4 binary64) %67 #s(literal 0 binary64))
(fma.f64 #s(literal 1/4 binary64) %21 %135)
(fma.f64 #s(literal 1/4 binary64) %21 %138)
(fma.f64 #s(literal 1/4 binary64) %21 %140)
(fma.f64 #s(literal 1/4 binary64) %21 %142)
(fma.f64 #s(literal 3 binary64) %14 %14)
(fma.f64 #s(literal 4 binary64) %192 %135)
(fma.f64 #s(literal 4 binary64) %192 %138)
(fma.f64 #s(literal 4 binary64) %192 %140)
(fma.f64 #s(literal 4 binary64) %192 %142)
(fma.f64 #s(literal 4 binary64) %69 #s(literal 0 binary64))
(fma.f64 #s(literal 4 binary64) %14 #s(literal 0 binary64))
(fma.f64 #s(literal -1 binary64) %72 #s(literal 0 binary64))
(fma.f64 #s(literal 1/2 binary64) %74 #s(literal 0 binary64))
(fma.f64 #s(literal 1/2 binary64) %76 #s(literal 0 binary64))
(fma.f64 #s(literal 1/2 binary64) %33 #s(literal 0 binary64))
(fma.f64 #s(literal 1/2 binary64) y %135)
(fma.f64 #s(literal 1/2 binary64) y %138)
(fma.f64 #s(literal 1/2 binary64) y %140)
(fma.f64 #s(literal 1/2 binary64) y %142)
(fma.f64 #s(literal -2 binary64) %28 #s(literal 0 binary64))
(fma.f64 %72 #s(literal -1 binary64) #s(literal 0 binary64))
(fma.f64 %28 #s(literal -2 binary64) #s(literal 0 binary64))
(fma.f64 #s(literal 1 binary64) %14 %135)
(fma.f64 #s(literal 1 binary64) %14 %138)
(fma.f64 #s(literal 1 binary64) %14 %140)
(fma.f64 #s(literal 1 binary64) %14 %142)
(fma.f64 #s(literal 1 binary64) %21 #s(literal 0 binary64))
(fma.f64 #s(literal 2 binary64) %215 %135)
(fma.f64 #s(literal 2 binary64) %215 %138)
(fma.f64 #s(literal 2 binary64) %215 %140)
(fma.f64 #s(literal 2 binary64) %215 %142)
(fma.f64 #s(literal 2 binary64) %26 %135)
(fma.f64 #s(literal 2 binary64) %26 %138)
(fma.f64 #s(literal 2 binary64) %26 %140)
(fma.f64 #s(literal 2 binary64) %26 %142)
(fma.f64 #s(literal 2 binary64) y #s(literal 0 binary64))
(fma.f64 %21 #s(literal 1/4 binary64) %135)
(fma.f64 %21 #s(literal 1/4 binary64) %138)
(fma.f64 %21 #s(literal 1/4 binary64) %140)
(fma.f64 %21 #s(literal 1/4 binary64) %142)
(fma.f64 %21 #s(literal 1 binary64) #s(literal 0 binary64))
(fma.f64 y #s(literal 3/2 binary64) %14)
(fma.f64 y #s(literal 1/2 binary64) %135)
(fma.f64 y #s(literal 1/2 binary64) %138)
(fma.f64 y #s(literal 1/2 binary64) %140)
(fma.f64 y #s(literal 1/2 binary64) %142)
(fma.f64 y #s(literal 2 binary64) #s(literal 0 binary64))
(-.f64 %21 #s(literal 0 binary64))
(-.f64 y %28)
(+.f64 %135 %14)
(+.f64 %138 %14)
(+.f64 %140 %14)
(+.f64 %142 %14)
(+.f64 %14 %135)
(+.f64 %14 %138)
(+.f64 %14 %140)
(+.f64 %14 %142)
(+.f64 #s(literal 0 binary64) %21)
(+.f64 %21 #s(literal 0 binary64))
%21
(*.f64 #s(literal 1 binary64) %248)
(pow.f64 %248 #s(literal 1 binary64))
(/.f64 (fma.f64 %251 #s(literal 2 binary64) %21) #s(literal 2 binary64))
(/.f64 (fma.f64 %254 #s(literal 2 binary64) %33) #s(literal 2 binary64))
(/.f64 (-.f64 (*.f64 %251 #s(literal 2 binary64)) %72) #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %248 #s(literal -1 binary64)))
(neg.f64 (neg.f64 %248))
(fma.f64 %16 #s(literal 1/4 binary64) %254)
(fma.f64 %19 #s(literal 16 binary64) %254)
(fma.f64 (*.f64 %268 %269) %269 %21)
(fma.f64 %23 #s(literal 8 binary64) %254)
(fma.f64 %26 #s(literal 8 binary64) %254)
(fma.f64 %30 #s(literal 4 binary64) %254)
(fma.f64 %34 #s(literal 1/8 binary64) %254)
(fma.f64 %36 #s(literal 1/8 binary64) %254)
(fma.f64 %39 #s(literal 1/4 binary64) %254)
(fma.f64 %41 #s(literal 1/4 binary64) %254)
(fma.f64 %268 %267 %21)
(fma.f64 %43 #s(literal -1/2 binary64) %254)
(fma.f64 %282 %281 %21)
(fma.f64 %46 #s(literal -4 binary64) %254)
(fma.f64 %33 #s(literal 1/2 binary64) %254)
(fma.f64 %14 #s(literal 4 binary64) %254)
(fma.f64 #s(literal -4 binary64) %46 %254)
(fma.f64 #s(literal 16 binary64) %52 %254)
(fma.f64 #s(literal -1/2 binary64) %43 %254)
(fma.f64 #s(literal 1/8 binary64) %55 %254)
(fma.f64 #s(literal 1/8 binary64) %57 %254)
(fma.f64 #s(literal 8 binary64) %59 %254)
(fma.f64 #s(literal 8 binary64) %61 %254)
(fma.f64 %281 %282 %21)
(fma.f64 #s(literal 1/4 binary64) %63 %254)
(fma.f64 #s(literal 1/4 binary64) %65 %254)
(fma.f64 #s(literal 1/4 binary64) %67 %254)
(fma.f64 %269 (*.f64 %269 %268) %21)
(fma.f64 #s(literal 4 binary64) %69 %254)
(fma.f64 #s(literal 4 binary64) %14 %254)
(fma.f64 #s(literal -1 binary64) %72 %254)
(fma.f64 %267 %268 %21)
(fma.f64 #s(literal 1/2 binary64) %74 %254)
(fma.f64 #s(literal 1/2 binary64) %76 %254)
(fma.f64 #s(literal 1/2 binary64) %33 %254)
(fma.f64 #s(literal -2 binary64) %28 %254)
(fma.f64 %308 %308 %21)
(fma.f64 %72 #s(literal -1 binary64) %254)
(fma.f64 %28 #s(literal -2 binary64) %254)
(fma.f64 %266 %266 %21)
(fma.f64 %313 %313 %21)
(fma.f64 #s(literal 1 binary64) %21 %254)
(fma.f64 #s(literal 1 binary64) %251 y)
(fma.f64 #s(literal 1 binary64) %254 %21)
(fma.f64 #s(literal 2 binary64) y %254)
(fma.f64 %21 #s(literal 1 binary64) %254)
(fma.f64 y #s(literal 2 binary64) %254)
%248
(-.f64 %21 (*.f64 %313 x))
(-.f64 %251 %28)
(-.f64 %254 %72)
(-.f64 y (neg.f64 %251))
(+.f64 %21 %254)
(+.f64 %251 y)
(+.f64 %254 %21)
(+.f64 y %251)
(*.f64 #s(literal 1 binary64) %331)
(pow.f64 %331 #s(literal 1 binary64))
(/.f64 (fma.f64 %5 #s(literal 2 binary64) %21) #s(literal 2 binary64))
(/.f64 (-.f64 (*.f64 %5 #s(literal 2 binary64)) %72) #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %331 #s(literal -1 binary64)))
(neg.f64 (neg.f64 %331))
(fma.f64 #s(literal 1 binary64) %5 y)
(-.f64 %5 %28)
(-.f64 y %11)
%331
(+.f64 y %5)

reconstruct20.0ms (2.4%)

Counts
268 → 23
Compiler

Compiled 268 to 365 computations (-36.2% saved)

eval2.0ms (0.2%)

Compiler

Compiled 20 to 58 computations (-190.0% saved)

prune1.0ms (0.1%)

Pruning

2 alts after pruning (0 fresh and 2 done)

PrunedKeptTotal
New20020
Fresh000
Picked022
Done000
Total20222
Accuracy
100.0%
Counts
22 → 2
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(fma.f64 x x (+.f64 y y))
50.9%
(+.f64 (approx (+ (* x x) y) y) y)
Compiler

Compiled 2 to 5 computations (-150.0% saved)

regimes9.0ms (1.1%)

Accuracy

Total -0.0b remaining (-0.0%)

Threshold costs -0.0b (-0.0%)

0.0b0%
-0.0b-0.0%

Counts
1 → 1
2 → 1
Calls
Call 1
Inputs
(+.f64 (approx (+ (* x x) y) y) y)
Outputs
(+.f64 (approx (+ (* x x) y) y) y)
Call 2
Inputs
(+.f64 (approx (+ (* x x) y) y) y)
(fma.f64 x x (+.f64 y y))
Outputs
(fma.f64 x x (+.f64 y y))
Calls

4 calls:

2.0ms
y
2.0ms
(+.f64 (+.f64 (*.f64 x x) y) y)
2.0ms
x
2.0ms
(*.f64 x x)
Results
AccuracySegmentsBranch
50.9%1
y
50.9%1
x
50.9%1
(+.f64 (+.f64 (*.f64 x x) y) y)
50.9%1
(*.f64 x x)
Compiler

Compiled 7 to 13 computations (-85.7% saved)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

derivations19.0ms (2.2%)

Stop Event
done
Compiler

Compiled 2 to 5 computations (-150.0% saved)

preprocess9.0ms (1.1%)

Compiler

Compiled 7 to 22 computations (-214.3% saved)

end0.0ms (0.0%)

gc174ms (20.8%)

Allocations
AllocatedPercentPhase
458.9 MiB63.9%sample
125.5 MiB17.5%rewrite
40.8 MiB5.7%preprocess
37.9 MiB5.3%reconstruct
28.2 MiB3.9%series
8.9 MiB1.2%regimes
7.4 MiB1.0%derivations
5.8 MiB0.8%eval
3.3 MiB0.5%prune
0.9 MiB0.1%analyze
0.1 MiB0.0%start
0.0 MiB0.0%bsearch
0.0 MiB0.0%end
717.7 MiB100.0%total

Profiling

Loading profile data...