Linear.Quaternion:$c/ from linear-1.19.1.3, A

Time bar (total: 1.4s)

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 17 to 10 computations (41.2% saved)

sample257.0ms (18.7%)

Samples
184.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 10.0ms
Mul: 5.0ms (52.1% of total, 0.0 MiB)
Add: 4.0ms (41.7% of total, 0.0 MiB)
Bogosity

preprocess44.0ms (3.2%)

Iterations

Useful iterations: 3 (0.0ms)

IterNodesCost
040157
1205133
262293
3150490
4390290
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.4%
%4 = (*.f64 z z)
(+.f64 (+.f64 (+.f64 (*.f64 x y) %4) %4) %4)
Symmetry

(abs z)

(sort x y)

Compiler

Compiled 2 to 16 computations (-700.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series16.0ms (1.1%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0103539
Stop Event
iter-limit
Counts
8 → 28
Calls
Call 1
Inputs
%2 = (*.f64 x y)
%4 = (*.f64 z z)
%5 = (+.f64 %2 %4)
%6 = (+.f64 %5 %4)
x
y
%2
z
%4
%5
%6
(+.f64 %6 %4)
Outputs
%5 = (* x y)
%6 = (*.f64 x y)
%9 = (* z z)
%10 = (+ %5 %9)
%12 = (pow.f64 z #s(literal 2 binary64))
%14 = (fma.f64 x y %12)
%16 = (+ %10 %9)
%21 = (+ %16 %9)
%22 = (fma.f64 #s(literal 2 binary64) %12 %12)
%26 = (/.f64 %12 x)
%57 = (/.f64 %12 y)
%90 = (/.f64 %6 %12)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %5 %6)
(approx %10 %12)
(approx %10 %14)
(approx %16 (*.f64 #s(literal 2 binary64) %12))
(approx %16 (fma.f64 #s(literal 2 binary64) %12 %6))
(approx %21 %22)
(approx %21 (fma.f64 #s(literal 2 binary64) %12 %14))
(approx %10 (*.f64 x (+.f64 y %26)))
(approx %16 (*.f64 x (+.f64 y (*.f64 #s(literal 2 binary64) %26))))
(approx %21 (*.f64 x (+.f64 y (fma.f64 #s(literal 2 binary64) %26 %26))))
(approx %10 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) %26)))))
(approx %16 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -2 binary64) %26 (*.f64 #s(literal -1 binary64) y)))))
(approx %21 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 %22 x))))))
(approx y y)
(approx %10 (*.f64 y (+.f64 x %57)))
(approx %16 (*.f64 y (+.f64 x (*.f64 #s(literal 2 binary64) %57))))
(approx %21 (*.f64 y (+.f64 x (fma.f64 #s(literal 2 binary64) %57 %57))))
(approx %10 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) %57)))))
(approx %16 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -2 binary64) %57 (*.f64 #s(literal -1 binary64) x)))))
(approx %21 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 %22 y))))))
(approx z z)
(approx %21 (fma.f64 #s(literal 3 binary64) %12 %6))
(approx %10 (*.f64 %12 (+.f64 #s(literal 1 binary64) %90)))
(approx %16 (*.f64 %12 (+.f64 #s(literal 2 binary64) %90)))
(approx %21 (*.f64 #s(literal 3 binary64) %12))
(approx %21 (*.f64 %12 (+.f64 #s(literal 3 binary64) %90)))
Calls

9 calls:

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

rewrite70.0ms (5.1%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0842
01342
14338
215034
345634
4135934
0423834
0445431
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
8 → 294
Calls
Call 1
Inputs
%2 = (*.f64 x y)
%4 = (*.f64 z z)
%5 = (+.f64 %2 %4)
%6 = (+.f64 %5 %4)
x
y
%2
z
%4
%5
%6
(+.f64 %6 %4)
Outputs
%2 = (neg.f64 y)
%3 = (neg.f64 x)
%7 = (*.f64 y x)
%14 = (neg.f64 %7)
%17 = (fabs.f64 z)
%18 = (neg.f64 %17)
%19 = (*.f64 %18 #s(literal -1 binary64))
%21 = (*.f64 %17 #s(literal -1 binary64))
%23 = (neg.f64 z)
%24 = (*.f64 %23 #s(literal -1 binary64))
%26 = (*.f64 z #s(literal -1 binary64))
%28 = (*.f64 #s(literal -1 binary64) %18)
%30 = (*.f64 #s(literal -1 binary64) %17)
%32 = (*.f64 #s(literal -1 binary64) %23)
%34 = (*.f64 #s(literal -1 binary64) z)
%36 = (*.f64 %18 #s(literal 1 binary64))
%38 = (*.f64 %23 #s(literal 1 binary64))
%40 = (*.f64 z #s(literal 1 binary64))
%42 = (sqrt.f64 %17)
%43 = (*.f64 %42 %17)
%47 = (+.f64 z z)
%48 = (*.f64 %47 z)
%54 = (*.f64 z z)
%57 = (*.f64 #s(literal 1/2 binary64) %54)
%67 = (*.f64 %54 %54)
%90 = (*.f64 #s(literal -2 binary64) %54)
%106 = (*.f64 %23 z)
%115 = (*.f64 %23 %18)
%118 = (*.f64 z %18)
%121 = (*.f64 %23 %17)
%124 = (*.f64 z %17)
%127 = (*.f64 %18 %23)
%130 = (*.f64 %17 %23)
%133 = (*.f64 %18 z)
%136 = (*.f64 %17 z)
%224 = (fma.f64 z z %7)
%231 = (neg.f64 %224)
%263 = (fma.f64 %47 z %7)
%270 = (neg.f64 %263)
%283 = (fabs.f64 %47)
%284 = (*.f64 %283 %42)
%287 = (*.f64 #s(literal 4 binary64) %54)
%291 = (*.f64 #s(literal -2 binary64) %17)
%295 = (*.f64 %42 %283)
%300 = (*.f64 #s(literal -2 binary64) z)
%333 = (*.f64 #s(literal 3 binary64) z)
%334 = (fma.f64 %333 z %7)
%342 = (*.f64 #s(literal -3 binary64) %54)
%362 = (*.f64 #s(literal 3 binary64) %17)
%364 = (*.f64 #s(literal 3 binary64) %23)
%379 = (*.f64 %333 z)
x
y
(*.f64 %2 %3)
(*.f64 %3 %2)
(*.f64 #s(literal 1 binary64) %7)
%7
(*.f64 x y)
(pow.f64 %7 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %7 #s(literal -1 binary64)))
(neg.f64 %14)
z
(*.f64 %19 %19)
(*.f64 %21 %21)
(*.f64 %24 %24)
(*.f64 %26 %26)
(*.f64 %28 %28)
(*.f64 %30 %30)
(*.f64 %32 %32)
(*.f64 %34 %34)
(*.f64 %36 %36)
(*.f64 %38 %38)
(*.f64 %40 %40)
(*.f64 %43 %42)
(*.f64 %42 %43)
(*.f64 #s(literal 1/2 binary64) %48)
(*.f64 %18 %18)
(*.f64 %48 #s(literal 1/2 binary64))
(*.f64 %17 %17)
(*.f64 %23 %23)
(*.f64 #s(literal 1 binary64) %54)
(*.f64 #s(literal 2 binary64) %57)
(*.f64 %54 #s(literal 1 binary64))
%54
(pow.f64 %36 #s(literal 2 binary64))
(pow.f64 %38 #s(literal 2 binary64))
(pow.f64 %40 #s(literal 2 binary64))
(pow.f64 (pow.f64 z #s(literal 8 binary64)) #s(literal 1/4 binary64))
(pow.f64 %67 #s(literal 1/2 binary64))
(pow.f64 %42 #s(literal 4 binary64))
(pow.f64 %18 #s(literal 2 binary64))
(pow.f64 %17 #s(literal 2 binary64))
(pow.f64 %23 #s(literal 2 binary64))
(pow.f64 %54 #s(literal 1 binary64))
(pow.f64 z #s(literal 2 binary64))
(/.f64 (*.f64 #s(literal -2 binary64) %48) #s(literal -4 binary64))
(/.f64 (*.f64 %48 #s(literal -2 binary64)) #s(literal -4 binary64))
(/.f64 (*.f64 #s(literal 4 binary64) %48) #s(literal 8 binary64))
(/.f64 (*.f64 %48 #s(literal 4 binary64)) #s(literal 8 binary64))
(/.f64 (*.f64 %48 #s(literal 2 binary64)) #s(literal 4 binary64))
(/.f64 (*.f64 #s(literal 2 binary64) %48) #s(literal 4 binary64))
(/.f64 %90 #s(literal -2 binary64))
(/.f64 %48 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) %48))
(/.f64 #s(literal 1 binary64) (pow.f64 %18 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %17 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %23 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %54 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 z #s(literal -2 binary64)))
(/.f64 %54 #s(literal 1 binary64))
(neg.f64 %106)
(fma.f64 #s(literal 1/2 binary64) %54 %57)
(fma.f64 %54 #s(literal 1/2 binary64) %57)
(-.f64 %57 (/.f64 %106 #s(literal 2 binary64)))
(sqrt.f64 (*.f64 %67 #s(literal 1 binary64)))
(sqrt.f64 %67)
(fabs.f64 (neg.f64 %115))
(fabs.f64 (neg.f64 %118))
(fabs.f64 (neg.f64 %121))
(fabs.f64 (neg.f64 %124))
(fabs.f64 (neg.f64 %127))
(fabs.f64 (neg.f64 %130))
(fabs.f64 (neg.f64 %133))
(fabs.f64 (neg.f64 %136))
(fabs.f64 (*.f64 #s(literal -1 binary64) %115))
(fabs.f64 (*.f64 #s(literal -1 binary64) %118))
(fabs.f64 (*.f64 #s(literal -1 binary64) %121))
(fabs.f64 (*.f64 #s(literal -1 binary64) %124))
(fabs.f64 (*.f64 #s(literal -1 binary64) %127))
(fabs.f64 (*.f64 #s(literal -1 binary64) %130))
(fabs.f64 (*.f64 #s(literal -1 binary64) %133))
(fabs.f64 (*.f64 #s(literal -1 binary64) %136))
(fabs.f64 (*.f64 #s(literal -1 binary64) %106))
(fabs.f64 (*.f64 #s(literal -1 binary64) %54))
(fabs.f64 (*.f64 #s(literal 1 binary64) %115))
(fabs.f64 (*.f64 #s(literal 1 binary64) %118))
(fabs.f64 (*.f64 #s(literal 1 binary64) %121))
(fabs.f64 (*.f64 #s(literal 1 binary64) %124))
(fabs.f64 (*.f64 #s(literal 1 binary64) %127))
(fabs.f64 (*.f64 #s(literal 1 binary64) %130))
(fabs.f64 (*.f64 #s(literal 1 binary64) %133))
(fabs.f64 (*.f64 #s(literal 1 binary64) %136))
(fabs.f64 (*.f64 %115 #s(literal -1 binary64)))
(fabs.f64 (*.f64 %115 #s(literal 1 binary64)))
(fabs.f64 (*.f64 %118 #s(literal -1 binary64)))
(fabs.f64 (*.f64 %118 #s(literal 1 binary64)))
(fabs.f64 (*.f64 %121 #s(literal -1 binary64)))
(fabs.f64 (*.f64 %121 #s(literal 1 binary64)))
(fabs.f64 (*.f64 %124 #s(literal -1 binary64)))
(fabs.f64 (*.f64 %124 #s(literal 1 binary64)))
(fabs.f64 (*.f64 %127 #s(literal -1 binary64)))
(fabs.f64 (*.f64 %127 #s(literal 1 binary64)))
(fabs.f64 (*.f64 %130 #s(literal -1 binary64)))
(fabs.f64 (*.f64 %130 #s(literal 1 binary64)))
(fabs.f64 (*.f64 %133 #s(literal -1 binary64)))
(fabs.f64 (*.f64 %133 #s(literal 1 binary64)))
(fabs.f64 (*.f64 %136 #s(literal -1 binary64)))
(fabs.f64 (*.f64 %136 #s(literal 1 binary64)))
(fabs.f64 (*.f64 %106 #s(literal -1 binary64)))
(fabs.f64 (*.f64 %106 #s(literal 1 binary64)))
(fabs.f64 (*.f64 %54 #s(literal -1 binary64)))
(fabs.f64 %115)
(fabs.f64 %118)
(fabs.f64 %121)
(fabs.f64 %124)
(fabs.f64 %127)
(fabs.f64 %130)
(fabs.f64 %133)
(fabs.f64 %136)
(fabs.f64 %106)
(fabs.f64 %54)
(+.f64 %57 %57)
(*.f64 #s(literal 1 binary64) %224)
(pow.f64 %224 #s(literal 1 binary64))
(/.f64 (fma.f64 %7 #s(literal 2 binary64) %48) #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %224 #s(literal -1 binary64)))
(neg.f64 %231)
(fma.f64 %19 %19 %7)
(fma.f64 %21 %21 %7)
(fma.f64 %24 %24 %7)
(fma.f64 %26 %26 %7)
(fma.f64 %28 %28 %7)
(fma.f64 %30 %30 %7)
(fma.f64 %32 %32 %7)
(fma.f64 %34 %34 %7)
(fma.f64 %36 %36 %7)
(fma.f64 %38 %38 %7)
(fma.f64 %40 %40 %7)
(fma.f64 %43 %42 %7)
(fma.f64 %42 %43 %7)
(fma.f64 #s(literal 1/2 binary64) %48 %7)
(fma.f64 %2 %3 %54)
(fma.f64 %3 %2 %54)
(fma.f64 %18 %18 %7)
(fma.f64 %48 #s(literal 1/2 binary64) %7)
(fma.f64 %17 %17 %7)
(fma.f64 %23 %23 %7)
(fma.f64 #s(literal 1 binary64) %54 %7)
(fma.f64 #s(literal 1 binary64) %7 %54)
(fma.f64 #s(literal 2 binary64) %57 %7)
(fma.f64 %54 #s(literal 1 binary64) %7)
%224
(fma.f64 y x %54)
(fma.f64 x y %54)
(-.f64 %54 %14)
(-.f64 %7 %106)
(+.f64 %54 %7)
(+.f64 %7 %54)
(*.f64 #s(literal 1 binary64) %263)
(pow.f64 %263 #s(literal 1 binary64))
(/.f64 (fma.f64 %224 #s(literal 2 binary64) %48) #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %263 #s(literal -1 binary64)))
(neg.f64 %270)
(fma.f64 %19 %19 %224)
(fma.f64 %21 %21 %224)
(fma.f64 %24 %24 %224)
(fma.f64 %26 %26 %224)
(fma.f64 %28 %28 %224)
(fma.f64 %30 %30 %224)
(fma.f64 %32 %32 %224)
(fma.f64 %34 %34 %224)
(fma.f64 %36 %36 %224)
(fma.f64 %38 %38 %224)
(fma.f64 %40 %40 %224)
(fma.f64 %284 %42 %7)
(fma.f64 %43 %42 %224)
(fma.f64 %287 #s(literal 1/2 binary64) %7)
(fma.f64 %57 #s(literal 4 binary64) %7)
(fma.f64 #s(literal 4 binary64) %57 %7)
(fma.f64 %291 %18 %7)
(fma.f64 #s(literal -2 binary64) %106 %7)
(fma.f64 %42 %43 %224)
(fma.f64 %42 %295 %7)
(fma.f64 #s(literal 1/2 binary64) %287 %7)
(fma.f64 #s(literal 1/2 binary64) %48 %224)
(fma.f64 %283 %17 %7)
(fma.f64 %300 %23 %7)
%263
(fma.f64 %2 %3 %48)
(fma.f64 %3 %2 %48)
(fma.f64 %18 %291 %7)
(fma.f64 %18 %18 %224)
(fma.f64 %48 #s(literal 1/2 binary64) %224)
(fma.f64 %48 #s(literal 1 binary64) %7)
(fma.f64 %17 %283 %7)
(fma.f64 %17 %17 %224)
(fma.f64 %23 %300 %7)
(fma.f64 %23 %23 %224)
(fma.f64 #s(literal 1 binary64) %48 %7)
(fma.f64 #s(literal 1 binary64) %224 %54)
(fma.f64 #s(literal 1 binary64) %54 %224)
(fma.f64 #s(literal 1 binary64) %7 %48)
(fma.f64 #s(literal 2 binary64) %57 %224)
(fma.f64 #s(literal 2 binary64) %54 %7)
(fma.f64 %54 #s(literal 1 binary64) %224)
(fma.f64 %54 #s(literal 2 binary64) %7)
(fma.f64 z %47 %7)
(fma.f64 z z %224)
(fma.f64 y x %48)
(fma.f64 x y %48)
(-.f64 %48 %14)
(-.f64 %224 %106)
(-.f64 %54 %231)
(-.f64 %7 %90)
(+.f64 %48 %7)
(+.f64 %224 %54)
(+.f64 %54 %224)
(+.f64 %7 %48)
(*.f64 #s(literal 1 binary64) %334)
(pow.f64 %334 #s(literal 1 binary64))
(/.f64 (fma.f64 %263 #s(literal 2 binary64) %48) #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %334 #s(literal -1 binary64)))
(neg.f64 (-.f64 %342 %7))
(fma.f64 %19 %19 %263)
(fma.f64 %21 %21 %263)
(fma.f64 %24 %24 %263)
(fma.f64 %26 %26 %263)
(fma.f64 %28 %28 %263)
(fma.f64 %30 %30 %263)
(fma.f64 %32 %32 %263)
(fma.f64 %34 %34 %263)
(fma.f64 %36 %36 %263)
(fma.f64 %38 %38 %263)
(fma.f64 %40 %40 %263)
(fma.f64 (*.f64 #s(literal 3 binary64) %18) %18 %7)
(fma.f64 %284 %42 %224)
(fma.f64 %43 %42 %263)
(fma.f64 %287 #s(literal 1/2 binary64) %224)
(fma.f64 %57 #s(literal 4 binary64) %224)
%334
(fma.f64 %362 %17 %7)
(fma.f64 %364 %23 %7)
(fma.f64 #s(literal 4 binary64) %57 %224)
(fma.f64 %291 %18 %224)
(fma.f64 #s(literal 3 binary64) %54 %7)
(fma.f64 #s(literal -2 binary64) %106 %224)
(fma.f64 %42 %43 %263)
(fma.f64 %42 (*.f64 %42 %362) %7)
(fma.f64 %42 %295 %224)
(fma.f64 #s(literal 1/2 binary64) %287 %224)
(fma.f64 #s(literal 1/2 binary64) %48 %263)
(fma.f64 %283 %17 %224)
(fma.f64 %300 %23 %224)
(fma.f64 %47 z %224)
(fma.f64 %2 %3 %379)
(fma.f64 %3 %2 %379)
(fma.f64 %18 (neg.f64 %362) %7)
(fma.f64 %18 %291 %224)
(fma.f64 %18 %18 %263)
(fma.f64 %48 #s(literal 1/2 binary64) %263)
(fma.f64 %48 #s(literal 1 binary64) %224)
(fma.f64 %17 %362 %7)
(fma.f64 %17 %283 %224)
(fma.f64 %17 %17 %263)
(fma.f64 %23 %364 %7)
(fma.f64 %23 %300 %224)
(fma.f64 %23 %23 %263)
(fma.f64 #s(literal 1 binary64) %379 %7)
(fma.f64 #s(literal 1 binary64) %48 %224)
(fma.f64 #s(literal 1 binary64) %263 %54)
(fma.f64 #s(literal 1 binary64) %224 %48)
(fma.f64 #s(literal 1 binary64) %54 %263)
(fma.f64 #s(literal 1 binary64) %7 %379)
(fma.f64 #s(literal 2 binary64) %57 %263)
(fma.f64 #s(literal 2 binary64) %54 %224)
(fma.f64 %54 #s(literal 3 binary64) %7)
(fma.f64 %54 #s(literal 1 binary64) %263)
(fma.f64 %54 #s(literal 2 binary64) %224)
(fma.f64 z %333 %7)
(fma.f64 z %47 %224)
(fma.f64 z z %263)
(fma.f64 y x %379)
(fma.f64 x y %379)
(-.f64 %379 %14)
(-.f64 %48 %231)
(-.f64 %263 %106)
(-.f64 %224 %90)
(-.f64 %54 %270)
(-.f64 %7 %342)
(+.f64 %379 %7)
(+.f64 %48 %224)
(+.f64 %263 %54)
(+.f64 %224 %48)
(+.f64 %54 %263)
(+.f64 %7 %379)

reconstruct25.0ms (1.8%)

Counts
322 → 57
Compiler

Compiled 322 to 481 computations (-49.4% saved)

eval5.0ms (0.4%)

Compiler

Compiled 54 to 190 computations (-251.9% saved)

prune2.0ms (0.1%)

Pruning

6 alts after pruning (6 fresh and 0 done)

PrunedKeptTotal
New48654
Fresh000
Picked101
Done000
Total49655
Accuracy
100.0%
Counts
55 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.8%
(fma.f64 z (*.f64 #s(literal 3 binary64) z) (*.f64 y x))
98.8%
(fma.f64 z z (fma.f64 (+.f64 z z) z (*.f64 y x)))
99.5%
(fma.f64 x y (*.f64 (*.f64 #s(literal 3 binary64) z) z))
98.3%
(fma.f64 #s(literal 3 binary64) (*.f64 z z) (*.f64 y x))
98.4%
(-.f64 (*.f64 y x) (*.f64 #s(literal -3 binary64) (*.f64 z z)))
98.1%
%7 = (pow.f64 (sqrt.f64 (fabs.f64 z)) #s(literal 4 binary64))
(+.f64 (+.f64 (+.f64 (*.f64 x y) %7) %7) %7)
Compiler

Compiled 6 to 25 computations (-316.7% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series27.0ms (2.0%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02461508
Stop Event
iter-limit
Counts
25 → 66
Calls
Call 1
Inputs
%2 = (*.f64 x y)
%4 = (*.f64 z z)
%6 = (*.f64 y x)
%7 = (fabs.f64 z)
%8 = (sqrt.f64 %7)
%9 = (+.f64 z z)
%11 = (pow.f64 %8 #s(literal 4 binary64))
%12 = (fma.f64 %9 z %6)
%13 = (*.f64 #s(literal 3 binary64) z)
%15 = (*.f64 #s(literal -3 binary64) %4)
%17 = (*.f64 %13 z)
%22 = (+.f64 %2 %11)
%23 = (+.f64 %22 %11)
x
y
%2
z
%4
#s(literal 3 binary64)
%6
%7
%8
%9
#s(literal 4 binary64)
%11
%12
%13
#s(literal -3 binary64)
%15
(fma.f64 #s(literal 3 binary64) %4 %6)
%17
(fma.f64 z %13 %6)
(fma.f64 z z %12)
(fma.f64 x y %17)
(-.f64 %6 %15)
%22
%23
(+.f64 %23 %11)
Outputs
%5 = (* x y)
%6 = (*.f64 x y)
%9 = (+ z z)
%11 = (* y x)
%12 = (+ (* %9 z) %11)
%14 = (pow.f64 z #s(literal 2 binary64))
%20 = (* z z)
%22 = (+ (* 3 %20) %11)
%28 = (+ %20 %12)
%29 = (fma.f64 #s(literal 2 binary64) %14 %14)
%35 = (* -3 %20)
%38 = (*.f64 #s(literal -3 binary64) %14)
%41 = (fabs z)
%42 = (sqrt %41)
%44 = (pow %42 4)
%45 = (+ %5 %44)
%46 = (fabs.f64 z)
%47 = (sqrt.f64 %46)
%49 = (pow.f64 %47 #s(literal 4 binary64))
%51 = (fma.f64 x y %49)
%53 = (+ %45 %44)
%58 = (+ %53 %44)
%59 = (fma.f64 #s(literal 2 binary64) %49 %49)
%63 = (/.f64 %14 x)
%76 = (/.f64 %49 x)
%90 = (*.f64 #s(literal -1 binary64) y)
%121 = (/.f64 %14 y)
%134 = (/.f64 %49 y)
%146 = (*.f64 #s(literal -1 binary64) x)
%188 = (fabs.f64 (/.f64 #s(literal 1 binary64) z))
%191 = (sqrt.f64 %188)
%194 = (pow.f64 z #s(literal 4 binary64))
%195 = (pow.f64 %191 #s(literal 4 binary64))
%196 = (*.f64 %194 %195)
%198 = (/.f64 %6 %14)
%205 = (/.f64 %6 %194)
%206 = (+.f64 %205 %195)
%221 = (fabs.f64 (/.f64 #s(literal -1 binary64) z))
%226 = (sqrt.f64 (*.f64 #s(literal -1 binary64) %221))
%230 = (pow.f64 %226 #s(literal 4 binary64))
%231 = (*.f64 %194 %230)
%233 = (+.f64 %205 %230)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %5 %6)
(approx %12 (*.f64 #s(literal 2 binary64) %14))
(approx %12 (fma.f64 #s(literal 2 binary64) %14 %6))
(approx %22 (*.f64 #s(literal 3 binary64) %14))
(approx %22 (fma.f64 #s(literal 3 binary64) %14 %6))
(approx %28 %29)
(approx %28 (fma.f64 #s(literal 2 binary64) %14 (fma.f64 x y %14)))
(approx (- %11 %35) (-.f64 %6 %38))
(approx %45 %49)
(approx %45 %51)
(approx %53 (*.f64 #s(literal 2 binary64) %49))
(approx %53 (fma.f64 #s(literal 2 binary64) %49 %6))
(approx %58 %59)
(approx %58 (fma.f64 #s(literal 2 binary64) %49 %51))
(approx %12 (*.f64 x (+.f64 y (*.f64 #s(literal 2 binary64) %63))))
(approx %22 (*.f64 x (+.f64 y (*.f64 #s(literal 3 binary64) %63))))
(approx %28 (*.f64 x (+.f64 y (fma.f64 #s(literal 2 binary64) %63 %63))))
(approx %45 (*.f64 x (+.f64 y %76)))
(approx %53 (*.f64 x (+.f64 y (*.f64 #s(literal 2 binary64) %76))))
(approx %58 (*.f64 x (+.f64 y (fma.f64 #s(literal 2 binary64) %76 %76))))
(approx %12 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -2 binary64) %63 %90))))
(approx %22 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -3 binary64) %63 %90))))
(approx %28 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 %29 x))))))
(approx %45 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) %76)))))
(approx %53 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -2 binary64) %76 %90))))
(approx %58 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 %59 x))))))
(approx y y)
(approx %12 (*.f64 y (+.f64 x (*.f64 #s(literal 2 binary64) %121))))
(approx %22 (*.f64 y (+.f64 x (*.f64 #s(literal 3 binary64) %121))))
(approx %28 (*.f64 y (+.f64 x (fma.f64 #s(literal 2 binary64) %121 %121))))
(approx %45 (*.f64 y (+.f64 x %134)))
(approx %53 (*.f64 y (+.f64 x (*.f64 #s(literal 2 binary64) %134))))
(approx %58 (*.f64 y (+.f64 x (fma.f64 #s(literal 2 binary64) %134 %134))))
(approx %12 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -2 binary64) %121 %146))))
(approx %22 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -3 binary64) %121 %146))))
(approx %28 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 %29 y))))))
(approx %45 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) %134)))))
(approx %53 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -2 binary64) %134 %146))))
(approx %58 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 %59 y))))))
(approx z z)
(approx %20 %14)
(approx %41 %46)
(approx %42 %47)
(approx %9 (*.f64 #s(literal 2 binary64) z))
(approx (* 3 z) (*.f64 #s(literal 3 binary64) z))
(approx %35 %38)
(approx %41 (*.f64 %14 %188))
(approx %42 (*.f64 z %191))
(approx %44 %196)
(approx %12 (*.f64 %14 (+.f64 #s(literal 2 binary64) %198)))
(approx %22 (*.f64 %14 (+.f64 #s(literal 3 binary64) %198)))
(approx %45 (*.f64 %194 %206))
(approx %53 (*.f64 #s(literal 2 binary64) %196))
(approx %53 (*.f64 %194 (fma.f64 #s(literal 2 binary64) %195 %205)))
(approx %58 (*.f64 %194 (fma.f64 #s(literal 2 binary64) %195 %195)))
(approx %58 (*.f64 %194 (fma.f64 #s(literal 2 binary64) %195 %206)))
(approx %41 (*.f64 #s(literal -1 binary64) (*.f64 %14 %221)))
(approx %42 (*.f64 #s(literal -1 binary64) (*.f64 z %226)))
(approx %44 %231)
(approx %45 (*.f64 %194 %233))
(approx %53 (*.f64 #s(literal 2 binary64) %231))
(approx %53 (*.f64 %194 (fma.f64 #s(literal 2 binary64) %230 %205)))
(approx %58 (*.f64 %194 (fma.f64 #s(literal 2 binary64) %230 %230)))
(approx %58 (*.f64 %194 (fma.f64 #s(literal 2 binary64) %230 %233)))
Calls

9 calls:

TimeVariablePoint
4.0ms
z
inf
4.0ms
x
-inf
2.0ms
z
-inf
2.0ms
y
inf
2.0ms
x
inf

rewrite80.0ms (5.8%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
025138
049111
1143110
2384110
31109110
04122110
04207109
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
25 → 1 403
Calls
Call 1
Inputs
%2 = (*.f64 x y)
%4 = (*.f64 z z)
%6 = (*.f64 y x)
%7 = (fabs.f64 z)
%8 = (sqrt.f64 %7)
%9 = (+.f64 z z)
%11 = (pow.f64 %8 #s(literal 4 binary64))
%12 = (fma.f64 %9 z %6)
%13 = (*.f64 #s(literal 3 binary64) z)
%15 = (*.f64 #s(literal -3 binary64) %4)
%17 = (*.f64 %13 z)
%22 = (+.f64 %2 %11)
%23 = (+.f64 %22 %11)
x
y
%2
z
%4
#s(literal 3 binary64)
%6
%7
%8
%9
#s(literal 4 binary64)
%11
%12
%13
#s(literal -3 binary64)
%15
(fma.f64 #s(literal 3 binary64) %4 %6)
%17
(fma.f64 z %13 %6)
(fma.f64 z z %12)
(fma.f64 x y %17)
(-.f64 %6 %15)
%22
%23
(+.f64 %23 %11)
Outputs
%2 = (neg.f64 x)
%3 = (neg.f64 %2)
%4 = (*.f64 %3 y)
%5 = (neg.f64 y)
%6 = (*.f64 %2 %5)
%7 = (*.f64 %5 %2)
%8 = (*.f64 y %3)
%9 = (*.f64 y x)
%10 = (*.f64 x y)
%12 = (pow.f64 %9 #s(literal 1 binary64))
%13 = (neg.f64 %9)
%14 = (neg.f64 %13)
%16 = (fabs.f64 z)
%17 = (sqrt.f64 %16)
%18 = (*.f64 %17 %16)
%19 = (*.f64 %18 %17)
%20 = (neg.f64 %16)
%21 = (*.f64 %20 %17)
%22 = (neg.f64 %17)
%23 = (*.f64 %21 %22)
%24 = (*.f64 %20 %20)
%25 = (neg.f64 z)
%26 = (*.f64 %25 %25)
%27 = (*.f64 %17 %18)
%28 = (*.f64 %16 %16)
%29 = (*.f64 z z)
%31 = (pow.f64 z #s(literal 8 binary64))
%33 = (pow.f64 %31 #s(literal 1/4 binary64))
%35 = (pow.f64 %20 #s(literal 2 binary64))
%36 = (*.f64 %29 %29)
%38 = (pow.f64 %36 #s(literal 1/2 binary64))
%39 = (pow.f64 %25 #s(literal 2 binary64))
%40 = (pow.f64 %29 #s(literal 1 binary64))
%42 = (pow.f64 %17 #s(literal 4 binary64))
%43 = (pow.f64 %16 #s(literal 2 binary64))
%44 = (pow.f64 z #s(literal 2 binary64))
%47 = (/.f64 #s(literal 1 binary64) (pow.f64 %20 #s(literal -2 binary64)))
%49 = (/.f64 #s(literal 1 binary64) (pow.f64 %25 #s(literal -2 binary64)))
%52 = (/.f64 #s(literal 1 binary64) (pow.f64 %17 #s(literal -4 binary64)))
%54 = (/.f64 #s(literal 1 binary64) (pow.f64 %16 #s(literal -2 binary64)))
%56 = (/.f64 #s(literal 1 binary64) (pow.f64 z #s(literal -2 binary64)))
%57 = (*.f64 %25 z)
%58 = (neg.f64 %57)
%59 = (sqrt.f64 %36)
%61 = (fabs.f64 (*.f64 %20 z))
%63 = (fabs.f64 (*.f64 %25 %16))
%65 = (fabs.f64 (*.f64 z %16))
%67 = (fabs.f64 (*.f64 %16 z))
%68 = (fabs.f64 %57)
%69 = (fabs.f64 %29)
%71 = (sqrt.f64 %18)
%72 = (sqrt.f64 %17)
%74 = (neg.f64 %22)
%98 = (neg.f64 %72)
%113 = (*.f64 z #s(literal 1/2 binary64))
%114 = (*.f64 %113 #s(literal -2 binary64))
%115 = (/.f64 %114 #s(literal 1/4 binary64))
%118 = (/.f64 %114 #s(literal 1 binary64))
%120 = (/.f64 %114 #s(literal 2 binary64))
%122 = (/.f64 %114 #s(literal 4 binary64))
%125 = (*.f64 %113 #s(literal 2 binary64))
%126 = (/.f64 %125 #s(literal 1/4 binary64))
%128 = (/.f64 %125 #s(literal 1 binary64))
%130 = (/.f64 %125 #s(literal 2 binary64))
%132 = (/.f64 %125 #s(literal 4 binary64))
%134 = (*.f64 z #s(literal 1 binary64))
%135 = (/.f64 %134 #s(literal -1/2 binary64))
%138 = (*.f64 #s(literal 4 binary64) z)
%139 = (/.f64 %138 #s(literal 1/4 binary64))
%141 = (/.f64 %134 #s(literal 4 binary64))
%143 = (/.f64 %134 #s(literal 2 binary64))
%145 = (/.f64 %134 #s(literal 1/4 binary64))
%147 = (+.f64 z z)
%148 = (/.f64 %147 #s(literal -1/2 binary64))
%150 = (/.f64 %147 #s(literal 1/4 binary64))
%152 = (/.f64 %147 #s(literal 1/2 binary64))
%154 = (/.f64 %147 #s(literal 4 binary64))
%156 = (/.f64 z #s(literal 1/4 binary64))
%158 = (/.f64 z #s(literal -1 binary64))
%160 = (/.f64 %138 #s(literal -1/2 binary64))
%163 = (/.f64 z #s(literal -4 binary64))
%165 = (/.f64 z #s(literal -2 binary64))
%167 = (/.f64 z #s(literal -1/2 binary64))
%169 = (/.f64 z #s(literal 4 binary64))
%171 = (/.f64 %138 #s(literal 1/2 binary64))
%173 = (/.f64 %134 #s(literal 1 binary64))
%175 = (/.f64 %147 #s(literal 2 binary64))
%177 = (*.f64 #s(literal 2 binary64) %147)
%183 = (*.f64 #s(literal 1/2 binary64) z)
%184 = (/.f64 %183 #s(literal -2 binary64))
%186 = (/.f64 %113 #s(literal -2 binary64))
%189 = (/.f64 %183 #s(literal 4 binary64))
%191 = (/.f64 %113 #s(literal 4 binary64))
%193 = (*.f64 #s(literal -4 binary64) z)
%195 = (*.f64 #s(literal 1 binary64) z)
%196 = (/.f64 %195 #s(literal 4 binary64))
%199 = (/.f64 %183 #s(literal 2 binary64))
%201 = (/.f64 %113 #s(literal 2 binary64))
%206 = (*.f64 #s(literal -2 binary64) z)
%208 = (/.f64 %147 #s(literal -2 binary64))
%212 = (/.f64 %195 #s(literal -2 binary64))
%214 = (/.f64 %134 #s(literal -2 binary64))
%219 = (/.f64 %113 #s(literal 1/4 binary64))
%222 = (/.f64 %195 #s(literal 1/4 binary64))
%227 = (/.f64 %183 #s(literal 1/2 binary64))
%229 = (/.f64 %113 #s(literal 1/2 binary64))
%232 = (/.f64 %195 #s(literal 1 binary64))
%238 = (/.f64 %195 #s(literal 2 binary64))
%241 = (/.f64 %183 #s(literal 1 binary64))
%243 = (/.f64 %113 #s(literal 1 binary64))
%401 = (*.f64 #s(literal -2 binary64) %195)
%403 = (*.f64 #s(literal -4 binary64) %183)
%405 = (*.f64 %206 #s(literal 1 binary64))
%414 = (neg.f64 %134)
%418 = (/.f64 %25 #s(literal 1 binary64))
%426 = (fma.f64 %147 z %9)
%427 = (pow.f64 %426 #s(literal 1 binary64))
%428 = (*.f64 z %138)
%430 = (/.f64 (fma.f64 %9 #s(literal 2 binary64) %428) #s(literal 2 binary64))
%431 = (*.f64 #s(literal -4 binary64) %29)
%433 = (/.f64 (fma.f64 %9 #s(literal -2 binary64) %431) #s(literal -2 binary64))
%434 = (*.f64 #s(literal 4 binary64) %29)
%436 = (/.f64 (fma.f64 %9 #s(literal 2 binary64) %434) #s(literal 2 binary64))
%437 = (*.f64 %138 z)
%439 = (/.f64 (fma.f64 %9 #s(literal 2 binary64) %437) #s(literal 2 binary64))
%441 = (*.f64 %25 %138)
%443 = (/.f64 (-.f64 (*.f64 %9 #s(literal 2 binary64)) %441) #s(literal 2 binary64))
%444 = (neg.f64 %426)
%445 = (neg.f64 %444)
%446 = (fma.f64 %158 %206 %9)
%447 = (fma.f64 %163 %160 %9)
%448 = (/.f64 %138 #s(literal -1 binary64))
%449 = (fma.f64 %448 %165 %9)
%450 = (fma.f64 %169 %171 %9)
%451 = (fma.f64 %171 %169 %9)
%452 = (fma.f64 z z %9)
%453 = (fma.f64 %18 %17 %452)
%454 = (*.f64 #s(literal 2 binary64) %20)
%455 = (fma.f64 %454 %20 %9)
%456 = (*.f64 #s(literal 2 binary64) %16)
%457 = (fma.f64 %456 %16 %9)
%458 = (fma.f64 %21 %22 %452)
%459 = (fma.f64 %428 #s(literal 1/2 binary64) %9)
%460 = (fma.f64 %431 #s(literal -1/2 binary64) %9)
%461 = (fma.f64 %434 #s(literal 1/2 binary64) %9)
%462 = (fma.f64 %437 #s(literal 1/2 binary64) %9)
%463 = (fma.f64 %177 %113 %9)
%464 = (fma.f64 %114 %167 %9)
%465 = (fma.f64 %125 %147 %9)
%466 = (*.f64 %147 z)
%467 = (fma.f64 %3 y %466)
%468 = (fma.f64 %113 %177 %9)
%469 = (fma.f64 %134 %147 %9)
%470 = (/.f64 %29 #s(literal 4 binary64))
%471 = (fma.f64 #s(literal 8 binary64) %470 %9)
%472 = (/.f64 %29 #s(literal -1/2 binary64))
%473 = (fma.f64 #s(literal -1 binary64) %472 %9)
%474 = (fma.f64 %206 %25 %9)
%475 = (fma.f64 %2 %5 %466)
%476 = (/.f64 %29 #s(literal -1 binary64))
%477 = (fma.f64 #s(literal -2 binary64) %476 %9)
%478 = (fma.f64 #s(literal -2 binary64) %57 %9)
%479 = (/.f64 %29 #s(literal -2 binary64))
%480 = (fma.f64 #s(literal -4 binary64) %479 %9)
%481 = (+.f64 %16 %16)
%482 = (neg.f64 %481)
%483 = (fma.f64 %20 %482 %9)
%484 = (fma.f64 %20 %20 %452)
%485 = (fma.f64 %5 %2 %466)
%486 = (fma.f64 %57 #s(literal -2 binary64) %9)
%487 = (fma.f64 %25 %206 %9)
%488 = (fma.f64 %25 %25 %452)
%489 = (fma.f64 #s(literal 1 binary64) %466 %9)
%490 = (/.f64 %29 #s(literal 1 binary64))
%491 = (fma.f64 #s(literal 2 binary64) %490 %9)
%492 = (*.f64 #s(literal 1 binary64) %29)
%493 = (fma.f64 #s(literal 2 binary64) %492 %9)
%494 = (fma.f64 #s(literal 2 binary64) %29 %9)
%495 = (fma.f64 %29 #s(literal 2 binary64) %9)
%496 = (/.f64 %29 #s(literal 2 binary64))
%497 = (fma.f64 #s(literal 4 binary64) %496 %9)
%498 = (*.f64 #s(literal 1/2 binary64) %29)
%499 = (fma.f64 #s(literal 4 binary64) %498 %9)
%500 = (fma.f64 %147 %125 %9)
%501 = (fma.f64 %147 %134 %9)
%502 = (fma.f64 %17 %18 %452)
%503 = (fma.f64 %16 %481 %9)
%504 = (fma.f64 %16 %16 %452)
%505 = (fma.f64 z %147 %9)
%506 = (fma.f64 z z %452)
%507 = (fma.f64 y %3 %466)
%508 = (fma.f64 y x %466)
%509 = (fma.f64 x y %466)
%511 = (*.f64 (neg.f64 %3) y)
%512 = (-.f64 %466 %511)
%513 = (-.f64 %466 %13)
%514 = (*.f64 %22 %18)
%515 = (-.f64 %452 %514)
%516 = (-.f64 %452 %57)
%517 = (neg.f64 %452)
%518 = (-.f64 %29 %517)
%520 = (*.f64 (neg.f64 %454) %20)
%521 = (-.f64 %9 %520)
%522 = (*.f64 #s(literal -1 binary64) %466)
%523 = (-.f64 %9 %522)
%524 = (*.f64 #s(literal -2 binary64) %492)
%525 = (-.f64 %9 %524)
%526 = (*.f64 #s(literal -4 binary64) %498)
%527 = (-.f64 %9 %526)
%528 = (*.f64 %20 %481)
%529 = (-.f64 %9 %528)
%530 = (*.f64 #s(literal -2 binary64) %29)
%531 = (-.f64 %9 %530)
%532 = (+.f64 %466 %9)
%534 = (*.f64 (neg.f64 %21) %17)
%535 = (+.f64 %452 %534)
%536 = (+.f64 %452 %29)
%537 = (+.f64 %29 %452)
%538 = (+.f64 %9 %466)
%539 = (fma.f64 #s(literal 2 binary64) z %138)
%544 = (*.f64 #s(literal 3 binary64) z)
%561 = (*.f64 #s(literal -3 binary64) z)
%659 = (*.f64 %16 #s(literal 3 binary64))
%660 = (*.f64 %659 %17)
%662 = (*.f64 #s(literal -3 binary64) %16)
%663 = (*.f64 %662 %17)
%668 = (*.f64 %561 z)
%674 = (*.f64 %17 %662)
%690 = (*.f64 %544 z)
%692 = (/.f64 %25 #s(literal -4 binary64))
%697 = (/.f64 %25 #s(literal 2 binary64))
%700 = (/.f64 %25 #s(literal 4 binary64))
%729 = (neg.f64 %482)
%750 = (neg.f64 %492)
%757 = (neg.f64 %498)
%795 = (fma.f64 %544 z %9)
%796 = (pow.f64 %795 #s(literal 1 binary64))
%798 = (/.f64 (fma.f64 %452 #s(literal 2 binary64) %428) #s(literal 2 binary64))
%800 = (/.f64 (fma.f64 %452 #s(literal -2 binary64) %431) #s(literal -2 binary64))
%802 = (/.f64 (fma.f64 %452 #s(literal 2 binary64) %434) #s(literal 2 binary64))
%804 = (/.f64 (fma.f64 %452 #s(literal 2 binary64) %437) #s(literal 2 binary64))
%807 = (/.f64 (-.f64 (*.f64 %452 #s(literal 2 binary64)) %441) #s(literal 2 binary64))
%809 = (neg.f64 (-.f64 %668 %9))
%810 = (fma.f64 %158 %206 %452)
%811 = (fma.f64 %163 %160 %452)
%812 = (fma.f64 %448 %165 %452)
%813 = (fma.f64 %169 %171 %452)
%814 = (fma.f64 %171 %169 %452)
%815 = (fma.f64 %660 %17 %9)
%816 = (fma.f64 %18 %17 %426)
%817 = (fma.f64 %663 %22 %9)
%818 = (fma.f64 %454 %20 %452)
%819 = (fma.f64 %456 %16 %452)
%820 = (fma.f64 %21 %22 %426)
%821 = (fma.f64 %428 #s(literal 1/2 binary64) %452)
%822 = (fma.f64 %431 #s(literal -1/2 binary64) %452)
%823 = (fma.f64 %434 #s(literal 1/2 binary64) %452)
%824 = (fma.f64 %437 #s(literal 1/2 binary64) %452)
%825 = (fma.f64 %177 %113 %452)
%826 = (fma.f64 %114 %167 %452)
%827 = (fma.f64 %125 %147 %452)
%828 = (*.f64 %22 %674)
%829 = (fma.f64 %3 y %828)
%830 = (fma.f64 %3 y %690)
%831 = (fma.f64 %113 %177 %452)
%832 = (fma.f64 %134 %147 %452)
%833 = (fma.f64 #s(literal 8 binary64) %470 %452)
%834 = (fma.f64 #s(literal -1 binary64) %472 %452)
%835 = (fma.f64 %662 %20 %9)
%836 = (fma.f64 %659 %16 %9)
%837 = (fma.f64 %206 %25 %452)
%838 = (fma.f64 %2 %5 %828)
%839 = (fma.f64 %2 %5 %690)
%840 = (fma.f64 #s(literal -2 binary64) %476 %452)
%841 = (fma.f64 #s(literal -2 binary64) %57 %452)
%842 = (fma.f64 #s(literal -4 binary64) %479 %452)
%843 = (fma.f64 %20 %482 %452)
%844 = (fma.f64 %20 %662 %9)
%845 = (fma.f64 %20 %20 %426)
%846 = (fma.f64 %561 %25 %9)
%847 = (fma.f64 %5 %2 %828)
%848 = (fma.f64 %5 %2 %690)
%849 = (fma.f64 %57 #s(literal -2 binary64) %452)
%850 = (fma.f64 %57 #s(literal -3 binary64) %9)
%851 = (fma.f64 %25 %206 %452)
%852 = (fma.f64 %25 %561 %9)
%853 = (fma.f64 %25 %25 %426)
%854 = (fma.f64 #s(literal 1 binary64) %466 %452)
%855 = (fma.f64 #s(literal 2 binary64) %490 %452)
%856 = (fma.f64 #s(literal 2 binary64) %492 %452)
%857 = (fma.f64 #s(literal 2 binary64) %29 %452)
%858 = (fma.f64 #s(literal -3 binary64) %57 %9)
%859 = (fma.f64 %29 #s(literal 2 binary64) %452)
%860 = (fma.f64 %29 #s(literal 3 binary64) %9)
%861 = (fma.f64 #s(literal 4 binary64) %496 %452)
%862 = (fma.f64 #s(literal 4 binary64) %498 %452)
%863 = (fma.f64 %147 %125 %452)
%864 = (fma.f64 %147 %134 %452)
%865 = (fma.f64 %147 z %452)
%866 = (fma.f64 %17 %18 %426)
%867 = (*.f64 %17 %659)
%868 = (fma.f64 %17 %867 %9)
%869 = (fma.f64 %16 %481 %452)
%870 = (fma.f64 %16 %659 %9)
%871 = (fma.f64 %16 %16 %426)
%872 = (fma.f64 #s(literal 3 binary64) %29 %9)
%873 = (fma.f64 z %544 %9)
%874 = (fma.f64 z %147 %452)
%875 = (fma.f64 z z %426)
%876 = (fma.f64 y %3 %828)
%877 = (fma.f64 y %3 %690)
%878 = (fma.f64 y x %828)
%879 = (fma.f64 y x %690)
%880 = (fma.f64 x y %828)
%881 = (fma.f64 x y %690)
%882 = (-.f64 %466 %517)
%883 = (-.f64 %690 %511)
%884 = (-.f64 %690 %13)
%885 = (-.f64 %452 %520)
%886 = (-.f64 %452 %522)
%887 = (-.f64 %452 %524)
%888 = (-.f64 %452 %526)
%889 = (-.f64 %452 %528)
%890 = (-.f64 %452 %530)
%891 = (-.f64 %426 %514)
%892 = (-.f64 %426 %57)
%893 = (-.f64 %29 %444)
%895 = (-.f64 %9 (*.f64 %22 %867))
%896 = (-.f64 %9 %668)
%897 = (+.f64 %466 %452)
%898 = (+.f64 %690 %9)
%899 = (+.f64 %452 %466)
%900 = (+.f64 %426 %534)
%901 = (+.f64 %426 %29)
%902 = (+.f64 %29 %426)
%903 = (+.f64 %9 %828)
%904 = (+.f64 %9 %690)
x
y
%4
%6
%7
%8
%9
%10
%12
%14
z
%19
%23
%24
%26
%27
%28
%29
%33
%35
%38
%39
%40
%42
%43
%44
%47
%49
%52
%54
%56
%58
%59
%61
%63
%65
%67
%68
%69
#s(literal 3 binary64)
%4
%6
%7
%8
%9
%10
%12
%14
(*.f64 %71 %72)
(*.f64 %74 %74)
(*.f64 %72 %71)
(*.f64 %22 %22)
(*.f64 %17 %74)
(*.f64 %17 %17)
(pow.f64 %31 #s(literal 1/8 binary64))
(pow.f64 %22 #s(literal 2 binary64))
(pow.f64 %36 #s(literal 1/4 binary64))
(pow.f64 %29 #s(literal 1/2 binary64))
(pow.f64 %17 #s(literal 2 binary64))
(pow.f64 %16 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %17 #s(literal -2 binary64)))
(neg.f64 %20)
(sqrt.f64 %29)
(fabs.f64 (*.f64 %74 %22))
(fabs.f64 (*.f64 %74 %17))
(fabs.f64 %20)
(fabs.f64 %25)
(fabs.f64 %16)
%16
(*.f64 %98 %98)
(*.f64 %72 %72)
(pow.f64 %31 #s(literal 1/16 binary64))
(pow.f64 %72 #s(literal 2 binary64))
(pow.f64 %36 #s(literal 1/8 binary64))
(pow.f64 %29 #s(literal 1/4 binary64))
(pow.f64 %17 #s(literal 1 binary64))
(pow.f64 %16 #s(literal 1/2 binary64))
%17
(fabs.f64 (neg.f64 %74))
(fabs.f64 %74)
(fabs.f64 %22)
(fabs.f64 %17)
(*.f64 %115 #s(literal -1/2 binary64))
(*.f64 %118 #s(literal -2 binary64))
(*.f64 %120 #s(literal -4 binary64))
(*.f64 %122 #s(literal -8 binary64))
(*.f64 %126 #s(literal 1/2 binary64))
(*.f64 %128 #s(literal 2 binary64))
(*.f64 %130 #s(literal 4 binary64))
(*.f64 %132 #s(literal 8 binary64))
(*.f64 %135 #s(literal -1 binary64))
(*.f64 %139 #s(literal 1/8 binary64))
(*.f64 %141 #s(literal 8 binary64))
(*.f64 %143 #s(literal 4 binary64))
(*.f64 %145 #s(literal 1/2 binary64))
(*.f64 %148 #s(literal -1/2 binary64))
(*.f64 %150 #s(literal 1/4 binary64))
(*.f64 %152 #s(literal 1/2 binary64))
(*.f64 %154 #s(literal 4 binary64))
(*.f64 %156 #s(literal 1/2 binary64))
(*.f64 %158 #s(literal -2 binary64))
(*.f64 %160 #s(literal -1/4 binary64))
(*.f64 %163 #s(literal -8 binary64))
(*.f64 %165 #s(literal -4 binary64))
(*.f64 %167 #s(literal -1 binary64))
(*.f64 %169 #s(literal 8 binary64))
(*.f64 %171 #s(literal 1/4 binary64))
(*.f64 %173 #s(literal 2 binary64))
(*.f64 %175 #s(literal 2 binary64))
(*.f64 %177 #s(literal 1/2 binary64))
(*.f64 %114 #s(literal -2 binary64))
(*.f64 %125 #s(literal 2 binary64))
(*.f64 %113 #s(literal 4 binary64))
(*.f64 %134 #s(literal 2 binary64))
(*.f64 #s(literal -8 binary64) %184)
(*.f64 #s(literal -8 binary64) %186)
(*.f64 #s(literal 16 binary64) %189)
(*.f64 #s(literal 16 binary64) %191)
(*.f64 %193 #s(literal -1/2 binary64))
(*.f64 #s(literal 8 binary64) %196)
(*.f64 #s(literal 8 binary64) %141)
(*.f64 #s(literal 8 binary64) %199)
(*.f64 #s(literal 8 binary64) %201)
(*.f64 #s(literal 8 binary64) %169)
(*.f64 #s(literal -1 binary64) %167)
(*.f64 %138 #s(literal 1/2 binary64))
(*.f64 %206 #s(literal -1 binary64))
(*.f64 #s(literal -2 binary64) %208)
(*.f64 #s(literal -2 binary64) %158)
(*.f64 #s(literal -2 binary64) %25)
(*.f64 #s(literal -4 binary64) %212)
(*.f64 #s(literal -4 binary64) %214)
(*.f64 #s(literal -4 binary64) %165)
(*.f64 #s(literal 1/4 binary64) %150)
(*.f64 %25 #s(literal -2 binary64))
(*.f64 #s(literal 1 binary64) %219)
(*.f64 #s(literal 1 binary64) %147)
(*.f64 #s(literal 1/2 binary64) %222)
(*.f64 #s(literal 1/2 binary64) %145)
(*.f64 #s(literal 1/2 binary64) %152)
(*.f64 #s(literal 1/2 binary64) %156)
(*.f64 #s(literal 2 binary64) %227)
(*.f64 #s(literal 2 binary64) %229)
(*.f64 #s(literal 2 binary64) %173)
(*.f64 #s(literal 2 binary64) %232)
(*.f64 #s(literal 2 binary64) %175)
(*.f64 #s(literal 2 binary64) %195)
(*.f64 #s(literal 2 binary64) %134)
(*.f64 #s(literal 2 binary64) z)
(*.f64 #s(literal 4 binary64) %238)
(*.f64 #s(literal 4 binary64) %143)
(*.f64 #s(literal 4 binary64) %241)
(*.f64 #s(literal 4 binary64) %243)
(*.f64 #s(literal 4 binary64) %154)
(*.f64 #s(literal 4 binary64) %183)
(*.f64 #s(literal 4 binary64) %113)
(*.f64 %147 #s(literal 1 binary64))
(*.f64 z #s(literal 2 binary64))
(pow.f64 %147 #s(literal 1 binary64))
(/.f64 (*.f64 %138 #s(literal 32 binary64)) #s(literal 64 binary64))
(/.f64 (*.f64 %138 #s(literal -8 binary64)) #s(literal -16 binary64))
(/.f64 (*.f64 %138 #s(literal -16 binary64)) #s(literal -32 binary64))
(/.f64 (*.f64 %138 #s(literal 16 binary64)) #s(literal 32 binary64))
(/.f64 (*.f64 %138 #s(literal 8 binary64)) #s(literal 16 binary64))
(/.f64 (*.f64 #s(literal -2 binary64) %177) #s(literal -4 binary64))
(/.f64 (*.f64 #s(literal -2 binary64) %125) #s(literal -1 binary64))
(/.f64 (*.f64 #s(literal -2 binary64) %193) #s(literal 4 binary64))
(/.f64 (*.f64 #s(literal -2 binary64) %138) #s(literal -4 binary64))
(/.f64 (*.f64 #s(literal -2 binary64) %147) #s(literal -2 binary64))
(/.f64 (*.f64 #s(literal -4 binary64) %177) #s(literal -8 binary64))
(/.f64 (*.f64 #s(literal -4 binary64) %125) #s(literal -2 binary64))
(/.f64 (*.f64 #s(literal -4 binary64) %193) #s(literal 8 binary64))
(/.f64 (*.f64 #s(literal -4 binary64) %138) #s(literal -8 binary64))
(/.f64 (*.f64 #s(literal -4 binary64) %147) #s(literal -4 binary64))
(/.f64 (*.f64 #s(literal 1 binary64) %177) #s(literal 2 binary64))
(/.f64 (*.f64 #s(literal 1 binary64) %125) #s(literal 1/2 binary64))
(/.f64 (*.f64 #s(literal 1 binary64) %193) #s(literal -2 binary64))
(/.f64 (*.f64 #s(literal 1 binary64) %138) #s(literal 2 binary64))
(/.f64 (*.f64 #s(literal 1/2 binary64) %177) #s(literal 1 binary64))
(/.f64 (*.f64 #s(literal 1/2 binary64) %125) #s(literal 1/4 binary64))
(/.f64 (*.f64 #s(literal 1/2 binary64) %193) #s(literal -1 binary64))
(/.f64 (*.f64 #s(literal 1/2 binary64) %138) #s(literal 1 binary64))
(/.f64 (*.f64 #s(literal 1/2 binary64) %147) #s(literal 1/2 binary64))
(/.f64 (*.f64 #s(literal 2 binary64) %177) #s(literal 4 binary64))
(/.f64 (*.f64 #s(literal 2 binary64) %125) #s(literal 1 binary64))
(/.f64 (*.f64 #s(literal 2 binary64) %193) #s(literal -4 binary64))
(/.f64 (*.f64 #s(literal 2 binary64) %138) #s(literal 4 binary64))
(/.f64 (*.f64 #s(literal 4 binary64) %177) #s(literal 8 binary64))
(/.f64 (*.f64 #s(literal 4 binary64) %125) #s(literal 2 binary64))
(/.f64 (*.f64 #s(literal 4 binary64) %193) #s(literal -8 binary64))
(/.f64 (*.f64 #s(literal 4 binary64) %138) #s(literal 8 binary64))
(/.f64 (*.f64 #s(literal 4 binary64) %147) #s(literal 4 binary64))
(/.f64 (*.f64 #s(literal 32 binary64) z) #s(literal 16 binary64))
(/.f64 (*.f64 #s(literal -8 binary64) z) #s(literal -4 binary64))
(/.f64 (*.f64 #s(literal -16 binary64) z) #s(literal -8 binary64))
(/.f64 (*.f64 #s(literal 16 binary64) z) #s(literal 8 binary64))
(/.f64 (*.f64 #s(literal 8 binary64) z) #s(literal 4 binary64))
(/.f64 (*.f64 %177 #s(literal -2 binary64)) #s(literal -4 binary64))
(/.f64 (*.f64 %177 #s(literal -4 binary64)) #s(literal -8 binary64))
(/.f64 (*.f64 %177 #s(literal 1 binary64)) #s(literal 2 binary64))
(/.f64 (*.f64 %177 #s(literal 2 binary64)) #s(literal 4 binary64))
(/.f64 (*.f64 %177 #s(literal 4 binary64)) #s(literal 8 binary64))
(/.f64 (*.f64 %125 #s(literal -4 binary64)) #s(literal -2 binary64))
(/.f64 (*.f64 %125 #s(literal 1 binary64)) #s(literal 1/2 binary64))
(/.f64 (*.f64 %125 #s(literal 1/2 binary64)) #s(literal 1/4 binary64))
(/.f64 (*.f64 %125 #s(literal 4 binary64)) #s(literal 2 binary64))
(/.f64 (*.f64 %193 #s(literal -2 binary64)) #s(literal 4 binary64))
(/.f64 (*.f64 %193 #s(literal -4 binary64)) #s(literal 8 binary64))
(/.f64 (*.f64 %193 #s(literal 1 binary64)) #s(literal -2 binary64))
(/.f64 (*.f64 %193 #s(literal 2 binary64)) #s(literal -4 binary64))
(/.f64 (*.f64 %193 #s(literal 4 binary64)) #s(literal -8 binary64))
(/.f64 (*.f64 %138 #s(literal -2 binary64)) #s(literal -4 binary64))
(/.f64 (*.f64 %138 #s(literal -4 binary64)) #s(literal -8 binary64))
(/.f64 (*.f64 %138 #s(literal 2 binary64)) #s(literal 4 binary64))
(/.f64 (*.f64 %138 #s(literal 4 binary64)) #s(literal 8 binary64))
(/.f64 (*.f64 %147 #s(literal -2 binary64)) #s(literal -2 binary64))
(/.f64 (*.f64 %147 #s(literal -4 binary64)) #s(literal -4 binary64))
(/.f64 (*.f64 %147 #s(literal 1/2 binary64)) #s(literal 1/2 binary64))
(/.f64 (*.f64 %147 #s(literal 4 binary64)) #s(literal 4 binary64))
(/.f64 (neg.f64 %177) #s(literal -2 binary64))
(/.f64 %183 #s(literal 1/4 binary64))
(/.f64 %177 #s(literal 2 binary64))
(/.f64 %114 #s(literal -1/2 binary64))
(/.f64 %125 #s(literal 1/2 binary64))
(/.f64 %195 #s(literal 1/2 binary64))
(/.f64 %134 #s(literal 1/2 binary64))
(/.f64 %193 #s(literal -2 binary64))
(/.f64 %138 #s(literal 2 binary64))
(/.f64 %206 #s(literal -1 binary64))
(/.f64 %25 #s(literal -1/2 binary64))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) %177))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1/2 binary64) %125))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal -2 binary64) %193))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1 binary64) %147))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 1/2 binary64) z))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) %138))
(/.f64 %147 #s(literal 1 binary64))
(/.f64 z #s(literal 1/2 binary64))
(neg.f64 %401)
(neg.f64 %403)
(neg.f64 %405)
(neg.f64 %206)
(fma.f64 #s(literal 1 binary64) z %195)
(fma.f64 z #s(literal 1 binary64) %134)
(-.f64 %195 (*.f64 #s(literal -1 binary64) z))
(-.f64 %195 (neg.f64 %195))
(-.f64 %134 %414)
(-.f64 %134 (*.f64 %25 #s(literal 1 binary64)))
(-.f64 %134 %418)
(-.f64 z %25)
(+.f64 %173 %173)
(+.f64 %232 %232)
(+.f64 %195 %195)
(+.f64 %134 %134)
(+.f64 z %173)
%147
#s(literal 4 binary64)
%19
%23
%24
%26
%27
%28
%29
%33
%35
%38
%39
%40
%42
%43
%44
%47
%49
%52
%54
%56
%58
%59
%61
%63
%65
%67
%68
%69
%427
%430
%433
%436
%439
%443
%445
%446
%447
%449
%450
%451
%453
%455
%457
%458
%459
%460
%461
%462
%463
%464
%465
%467
%468
%469
%471
%473
%474
%475
%477
%478
%480
%483
%484
%485
%486
%487
%488
%489
%491
%493
%494
%495
%497
%499
%500
%501
%426
%502
%503
%504
%505
%506
%507
%508
%509
%512
%513
%515
%516
%518
%521
%523
%525
%527
%529
%531
%532
%535
%536
%537
%538
(*.f64 %539 #s(literal 1/2 binary64))
(*.f64 %25 #s(literal -3 binary64))
(*.f64 #s(literal -3 binary64) %25)
%544
(*.f64 z #s(literal 3 binary64))
(pow.f64 %544 #s(literal 1 binary64))
(/.f64 (fma.f64 #s(literal 2 binary64) z %177) #s(literal 2 binary64))
(/.f64 (fma.f64 z #s(literal 1/2 binary64) %125) #s(literal 1/2 binary64))
(/.f64 (fma.f64 #s(literal -2 binary64) z %193) #s(literal -2 binary64))
(/.f64 (-.f64 %206 %138) #s(literal -2 binary64))
(/.f64 (neg.f64 %539) #s(literal -2 binary64))
(/.f64 %539 #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (/.f64 #s(literal 2 binary64) %539))
(/.f64 %544 #s(literal 1 binary64))
(neg.f64 %561)
(fma.f64 %115 #s(literal -1/2 binary64) z)
(fma.f64 %118 #s(literal -2 binary64) z)
(fma.f64 %120 #s(literal -4 binary64) z)
(fma.f64 %122 #s(literal -8 binary64) z)
(fma.f64 %126 #s(literal 1/2 binary64) z)
(fma.f64 %128 #s(literal 2 binary64) z)
(fma.f64 %130 #s(literal 4 binary64) z)
(fma.f64 %132 #s(literal 8 binary64) z)
(fma.f64 %135 #s(literal -1 binary64) z)
(fma.f64 %139 #s(literal 1/8 binary64) z)
(fma.f64 %141 #s(literal 8 binary64) z)
(fma.f64 %143 #s(literal 4 binary64) z)
(fma.f64 %145 #s(literal 1/2 binary64) z)
(fma.f64 %148 #s(literal -1/2 binary64) z)
(fma.f64 %150 #s(literal 1/4 binary64) z)
(fma.f64 %152 #s(literal 1/2 binary64) z)
(fma.f64 %154 #s(literal 4 binary64) z)
(fma.f64 %156 #s(literal 1/2 binary64) z)
(fma.f64 %158 #s(literal -2 binary64) z)
(fma.f64 %160 #s(literal -1/4 binary64) z)
(fma.f64 %163 #s(literal -8 binary64) z)
(fma.f64 %165 #s(literal -4 binary64) z)
(fma.f64 %167 #s(literal -1 binary64) z)
(fma.f64 %169 #s(literal 8 binary64) z)
(fma.f64 %169 #s(literal 4 binary64) %147)
(fma.f64 %171 #s(literal 1/4 binary64) z)
(fma.f64 %173 #s(literal 2 binary64) z)
(fma.f64 %175 #s(literal 2 binary64) z)
(fma.f64 %177 #s(literal 1/2 binary64) z)
(fma.f64 %114 #s(literal -2 binary64) z)
(fma.f64 %125 #s(literal 2 binary64) z)
(fma.f64 %113 #s(literal 2 binary64) %147)
(fma.f64 %113 #s(literal 4 binary64) z)
(fma.f64 %134 #s(literal 1 binary64) %147)
(fma.f64 %134 #s(literal 2 binary64) z)
(fma.f64 #s(literal -8 binary64) %184 z)
(fma.f64 #s(literal -8 binary64) %186 z)
(fma.f64 #s(literal 16 binary64) %189 z)
(fma.f64 #s(literal 16 binary64) %191 z)
(fma.f64 %193 #s(literal -1/2 binary64) z)
(fma.f64 #s(literal 8 binary64) %196 z)
(fma.f64 #s(literal 8 binary64) %141 z)
(fma.f64 #s(literal 8 binary64) %199 z)
(fma.f64 #s(literal 8 binary64) %201 z)
(fma.f64 #s(literal 8 binary64) %169 z)
(fma.f64 #s(literal -1 binary64) %167 z)
(fma.f64 %138 #s(literal 1/4 binary64) %147)
(fma.f64 %138 #s(literal 1/2 binary64) z)
(fma.f64 %206 #s(literal -1 binary64) z)
(fma.f64 #s(literal -2 binary64) %208 z)
(fma.f64 #s(literal -2 binary64) %158 z)
(fma.f64 #s(literal -2 binary64) %25 z)
(fma.f64 #s(literal -4 binary64) %212 z)
(fma.f64 #s(literal -4 binary64) %214 z)
(fma.f64 #s(literal -4 binary64) %165 z)
(fma.f64 #s(literal 1/4 binary64) %150 z)
(fma.f64 %25 #s(literal -2 binary64) z)
(fma.f64 #s(literal 1 binary64) %219 z)
(fma.f64 #s(literal 1 binary64) %134 %147)
(fma.f64 #s(literal 1 binary64) %147 z)
(fma.f64 #s(literal 1/2 binary64) %222 z)
(fma.f64 #s(literal 1/2 binary64) %145 z)
(fma.f64 #s(literal 1/2 binary64) %152 z)
(fma.f64 #s(literal 1/2 binary64) %156 z)
(fma.f64 #s(literal 2 binary64) %227 z)
(fma.f64 #s(literal 2 binary64) %229 z)
(fma.f64 #s(literal 2 binary64) %173 z)
(fma.f64 #s(literal 2 binary64) %232 z)
(fma.f64 #s(literal 2 binary64) %175 z)
(fma.f64 #s(literal 2 binary64) %195 z)
(fma.f64 #s(literal 2 binary64) %113 %147)
(fma.f64 #s(literal 2 binary64) %134 z)
(fma.f64 #s(literal 2 binary64) z z)
(fma.f64 #s(literal 4 binary64) %238 z)
(fma.f64 #s(literal 4 binary64) %143 z)
(fma.f64 #s(literal 4 binary64) %241 z)
(fma.f64 #s(literal 4 binary64) %243 z)
(fma.f64 #s(literal 4 binary64) %154 z)
(fma.f64 #s(literal 4 binary64) %169 %147)
(fma.f64 #s(literal 4 binary64) %183 z)
(fma.f64 #s(literal 4 binary64) %113 z)
(fma.f64 %147 #s(literal 1 binary64) z)
(fma.f64 z #s(literal 1 binary64) %147)
(fma.f64 z #s(literal 2 binary64) z)
(-.f64 %147 %25)
(-.f64 z (*.f64 %414 #s(literal 2 binary64)))
(-.f64 z %401)
(-.f64 z %403)
(-.f64 z %405)
(-.f64 z %206)
(+.f64 %175 %147)
(+.f64 %125 %147)
(+.f64 %134 %147)
(+.f64 %147 z)
(+.f64 z %147)
#s(literal -3 binary64)
(*.f64 %660 %22)
(*.f64 %663 %17)
(*.f64 %662 %16)
(*.f64 %659 %20)
(*.f64 %20 %659)
%668
(*.f64 %57 #s(literal 3 binary64))
(*.f64 %25 %544)
(*.f64 #s(literal -3 binary64) %29)
(*.f64 %544 %25)
(*.f64 %29 #s(literal -3 binary64))
(*.f64 %17 %674)
(*.f64 %16 %662)
(*.f64 #s(literal 3 binary64) %57)
(*.f64 z %561)
(pow.f64 %668 #s(literal 1 binary64))
(/.f64 (fma.f64 %206 z %441) #s(literal 2 binary64))
(/.f64 (-.f64 %530 %428) #s(literal 2 binary64))
(/.f64 (-.f64 %466 %431) #s(literal -2 binary64))
(/.f64 (-.f64 %530 %434) #s(literal 2 binary64))
(/.f64 (-.f64 %530 %437) #s(literal 2 binary64))
(neg.f64 %690)
(fma.f64 %692 %160 %514)
(fma.f64 %692 %160 %57)
(fma.f64 %418 %147 %514)
(fma.f64 %418 %147 %57)
(fma.f64 %697 %177 %514)
(fma.f64 %697 %177 %57)
(fma.f64 %700 %171 %514)
(fma.f64 %700 %171 %57)
(fma.f64 %18 %22 %520)
(fma.f64 %18 %22 %522)
(fma.f64 %18 %22 %524)
(fma.f64 %18 %22 %526)
(fma.f64 %18 %22 %528)
(fma.f64 %18 %22 %530)
(fma.f64 %454 %16 %514)
(fma.f64 %454 %16 %57)
(fma.f64 %456 %20 %514)
(fma.f64 %456 %20 %57)
(fma.f64 %21 %17 %520)
(fma.f64 %21 %17 %522)
(fma.f64 %21 %17 %524)
(fma.f64 %21 %17 %526)
(fma.f64 %21 %17 %528)
(fma.f64 %21 %17 %530)
(fma.f64 %441 #s(literal 1/2 binary64) %514)
(fma.f64 %441 #s(literal 1/2 binary64) %57)
(fma.f64 %134 %206 %514)
(fma.f64 %134 %206 %57)
(fma.f64 %206 %125 %514)
(fma.f64 %206 %125 %57)
(fma.f64 %206 z %514)
(fma.f64 %206 z %57)
(fma.f64 #s(literal -2 binary64) %29 %514)
(fma.f64 #s(literal -2 binary64) %29 %57)
(fma.f64 %20 %729 %514)
(fma.f64 %20 %729 %57)
(fma.f64 %20 %16 %520)
(fma.f64 %20 %16 %522)
(fma.f64 %20 %16 %524)
(fma.f64 %20 %16 %526)
(fma.f64 %20 %16 %528)
(fma.f64 %20 %16 %530)
(fma.f64 %57 #s(literal 2 binary64) %514)
(fma.f64 %57 #s(literal 2 binary64) %57)
(fma.f64 %25 %147 %514)
(fma.f64 %25 %147 %57)
(fma.f64 %25 z %520)
(fma.f64 %25 z %522)
(fma.f64 %25 z %524)
(fma.f64 %25 z %526)
(fma.f64 %25 z %528)
(fma.f64 %25 z %530)
(fma.f64 #s(literal 1 binary64) %530 %514)
(fma.f64 #s(literal 1 binary64) %530 %57)
(fma.f64 #s(literal 2 binary64) %750 %514)
(fma.f64 #s(literal 2 binary64) %750 %57)
(fma.f64 #s(literal 2 binary64) %57 %514)
(fma.f64 #s(literal 2 binary64) %57 %57)
(fma.f64 %29 #s(literal -2 binary64) %514)
(fma.f64 %29 #s(literal -2 binary64) %57)
(fma.f64 #s(literal 4 binary64) %757 %514)
(fma.f64 #s(literal 4 binary64) %757 %57)
(fma.f64 %147 %25 %514)
(fma.f64 %147 %25 %57)
(fma.f64 %17 %21 %520)
(fma.f64 %17 %21 %522)
(fma.f64 %17 %21 %524)
(fma.f64 %17 %21 %526)
(fma.f64 %17 %21 %528)
(fma.f64 %17 %21 %530)
(fma.f64 %16 %482 %514)
(fma.f64 %16 %482 %57)
(fma.f64 %16 %20 %520)
(fma.f64 %16 %20 %522)
(fma.f64 %16 %20 %524)
(fma.f64 %16 %20 %526)
(fma.f64 %16 %20 %528)
(fma.f64 %16 %20 %530)
(fma.f64 z %206 %514)
(fma.f64 z %206 %57)
(fma.f64 z %25 %520)
(fma.f64 z %25 %522)
(fma.f64 z %25 %524)
(fma.f64 z %25 %526)
(fma.f64 z %25 %528)
(fma.f64 z %25 %530)
(-.f64 %530 %534)
(-.f64 %530 %29)
(-.f64 %57 %466)
(+.f64 %530 %514)
(+.f64 %530 %57)
(+.f64 %57 %520)
(+.f64 %57 %522)
(+.f64 %57 %524)
(+.f64 %57 %526)
(+.f64 %57 %528)
(+.f64 %57 %530)
%796
%798
%800
%802
%804
%807
%809
%810
%811
%812
%813
%814
%815
%816
%817
%818
%819
%820
%821
%822
%823
%824
%825
%826
%827
%829
%830
%831
%832
%833
%834
%835
%836
%837
%838
%839
%840
%841
%842
%843
%844
%845
%846
%847
%848
%849
%850
%851
%852
%853
%854
%855
%856
%857
%858
%795
%859
%860
%861
%862
%863
%864
%865
%866
%868
%869
%870
%871
%872
%873
%874
%875
%876
%877
%878
%879
%880
%881
%882
%883
%884
%885
%886
%887
%888
%889
%890
%891
%892
%893
%895
%896
%897
%898
%899
%900
%901
%902
%903
%904
(*.f64 %660 %17)
(*.f64 %663 %22)
(*.f64 %662 %20)
(*.f64 %659 %16)
(*.f64 %20 %662)
(*.f64 %561 %25)
(*.f64 %57 #s(literal -3 binary64))
(*.f64 %25 %561)
(*.f64 #s(literal -3 binary64) %57)
%690
(*.f64 %29 #s(literal 3 binary64))
(*.f64 %17 %867)
(*.f64 %16 %659)
(*.f64 #s(literal 3 binary64) %29)
(*.f64 z %544)
(pow.f64 %690 #s(literal 1 binary64))
(/.f64 (fma.f64 %147 z %428) #s(literal 2 binary64))
(/.f64 (fma.f64 %206 z %431) #s(literal -2 binary64))
(/.f64 (fma.f64 %147 z %434) #s(literal 2 binary64))
(/.f64 (fma.f64 %147 z %437) #s(literal 2 binary64))
(/.f64 (-.f64 %466 %441) #s(literal 2 binary64))
(neg.f64 %668)
(fma.f64 %158 %206 %534)
(fma.f64 %158 %206 %29)
(fma.f64 %163 %160 %534)
(fma.f64 %163 %160 %29)
(fma.f64 %448 %165 %534)
(fma.f64 %448 %165 %29)
(fma.f64 %169 %171 %534)
(fma.f64 %169 %171 %29)
(fma.f64 %171 %169 %534)
(fma.f64 %171 %169 %29)
(fma.f64 %18 %17 %466)
(fma.f64 %454 %20 %534)
(fma.f64 %454 %20 %29)
(fma.f64 %456 %16 %534)
(fma.f64 %456 %16 %29)
(fma.f64 %21 %22 %466)
(fma.f64 %428 #s(literal 1/2 binary64) %534)
(fma.f64 %428 #s(literal 1/2 binary64) %29)
(fma.f64 %431 #s(literal -1/2 binary64) %534)
(fma.f64 %431 #s(literal -1/2 binary64) %29)
(fma.f64 %434 #s(literal 1/2 binary64) %534)
(fma.f64 %434 #s(literal 1/2 binary64) %29)
(fma.f64 %437 #s(literal 1/2 binary64) %534)
(fma.f64 %437 #s(literal 1/2 binary64) %29)
(fma.f64 %177 %113 %534)
(fma.f64 %177 %113 %29)
(fma.f64 %114 %167 %534)
(fma.f64 %114 %167 %29)
(fma.f64 %125 %147 %534)
(fma.f64 %125 %147 %29)
(fma.f64 %113 %177 %534)
(fma.f64 %113 %177 %29)
(fma.f64 %134 %147 %534)
(fma.f64 %134 %147 %29)
(fma.f64 #s(literal 8 binary64) %470 %534)
(fma.f64 #s(literal 8 binary64) %470 %29)
(fma.f64 #s(literal -1 binary64) %472 %534)
(fma.f64 #s(literal -1 binary64) %472 %29)
(fma.f64 %206 %25 %534)
(fma.f64 %206 %25 %29)
(fma.f64 #s(literal -2 binary64) %476 %534)
(fma.f64 #s(literal -2 binary64) %476 %29)
(fma.f64 #s(literal -2 binary64) %57 %534)
(fma.f64 #s(literal -2 binary64) %57 %29)
(fma.f64 #s(literal -4 binary64) %479 %534)
(fma.f64 #s(literal -4 binary64) %479 %29)
(fma.f64 %20 %482 %534)
(fma.f64 %20 %482 %29)
(fma.f64 %20 %20 %466)
(fma.f64 %57 #s(literal -2 binary64) %534)
(fma.f64 %57 #s(literal -2 binary64) %29)
(fma.f64 %25 %206 %534)
(fma.f64 %25 %206 %29)
(fma.f64 %25 %25 %466)
(fma.f64 #s(literal 1 binary64) %466 %534)
(fma.f64 #s(literal 1 binary64) %466 %29)
(fma.f64 #s(literal 2 binary64) %490 %534)
(fma.f64 #s(literal 2 binary64) %490 %29)
(fma.f64 #s(literal 2 binary64) %492 %534)
(fma.f64 #s(literal 2 binary64) %492 %29)
(fma.f64 #s(literal 2 binary64) %29 %534)
(fma.f64 #s(literal 2 binary64) %29 %29)
(fma.f64 %29 #s(literal 2 binary64) %534)
(fma.f64 %29 #s(literal 2 binary64) %29)
(fma.f64 #s(literal 4 binary64) %496 %534)
(fma.f64 #s(literal 4 binary64) %496 %29)
(fma.f64 #s(literal 4 binary64) %498 %534)
(fma.f64 #s(literal 4 binary64) %498 %29)
(fma.f64 %147 %125 %534)
(fma.f64 %147 %125 %29)
(fma.f64 %147 %134 %534)
(fma.f64 %147 %134 %29)
(fma.f64 %147 z %534)
(fma.f64 %147 z %29)
(fma.f64 %17 %18 %466)
(fma.f64 %16 %481 %534)
(fma.f64 %16 %481 %29)
(fma.f64 %16 %16 %466)
(fma.f64 z %147 %534)
(fma.f64 z %147 %29)
(fma.f64 z z %466)
(-.f64 %466 %514)
(-.f64 %466 %57)
(-.f64 %29 %520)
(-.f64 %29 %522)
(-.f64 %29 %524)
(-.f64 %29 %526)
(-.f64 %29 %528)
(-.f64 %29 %530)
(+.f64 %466 %534)
(+.f64 %466 %29)
(+.f64 %29 %466)
%796
%798
%800
%802
%804
%807
%809
%810
%811
%812
%813
%814
%815
%816
%817
%818
%819
%820
%821
%822
%823
%824
%825
%826
%827
%829
%830
%831
%832
%833
%834
%835
%836
%837
%838
%839
%840
%841
%842
%843
%844
%845
%846
%847
%848
%849
%850
%851
%852
%853
%854
%855
%856
%857
%858
%795
%859
%860
%861
%862
%863
%864
%865
%866
%868
%869
%870
%871
%872
%873
%874
%875
%876
%877
%878
%879
%880
%881
%882
%883
%884
%885
%886
%887
%888
%889
%890
%891
%892
%893
%895
%896
%897
%898
%899
%900
%901
%902
%903
%904
%796
%798
%800
%802
%804
%807
%809
%810
%811
%812
%813
%814
%815
%816
%817
%818
%819
%820
%821
%822
%823
%824
%825
%826
%827
%829
%830
%831
%832
%833
%834
%835
%836
%837
%838
%839
%840
%841
%842
%843
%844
%845
%846
%847
%848
%849
%850
%851
%852
%853
%854
%855
%856
%857
%858
%795
%859
%860
%861
%862
%863
%864
%865
%866
%868
%869
%870
%871
%872
%873
%874
%875
%876
%877
%878
%879
%880
%881
%882
%883
%884
%885
%886
%887
%888
%889
%890
%891
%892
%893
%895
%896
%897
%898
%899
%900
%901
%902
%903
%904
%796
%798
%800
%802
%804
%807
%809
%810
%811
%812
%813
%814
%815
%816
%817
%818
%819
%820
%821
%822
%823
%824
%825
%826
%827
%829
%830
%831
%832
%833
%834
%835
%836
%837
%838
%839
%840
%841
%842
%843
%844
%845
%846
%847
%848
%849
%850
%851
%852
%853
%854
%855
%856
%857
%858
%795
%859
%860
%861
%862
%863
%864
%865
%866
%868
%869
%870
%871
%872
%873
%874
%875
%876
%877
%878
%879
%880
%881
%882
%883
%884
%885
%886
%887
%888
%889
%890
%891
%892
%893
%895
%896
%897
%898
%899
%900
%901
%902
%903
%904
%796
%798
%800
%802
%804
%807
%809
%810
%811
%812
%813
%814
%815
%816
%817
%818
%819
%820
%821
%822
%823
%824
%825
%826
%827
%829
%830
%831
%832
%833
%834
%835
%836
%837
%838
%839
%840
%841
%842
%843
%844
%845
%846
%847
%848
%849
%850
%851
%852
%853
%854
%855
%856
%857
%858
%795
%859
%860
%861
%862
%863
%864
%865
%866
%868
%869
%870
%871
%872
%873
%874
%875
%876
%877
%878
%879
%880
%881
%882
%883
%884
%885
%886
%887
%888
%889
%890
%891
%892
%893
%895
%896
%897
%898
%899
%900
%901
%902
%903
%904
(pow.f64 %452 #s(literal 1 binary64))
(neg.f64 %517)
(fma.f64 %18 %17 %9)
(fma.f64 %21 %22 %9)
(fma.f64 %3 y %534)
(fma.f64 %3 y %29)
(fma.f64 %2 %5 %534)
(fma.f64 %2 %5 %29)
(fma.f64 %20 %20 %9)
(fma.f64 %5 %2 %534)
(fma.f64 %5 %2 %29)
(fma.f64 %25 %25 %9)
(fma.f64 %17 %18 %9)
(fma.f64 %16 %16 %9)
%452
(fma.f64 y %3 %534)
(fma.f64 y %3 %29)
(fma.f64 y x %534)
(fma.f64 y x %29)
(fma.f64 x y %534)
(fma.f64 x y %29)
(-.f64 %29 %511)
(-.f64 %29 %13)
(-.f64 %9 %514)
(-.f64 %9 %57)
(+.f64 %29 %9)
(+.f64 %9 %534)
(+.f64 %9 %29)
%427
%430
%433
%436
%439
%443
%445
%446
%447
%449
%450
%451
%453
%455
%457
%458
%459
%460
%461
%462
%463
%464
%465
%467
%468
%469
%471
%473
%474
%475
%477
%478
%480
%483
%484
%485
%486
%487
%488
%489
%491
%493
%494
%495
%497
%499
%500
%501
%426
%502
%503
%504
%505
%506
%507
%508
%509
%512
%513
%515
%516
%518
%521
%523
%525
%527
%529
%531
%532
%535
%536
%537
%538
%796
%798
%800
%802
%804
%807
%809
%810
%811
%812
%813
%814
%815
%816
%817
%818
%819
%820
%821
%822
%823
%824
%825
%826
%827
%829
%830
%831
%832
%833
%834
%835
%836
%837
%838
%839
%840
%841
%842
%843
%844
%845
%846
%847
%848
%849
%850
%851
%852
%853
%854
%855
%856
%857
%858
%795
%859
%860
%861
%862
%863
%864
%865
%866
%868
%869
%870
%871
%872
%873
%874
%875
%876
%877
%878
%879
%880
%881
%882
%883
%884
%885
%886
%887
%888
%889
%890
%891
%892
%893
%895
%896
%897
%898
%899
%900
%901
%902
%903
%904

reconstruct125.0ms (9.1%)

Counts
1 469 → 219
Compiler

Compiled 1 469 to 1 193 computations (18.8% saved)

eval13.0ms (1.0%)

Compiler

Compiled 162 to 503 computations (-210.5% saved)

prune3.0ms (0.2%)

Pruning

4 alts after pruning (2 fresh and 2 done)

PrunedKeptTotal
New1602162
Fresh000
Picked426
Done000
Total1644168
Accuracy
100.0%
Counts
168 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.8%
(fma.f64 z (*.f64 #s(literal 3 binary64) z) (*.f64 y x))
98.8%
(fma.f64 z z (fma.f64 (+.f64 z z) z (*.f64 y x)))
99.5%
(fma.f64 x y (*.f64 #s(literal 3 binary64) (*.f64 z z)))
98.1%
(fma.f64 #s(literal 3 binary64) (pow.f64 (sqrt.f64 (fabs.f64 z)) #s(literal 4 binary64)) (*.f64 y x))
Compiler

Compiled 4 to 18 computations (-350.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series14.0ms (1.0%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
0120529
Stop Event
iter-limit
Counts
13 → 32
Calls
Call 1
Inputs
%3 = (*.f64 z z)
%5 = (*.f64 y x)
%6 = (fabs.f64 z)
%7 = (sqrt.f64 %6)
%9 = (pow.f64 %7 #s(literal 4 binary64))
%10 = (*.f64 #s(literal 3 binary64) %3)
x
y
z
%3
#s(literal 3 binary64)
%5
%6
%7
#s(literal 4 binary64)
%9
%10
(fma.f64 #s(literal 3 binary64) %9 %5)
(fma.f64 x y %10)
Outputs
%5 = (* y x)
%6 = (*.f64 x y)
%10 = (fabs z)
%11 = (sqrt %10)
%13 = (pow %11 4)
%15 = (+ (* 3 %13) %5)
%17 = (fabs.f64 z)
%18 = (sqrt.f64 %17)
%20 = (pow.f64 %18 #s(literal 4 binary64))
%26 = (* z z)
%28 = (+ (* x y) (* 3 %26))
%30 = (pow.f64 z #s(literal 2 binary64))
%35 = (/.f64 %20 x)
%40 = (/.f64 %30 x)
%47 = (*.f64 #s(literal -1 binary64) y)
%57 = (/.f64 %20 y)
%62 = (/.f64 %30 y)
%67 = (*.f64 #s(literal -1 binary64) x)
%83 = (fabs.f64 (/.f64 #s(literal 1 binary64) z))
%86 = (sqrt.f64 %83)
%89 = (pow.f64 z #s(literal 4 binary64))
%90 = (pow.f64 %86 #s(literal 4 binary64))
%91 = (*.f64 %89 %90)
%95 = (/.f64 %6 %89)
%104 = (fabs.f64 (/.f64 #s(literal -1 binary64) z))
%109 = (sqrt.f64 (*.f64 #s(literal -1 binary64) %104))
%113 = (pow.f64 %109 #s(literal 4 binary64))
%114 = (*.f64 %89 %113)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %5 %6)
(approx %15 (*.f64 #s(literal 3 binary64) %20))
(approx %15 (fma.f64 #s(literal 3 binary64) %20 %6))
(approx %28 (*.f64 #s(literal 3 binary64) %30))
(approx %28 (fma.f64 #s(literal 3 binary64) %30 %6))
(approx %15 (*.f64 x (+.f64 y (*.f64 #s(literal 3 binary64) %35))))
(approx %28 (*.f64 x (+.f64 y (*.f64 #s(literal 3 binary64) %40))))
(approx %15 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -3 binary64) %35 %47))))
(approx %28 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -3 binary64) %40 %47))))
(approx y y)
(approx %15 (*.f64 y (+.f64 x (*.f64 #s(literal 3 binary64) %57))))
(approx %28 (*.f64 y (+.f64 x (*.f64 #s(literal 3 binary64) %62))))
(approx %15 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -3 binary64) %57 %67))))
(approx %28 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -3 binary64) %62 %67))))
(approx z z)
(approx %26 %30)
(approx %10 %17)
(approx %11 %18)
(approx %13 %20)
(approx %10 (*.f64 %30 %83))
(approx %11 (*.f64 z %86))
(approx %13 %91)
(approx %15 (*.f64 #s(literal 3 binary64) %91))
(approx %15 (*.f64 %89 (fma.f64 #s(literal 3 binary64) %90 %95)))
(approx %28 (*.f64 %30 (+.f64 #s(literal 3 binary64) (/.f64 %6 %30))))
(approx %10 (*.f64 #s(literal -1 binary64) (*.f64 %30 %104)))
(approx %11 (*.f64 #s(literal -1 binary64) (*.f64 z %109)))
(approx %13 %114)
(approx %15 (*.f64 #s(literal 3 binary64) %114))
(approx %15 (*.f64 %89 (fma.f64 #s(literal 3 binary64) %113 %95)))
Calls

9 calls:

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

rewrite90.0ms (6.6%)

Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
01344
02342
17140
218340
359940
4250440
0413540
0446340
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
13 → 259
Calls
Call 1
Inputs
%3 = (*.f64 z z)
%5 = (*.f64 y x)
%6 = (fabs.f64 z)
%7 = (sqrt.f64 %6)
%9 = (pow.f64 %7 #s(literal 4 binary64))
%10 = (*.f64 #s(literal 3 binary64) %3)
x
y
z
%3
#s(literal 3 binary64)
%5
%6
%7
#s(literal 4 binary64)
%9
%10
(fma.f64 #s(literal 3 binary64) %9 %5)
(fma.f64 x y %10)
Outputs
%3 = (fabs.f64 z)
%4 = (neg.f64 %3)
%5 = (*.f64 %4 z)
%6 = (*.f64 %5 z)
%7 = (sqrt.f64 %3)
%8 = (neg.f64 %7)
%12 = (sqrt.f64 %7)
%13 = (*.f64 (sqrt.f64 (fabs.f64 (*.f64 %6 %8))) %12)
%17 = (*.f64 (sqrt.f64 (fabs.f64 (*.f64 %6 %7))) %12)
%18 = (*.f64 %3 z)
%19 = (*.f64 %18 z)
%23 = (*.f64 (sqrt.f64 (fabs.f64 (*.f64 %19 %8))) %12)
%24 = (*.f64 %7 %3)
%25 = (*.f64 z z)
%28 = (sqrt.f64 (fabs.f64 (*.f64 %24 %25)))
%29 = (*.f64 %28 %12)
%32 = (sqrt.f64 (fabs.f64 (*.f64 %7 %25)))
%33 = (sqrt.f64 %24)
%34 = (*.f64 %32 %33)
%35 = (*.f64 %24 %12)
%36 = (*.f64 %35 %12)
%37 = (*.f64 %33 %32)
%38 = (*.f64 %8 %3)
%39 = (*.f64 %38 %8)
%41 = (*.f64 (*.f64 %4 %7) %8)
%42 = (*.f64 %24 %7)
%46 = (*.f64 %12 (sqrt.f64 (fabs.f64 (*.f64 %7 %6))))
%50 = (*.f64 %12 (sqrt.f64 (fabs.f64 (*.f64 %8 %19))))
%54 = (*.f64 %12 (sqrt.f64 (fabs.f64 (*.f64 %8 %6))))
%55 = (*.f64 %12 %28)
%56 = (*.f64 %12 %35)
%57 = (*.f64 %4 %4)
%58 = (*.f64 %8 %38)
%59 = (*.f64 %7 %4)
%60 = (*.f64 %8 %59)
%61 = (neg.f64 z)
%62 = (*.f64 %61 %61)
%64 = (*.f64 #s(literal 1 binary64) %25)
%65 = (*.f64 %7 %24)
%66 = (*.f64 %3 %3)
%68 = (pow.f64 z #s(literal 8 binary64))
%70 = (pow.f64 %68 #s(literal 1/4 binary64))
%72 = (pow.f64 %4 #s(literal 2 binary64))
%74 = (pow.f64 %8 #s(literal 4 binary64))
%75 = (*.f64 %25 %25)
%77 = (pow.f64 %75 #s(literal 1/2 binary64))
%78 = (pow.f64 %61 #s(literal 2 binary64))
%79 = (pow.f64 %7 #s(literal 4 binary64))
%80 = (pow.f64 %3 #s(literal 2 binary64))
%81 = (pow.f64 %25 #s(literal 1 binary64))
%82 = (pow.f64 z #s(literal 2 binary64))
%85 = (/.f64 #s(literal 1 binary64) (pow.f64 %68 #s(literal -1/4 binary64)))
%88 = (/.f64 #s(literal 1 binary64) (pow.f64 %75 #s(literal -1/2 binary64)))
%91 = (/.f64 #s(literal 1 binary64) (pow.f64 %25 #s(literal -1 binary64)))
%94 = (/.f64 #s(literal 1 binary64) (pow.f64 %4 #s(literal -2 binary64)))
%96 = (/.f64 #s(literal 1 binary64) (pow.f64 %61 #s(literal -2 binary64)))
%99 = (/.f64 #s(literal 1 binary64) (pow.f64 %7 #s(literal -4 binary64)))
%101 = (/.f64 #s(literal 1 binary64) (pow.f64 %3 #s(literal -2 binary64)))
%103 = (/.f64 #s(literal 1 binary64) (pow.f64 z #s(literal -2 binary64)))
%104 = (*.f64 %61 z)
%105 = (neg.f64 %104)
%106 = (sqrt.f64 %75)
%107 = (fabs.f64 %5)
%108 = (fabs.f64 %18)
%109 = (fabs.f64 %104)
%110 = (fabs.f64 %25)
%112 = (neg.f64 x)
%113 = (neg.f64 y)
%116 = (*.f64 y x)
%122 = (*.f64 %113 x)
%125 = (sqrt.f64 (fabs.f64 %35))
%126 = (sqrt.f64 %12)
%161 = (sqrt.f64 (fabs.f64 %33))
%163 = (neg.f64 %12)
%189 = (*.f64 %3 #s(literal 3 binary64))
%190 = (*.f64 %189 %7)
%191 = (*.f64 %190 %12)
%194 = (*.f64 #s(literal -3 binary64) %3)
%195 = (*.f64 %194 %8)
%197 = (*.f64 %189 %8)
%199 = (*.f64 %7 #s(literal 3 binary64))
%201 = (*.f64 #s(literal -3 binary64) %7)
%202 = (*.f64 %201 %3)
%207 = (*.f64 %12 %190)
%211 = (*.f64 #s(literal -3 binary64) z)
%214 = (*.f64 %8 %189)
%218 = (*.f64 #s(literal 3 binary64) z)
%222 = (*.f64 #s(literal 3 binary64) %25)
%224 = (*.f64 %8 %194)
%233 = (*.f64 #s(literal -3 binary64) %25)
%235 = (fma.f64 #s(literal 3 binary64) %25 %116)
%236 = (*.f64 #s(literal 1 binary64) %235)
%237 = (pow.f64 %235 #s(literal 1 binary64))
%239 = (/.f64 #s(literal 1 binary64) (pow.f64 %235 #s(literal -1 binary64)))
%241 = (neg.f64 (-.f64 %233 %116))
%242 = (fma.f64 %191 %12 %116)
%243 = (fma.f64 %195 %7 %116)
%244 = (fma.f64 %197 %8 %116)
%245 = (fma.f64 %24 %199 %116)
%246 = (fma.f64 %202 %8 %116)
%247 = (fma.f64 %199 %24 %116)
%248 = (fma.f64 %201 %59 %116)
%249 = (fma.f64 %190 %7 %116)
%250 = (fma.f64 %12 %207 %116)
%251 = (fma.f64 %194 %4 %116)
%252 = (fma.f64 %189 %3 %116)
%253 = (fma.f64 %112 %113 %222)
%254 = (fma.f64 %211 %61 %116)
%255 = (fma.f64 %4 %194 %116)
%256 = (fma.f64 %8 %214 %116)
%257 = (fma.f64 %8 %202 %116)
%258 = (fma.f64 %104 #s(literal -3 binary64) %116)
%259 = (fma.f64 %218 z %116)
%260 = (fma.f64 %113 %112 %222)
%261 = (fma.f64 #s(literal -3 binary64) %104 %116)
%262 = (fma.f64 %61 %211 %116)
%263 = (fma.f64 #s(literal 1 binary64) %222 %116)
%264 = (fma.f64 #s(literal 1 binary64) %116 %222)
%265 = (fma.f64 %7 %224 %116)
%266 = (fma.f64 %7 %190 %116)
%267 = (fma.f64 %3 %189 %116)
%268 = (fma.f64 %25 #s(literal 3 binary64) %116)
%269 = (fma.f64 z %218 %116)
%270 = (fma.f64 y x %222)
%271 = (fma.f64 x y %222)
%272 = (-.f64 %222 %122)
%273 = (-.f64 %116 %233)
%274 = (+.f64 %222 %116)
%275 = (+.f64 %116 %222)
x
y
z
%13
%17
%23
%29
%34
%36
%37
%39
%41
%42
%46
%50
%54
%55
%56
%57
%58
%60
%62
%64
%65
%66
%25
%70
%72
%74
%77
%78
%79
%80
%81
%82
%85
%88
%91
%94
%96
%99
%101
%103
%105
%106
%107
%108
%109
%110
#s(literal 3 binary64)
(*.f64 %112 %113)
(*.f64 %113 %112)
(*.f64 #s(literal 1 binary64) %116)
%116
(*.f64 x y)
(pow.f64 %116 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %116 #s(literal -1 binary64)))
(neg.f64 %122)
(*.f64 %125 %126)
(*.f64 %33 %12)
(*.f64 %126 %125)
(*.f64 %12 %33)
(*.f64 %8 %8)
(*.f64 #s(literal 1 binary64) %3)
(*.f64 %7 %7)
(pow.f64 %68 #s(literal 1/8 binary64))
(pow.f64 %12 #s(literal 4 binary64))
(pow.f64 %8 #s(literal 2 binary64))
(pow.f64 %75 #s(literal 1/4 binary64))
(pow.f64 %7 #s(literal 2 binary64))
(pow.f64 %3 #s(literal 1 binary64))
(pow.f64 %25 #s(literal 1/2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %68 #s(literal -1/8 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %8 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %75 #s(literal -1/4 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %3 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %25 #s(literal -1/2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %7 #s(literal -2 binary64)))
(neg.f64 %4)
(sqrt.f64 %25)
(fabs.f64 %4)
(fabs.f64 %61)
(fabs.f64 %3)
%3
(*.f64 %161 %126)
(*.f64 %163 %163)
(*.f64 %126 %161)
(*.f64 %12 %12)
(*.f64 #s(literal 1 binary64) %7)
(pow.f64 %163 #s(literal 2 binary64))
(pow.f64 %68 #s(literal 1/16 binary64))
(pow.f64 %12 #s(literal 2 binary64))
(pow.f64 %75 #s(literal 1/8 binary64))
(pow.f64 %7 #s(literal 1 binary64))
(pow.f64 %3 #s(literal 1/2 binary64))
(pow.f64 %25 #s(literal 1/4 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %12 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %75 #s(literal -1/8 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %7 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %3 #s(literal -1/2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %25 #s(literal -1/4 binary64)))
(neg.f64 %8)
%7
(fabs.f64 %8)
(fabs.f64 %7)
#s(literal 4 binary64)
%13
%17
%23
%29
%34
%36
%37
%39
%41
%42
%46
%50
%54
%55
%56
%57
%58
%60
%62
%64
%65
%66
%25
%70
%72
%74
%77
%78
%79
%80
%81
%82
%85
%88
%91
%94
%96
%99
%101
%103
%105
%106
%107
%108
%109
%110
(*.f64 %191 %12)
(*.f64 %195 %7)
(*.f64 %197 %8)
(*.f64 %24 %199)
(*.f64 %202 %8)
(*.f64 %199 %24)
(*.f64 %201 %59)
(*.f64 %190 %7)
(*.f64 %12 %207)
(*.f64 %194 %4)
(*.f64 %189 %3)
(*.f64 %211 %61)
(*.f64 %4 %194)
(*.f64 %8 %214)
(*.f64 %8 %202)
(*.f64 %104 #s(literal -3 binary64))
(*.f64 %218 z)
(*.f64 #s(literal -3 binary64) %104)
(*.f64 %61 %211)
(*.f64 #s(literal 1 binary64) %222)
(*.f64 %7 %224)
(*.f64 %7 %190)
(*.f64 %3 %189)
%222
(*.f64 %25 #s(literal 3 binary64))
(*.f64 z %218)
(pow.f64 %222 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %222 #s(literal -1 binary64)))
(neg.f64 %233)
%236
%237
%239
%241
%242
%243
%244
%245
%246
%247
%248
%249
%250
%251
%252
%253
%254
%255
%256
%257
%258
%259
%260
%261
%262
%263
%264
%265
%266
%267
%235
%268
%269
%270
%271
%272
%273
%274
%275
%236
%237
%239
%241
%242
%243
%244
%245
%246
%247
%248
%249
%250
%251
%252
%253
%254
%255
%256
%257
%258
%259
%260
%261
%262
%263
%264
%265
%266
%267
%235
%268
%269
%270
%271
%272
%273
%274
%275

reconstruct22.0ms (1.6%)

Counts
291 → 108
Compiler

Compiled 291 to 339 computations (-16.5% saved)

eval8.0ms (0.6%)

Compiler

Compiled 92 to 310 computations (-237.0% saved)

prune2.0ms (0.1%)

Pruning

4 alts after pruning (1 fresh and 3 done)

PrunedKeptTotal
New91192
Fresh000
Picked112
Done022
Total92496
Accuracy
100.0%
Counts
96 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.8%
(fma.f64 z (*.f64 #s(literal 3 binary64) z) (*.f64 y x))
98.8%
(fma.f64 z z (fma.f64 (+.f64 z z) z (*.f64 y x)))
99.5%
(fma.f64 x y (*.f64 #s(literal 3 binary64) (*.f64 z z)))
48.5%
(approx (+ (* 3 (pow (sqrt (fabs z)) 4)) (* y x)) (*.f64 #s(literal 3 binary64) (pow.f64 (sqrt.f64 (fabs.f64 z)) #s(literal 4 binary64))))
Compiler

Compiled 4 to 18 computations (-350.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series8.0ms (0.6%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
086378
Stop Event
iter-limit
Counts
8 → 22
Calls
Call 1
Inputs
%2 = (fabs.f64 z)
%3 = (sqrt.f64 %2)
%5 = (pow.f64 %3 #s(literal 4 binary64))
%6 = (*.f64 #s(literal 3 binary64) %5)
z
#s(literal 3 binary64)
%2
%3
#s(literal 4 binary64)
%5
%6
(approx (+ (* 3 (pow (sqrt (fabs z)) 4)) (* y x)) %6)
Outputs
%4 = (fabs z)
%5 = (sqrt %4)
%7 = (pow %5 4)
%8 = (* 3 %7)
%12 = (+ %8 (* y x))
%14 = (fabs.f64 z)
%15 = (sqrt.f64 %14)
%17 = (pow.f64 %15 #s(literal 4 binary64))
%20 = (*.f64 x y)
%24 = (/.f64 %17 x)
%36 = (/.f64 %17 y)
%51 = (pow.f64 z #s(literal 2 binary64))
%54 = (fabs.f64 (/.f64 #s(literal 1 binary64) z))
%57 = (sqrt.f64 %54)
%60 = (pow.f64 z #s(literal 4 binary64))
%61 = (pow.f64 %57 #s(literal 4 binary64))
%62 = (*.f64 %60 %61)
%66 = (/.f64 %20 %60)
%71 = (fabs.f64 (/.f64 #s(literal -1 binary64) z))
%76 = (sqrt.f64 (*.f64 #s(literal -1 binary64) %71))
%80 = (pow.f64 %76 #s(literal 4 binary64))
%81 = (*.f64 %60 %80)
(approx z #s(literal 0 binary64))
(approx %12 (*.f64 #s(literal 3 binary64) %17))
(approx %12 (fma.f64 #s(literal 3 binary64) %17 %20))
(approx %12 %20)
(approx %12 (*.f64 x (+.f64 y (*.f64 #s(literal 3 binary64) %24))))
(approx %12 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -3 binary64) %24 (*.f64 #s(literal -1 binary64) y)))))
(approx %12 (*.f64 y (+.f64 x (*.f64 #s(literal 3 binary64) %36))))
(approx %12 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -3 binary64) %36 (*.f64 #s(literal -1 binary64) x)))))
(approx z z)
(approx %4 %14)
(approx %5 %15)
(approx %7 %17)
(approx %4 (*.f64 %51 %54))
(approx %5 (*.f64 z %57))
(approx %7 %62)
(approx %8 (*.f64 #s(literal 3 binary64) %62))
(approx %12 (*.f64 %60 (fma.f64 #s(literal 3 binary64) %61 %66)))
(approx %4 (*.f64 #s(literal -1 binary64) (*.f64 %51 %71)))
(approx %5 (*.f64 #s(literal -1 binary64) (*.f64 z %76)))
(approx %7 %81)
(approx %8 (*.f64 #s(literal 3 binary64) %81))
(approx %12 (*.f64 %60 (fma.f64 #s(literal 3 binary64) %80 %66)))
Calls

9 calls:

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

rewrite94.0ms (6.8%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01639
02035
15131
212031
336831
4166231
0419631
0441630
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
8 → 137
Calls
Call 1
Inputs
%2 = (fabs.f64 z)
%3 = (sqrt.f64 %2)
%5 = (pow.f64 %3 #s(literal 4 binary64))
%6 = (*.f64 #s(literal 3 binary64) %5)
z
#s(literal 3 binary64)
%2
%3
#s(literal 4 binary64)
%5
%6
(approx (+ (* 3 (pow (sqrt (fabs z)) 4)) (* y x)) %6)
Outputs
%2 = (fabs.f64 z)
%3 = (sqrt.f64 %2)
%4 = (*.f64 %3 %2)
%5 = (sqrt.f64 %3)
%6 = (*.f64 %4 %5)
%7 = (fabs.f64 %6)
%8 = (sqrt.f64 %7)
%9 = (sqrt.f64 %5)
%11 = (sqrt.f64 %4)
%15 = (neg.f64 %3)
%21 = (pow.f64 z #s(literal 8 binary64))
%26 = (*.f64 z z)
%27 = (*.f64 %26 %26)
%50 = (neg.f64 %2)
%54 = (neg.f64 z)
%57 = (neg.f64 %5)
%58 = (neg.f64 %57)
%60 = (sqrt.f64 %11)
%91 = (sqrt.f64 (fabs.f64 (*.f64 %26 %3)))
%95 = (sqrt.f64 (fabs.f64 (*.f64 %50 %26)))
%99 = (sqrt.f64 (fabs.f64 (*.f64 %54 %26)))
%103 = (sqrt.f64 (fabs.f64 (*.f64 %4 %26)))
%107 = (sqrt.f64 (fabs.f64 (*.f64 %26 %2)))
%111 = (sqrt.f64 (fabs.f64 (*.f64 %26 z)))
%115 = (*.f64 %15 %2)
%131 = (*.f64 %27 %26)
%162 = (*.f64 %54 z)
%165 = (*.f64 %50 %54)
%168 = (*.f64 %50 z)
%171 = (*.f64 %54 %50)
%174 = (*.f64 z %50)
%187 = (*.f64 %2 #s(literal 3 binary64))
%200 = (*.f64 #s(literal 3 binary64) z)
%205 = (*.f64 #s(literal -3 binary64) z)
%215 = (*.f64 %26 #s(literal 3 binary64))
%236 = (approx (+ (* x y) (* (* z z) 3)) %215)
z
#s(literal 3 binary64)
(*.f64 %8 %9)
(*.f64 %11 %5)
(*.f64 %9 %8)
(*.f64 %5 %11)
(*.f64 %15 %15)
(*.f64 #s(literal 1 binary64) %2)
(*.f64 %3 %3)
(pow.f64 %21 #s(literal 1/8 binary64))
(pow.f64 %5 #s(literal 4 binary64))
(pow.f64 %27 #s(literal 1/4 binary64))
(pow.f64 %15 #s(literal 2 binary64))
(pow.f64 %26 #s(literal 1/2 binary64))
(pow.f64 %3 #s(literal 2 binary64))
(pow.f64 %2 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %27 #s(literal -1/4 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %15 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %26 #s(literal -1/2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %2 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %3 #s(literal -2 binary64)))
(neg.f64 %50)
(sqrt.f64 %26)
(fabs.f64 %50)
(fabs.f64 %54)
(fabs.f64 %2)
%2
(*.f64 %58 %58)
(*.f64 %60 %9)
(*.f64 %57 %57)
(*.f64 %9 %60)
(*.f64 %5 %5)
(*.f64 #s(literal 1 binary64) %3)
(pow.f64 %57 #s(literal 2 binary64))
(pow.f64 %21 #s(literal 1/16 binary64))
(pow.f64 %5 #s(literal 2 binary64))
(pow.f64 %27 #s(literal 1/8 binary64))
(pow.f64 %26 #s(literal 1/4 binary64))
(pow.f64 %3 #s(literal 1 binary64))
(pow.f64 %2 #s(literal 1/2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %5 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %27 #s(literal -1/8 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %26 #s(literal -1/4 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %3 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %2 #s(literal -1/2 binary64)))
(neg.f64 %15)
%3
(fabs.f64 %15)
(fabs.f64 %3)
#s(literal 4 binary64)
(*.f64 %7 %5)
(*.f64 %91 %11)
(*.f64 %95 %3)
(*.f64 %99 %3)
(*.f64 %103 %5)
(*.f64 %107 %3)
(*.f64 %111 %3)
(*.f64 %6 %5)
(*.f64 %11 %91)
(*.f64 %115 %15)
(*.f64 %4 %3)
(*.f64 %50 %50)
(*.f64 %5 %7)
(*.f64 %5 %103)
(*.f64 %5 %6)
(*.f64 %15 %115)
(*.f64 %54 %54)
(*.f64 #s(literal 1 binary64) %26)
(*.f64 %3 %95)
(*.f64 %3 %99)
(*.f64 %3 %107)
(*.f64 %3 %111)
(*.f64 %3 %4)
(*.f64 %2 %2)
%26
(pow.f64 (*.f64 %131 %26) #s(literal 1/4 binary64))
(pow.f64 (*.f64 %26 %131) #s(literal 1/4 binary64))
(pow.f64 %21 #s(literal 1/4 binary64))
(pow.f64 %50 #s(literal 2 binary64))
(pow.f64 %27 #s(literal 1/2 binary64))
(pow.f64 %15 #s(literal 4 binary64))
(pow.f64 %54 #s(literal 2 binary64))
(pow.f64 %26 #s(literal 1 binary64))
(pow.f64 %3 #s(literal 4 binary64))
(pow.f64 %2 #s(literal 2 binary64))
(pow.f64 z #s(literal 2 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %21 #s(literal -1/4 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %50 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %27 #s(literal -1/2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %26 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %54 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %3 #s(literal -4 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 %2 #s(literal -2 binary64)))
(/.f64 #s(literal 1 binary64) (pow.f64 z #s(literal -2 binary64)))
(neg.f64 %162)
(sqrt.f64 %27)
(fabs.f64 (neg.f64 %165))
(fabs.f64 (neg.f64 %168))
(fabs.f64 (neg.f64 %171))
(fabs.f64 (neg.f64 %174))
(fabs.f64 %165)
(fabs.f64 %168)
(fabs.f64 %171)
(fabs.f64 %174)
(fabs.f64 (*.f64 %54 %2))
(fabs.f64 (*.f64 %2 z))
(fabs.f64 %162)
(fabs.f64 %26)
(*.f64 (*.f64 %187 %15) %15)
(*.f64 (*.f64 %187 %3) %3)
(*.f64 (*.f64 #s(literal 3 binary64) %4) %3)
(*.f64 (*.f64 #s(literal 3 binary64) %50) %50)
(*.f64 (*.f64 #s(literal 3 binary64) %3) %4)
(*.f64 %4 (*.f64 %3 #s(literal 3 binary64)))
(*.f64 %200 z)
(*.f64 (*.f64 #s(literal -3 binary64) %2) %50)
(*.f64 %205 %54)
(*.f64 %187 %2)
(*.f64 %50 (*.f64 %50 #s(literal 3 binary64)))
(*.f64 %162 #s(literal -3 binary64))
(*.f64 #s(literal -3 binary64) %162)
(*.f64 %15 (*.f64 %15 %187))
(*.f64 %54 %205)
(*.f64 #s(literal 1 binary64) %215)
%215
(*.f64 %3 (*.f64 %4 #s(literal 3 binary64)))
(*.f64 %3 (*.f64 %3 %187))
(*.f64 %2 %187)
(*.f64 #s(literal 3 binary64) %26)
(*.f64 z %200)
(pow.f64 %215 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %215 #s(literal -1 binary64)))
(neg.f64 (*.f64 #s(literal -3 binary64) %26))
(*.f64 #s(literal 1 binary64) %236)
(pow.f64 %236 #s(literal 1 binary64))
%236
(/.f64 #s(literal 1 binary64) (pow.f64 %236 #s(literal -1 binary64)))

reconstruct13.0ms (1.0%)

Counts
159 → 67
Compiler

Compiled 159 to 280 computations (-76.1% saved)

eval7.0ms (0.5%)

Compiler

Compiled 63 to 240 computations (-281.0% saved)

prune2.0ms (0.2%)

Pruning

6 alts after pruning (3 fresh and 3 done)

PrunedKeptTotal
New60363
Fresh000
Picked011
Done123
Total61667
Accuracy
100.0%
Counts
67 → 6
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.8%
(fma.f64 z (*.f64 #s(literal 3 binary64) z) (*.f64 y x))
98.8%
(fma.f64 z z (fma.f64 (+.f64 z z) z (*.f64 y x)))
48.7%
(approx (+ (* x y) (* (* z z) 3)) (*.f64 (*.f64 z z) #s(literal 3 binary64)))
48.7%
(approx (+ (* 3 (pow (sqrt (fabs z)) 4)) (* y x)) (*.f64 z (*.f64 #s(literal 3 binary64) z)))
58.6%
(approx (+ (* 3 (pow (sqrt (fabs z)) 4)) (* y x)) (*.f64 x y))
48.5%
(approx (+ (* 3 (pow (sqrt (fabs z)) 4)) (* y x)) (*.f64 #s(literal 3 binary64) (pow.f64 (sqrt.f64 (fabs.f64 z)) #s(literal 4 binary64))))
Compiler

Compiled 6 to 19 computations (-216.7% saved)

regimes44.0ms (3.2%)

Accuracy

Total 21.9b remaining (44.7%)

Threshold costs 0.3b (0.6%)

10.3b60.8%
10.3b60.8%
1.1b0.0%
0.3b0.0%
0.0b0.0%

Counts
1 → 1
2 → 2
3 → 2
4 → 1
5 → 1
Calls
Call 1
Inputs
(approx (+ (* 3 (pow (sqrt (fabs z)) 4)) (* y x)) (*.f64 x y))
Outputs
(approx (+ (* 3 (pow (sqrt (fabs z)) 4)) (* y x)) (*.f64 x y))
Call 2
Inputs
%10 = (+ (* 3 (pow (sqrt (fabs z)) 4)) (* y x))
(approx %10 (*.f64 x y))
(approx %10 (*.f64 z (*.f64 #s(literal 3 binary64) z)))
Outputs
%10 = (+ (* 3 (pow (sqrt (fabs z)) 4)) (* y x))
(approx %10 (*.f64 x y))
(approx %10 (*.f64 z (*.f64 #s(literal 3 binary64) z)))
Call 3
Inputs
%10 = (+ (* 3 (pow (sqrt (fabs z)) 4)) (* y x))
(approx %10 (*.f64 x y))
(approx %10 (*.f64 z (*.f64 #s(literal 3 binary64) z)))
(approx (+ (* x y) (* (* z z) 3)) (*.f64 (*.f64 z z) #s(literal 3 binary64)))
Outputs
(approx (+ (* 3 (pow (sqrt (fabs z)) 4)) (* y x)) (*.f64 x y))
(approx (+ (* x y) (* (* z z) 3)) (*.f64 (*.f64 z z) #s(literal 3 binary64)))
Call 4
Inputs
%10 = (+ (* 3 (pow (sqrt (fabs z)) 4)) (* y x))
%21 = (*.f64 z z)
(approx %10 (*.f64 x y))
(approx %10 (*.f64 z (*.f64 #s(literal 3 binary64) z)))
(approx (+ (* x y) (* (* z z) 3)) (*.f64 %21 #s(literal 3 binary64)))
(fma.f64 #s(literal 3 binary64) %21 (*.f64 y x))
Outputs
(fma.f64 #s(literal 3 binary64) (*.f64 z z) (*.f64 y x))
Call 5
Inputs
%10 = (+ (* 3 (pow (sqrt (fabs z)) 4)) (* y x))
%21 = (*.f64 z z)
(approx %10 (*.f64 x y))
(approx %10 (*.f64 z (*.f64 #s(literal 3 binary64) z)))
(approx (+ (* x y) (* (* z z) 3)) (*.f64 %21 #s(literal 3 binary64)))
(fma.f64 #s(literal 3 binary64) %21 (*.f64 y x))
(fma.f64 x y (*.f64 #s(literal 3 binary64) %21))
Outputs
(fma.f64 x y (*.f64 #s(literal 3 binary64) (*.f64 z z)))
Calls

6 calls:

10.0ms
(*.f64 x y)
7.0ms
z
7.0ms
y
7.0ms
x
6.0ms
%4 = (*.f64 z z)
(+.f64 (+.f64 (+.f64 (*.f64 x y) %4) %4) %4)
Results
AccuracySegmentsBranch
58.6%1
z
58.6%1
y
58.6%1
x
58.6%1
%21 = (*.f64 z z)
(+.f64 (+.f64 (+.f64 (*.f64 x y) %21) %21) %21)
58.6%1
(*.f64 x y)
58.6%1
(*.f64 z z)
Compiler

Compiled 19 to 42 computations (-121.1% saved)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
3.1138933357112104e+109
2.858235344164305e+116
Compiler

Compiled 1 to 2 computations (-100.0% saved)

bsearch0.0ms (0.0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
3.1138933357112104e+109
2.858235344164305e+116
Compiler

Compiled 1 to 2 computations (-100.0% saved)

bsearch0.0ms (0.0%)

derivations146.0ms (10.6%)

Stop Event
fuel
Compiler

Compiled 5 to 17 computations (-240.0% saved)

preprocess37.0ms (2.7%)

Compiler

Compiled 26 to 177 computations (-580.8% saved)

end0.0ms (0.0%)

gc222ms (16.1%)

Allocations
AllocatedPercentPhase
479.0 MiB39.4%sample
272.5 MiB22.4%rewrite
147.0 MiB12.1%reconstruct
117.0 MiB9.6%series
76.8 MiB6.3%preprocess
48.1 MiB4.0%regimes
39.4 MiB3.2%eval
21.2 MiB1.7%derivations
14.0 MiB1.2%prune
1.3 MiB0.1%bsearch
0.3 MiB0.0%analyze
0.1 MiB0.0%start
0.0 MiB0.0%end
1 216.7 MiB100.0%total

Profiling

Loading profile data...