Data.Octree.Internal:octantDistance from Octree-0.5.4.2

Time bar (total: 1.7s)

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 10 to 5 computations (50.0% saved)

sample415.0ms (24.1%)

Samples
349.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 14.0ms
Hypot: 14.0ms (103.3% of total, 0.0 MiB)
Bogosity

preprocess39.0ms (2.3%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01850
18150
219750
331950
492050
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
57.5%
(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))
Symmetry

(abs x)

(abs y)

(sort x y)

Compiler

Compiled 2 to 12 computations (-500.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series25.0ms (1.4%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0141634
Stop Event
iter-limit
Counts
6 → 30
Calls
Call 1
Inputs
%1 = (*.f64 x x)
%3 = (*.f64 y y)
%4 = (+.f64 %1 %3)
x
%1
y
%3
%4
(sqrt.f64 %4)
Outputs
%4 = (* x x)
%6 = (pow.f64 x #s(literal 2 binary64))
%10 = (+ %4 (* y y))
%11 = (pow.f64 y #s(literal 2 binary64))
%15 = (sqrt %10)
%16 = (sqrt.f64 %11)
%25 = (pow.f64 %16 #s(literal 3 binary64))
%29 = (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) %16))
%47 = (/.f64 %11 %6)
%51 = (*.f64 #s(literal 1/2 binary64) %47)
%53 = (*.f64 x (+.f64 #s(literal 1 binary64) %51))
%56 = (pow.f64 y #s(literal 4 binary64))
%57 = (pow.f64 x #s(literal 4 binary64))
%58 = (/.f64 %56 %57)
%61 = (*.f64 x (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) %58 %51)))
%64 = (pow.f64 y #s(literal 6 binary64))
%65 = (pow.f64 x #s(literal 6 binary64))
%70 = (*.f64 x (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) %58 (fma.f64 #s(literal 1/16 binary64) (/.f64 %64 %65) %51))))
%82 = (sqrt.f64 %6)
%88 = (pow.f64 %82 #s(literal 3 binary64))
%91 = (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) %82))
%106 = (/.f64 %6 %11)
%110 = (*.f64 #s(literal 1/2 binary64) %106)
%112 = (*.f64 y (+.f64 #s(literal 1 binary64) %110))
%114 = (/.f64 %57 %56)
%117 = (*.f64 y (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) %114 %110)))
%123 = (*.f64 y (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) %114 (fma.f64 #s(literal 1/16 binary64) (/.f64 %65 %64) %110))))
(approx x #s(literal 0 binary64))
(approx x x)
(approx %4 %6)
(approx %10 %11)
(approx %10 (+.f64 %6 %11))
(approx %15 %16)
(approx %15 (+.f64 %16 (*.f64 #s(literal 1/2 binary64) (/.f64 %6 %16))))
(approx %15 (+.f64 %16 (*.f64 %6 (fma.f64 #s(literal -1/8 binary64) (/.f64 %6 %25) %29))))
(approx %15 (+.f64 %16 (*.f64 %6 (fma.f64 %6 (-.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 %6 (pow.f64 %16 #s(literal 5 binary64)))) (*.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) %25))) %29))))
(approx %10 (*.f64 %6 (+.f64 #s(literal 1 binary64) %47)))
(approx %15 %53)
(approx %15 %61)
(approx %15 %70)
(approx %15 (*.f64 #s(literal -1 binary64) x))
(approx %15 (*.f64 #s(literal -1 binary64) %53))
(approx %15 (*.f64 #s(literal -1 binary64) %61))
(approx %15 (*.f64 #s(literal -1 binary64) %70))
(approx y y)
(approx %15 %82)
(approx %15 (+.f64 %82 (*.f64 #s(literal 1/2 binary64) (/.f64 %11 %82))))
(approx %15 (+.f64 %82 (*.f64 %11 (fma.f64 #s(literal -1/8 binary64) (/.f64 %11 %88) %91))))
(approx %15 (+.f64 %82 (*.f64 %11 (fma.f64 %11 (-.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 %11 (pow.f64 %82 #s(literal 5 binary64)))) (*.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) %88))) %91))))
(approx %10 (*.f64 %11 (+.f64 #s(literal 1 binary64) %106)))
(approx %15 %112)
(approx %15 %117)
(approx %15 %123)
(approx %15 (*.f64 #s(literal -1 binary64) y))
(approx %15 (*.f64 #s(literal -1 binary64) %112))
(approx %15 (*.f64 #s(literal -1 binary64) %117))
(approx %15 (*.f64 #s(literal -1 binary64) %123))
Calls

6 calls:

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

rewrite161.0ms (9.4%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0623
01023
13623
210923
330623
492123
0430323
0452516
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
6 → 174
Calls
Call 1
Inputs
%1 = (*.f64 x x)
%3 = (*.f64 y y)
%4 = (+.f64 %1 %3)
x
%1
y
%3
%4
(sqrt.f64 %4)
Outputs
%1 = (fabs.f64 x)
%2 = (sqrt.f64 %1)
%3 = (*.f64 %2 %1)
%6 = (neg.f64 %1)
%9 = (neg.f64 x)
%12 = (*.f64 x x)
%18 = (*.f64 %12 %12)
%44 = (*.f64 %9 x)
%47 = (*.f64 %9 %6)
%50 = (*.f64 x %6)
%53 = (*.f64 %9 %1)
%56 = (*.f64 x %1)
%59 = (*.f64 %6 %9)
%62 = (*.f64 %1 %9)
%65 = (*.f64 %6 x)
%68 = (*.f64 %1 x)
%82 = (fabs.f64 y)
%83 = (sqrt.f64 %82)
%84 = (*.f64 %83 %82)
%87 = (neg.f64 %82)
%90 = (neg.f64 y)
%92 = (*.f64 y y)
%96 = (*.f64 %92 %92)
%116 = (*.f64 %90 y)
%119 = (*.f64 %90 %87)
%122 = (*.f64 y %87)
%125 = (*.f64 %90 %82)
%128 = (*.f64 y %82)
%131 = (*.f64 %87 %90)
%134 = (*.f64 %82 %90)
%137 = (*.f64 %87 y)
%140 = (*.f64 %82 y)
%153 = (fma.f64 y y %12)
%154 = (sqrt.f64 %153)
%156 = (sqrt.f64 (*.f64 %154 %153))
%157 = (sqrt.f64 %154)
%160 = (neg.f64 %154)
%164 = (pow.f64 %153 #s(literal 4 binary64))
%167 = (*.f64 %153 %153)
%174 = (*.f64 (+.f64 y x) (-.f64 y x))
%179 = (*.f64 (+.f64 x y) (-.f64 x y))
%190 = (neg.f64 %153)
%212 = (neg.f64 %157)
%213 = (neg.f64 %212)
%215 = (sqrt.f64 %156)
%216 = (sqrt.f64 %157)
x
(*.f64 %3 %2)
(*.f64 %2 %3)
(*.f64 %6 %6)
(*.f64 %1 %1)
(*.f64 %9 %9)
(*.f64 #s(literal 1 binary64) %12)
%12
(pow.f64 (pow.f64 x #s(literal 8 binary64)) #s(literal 1/4 binary64))
(pow.f64 %18 #s(literal 1/2 binary64))
(pow.f64 %2 #s(literal 4 binary64))
(pow.f64 %6 #s(literal 2 binary64))
(pow.f64 %1 #s(literal 2 binary64))
(pow.f64 %9 #s(literal 2 binary64))
(pow.f64 %12 #s(literal 1 binary64))
(pow.f64 x #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %18 #s(literal -1/2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %6 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %1 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %9 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %12 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal -2 binary64)))
(neg.f64 %44)
(sqrt.f64 %18)
(fabs.f64 (neg.f64 %47))
(fabs.f64 (neg.f64 %50))
(fabs.f64 (neg.f64 %53))
(fabs.f64 (neg.f64 %56))
(fabs.f64 (neg.f64 %59))
(fabs.f64 (neg.f64 %62))
(fabs.f64 (neg.f64 %65))
(fabs.f64 (neg.f64 %68))
(fabs.f64 %47)
(fabs.f64 %50)
(fabs.f64 %53)
(fabs.f64 %56)
(fabs.f64 %59)
(fabs.f64 %62)
(fabs.f64 %65)
(fabs.f64 %68)
(fabs.f64 %44)
(fabs.f64 %12)
y
(*.f64 %84 %83)
(*.f64 %83 %84)
(*.f64 %87 %87)
(*.f64 %82 %82)
(*.f64 %90 %90)
(*.f64 #s(literal 1 binary64) %92)
%92
(pow.f64 (pow.f64 y #s(literal 8 binary64)) #s(literal 1/4 binary64))
(pow.f64 %96 #s(literal 1/2 binary64))
(pow.f64 %83 #s(literal 4 binary64))
(pow.f64 %87 #s(literal 2 binary64))
(pow.f64 %82 #s(literal 2 binary64))
(pow.f64 %90 #s(literal 2 binary64))
(pow.f64 %92 #s(literal 1 binary64))
(pow.f64 y #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %96 #s(literal -1/2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %87 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %82 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %90 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %92 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 y #s(literal -2 binary64)))
(neg.f64 %116)
(sqrt.f64 %96)
(fabs.f64 (neg.f64 %119))
(fabs.f64 (neg.f64 %122))
(fabs.f64 (neg.f64 %125))
(fabs.f64 (neg.f64 %128))
(fabs.f64 (neg.f64 %131))
(fabs.f64 (neg.f64 %134))
(fabs.f64 (neg.f64 %137))
(fabs.f64 (neg.f64 %140))
(fabs.f64 %119)
(fabs.f64 %122)
(fabs.f64 %125)
(fabs.f64 %128)
(fabs.f64 %131)
(fabs.f64 %134)
(fabs.f64 %137)
(fabs.f64 %140)
(fabs.f64 %116)
(fabs.f64 %92)
(*.f64 %156 %157)
(*.f64 %157 %156)
(*.f64 %160 %160)
(*.f64 #s(literal 1 binary64) %153)
(*.f64 %154 %154)
(pow.f64 %164 #s(literal 1/4 binary64))
(pow.f64 %157 #s(literal 4 binary64))
(pow.f64 %167 #s(literal 1/2 binary64))
(pow.f64 %160 #s(literal 2 binary64))
(pow.f64 %154 #s(literal 2 binary64))
(pow.f64 %153 #s(literal 1 binary64))
(/.f64 (*.f64 %153 %174) %174)
(/.f64 (*.f64 %153 %179) %179)
(/.f64 #s(literal 1 binary64) (pow.f64 %167 #s(literal -1/2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %160 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %154 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %153 #s(literal -1 binary64)))
(neg.f64 %190)
(fma.f64 %3 %2 %92)
(fma.f64 %84 %83 %12)
(fma.f64 %2 %3 %92)
(fma.f64 %83 %84 %12)
(fma.f64 %87 %87 %12)
(fma.f64 %6 %6 %92)
(fma.f64 %82 %82 %12)
(fma.f64 %1 %1 %92)
(fma.f64 %90 %90 %12)
(fma.f64 %9 %9 %92)
(fma.f64 #s(literal 1 binary64) %92 %12)
(fma.f64 #s(literal 1 binary64) %12 %92)
%153
(fma.f64 x x %92)
(-.f64 %92 %44)
(-.f64 %12 %116)
(sqrt.f64 %167)
(fabs.f64 %190)
(fabs.f64 %153)
(+.f64 %92 %12)
(+.f64 %12 %92)
(*.f64 %213 %213)
(*.f64 %215 %216)
(*.f64 %212 %212)
(*.f64 %216 %215)
(*.f64 %157 %157)
(*.f64 #s(literal 1 binary64) %154)
(pow.f64 %212 #s(literal 2 binary64))
(pow.f64 %164 #s(literal 1/8 binary64))
(pow.f64 %157 #s(literal 2 binary64))
(pow.f64 %167 #s(literal 1/4 binary64))
(pow.f64 %154 #s(literal 1 binary64))
(pow.f64 %153 #s(literal 1/2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %157 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %154 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %153 #s(literal -1/2 binary64)))
(neg.f64 %160)
%154
(fabs.f64 %160)
(fabs.f64 %154)
(hypot.f64 %87 %6)
(hypot.f64 %87 %1)
(hypot.f64 %87 %9)
(hypot.f64 %87 x)
(hypot.f64 %6 %87)
(hypot.f64 %6 %82)
(hypot.f64 %6 %90)
(hypot.f64 %6 y)
(hypot.f64 %82 %6)
(hypot.f64 %82 %1)
(hypot.f64 %82 %9)
(hypot.f64 %82 x)
(hypot.f64 %1 %87)
(hypot.f64 %1 %82)
(hypot.f64 %1 %90)
(hypot.f64 %1 y)
(hypot.f64 %90 %6)
(hypot.f64 %90 %1)
(hypot.f64 %90 %9)
(hypot.f64 %90 x)
(hypot.f64 %9 %87)
(hypot.f64 %9 %82)
(hypot.f64 %9 %90)
(hypot.f64 %9 y)
(hypot.f64 y %6)
(hypot.f64 y %1)
(hypot.f64 y %9)
(hypot.f64 y x)
(hypot.f64 x %87)
(hypot.f64 x %82)
(hypot.f64 x %90)
(hypot.f64 x y)

reconstruct28.0ms (1.6%)

Counts
204 → 65
Compiler

Compiled 204 to 359 computations (-76.0% saved)

eval12.0ms (0.7%)

Compiler

Compiled 61 to 219 computations (-259.0% saved)

prune3.0ms (0.2%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New57461
Fresh000
Picked101
Done000
Total58462
Accuracy
100.0%
Counts
62 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(hypot.f64 x y)
57.5%
(sqrt.f64 (fma.f64 y y (*.f64 x x)))
1.1%
(approx (sqrt (+ (* x x) (* y y))) (*.f64 #s(literal -1 binary64) y))
1.8%
(approx (sqrt (+ (* x x) (* y y))) (*.f64 #s(literal -1 binary64) x))
Compiler

Compiled 4 to 9 computations (-125.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series18.0ms (1.1%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0142634
Stop Event
iter-limit
Counts
11 → 30
Calls
Call 1
Inputs
%1 = (*.f64 x x)
%4 = (*.f64 #s(literal -1 binary64) x)
%8 = (sqrt (+ (* x x) (* y y)))
%10 = (*.f64 #s(literal -1 binary64) y)
%12 = (fma.f64 y y %1)
x
%1
y
#s(literal -1 binary64)
%4
(approx %8 %4)
%10
(approx %8 %10)
%12
(sqrt.f64 %12)
(hypot.f64 x y)
Outputs
%4 = (* x x)
%6 = (pow.f64 x #s(literal 2 binary64))
%14 = (* y y)
%16 = (sqrt (+ %4 %14))
%17 = (pow.f64 y #s(literal 2 binary64))
%18 = (sqrt.f64 %17)
%27 = (pow.f64 %18 #s(literal 3 binary64))
%31 = (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) %18))
%49 = (+ %14 %4)
%53 = (/.f64 %17 %6)
%54 = (*.f64 #s(literal 1/2 binary64) %53)
%56 = (*.f64 x (+.f64 #s(literal 1 binary64) %54))
%59 = (pow.f64 y #s(literal 4 binary64))
%60 = (pow.f64 x #s(literal 4 binary64))
%61 = (/.f64 %59 %60)
%64 = (*.f64 x (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) %61 %54)))
%67 = (pow.f64 y #s(literal 6 binary64))
%68 = (pow.f64 x #s(literal 6 binary64))
%73 = (*.f64 x (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) %61 (fma.f64 #s(literal 1/16 binary64) (/.f64 %67 %68) %54))))
%85 = (sqrt.f64 %6)
%91 = (pow.f64 %85 #s(literal 3 binary64))
%94 = (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) %85))
%112 = (/.f64 %6 %17)
%113 = (*.f64 #s(literal 1/2 binary64) %112)
%115 = (*.f64 y (+.f64 #s(literal 1 binary64) %113))
%117 = (/.f64 %60 %59)
%120 = (*.f64 y (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) %117 %113)))
%126 = (*.f64 y (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) %117 (fma.f64 #s(literal 1/16 binary64) (/.f64 %68 %67) %113))))
(approx x #s(literal 0 binary64))
(approx x x)
(approx %4 %6)
(approx (* -1 x) (*.f64 #s(literal -1 binary64) x))
(approx %16 %18)
(approx %16 (+.f64 %18 (*.f64 #s(literal 1/2 binary64) (/.f64 %6 %18))))
(approx %16 (+.f64 %18 (*.f64 %6 (fma.f64 #s(literal -1/8 binary64) (/.f64 %6 %27) %31))))
(approx %16 (+.f64 %18 (*.f64 %6 (fma.f64 %6 (-.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 %6 (pow.f64 %18 #s(literal 5 binary64)))) (*.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) %27))) %31))))
(approx %49 %17)
(approx %49 (+.f64 %6 %17))
(approx %16 %56)
(approx %16 %64)
(approx %16 %73)
(approx %49 (*.f64 %6 (+.f64 #s(literal 1 binary64) %53)))
(approx %16 (*.f64 #s(literal -1 binary64) %56))
(approx %16 (*.f64 #s(literal -1 binary64) %64))
(approx %16 (*.f64 #s(literal -1 binary64) %73))
(approx y y)
(approx %16 %85)
(approx %16 (+.f64 %85 (*.f64 #s(literal 1/2 binary64) (/.f64 %17 %85))))
(approx %16 (+.f64 %85 (*.f64 %17 (fma.f64 #s(literal -1/8 binary64) (/.f64 %17 %91) %94))))
(approx %16 (+.f64 %85 (*.f64 %17 (fma.f64 %17 (-.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 %17 (pow.f64 %85 #s(literal 5 binary64)))) (*.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) %91))) %94))))
(approx (* -1 y) (*.f64 #s(literal -1 binary64) y))
(approx %16 %115)
(approx %16 %120)
(approx %16 %126)
(approx %49 (*.f64 %17 (+.f64 #s(literal 1 binary64) %112)))
(approx %16 (*.f64 #s(literal -1 binary64) %115))
(approx %16 (*.f64 #s(literal -1 binary64) %120))
(approx %16 (*.f64 #s(literal -1 binary64) %126))
Calls

6 calls:

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

rewrite141.0ms (8.2%)

Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
01542
02034
16434
216333
352833
4222033
0523833
0545033
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
11 → 484
Calls
Call 1
Inputs
%1 = (*.f64 x x)
%4 = (*.f64 #s(literal -1 binary64) x)
%8 = (sqrt (+ (* x x) (* y y)))
%10 = (*.f64 #s(literal -1 binary64) y)
%12 = (fma.f64 y y %1)
x
%1
y
#s(literal -1 binary64)
%4
(approx %8 %4)
%10
(approx %8 %10)
%12
(sqrt.f64 %12)
(hypot.f64 x y)
Outputs
%1 = (*.f64 x x)
%3 = (*.f64 x #s(literal 2 binary64))
%4 = (*.f64 x %3)
%7 = (sqrt.f64 (fabs.f64 (*.f64 %1 %4)))
%9 = (sqrt.f64 #s(literal 1/2 binary64))
%13 = (sqrt.f64 (fabs.f64 (*.f64 %4 %4)))
%15 = (*.f64 %4 #s(literal 2 binary64))
%18 = (fabs.f64 x)
%19 = (sqrt.f64 %18)
%20 = (*.f64 %19 %18)
%23 = (*.f64 %4 #s(literal -1 binary64))
%26 = (sqrt.f64 %4)
%27 = (*.f64 #s(literal 1/2 binary64) x)
%28 = (*.f64 %27 x)
%29 = (sqrt.f64 %28)
%31 = (sqrt.f64 #s(literal 2 binary64))
%34 = (sqrt.f64 (fabs.f64 (*.f64 %28 %1)))
%39 = (*.f64 #s(literal 1/2 binary64) %28)
%42 = (*.f64 #s(literal -1 binary64) %28)
%44 = (neg.f64 x)
%45 = (*.f64 x %44)
%46 = (*.f64 #s(literal 1/2 binary64) %45)
%49 = (neg.f64 %18)
%56 = (*.f64 #s(literal 4 binary64) %28)
%61 = (sqrt.f64 (fabs.f64 (*.f64 %28 %28)))
%69 = (*.f64 %1 %1)
%94 = (*.f64 %1 #s(literal 0 binary64))
%96 = (*.f64 #s(literal 0 binary64) %1)
%111 = (*.f64 #s(literal 1/2 binary64) %44)
%166 = (*.f64 x %49)
%169 = (*.f64 %44 %49)
%172 = (*.f64 %49 x)
%175 = (*.f64 %18 x)
%178 = (*.f64 x %18)
%181 = (*.f64 %44 %18)
%184 = (*.f64 %49 %44)
%187 = (*.f64 %18 %44)
%288 = (*.f64 x #s(literal -2 binary64))
%290 = (*.f64 %44 #s(literal 2 binary64))
%292 = (*.f64 %44 #s(literal 1/2 binary64))
%298 = (*.f64 #s(literal 2 binary64) %44)
%308 = (*.f64 %44 #s(literal 0 binary64))
%310 = (*.f64 #s(literal 0 binary64) %44)
%340 = (sqrt (+ (pow y 2) (pow x 2)))
%341 = (approx %340 %44)
%346 = (*.f64 y #s(literal -2 binary64))
%348 = (neg.f64 y)
%349 = (*.f64 %348 #s(literal 2 binary64))
%351 = (*.f64 %348 #s(literal 1/2 binary64))
%353 = (*.f64 #s(literal 1/2 binary64) y)
%358 = (*.f64 #s(literal 2 binary64) %348)
%360 = (*.f64 #s(literal 1/2 binary64) %348)
%369 = (*.f64 %348 #s(literal 0 binary64))
%371 = (*.f64 #s(literal 0 binary64) %348)
%397 = (approx %340 %348)
%402 = (fma.f64 y y %1)
%403 = (sqrt.f64 %402)
%405 = (sqrt.f64 (*.f64 %402 %403))
%406 = (sqrt.f64 %403)
%408 = (neg.f64 %403)
%409 = (*.f64 #s(literal -1 binary64) %408)
%411 = (*.f64 #s(literal -1 binary64) %403)
%413 = (neg.f64 %402)
%420 = (*.f64 #s(literal 2 binary64) %402)
%422 = (*.f64 y #s(literal 2 binary64))
%423 = (fma.f64 y %422 %4)
%425 = (*.f64 y %422)
%426 = (fma.f64 x %3 %425)
%428 = (*.f64 #s(literal 1/2 binary64) %402)
%430 = (fma.f64 %353 y %28)
%432 = (*.f64 %353 y)
%433 = (fma.f64 %27 x %432)
%440 = (pow.f64 %402 #s(literal 4 binary64))
%443 = (*.f64 %402 %402)
%449 = (*.f64 y y)
%450 = (*.f64 %449 %449)
%481 = (fabs.f64 y)
%482 = (sqrt.f64 %481)
%483 = (*.f64 %482 %481)
%509 = (*.f64 y %348)
%515 = (neg.f64 %481)
%560 = (sqrt.f64 %405)
%561 = (sqrt.f64 %406)
%562 = (*.f64 %560 %561)
%563 = (neg.f64 %406)
%564 = (*.f64 %563 %563)
%567 = (*.f64 %9 (sqrt.f64 (fabs.f64 %423)))
%570 = (*.f64 %9 (sqrt.f64 (fabs.f64 %426)))
%571 = (sqrt.f64 %420)
%572 = (*.f64 %9 %571)
%573 = (*.f64 %561 %560)
%575 = (*.f64 %31 (sqrt.f64 %428))
%578 = (*.f64 %31 (sqrt.f64 (fabs.f64 %430)))
%581 = (*.f64 %31 (sqrt.f64 (fabs.f64 %433)))
%582 = (*.f64 %406 %406)
%583 = (*.f64 #s(literal 1 binary64) %403)
%584 = (*.f64 %403 #s(literal 1 binary64))
%585 = (pow.f64 %563 #s(literal 2 binary64))
%587 = (pow.f64 %440 #s(literal 1/8 binary64))
%588 = (pow.f64 %406 #s(literal 2 binary64))
%589 = (pow.f64 %443 #s(literal 1/4 binary64))
%590 = (pow.f64 %402 #s(literal 1/2 binary64))
%591 = (pow.f64 %403 #s(literal 1 binary64))
%592 = (/.f64 %571 %31)
%594 = (/.f64 #s(literal 1 binary64) (pow.f64 %406 #s(literal -2 binary64)))
%596 = (/.f64 #s(literal 1 binary64) (pow.f64 %402 #s(literal -1/2 binary64)))
%598 = (/.f64 #s(literal 1 binary64) (pow.f64 %403 #s(literal -1 binary64)))
%599 = (/.f64 %403 #s(literal 1 binary64))
%600 = (neg.f64 %408)
%601 = (fabs.f64 %409)
%602 = (fabs.f64 %411)
%603 = (fabs.f64 %408)
%604 = (fabs.f64 %403)
%605 = (hypot.f64 %515 %49)
%606 = (hypot.f64 %515 x)
%607 = (hypot.f64 %515 %18)
%608 = (hypot.f64 %515 %44)
%609 = (hypot.f64 y %49)
%610 = (hypot.f64 y x)
%611 = (hypot.f64 y %18)
%612 = (hypot.f64 y %44)
%613 = (hypot.f64 %49 %515)
%614 = (hypot.f64 %49 y)
%615 = (hypot.f64 %49 %481)
%616 = (hypot.f64 %49 %348)
%617 = (hypot.f64 x %515)
%618 = (hypot.f64 x y)
%619 = (hypot.f64 x %481)
%620 = (hypot.f64 x %348)
%621 = (hypot.f64 %481 %49)
%622 = (hypot.f64 %481 x)
%623 = (hypot.f64 %481 %18)
%624 = (hypot.f64 %481 %44)
%625 = (hypot.f64 %18 %515)
%626 = (hypot.f64 %18 y)
%627 = (hypot.f64 %18 %481)
%628 = (hypot.f64 %18 %348)
%629 = (hypot.f64 %348 %49)
%630 = (hypot.f64 %348 x)
%631 = (hypot.f64 %348 %18)
%632 = (hypot.f64 %348 %44)
%633 = (hypot.f64 %44 %515)
%634 = (hypot.f64 %44 y)
%635 = (hypot.f64 %44 %481)
%636 = (hypot.f64 %44 %348)
x
(*.f64 %7 %9)
(*.f64 %13 #s(literal 1/2 binary64))
(*.f64 %15 #s(literal 1/4 binary64))
(*.f64 %20 %19)
(*.f64 %23 #s(literal -1/2 binary64))
(*.f64 %26 %29)
(*.f64 %31 %34)
(*.f64 %4 #s(literal 1/2 binary64))
(*.f64 %28 #s(literal 2 binary64))
(*.f64 #s(literal 4 binary64) %39)
(*.f64 #s(literal -2 binary64) %42)
(*.f64 #s(literal -2 binary64) %46)
(*.f64 %19 %20)
(*.f64 %49 %49)
%1
(*.f64 %45 #s(literal -1 binary64))
(*.f64 %18 %18)
(*.f64 %44 %44)
(*.f64 #s(literal 1 binary64) %1)
(*.f64 #s(literal 1/2 binary64) %56)
(*.f64 #s(literal 1/2 binary64) %4)
(*.f64 #s(literal 2 binary64) %61)
(*.f64 #s(literal 2 binary64) %28)
(*.f64 #s(literal -1 binary64) %45)
(*.f64 %1 #s(literal 1 binary64))
(pow.f64 (pow.f64 x #s(literal 8 binary64)) #s(literal 1/4 binary64))
(pow.f64 %69 #s(literal 1/2 binary64))
(pow.f64 %19 #s(literal 4 binary64))
(pow.f64 %49 #s(literal 2 binary64))
(pow.f64 x #s(literal 2 binary64))
(pow.f64 %18 #s(literal 2 binary64))
(pow.f64 %44 #s(literal 2 binary64))
(pow.f64 %1 #s(literal 1 binary64))
(/.f64 %23 #s(literal -2 binary64))
(/.f64 %4 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %69 #s(literal -1/2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %49 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 x #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %18 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %44 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %1 #s(literal -1 binary64)))
(/.f64 %1 #s(literal 1 binary64))
(neg.f64 %45)
(fma.f64 %7 %9 %94)
(fma.f64 %7 %9 %96)
(fma.f64 %13 #s(literal 1/2 binary64) %94)
(fma.f64 %13 #s(literal 1/2 binary64) %96)
(fma.f64 %15 #s(literal 1/4 binary64) %94)
(fma.f64 %15 #s(literal 1/4 binary64) %96)
(fma.f64 %20 %19 %94)
(fma.f64 %20 %19 %96)
(fma.f64 %23 #s(literal -1/2 binary64) %94)
(fma.f64 %23 #s(literal -1/2 binary64) %96)
(fma.f64 %27 x %28)
(fma.f64 (*.f64 #s(literal 1/2 binary64) %18) %18 %28)
(fma.f64 (*.f64 #s(literal 1/2 binary64) %49) %49 %28)
(fma.f64 %111 %44 %28)
(fma.f64 %46 #s(literal -1 binary64) %28)
(fma.f64 %26 %29 %94)
(fma.f64 %26 %29 %96)
(fma.f64 %31 %34 %94)
(fma.f64 %31 %34 %96)
(fma.f64 %4 #s(literal 1/2 binary64) %94)
(fma.f64 %4 #s(literal 1/2 binary64) %96)
(fma.f64 %28 #s(literal 1 binary64) %28)
(fma.f64 %28 #s(literal 2 binary64) %94)
(fma.f64 %28 #s(literal 2 binary64) %96)
(fma.f64 #s(literal 4 binary64) %39 %94)
(fma.f64 #s(literal 4 binary64) %39 %96)
(fma.f64 #s(literal -1/2 binary64) %45 %28)
(fma.f64 #s(literal -2 binary64) %42 %94)
(fma.f64 #s(literal -2 binary64) %42 %96)
(fma.f64 #s(literal -2 binary64) %46 %94)
(fma.f64 #s(literal -2 binary64) %46 %96)
(fma.f64 %19 %20 %94)
(fma.f64 %19 %20 %96)
(fma.f64 %49 %49 %94)
(fma.f64 %49 %49 %96)
(fma.f64 x x %94)
(fma.f64 x x %96)
(fma.f64 %45 #s(literal -1 binary64) %94)
(fma.f64 %45 #s(literal -1 binary64) %96)
(fma.f64 %18 %18 %94)
(fma.f64 %18 %18 %96)
(fma.f64 %44 %44 %94)
(fma.f64 %44 %44 %96)
(fma.f64 #s(literal 1 binary64) %28 %28)
(fma.f64 #s(literal 1 binary64) %1 %94)
(fma.f64 #s(literal 1 binary64) %1 %96)
(fma.f64 #s(literal 1/2 binary64) %56 %94)
(fma.f64 #s(literal 1/2 binary64) %56 %96)
(fma.f64 #s(literal 1/2 binary64) %4 %94)
(fma.f64 #s(literal 1/2 binary64) %4 %96)
(fma.f64 #s(literal 1/2 binary64) %1 %28)
(fma.f64 #s(literal 2 binary64) %61 %94)
(fma.f64 #s(literal 2 binary64) %61 %96)
(fma.f64 #s(literal 2 binary64) (*.f64 #s(literal 1/4 binary64) %1) %28)
(fma.f64 #s(literal 2 binary64) %28 %94)
(fma.f64 #s(literal 2 binary64) %28 %96)
(fma.f64 #s(literal -1 binary64) (*.f64 #s(literal -1/2 binary64) %1) %28)
(fma.f64 #s(literal -1 binary64) %45 %94)
(fma.f64 #s(literal -1 binary64) %45 %96)
(fma.f64 %1 #s(literal 1 binary64) %94)
(fma.f64 %1 #s(literal 1 binary64) %96)
(fma.f64 %1 #s(literal 1/2 binary64) %28)
(sqrt.f64 (/.f64 %69 #s(literal 1 binary64)))
(sqrt.f64 %69)
(fabs.f64 (*.f64 #s(literal 1 binary64) %166))
(fabs.f64 (*.f64 #s(literal 1 binary64) %169))
(fabs.f64 (*.f64 #s(literal 1 binary64) %172))
(fabs.f64 (*.f64 #s(literal 1 binary64) %175))
(fabs.f64 (*.f64 #s(literal 1 binary64) %178))
(fabs.f64 (*.f64 #s(literal 1 binary64) %181))
(fabs.f64 (*.f64 #s(literal 1 binary64) %184))
(fabs.f64 (*.f64 #s(literal 1 binary64) %187))
(fabs.f64 (*.f64 #s(literal -1 binary64) %166))
(fabs.f64 (*.f64 #s(literal -1 binary64) %169))
(fabs.f64 (*.f64 #s(literal -1 binary64) %172))
(fabs.f64 (*.f64 #s(literal -1 binary64) %175))
(fabs.f64 (*.f64 #s(literal -1 binary64) %178))
(fabs.f64 (*.f64 #s(literal -1 binary64) %181))
(fabs.f64 (*.f64 #s(literal -1 binary64) %184))
(fabs.f64 (*.f64 #s(literal -1 binary64) %187))
(fabs.f64 (*.f64 %166 #s(literal 1 binary64)))
(fabs.f64 (*.f64 %166 #s(literal -1 binary64)))
(fabs.f64 (*.f64 %169 #s(literal 1 binary64)))
(fabs.f64 (*.f64 %169 #s(literal -1 binary64)))
(fabs.f64 (*.f64 %172 #s(literal 1 binary64)))
(fabs.f64 (*.f64 %172 #s(literal -1 binary64)))
(fabs.f64 (*.f64 %175 #s(literal 1 binary64)))
(fabs.f64 (*.f64 %175 #s(literal -1 binary64)))
(fabs.f64 (*.f64 %178 #s(literal 1 binary64)))
(fabs.f64 (*.f64 %178 #s(literal -1 binary64)))
(fabs.f64 (*.f64 %181 #s(literal 1 binary64)))
(fabs.f64 (*.f64 %181 #s(literal -1 binary64)))
(fabs.f64 (*.f64 %184 #s(literal 1 binary64)))
(fabs.f64 (*.f64 %184 #s(literal -1 binary64)))
(fabs.f64 (*.f64 %187 #s(literal 1 binary64)))
(fabs.f64 (*.f64 %187 #s(literal -1 binary64)))
(fabs.f64 (/.f64 %166 #s(literal 1 binary64)))
(fabs.f64 (/.f64 %166 #s(literal -1 binary64)))
(fabs.f64 (/.f64 %169 #s(literal 1 binary64)))
(fabs.f64 (/.f64 %169 #s(literal -1 binary64)))
(fabs.f64 (/.f64 %172 #s(literal 1 binary64)))
(fabs.f64 (/.f64 %172 #s(literal -1 binary64)))
(fabs.f64 (/.f64 %175 #s(literal 1 binary64)))
(fabs.f64 (/.f64 %175 #s(literal -1 binary64)))
(fabs.f64 (/.f64 %178 #s(literal 1 binary64)))
(fabs.f64 (/.f64 %178 #s(literal -1 binary64)))
(fabs.f64 (/.f64 %181 #s(literal 1 binary64)))
(fabs.f64 (/.f64 %181 #s(literal -1 binary64)))
(fabs.f64 (/.f64 %184 #s(literal 1 binary64)))
(fabs.f64 (/.f64 %184 #s(literal -1 binary64)))
(fabs.f64 (/.f64 %187 #s(literal 1 binary64)))
(fabs.f64 (/.f64 %187 #s(literal -1 binary64)))
(fabs.f64 (/.f64 %45 #s(literal -1 binary64)))
(fabs.f64 (/.f64 %1 #s(literal -1 binary64)))
(fabs.f64 %166)
(fabs.f64 %169)
(fabs.f64 %172)
(fabs.f64 %175)
(fabs.f64 %178)
(fabs.f64 %181)
(fabs.f64 %184)
(fabs.f64 %187)
(fabs.f64 %45)
(fabs.f64 %1)
(+.f64 %28 %28)
(+.f64 %1 %94)
(+.f64 %1 %96)
y
#s(literal -1 binary64)
(*.f64 %288 #s(literal 1/2 binary64))
(*.f64 %290 #s(literal 1/2 binary64))
(*.f64 %292 #s(literal 2 binary64))
(*.f64 #s(literal -2 binary64) %27)
(*.f64 x #s(literal -1 binary64))
(*.f64 %44 #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) %44)
(*.f64 #s(literal 1/2 binary64) %298)
(*.f64 #s(literal 2 binary64) %111)
(*.f64 #s(literal -1 binary64) x)
(pow.f64 %44 #s(literal 1 binary64))
(/.f64 %290 #s(literal 2 binary64))
(/.f64 %298 #s(literal 2 binary64))
(/.f64 %44 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %44 #s(literal -1 binary64)))
%44
(fma.f64 %288 #s(literal 1/2 binary64) %308)
(fma.f64 %288 #s(literal 1/2 binary64) %310)
(fma.f64 %290 #s(literal 1/2 binary64) %308)
(fma.f64 %290 #s(literal 1/2 binary64) %310)
(fma.f64 %292 #s(literal 2 binary64) %308)
(fma.f64 %292 #s(literal 2 binary64) %310)
(fma.f64 #s(literal -2 binary64) %27 %308)
(fma.f64 #s(literal -2 binary64) %27 %310)
(fma.f64 x #s(literal -1 binary64) %308)
(fma.f64 x #s(literal -1 binary64) %310)
(fma.f64 %44 #s(literal 1 binary64) %308)
(fma.f64 %44 #s(literal 1 binary64) %310)
(fma.f64 %44 #s(literal 1/2 binary64) %292)
(fma.f64 #s(literal 1 binary64) %44 %308)
(fma.f64 #s(literal 1 binary64) %44 %310)
(fma.f64 #s(literal 1/2 binary64) %298 %308)
(fma.f64 #s(literal 1/2 binary64) %298 %310)
(fma.f64 #s(literal 1/2 binary64) %44 %111)
(fma.f64 #s(literal 2 binary64) %111 %308)
(fma.f64 #s(literal 2 binary64) %111 %310)
(fma.f64 #s(literal -1 binary64) x %308)
(fma.f64 #s(literal -1 binary64) x %310)
(+.f64 %292 %292)
(+.f64 %111 %111)
(+.f64 %44 %308)
(+.f64 %44 %310)
(*.f64 #s(literal 1 binary64) %341)
(pow.f64 %341 #s(literal 1 binary64))
%341
(/.f64 #s(literal 1 binary64) (pow.f64 %341 #s(literal -1 binary64)))
(*.f64 %346 #s(literal 1/2 binary64))
(*.f64 %349 #s(literal 1/2 binary64))
(*.f64 %351 #s(literal 2 binary64))
(*.f64 #s(literal -2 binary64) %353)
(*.f64 y #s(literal -1 binary64))
(*.f64 %348 #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) %348)
(*.f64 #s(literal 1/2 binary64) %358)
(*.f64 #s(literal 2 binary64) %360)
(*.f64 #s(literal -1 binary64) y)
(pow.f64 %348 #s(literal 1 binary64))
(/.f64 %349 #s(literal 2 binary64))
(/.f64 %358 #s(literal 2 binary64))
(/.f64 %348 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %348 #s(literal -1 binary64)))
%348
(fma.f64 %346 #s(literal 1/2 binary64) %369)
(fma.f64 %346 #s(literal 1/2 binary64) %371)
(fma.f64 %349 #s(literal 1/2 binary64) %369)
(fma.f64 %349 #s(literal 1/2 binary64) %371)
(fma.f64 %351 #s(literal 2 binary64) %369)
(fma.f64 %351 #s(literal 2 binary64) %371)
(fma.f64 #s(literal -2 binary64) %353 %369)
(fma.f64 #s(literal -2 binary64) %353 %371)
(fma.f64 y #s(literal -1 binary64) %369)
(fma.f64 y #s(literal -1 binary64) %371)
(fma.f64 %348 #s(literal 1 binary64) %369)
(fma.f64 %348 #s(literal 1 binary64) %371)
(fma.f64 %348 #s(literal 1/2 binary64) %351)
(fma.f64 #s(literal 1 binary64) %348 %369)
(fma.f64 #s(literal 1 binary64) %348 %371)
(fma.f64 #s(literal 1/2 binary64) %358 %369)
(fma.f64 #s(literal 1/2 binary64) %358 %371)
(fma.f64 #s(literal 1/2 binary64) %348 %360)
(fma.f64 #s(literal 2 binary64) %360 %369)
(fma.f64 #s(literal 2 binary64) %360 %371)
(fma.f64 #s(literal -1 binary64) y %369)
(fma.f64 #s(literal -1 binary64) y %371)
(+.f64 %351 %351)
(+.f64 %360 %360)
(+.f64 %348 %369)
(+.f64 %348 %371)
(*.f64 #s(literal 1 binary64) %397)
(pow.f64 %397 #s(literal 1 binary64))
%397
(/.f64 #s(literal 1 binary64) (pow.f64 %397 #s(literal -1 binary64)))
(*.f64 %405 %406)
(*.f64 %409 %409)
(*.f64 %411 %411)
(*.f64 #s(literal -2 binary64) (*.f64 #s(literal 1/2 binary64) %413))
(*.f64 %406 %405)
(*.f64 %413 #s(literal -1 binary64))
(*.f64 %408 %408)
(*.f64 #s(literal 1 binary64) %402)
(*.f64 #s(literal 1/2 binary64) %420)
(*.f64 #s(literal 1/2 binary64) %423)
(*.f64 #s(literal 1/2 binary64) %426)
(*.f64 #s(literal 2 binary64) %428)
(*.f64 #s(literal 2 binary64) %430)
(*.f64 #s(literal 2 binary64) %433)
(*.f64 %402 #s(literal 1 binary64))
(*.f64 %403 %403)
(*.f64 #s(literal -1 binary64) %413)
(pow.f64 %409 #s(literal 2 binary64))
(pow.f64 %411 #s(literal 2 binary64))
(pow.f64 %440 #s(literal 1/4 binary64))
(pow.f64 %406 #s(literal 4 binary64))
(pow.f64 %443 #s(literal 1/2 binary64))
(pow.f64 %408 #s(literal 2 binary64))
(pow.f64 %402 #s(literal 1 binary64))
(pow.f64 %403 #s(literal 2 binary64))
(/.f64 %420 #s(literal 2 binary64))
(/.f64 (-.f64 %450 %69) (-.f64 %449 %1))
(/.f64 (-.f64 %69 %450) (-.f64 %1 %449))
(/.f64 #s(literal 1 binary64) (pow.f64 %411 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %443 #s(literal -1/2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %408 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %403 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %402 #s(literal -1 binary64)))
(/.f64 %402 #s(literal 1 binary64))
(neg.f64 %413)
(fma.f64 (sqrt.f64 (fabs.f64 (*.f64 %449 %425))) %9 %1)
(fma.f64 (sqrt.f64 (fabs.f64 (*.f64 %425 %425))) #s(literal 1/2 binary64) %1)
(fma.f64 %7 %9 %449)
(fma.f64 %13 #s(literal 1/2 binary64) %449)
(fma.f64 (*.f64 %425 #s(literal 2 binary64)) #s(literal 1/4 binary64) %1)
(fma.f64 %483 %482 %1)
(fma.f64 %15 #s(literal 1/4 binary64) %449)
(fma.f64 %20 %19 %449)
(fma.f64 (*.f64 %425 #s(literal -1 binary64)) #s(literal -1/2 binary64) %1)
(fma.f64 %23 #s(literal -1/2 binary64) %449)
(fma.f64 (sqrt.f64 %425) (sqrt.f64 %432) %1)
(fma.f64 %26 %29 %449)
(fma.f64 %31 (sqrt.f64 (fabs.f64 (*.f64 %432 %449))) %1)
(fma.f64 %31 %34 %449)
(fma.f64 %4 #s(literal 1/2 binary64) %449)
(fma.f64 %425 #s(literal 1/2 binary64) %1)
(fma.f64 %28 #s(literal 2 binary64) %449)
(fma.f64 %432 #s(literal 2 binary64) %1)
(fma.f64 #s(literal 4 binary64) (*.f64 #s(literal 1/2 binary64) %432) %1)
(fma.f64 #s(literal 4 binary64) %39 %449)
(fma.f64 #s(literal -2 binary64) (*.f64 #s(literal -1 binary64) %432) %1)
(fma.f64 #s(literal -2 binary64) %42 %449)
(fma.f64 #s(literal -2 binary64) (*.f64 #s(literal 1/2 binary64) %509) %1)
(fma.f64 #s(literal -2 binary64) %46 %449)
(fma.f64 %482 %483 %1)
(fma.f64 %19 %20 %449)
(fma.f64 %515 %515 %1)
%402
(fma.f64 %49 %49 %449)
(fma.f64 x x %449)
(fma.f64 %509 #s(literal -1 binary64) %1)
(fma.f64 %45 #s(literal -1 binary64) %449)
(fma.f64 %481 %481 %1)
(fma.f64 %18 %18 %449)
(fma.f64 %348 %348 %1)
(fma.f64 %44 %44 %449)
(fma.f64 #s(literal 1 binary64) %449 %1)
(fma.f64 #s(literal 1 binary64) %1 %449)
(fma.f64 #s(literal 1/2 binary64) (*.f64 #s(literal 4 binary64) %432) %1)
(fma.f64 #s(literal 1/2 binary64) %56 %449)
(fma.f64 #s(literal 1/2 binary64) %4 %449)
(fma.f64 #s(literal 1/2 binary64) %425 %1)
(fma.f64 #s(literal 2 binary64) (sqrt.f64 (fabs.f64 (*.f64 %432 %432))) %1)
(fma.f64 #s(literal 2 binary64) %61 %449)
(fma.f64 #s(literal 2 binary64) %28 %449)
(fma.f64 #s(literal 2 binary64) %432 %1)
(fma.f64 %449 #s(literal 1 binary64) %1)
(fma.f64 #s(literal -1 binary64) %509 %1)
(fma.f64 #s(literal -1 binary64) %45 %449)
(fma.f64 %1 #s(literal 1 binary64) %449)
(-.f64 %449 %45)
(-.f64 %1 %509)
(sqrt.f64 (*.f64 %443 #s(literal 1 binary64)))
(sqrt.f64 (/.f64 %443 #s(literal 1 binary64)))
(sqrt.f64 %443)
(fabs.f64 (*.f64 %413 #s(literal 1 binary64)))
(fabs.f64 (/.f64 %413 #s(literal -1 binary64)))
(fabs.f64 (/.f64 %402 #s(literal -1 binary64)))
(fabs.f64 %413)
(fabs.f64 %402)
(+.f64 %449 %1)
(+.f64 %1 %449)
%562
%564
%567
%570
%572
%573
%575
%578
%581
%582
%583
%584
%585
%587
%588
%589
%590
%591
%592
%594
%596
%598
%599
%600
%403
%601
%602
%603
%604
%605
%606
%607
%608
%609
%610
%611
%612
%613
%614
%615
%616
%617
%618
%619
%620
%621
%622
%623
%624
%625
%626
%627
%628
%629
%630
%631
%632
%633
%634
%635
%636
%562
%564
%567
%570
%572
%573
%575
%578
%581
%582
%583
%584
%585
%587
%588
%589
%590
%591
%592
%594
%596
%598
%599
%600
%403
%601
%602
%603
%604
%605
%606
%607
%608
%609
%610
%611
%612
%613
%614
%615
%616
%617
%618
%619
%620
%621
%622
%623
%624
%625
%626
%627
%628
%629
%630
%631
%632
%633
%634
%635
%636

reconstruct58.0ms (3.4%)

Counts
514 → 102
Compiler

Compiled 514 to 717 computations (-39.5% saved)

eval14.0ms (0.8%)

Compiler

Compiled 89 to 313 computations (-251.7% saved)

prune2.0ms (0.1%)

Pruning

5 alts after pruning (3 fresh and 2 done)

PrunedKeptTotal
New86389
Fresh000
Picked224
Done000
Total88593
Accuracy
100.0%
Counts
93 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(hypot.f64 x y)
57.5%
(sqrt.f64 (fma.f64 y y (*.f64 x x)))
1.1%
(approx (sqrt (+ (pow y 2) (pow x 2))) (neg.f64 y))
1.8%
(approx (sqrt (+ (pow y 2) (pow x 2))) (neg.f64 x))
2.7%
(approx (sqrt (+ (* x x) (* y y))) (*.f64 #s(literal -1 binary64) (approx x #s(literal 0 binary64))))
Compiler

Compiled 5 to 11 computations (-120.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series9.0ms (0.5%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0131661
Stop Event
iter-limit
Counts
11 → 25
Calls
Call 1
Inputs
%3 = (approx x #s(literal 0 binary64))
%5 = (neg.f64 x)
%6 = (neg.f64 y)
%11 = (sqrt (+ (pow y 2) (pow x 2)))
%14 = (*.f64 #s(literal -1 binary64) %3)
x
y
#s(literal 0 binary64)
%3
#s(literal -1 binary64)
%5
%6
(approx %11 %5)
(approx %11 %6)
%14
(approx (sqrt (+ (* x x) (* y y))) %14)
Outputs
%13 = (sqrt (+ (pow y 2) (pow x 2)))
%15 = (pow.f64 y #s(literal 2 binary64))
%16 = (sqrt.f64 %15)
%19 = (pow.f64 x #s(literal 2 binary64))
%26 = (pow.f64 %16 #s(literal 3 binary64))
%30 = (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) %16))
%49 = (*.f64 #s(literal 1/2 binary64) (/.f64 %15 %19))
%51 = (*.f64 x (+.f64 #s(literal 1 binary64) %49))
%54 = (pow.f64 y #s(literal 4 binary64))
%55 = (pow.f64 x #s(literal 4 binary64))
%56 = (/.f64 %54 %55)
%59 = (*.f64 x (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) %56 %49)))
%62 = (pow.f64 y #s(literal 6 binary64))
%63 = (pow.f64 x #s(literal 6 binary64))
%68 = (*.f64 x (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) %56 (fma.f64 #s(literal 1/16 binary64) (/.f64 %62 %63) %49))))
%80 = (sqrt.f64 %19)
%86 = (pow.f64 %80 #s(literal 3 binary64))
%89 = (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) %80))
%105 = (*.f64 #s(literal 1/2 binary64) (/.f64 %19 %15))
%107 = (*.f64 y (+.f64 #s(literal 1 binary64) %105))
%109 = (/.f64 %55 %54)
%112 = (*.f64 y (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) %109 %105)))
%118 = (*.f64 y (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) %109 (fma.f64 #s(literal 1/16 binary64) (/.f64 %63 %62) %105))))
(approx x #s(literal 0 binary64))
(approx x x)
(approx (neg x) (*.f64 #s(literal -1 binary64) x))
(approx %13 %16)
(approx %13 (+.f64 %16 (*.f64 #s(literal 1/2 binary64) (/.f64 %19 %16))))
(approx %13 (+.f64 %16 (*.f64 %19 (fma.f64 #s(literal -1/8 binary64) (/.f64 %19 %26) %30))))
(approx %13 (+.f64 %16 (*.f64 %19 (fma.f64 %19 (-.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 %19 (pow.f64 %16 #s(literal 5 binary64)))) (*.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) %26))) %30))))
(approx %13 %51)
(approx %13 %59)
(approx %13 %68)
(approx %13 (*.f64 #s(literal -1 binary64) %51))
(approx %13 (*.f64 #s(literal -1 binary64) %59))
(approx %13 (*.f64 #s(literal -1 binary64) %68))
(approx y y)
(approx (neg y) (*.f64 #s(literal -1 binary64) y))
(approx %13 %80)
(approx %13 (+.f64 %80 (*.f64 #s(literal 1/2 binary64) (/.f64 %15 %80))))
(approx %13 (+.f64 %80 (*.f64 %15 (fma.f64 #s(literal -1/8 binary64) (/.f64 %15 %86) %89))))
(approx %13 (+.f64 %80 (*.f64 %15 (fma.f64 %15 (-.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 %15 (pow.f64 %80 #s(literal 5 binary64)))) (*.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) %86))) %89))))
(approx %13 %107)
(approx %13 %112)
(approx %13 %118)
(approx %13 (*.f64 #s(literal -1 binary64) %107))
(approx %13 (*.f64 #s(literal -1 binary64) %112))
(approx %13 (*.f64 #s(literal -1 binary64) %118))
Calls

6 calls:

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

rewrite136.0ms (7.9%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02052
02350
16550
214950
336350
4157850
0404450
0435735
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
11 → 68
Calls
Call 1
Inputs
%3 = (approx x #s(literal 0 binary64))
%5 = (neg.f64 x)
%6 = (neg.f64 y)
%11 = (sqrt (+ (pow y 2) (pow x 2)))
%14 = (*.f64 #s(literal -1 binary64) %3)
x
y
#s(literal 0 binary64)
%3
#s(literal -1 binary64)
%5
%6
(approx %11 %5)
(approx %11 %6)
%14
(approx (sqrt (+ (* x x) (* y y))) %14)
Outputs
%3 = (approx x #s(literal 0 binary64))
%5 = (*.f64 %3 #s(literal 2 binary64))
%8 = (*.f64 %3 #s(literal 1/2 binary64))
%12 = (*.f64 #s(literal 2 binary64) %3)
%14 = (*.f64 #s(literal 1/2 binary64) %3)
%18 = (E.f64 )
%29 = (neg.f64 %3)
%31 = (*.f64 %3 #s(literal 0 binary64))
%33 = (*.f64 #s(literal 0 binary64) %3)
%51 = (neg.f64 x)
%56 = (neg.f64 y)
%65 = (sqrt (+ (pow y 2) (pow x 2)))
%66 = (approx %65 %51)
%71 = (approx %65 %56)
%91 = (approx %65 %29)
x
y
#s(literal 0 binary64)
(*.f64 %5 #s(literal 1/2 binary64))
(*.f64 %8 #s(literal 2 binary64))
(*.f64 #s(literal 1 binary64) %3)
(*.f64 #s(literal 1/2 binary64) %12)
(*.f64 #s(literal 2 binary64) %14)
(*.f64 %3 #s(literal 1 binary64))
(pow.f64 %3 #s(literal 1 binary64))
%3
(/.f64 (*.f64 %3 %18) %18)
(/.f64 %5 #s(literal 2 binary64))
(/.f64 (*.f64 %18 %3) %18)
(/.f64 %12 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %3 #s(literal -1 binary64)))
(/.f64 %3 #s(literal 1 binary64))
(neg.f64 %29)
(fma.f64 %5 #s(literal 1/2 binary64) %31)
(fma.f64 %5 #s(literal 1/2 binary64) %33)
(fma.f64 %8 #s(literal 2 binary64) %31)
(fma.f64 %8 #s(literal 2 binary64) %33)
(fma.f64 #s(literal 1 binary64) %3 %31)
(fma.f64 #s(literal 1 binary64) %3 %33)
(fma.f64 #s(literal 1/2 binary64) %12 %31)
(fma.f64 #s(literal 1/2 binary64) %12 %33)
(fma.f64 #s(literal 1/2 binary64) %3 %14)
(fma.f64 #s(literal 2 binary64) %14 %31)
(fma.f64 #s(literal 2 binary64) %14 %33)
(fma.f64 %3 #s(literal 1 binary64) %31)
(fma.f64 %3 #s(literal 1 binary64) %33)
(fma.f64 %3 #s(literal 1/2 binary64) %8)
(+.f64 %8 %8)
(+.f64 %14 %14)
(+.f64 %3 %31)
(+.f64 %3 %33)
#s(literal -1 binary64)
(*.f64 #s(literal 1 binary64) %51)
(pow.f64 %51 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %51 #s(literal -1 binary64)))
%51
(*.f64 #s(literal 1 binary64) %56)
(pow.f64 %56 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %56 #s(literal -1 binary64)))
%56
(*.f64 #s(literal 1 binary64) %66)
(pow.f64 %66 #s(literal 1 binary64))
%66
(/.f64 #s(literal 1 binary64) (pow.f64 %66 #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) %71)
(pow.f64 %71 #s(literal 1 binary64))
%71
(/.f64 #s(literal 1 binary64) (pow.f64 %71 #s(literal -1 binary64)))
(*.f64 (*.f64 %3 #s(literal -2 binary64)) #s(literal 1/2 binary64))
(*.f64 %5 #s(literal -1/2 binary64))
(*.f64 #s(literal -2 binary64) %14)
(*.f64 #s(literal 1 binary64) %29)
(*.f64 %29 #s(literal 1 binary64))
(*.f64 #s(literal 2 binary64) (*.f64 #s(literal -1/2 binary64) %3))
(*.f64 #s(literal -1 binary64) %3)
(*.f64 %3 #s(literal -1 binary64))
(pow.f64 %29 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %29 #s(literal -1 binary64)))
%29
(*.f64 #s(literal 1 binary64) %91)
(pow.f64 %91 #s(literal 1 binary64))
%91
(/.f64 #s(literal 1 binary64) (pow.f64 %91 #s(literal -1 binary64)))

reconstruct10.0ms (0.6%)

Counts
93 → 36
Compiler

Compiled 93 to 174 computations (-87.1% saved)

eval5.0ms (0.3%)

Compiler

Compiled 29 to 104 computations (-258.6% saved)

prune3.0ms (0.1%)

Pruning

5 alts after pruning (1 fresh and 4 done)

PrunedKeptTotal
New28129
Fresh000
Picked123
Done022
Total29534
Accuracy
100.0%
Counts
34 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(hypot.f64 x y)
57.5%
(sqrt.f64 (fma.f64 y y (*.f64 x x)))
2.7%
(approx (sqrt (+ (pow y 2) (pow x 2))) (neg.f64 (approx x #s(literal 0 binary64))))
1.1%
(approx (sqrt (+ (pow y 2) (pow x 2))) (neg.f64 y))
1.8%
(approx (sqrt (+ (pow y 2) (pow x 2))) (neg.f64 x))
Compiler

Compiled 5 to 10 computations (-100.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series11.0ms (0.6%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0130674
Stop Event
iter-limit
Counts
5 → 25
Calls
Call 1
Inputs
%2 = (approx x #s(literal 0 binary64))
%3 = (neg.f64 %2)
x
#s(literal 0 binary64)
%2
%3
(approx (sqrt (+ (pow y 2) (pow x 2))) %3)
Outputs
%13 = (sqrt (+ (pow y 2) (pow x 2)))
%15 = (pow.f64 y #s(literal 2 binary64))
%16 = (sqrt.f64 %15)
%19 = (pow.f64 x #s(literal 2 binary64))
%26 = (pow.f64 %16 #s(literal 3 binary64))
%30 = (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) %16))
%49 = (*.f64 #s(literal 1/2 binary64) (/.f64 %15 %19))
%51 = (*.f64 x (+.f64 #s(literal 1 binary64) %49))
%54 = (pow.f64 y #s(literal 4 binary64))
%55 = (pow.f64 x #s(literal 4 binary64))
%56 = (/.f64 %54 %55)
%59 = (*.f64 x (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) %56 %49)))
%62 = (pow.f64 y #s(literal 6 binary64))
%63 = (pow.f64 x #s(literal 6 binary64))
%68 = (*.f64 x (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) %56 (fma.f64 #s(literal 1/16 binary64) (/.f64 %62 %63) %49))))
%76 = (sqrt.f64 %19)
%82 = (pow.f64 %76 #s(literal 3 binary64))
%85 = (*.f64 #s(literal 1/2 binary64) (/.f64 #s(literal 1 binary64) %76))
%102 = (*.f64 #s(literal 1/2 binary64) (/.f64 %19 %15))
%104 = (*.f64 y (+.f64 #s(literal 1 binary64) %102))
%106 = (/.f64 %55 %54)
%109 = (*.f64 y (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) %106 %102)))
%115 = (*.f64 y (+.f64 #s(literal 1 binary64) (fma.f64 #s(literal -1/8 binary64) %106 (fma.f64 #s(literal 1/16 binary64) (/.f64 %63 %62) %102))))
(approx x #s(literal 0 binary64))
(approx x x)
(approx (neg x) (*.f64 #s(literal -1 binary64) x))
(approx %13 %16)
(approx %13 (+.f64 %16 (*.f64 #s(literal 1/2 binary64) (/.f64 %19 %16))))
(approx %13 (+.f64 %16 (*.f64 %19 (fma.f64 #s(literal -1/8 binary64) (/.f64 %19 %26) %30))))
(approx %13 (+.f64 %16 (*.f64 %19 (fma.f64 %19 (-.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 %19 (pow.f64 %16 #s(literal 5 binary64)))) (*.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) %26))) %30))))
(approx %13 %51)
(approx %13 %59)
(approx %13 %68)
(approx %13 (*.f64 #s(literal -1 binary64) %51))
(approx %13 (*.f64 #s(literal -1 binary64) %59))
(approx %13 (*.f64 #s(literal -1 binary64) %68))
(approx %13 %76)
(approx %13 (+.f64 %76 (*.f64 #s(literal 1/2 binary64) (/.f64 %15 %76))))
(approx %13 (+.f64 %76 (*.f64 %15 (fma.f64 #s(literal -1/8 binary64) (/.f64 %15 %82) %85))))
(approx %13 (+.f64 %76 (*.f64 %15 (fma.f64 %15 (-.f64 (*.f64 #s(literal 1/16 binary64) (/.f64 %15 (pow.f64 %76 #s(literal 5 binary64)))) (*.f64 #s(literal 1/8 binary64) (/.f64 #s(literal 1 binary64) %82))) %85))))
(approx %13 y)
(approx %13 %104)
(approx %13 %109)
(approx %13 %115)
(approx %13 (*.f64 #s(literal -1 binary64) y))
(approx %13 (*.f64 #s(literal -1 binary64) %104))
(approx %13 (*.f64 #s(literal -1 binary64) %109))
(approx %13 (*.f64 #s(literal -1 binary64) %115))
Calls

6 calls:

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

rewrite116.0ms (6.7%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01122
01222
13422
27722
323322
4110322
0453222
0472317
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 (sqrt (+ (pow y 2) (pow x 2))) %3)
Outputs
%3 = (approx x #s(literal 0 binary64))
%9 = (neg.f64 %3)
%20 = (approx (sqrt (+ (pow x 2) (pow y 2))) %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) %20)
(pow.f64 %20 #s(literal 1 binary64))
%20
(/.f64 #s(literal 1 binary64) (pow.f64 %20 #s(literal -1 binary64)))

reconstruct3.0ms (0.2%)

Counts
39 → 29
Compiler

Compiled 39 to 107 computations (-174.4% saved)

eval37.0ms (2.1%)

Compiler

Compiled 25 to 95 computations (-280.0% saved)

prune2.0ms (0.1%)

Pruning

5 alts after pruning (1 fresh and 4 done)

PrunedKeptTotal
New24125
Fresh000
Picked101
Done044
Total25530
Accuracy
100.0%
Counts
30 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
100.0%
(hypot.f64 x y)
57.5%
(sqrt.f64 (fma.f64 y y (*.f64 x x)))
1.1%
(approx (sqrt (+ (pow y 2) (pow x 2))) (neg.f64 y))
1.8%
(approx (sqrt (+ (pow y 2) (pow x 2))) (neg.f64 x))
99.0%
(approx (sqrt (+ (pow y 2) (pow x 2))) y)
Compiler

Compiled 5 to 8 computations (-60.0% saved)

regimes57.0ms (3.3%)

Accuracy

Total 0.0b remaining (0.0%)

Threshold costs 0.0b (0.0%)

0.0b100.0%
0.0b0%

Counts
1 → 1
10 → 1
Calls
Call 1
Inputs
(approx (sqrt (+ (pow y 2) (pow x 2))) y)
Outputs
(approx (sqrt (+ (pow y 2) (pow x 2))) y)
Call 2
Inputs
%6 = (sqrt (+ (pow y 2) (pow x 2)))
%13 = (approx x #s(literal 0 binary64))
%19 = (sqrt (+ (* x x) (* y y)))
%27 = (*.f64 x x)
(approx %6 y)
(approx %6 (neg.f64 x))
(approx %6 (neg.f64 y))
(approx %6 (neg.f64 %13))
(approx %19 (*.f64 #s(literal -1 binary64) x))
(approx %19 (*.f64 #s(literal -1 binary64) y))
(approx %19 (*.f64 #s(literal -1 binary64) %13))
(sqrt.f64 (fma.f64 y y %27))
(sqrt.f64 (+.f64 %27 (*.f64 y y)))
(hypot.f64 x y)
Outputs
(hypot.f64 x y)
Calls

6 calls:

37.0ms
y
6.0ms
(+.f64 (*.f64 x x) (*.f64 y y))
5.0ms
x
5.0ms
(*.f64 y y)
5.0ms
(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))
Results
AccuracySegmentsBranch
99.0%1
y
99.0%1
x
99.0%1
(sqrt.f64 (+.f64 (*.f64 x x) (*.f64 y y)))
99.0%1
(+.f64 (*.f64 x x) (*.f64 y y))
99.0%1
(*.f64 x x)
99.0%1
(*.f64 y y)
Compiler

Compiled 16 to 23 computations (-43.8% saved)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

derivations60.0ms (3.5%)

Stop Event
fuel
Compiler

Compiled 2 to 3 computations (-50.0% saved)

preprocess28.0ms (1.7%)

Symmetry

(abs x)

(abs y)

(sort x y)

Compiler

Compiled 15 to 36 computations (-140.0% saved)

end0.0ms (0.0%)

gc327ms (19.0%)

Allocations
AllocatedPercentPhase
685.0 MiB37.8%sample
572.9 MiB31.6%rewrite
172.4 MiB9.5%reconstruct
96.2 MiB5.3%series
70.6 MiB3.9%preprocess
69.7 MiB3.8%eval
68.0 MiB3.7%regimes
59.1 MiB3.3%derivations
19.2 MiB1.1%prune
1.1 MiB0.1%analyze
0.2 MiB0.0%bsearch
0.1 MiB0.0%start
0.0 MiB0.0%end
1 814.6 MiB100.0%total

Profiling

Loading profile data...