Graphics.Rasterific.CubicBezier:cachedBezierAt from Rasterific-0.6.1

Time bar (total: 3.4s)

start0.0ms (0.0%)

analyze1.0ms (0.0%)

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

Compiled 17 to 15 computations (11.8% saved)

sample380.0ms (11.3%)

Samples
263.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 14.0ms
Mul: 9.0ms (62.1% of total, 0.0 MiB)
Add: 5.0ms (34.5% of total, 0.0 MiB)
Bogosity

preprocess29.0ms (0.9%)

Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0120434
1704376
22702373
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
91.2%
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
Compiler

Compiled 2 to 26 computations (-1200.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series33.0ms (1.0%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02271159
Stop Event
iter-limit
Counts
13 → 53
Calls
Call 1
Inputs
%3 = (*.f64 y z)
%4 = (+.f64 x %3)
%7 = (*.f64 t a)
%8 = (+.f64 %4 %7)
%9 = (*.f64 a z)
%11 = (*.f64 %9 b)
x
y
z
%3
%4
t
a
%7
%8
%9
b
%11
(+.f64 %8 %11)
Outputs
%7 = (+ x (* y z))
%8 = (*.f64 y z)
%10 = (+.f64 x %8)
%14 = (* t a)
%15 = (+ %7 %14)
%16 = (fma.f64 a t %8)
%18 = (+.f64 x %16)
%20 = (* a z)
%22 = (* %20 b)
%23 = (+ %15 %22)
%24 = (*.f64 b z)
%25 = (fma.f64 a %24 %8)
%26 = (fma.f64 a t %25)
%31 = (/.f64 %8 x)
%35 = (*.f64 a t)
%36 = (/.f64 %35 x)
%41 = (*.f64 a %24)
%67 = (+.f64 x %35)
%70 = (+.f64 x (fma.f64 a t %41))
%72 = (/.f64 x y)
%76 = (/.f64 %35 y)
%105 = (*.f64 a z)
%108 = (*.f64 a b)
%110 = (*.f64 z (+.f64 y %108))
%114 = (/.f64 x z)
%119 = (+.f64 %114 (/.f64 %35 z))
%134 = (*.f64 #s(literal -1 binary64) (/.f64 %67 z))
%151 = (+.f64 x %25)
%153 = (/.f64 x t)
%154 = (/.f64 %8 t)
%178 = (+.f64 t %24)
%184 = (+.f64 (/.f64 x a) (/.f64 %8 a))
%195 = (*.f64 #s(literal -1 binary64) (/.f64 %10 a))
(approx x #s(literal 0 binary64))
(approx x x)
(approx %7 %8)
(approx %7 %10)
(approx %15 %16)
(approx %15 %18)
(approx %23 %26)
(approx %23 (+.f64 x %26))
(approx %7 (*.f64 x (+.f64 #s(literal 1 binary64) %31)))
(approx %15 (*.f64 x (+.f64 #s(literal 1 binary64) (+.f64 %36 %31))))
(approx %23 (*.f64 x (+.f64 #s(literal 1 binary64) (+.f64 %36 (+.f64 (/.f64 %41 x) %31)))))
(approx %7 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) %31) #s(literal 1 binary64)))))
(approx %15 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %16 x)) #s(literal 1 binary64)))))
(approx %23 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %26 x)) #s(literal 1 binary64)))))
(approx y y)
(approx %15 %67)
(approx %23 %70)
(approx %7 (*.f64 y (+.f64 z %72)))
(approx %15 (*.f64 y (+.f64 z (+.f64 %72 %76))))
(approx %23 (*.f64 y (+.f64 z (+.f64 %72 (+.f64 %76 (/.f64 %41 y))))))
(approx %7 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) %72)))))
(approx %15 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 %67 y))))))
(approx %23 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 %70 y))))))
(approx z z)
(approx %20 %105)
(approx %22 %41)
(approx %23 (+.f64 x (fma.f64 a t %110)))
(approx %7 (*.f64 z (+.f64 y %114)))
(approx %15 (*.f64 z (+.f64 y %119)))
(approx %23 %110)
(approx %23 (*.f64 z (+.f64 y (fma.f64 a b %119))))
(approx %7 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) %114)))))
(approx %15 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) y %134))))
(approx %23 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) %108)))))
(approx %23 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) y (fma.f64 #s(literal -1 binary64) %108 %134)))))
(approx t t)
(approx %14 %35)
(approx %23 %151)
(approx %15 (*.f64 t (+.f64 a (+.f64 %153 %154))))
(approx %23 (*.f64 t (+.f64 a (+.f64 %153 (+.f64 (/.f64 %41 t) %154)))))
(approx %15 (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 %10 t))))))
(approx %23 (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 %151 t))))))
(approx a a)
(approx %23 (+.f64 x (fma.f64 a %178 %8)))
(approx %15 (*.f64 a (+.f64 t %184)))
(approx %23 (*.f64 a %178))
(approx %23 (*.f64 a (+.f64 t (fma.f64 b z %184))))
(approx %15 (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) t %195))))
(approx %23 (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) %24)))))
(approx %23 (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) t (fma.f64 #s(literal -1 binary64) %24 %195)))))
(approx b b)
(approx %23 (*.f64 b (fma.f64 a z (+.f64 (/.f64 x b) (+.f64 (/.f64 %35 b) (/.f64 %8 b))))))
(approx %23 (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) %105 (*.f64 #s(literal -1 binary64) (/.f64 %18 b))))))
Calls

18 calls:

TimeVariablePoint
4.0ms
z
inf
3.0ms
a
inf
2.0ms
y
inf
1.0ms
b
inf
1.0ms
t
inf

rewrite88.0ms (2.6%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01349
02049
16247
220347
363947
4129847
5187747
0406947
0434041
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
13 → 242
Calls
Call 1
Inputs
%3 = (*.f64 y z)
%4 = (+.f64 x %3)
%7 = (*.f64 t a)
%8 = (+.f64 %4 %7)
%9 = (*.f64 a z)
%11 = (*.f64 %9 b)
x
y
z
%3
%4
t
a
%7
%8
%9
b
%11
(+.f64 %8 %11)
Outputs
%3 = (neg.f64 z)
%4 = (neg.f64 y)
%8 = (*.f64 z y)
%15 = (*.f64 %4 z)
%17 = (fma.f64 z y x)
%22 = (neg.f64 %17)
%24 = (neg.f64 x)
%25 = (*.f64 #s(literal -1 binary64) %24)
%39 = (*.f64 #s(literal -1 binary64) %15)
%44 = (neg.f64 a)
%45 = (neg.f64 t)
%48 = (*.f64 a t)
%54 = (*.f64 %45 a)
%56 = (fma.f64 a t %17)
%61 = (neg.f64 %56)
%63 = (fma.f64 a t x)
%64 = (neg.f64 %63)
%65 = (*.f64 #s(literal -1 binary64) %64)
%68 = (*.f64 #s(literal -1 binary64) %22)
%77 = (fma.f64 a t %8)
%82 = (*.f64 #s(literal -1 binary64) %54)
%99 = (neg.f64 %77)
%111 = (*.f64 #s(literal -1 binary64) %99)
%116 = (*.f64 a z)
%122 = (neg.f64 %116)
%125 = (*.f64 b z)
%127 = (neg.f64 b)
%128 = (*.f64 %127 a)
%130 = (*.f64 b a)
%132 = (*.f64 %127 z)
%138 = (*.f64 b %116)
%146 = (*.f64 %122 b)
%148 = (fma.f64 b a y)
%149 = (fma.f64 %148 z %63)
%157 = (neg.f64 %148)
%160 = (fma.f64 b z t)
%161 = (neg.f64 %160)
%164 = (*.f64 #s(literal -1 binary64) %61)
%181 = (fma.f64 %160 a x)
%182 = (neg.f64 %181)
%183 = (*.f64 #s(literal -1 binary64) %182)
%190 = (fma.f64 %148 z x)
%191 = (neg.f64 %190)
%192 = (*.f64 #s(literal -1 binary64) %191)
%201 = (*.f64 %148 z)
%204 = (fma.f64 %125 a x)
%209 = (*.f64 %148 %3)
%210 = (*.f64 #s(literal -1 binary64) %209)
%215 = (fma.f64 %160 a %8)
%220 = (*.f64 %160 a)
%223 = (neg.f64 %204)
%224 = (*.f64 #s(literal -1 binary64) %223)
%227 = (*.f64 #s(literal -1 binary64) %146)
%232 = (*.f64 %161 a)
%233 = (*.f64 #s(literal -1 binary64) %232)
%271 = (neg.f64 %215)
x
y
z
(*.f64 %3 %4)
(*.f64 %4 %3)
(*.f64 #s(literal 1 binary64) %8)
%8
(*.f64 y z)
(pow.f64 %8 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %8 #s(literal -1 binary64)))
(neg.f64 %15)
(*.f64 #s(literal 1 binary64) %17)
(pow.f64 %17 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %17 #s(literal -1 binary64)))
(neg.f64 %22)
(fma.f64 %3 %4 %25)
(fma.f64 %3 %4 x)
(fma.f64 %4 %3 %25)
(fma.f64 %4 %3 x)
(fma.f64 #s(literal 1 binary64) %8 %25)
(fma.f64 #s(literal 1 binary64) %8 x)
(fma.f64 z y %25)
%17
(fma.f64 y z %25)
(fma.f64 y z x)
(-.f64 %8 %24)
(-.f64 x %15)
(+.f64 %8 %25)
(+.f64 %8 x)
(+.f64 x %39)
(+.f64 x %8)
t
a
(*.f64 %44 %45)
(*.f64 %45 %44)
(*.f64 #s(literal 1 binary64) %48)
%48
(*.f64 t a)
(pow.f64 %48 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %48 #s(literal -1 binary64)))
(neg.f64 %54)
(*.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)))
(neg.f64 %61)
(fma.f64 %3 %4 %65)
(fma.f64 %3 %4 %63)
(fma.f64 %44 %45 %68)
(fma.f64 %44 %45 %17)
(fma.f64 %45 %44 %68)
(fma.f64 %45 %44 %17)
(fma.f64 %4 %3 %65)
(fma.f64 %4 %3 %63)
(fma.f64 #s(literal 1 binary64) %63 %39)
(fma.f64 #s(literal 1 binary64) %63 %8)
(fma.f64 #s(literal 1 binary64) %77 %25)
(fma.f64 #s(literal 1 binary64) %77 x)
(fma.f64 #s(literal 1 binary64) %48 %68)
(fma.f64 #s(literal 1 binary64) %48 %17)
(fma.f64 #s(literal 1 binary64) %17 %82)
(fma.f64 #s(literal 1 binary64) %17 %48)
(fma.f64 #s(literal 1 binary64) %8 %65)
(fma.f64 #s(literal 1 binary64) %8 %63)
(fma.f64 a t %68)
%56
(fma.f64 t a %68)
(fma.f64 t a %17)
(fma.f64 z y %65)
(fma.f64 z y %63)
(fma.f64 y z %65)
(fma.f64 y z %63)
(-.f64 %63 %15)
(-.f64 %77 %24)
(-.f64 %48 %22)
(-.f64 %17 %54)
(-.f64 %8 %64)
(-.f64 x %99)
(+.f64 %63 %39)
(+.f64 %63 %8)
(+.f64 %77 %25)
(+.f64 %77 x)
(+.f64 %48 %68)
(+.f64 %48 %17)
(+.f64 %17 %82)
(+.f64 %17 %48)
(+.f64 %8 %65)
(+.f64 %8 %63)
(+.f64 x %111)
(+.f64 x %77)
(*.f64 %3 %44)
(*.f64 %44 %3)
(*.f64 #s(literal 1 binary64) %116)
%116
(*.f64 z a)
(pow.f64 %116 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %116 #s(literal -1 binary64)))
(neg.f64 %122)
b
(*.f64 %125 a)
(*.f64 %128 %3)
(*.f64 %130 z)
(*.f64 %132 %44)
(*.f64 %127 %122)
(*.f64 %3 %128)
(*.f64 %44 %132)
(*.f64 %122 %127)
(*.f64 #s(literal 1 binary64) %138)
%138
(*.f64 %116 b)
(*.f64 a %125)
(*.f64 z %130)
(pow.f64 %138 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %138 #s(literal -1 binary64)))
(neg.f64 %146)
(*.f64 #s(literal 1 binary64) %149)
(pow.f64 %149 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %149 #s(literal -1 binary64)))
(neg.f64 (neg.f64 %149))
(fma.f64 %148 z %65)
%149
(fma.f64 %157 %3 %65)
(fma.f64 %157 %3 %63)
(fma.f64 %161 %44 %68)
(fma.f64 %161 %44 %17)
(fma.f64 %125 a %164)
(fma.f64 %125 a %56)
(fma.f64 %128 %3 %164)
(fma.f64 %128 %3 %56)
(fma.f64 %130 z %164)
(fma.f64 %130 z %56)
(fma.f64 %160 a %68)
(fma.f64 %160 a %17)
(fma.f64 %132 %44 %164)
(fma.f64 %132 %44 %56)
(fma.f64 %127 %122 %164)
(fma.f64 %127 %122 %56)
(fma.f64 %3 %157 %65)
(fma.f64 %3 %157 %63)
(fma.f64 %3 %128 %164)
(fma.f64 %3 %128 %56)
(fma.f64 %3 %4 %183)
(fma.f64 %3 %4 %181)
(fma.f64 %44 %161 %68)
(fma.f64 %44 %161 %17)
(fma.f64 %44 %132 %164)
(fma.f64 %44 %132 %56)
(fma.f64 %44 %45 %192)
(fma.f64 %44 %45 %190)
(fma.f64 %122 %127 %164)
(fma.f64 %122 %127 %56)
(fma.f64 %45 %44 %192)
(fma.f64 %45 %44 %190)
(fma.f64 %4 %3 %183)
(fma.f64 %4 %3 %181)
(fma.f64 #s(literal 1 binary64) %201 %65)
(fma.f64 #s(literal 1 binary64) %201 %63)
(fma.f64 #s(literal 1 binary64) %204 %111)
(fma.f64 #s(literal 1 binary64) %204 %77)
(fma.f64 #s(literal 1 binary64) %181 %39)
(fma.f64 #s(literal 1 binary64) %181 %8)
(fma.f64 #s(literal 1 binary64) %63 %210)
(fma.f64 #s(literal 1 binary64) %63 %201)
(fma.f64 #s(literal 1 binary64) %190 %82)
(fma.f64 #s(literal 1 binary64) %190 %48)
(fma.f64 #s(literal 1 binary64) %215 %25)
(fma.f64 #s(literal 1 binary64) %215 x)
(fma.f64 #s(literal 1 binary64) %138 %164)
(fma.f64 #s(literal 1 binary64) %138 %56)
(fma.f64 #s(literal 1 binary64) %220 %68)
(fma.f64 #s(literal 1 binary64) %220 %17)
(fma.f64 #s(literal 1 binary64) %77 %224)
(fma.f64 #s(literal 1 binary64) %77 %204)
(fma.f64 #s(literal 1 binary64) %56 %227)
(fma.f64 #s(literal 1 binary64) %56 %138)
(fma.f64 #s(literal 1 binary64) %48 %192)
(fma.f64 #s(literal 1 binary64) %48 %190)
(fma.f64 #s(literal 1 binary64) %17 %233)
(fma.f64 #s(literal 1 binary64) %17 %220)
(fma.f64 #s(literal 1 binary64) %8 %183)
(fma.f64 #s(literal 1 binary64) %8 %181)
(fma.f64 b %116 %164)
(fma.f64 b %116 %56)
(fma.f64 %116 b %164)
(fma.f64 %116 b %56)
(fma.f64 a %125 %164)
(fma.f64 a %125 %56)
(fma.f64 a %160 %68)
(fma.f64 a %160 %17)
(fma.f64 a t %192)
(fma.f64 a t %190)
(fma.f64 t a %192)
(fma.f64 t a %190)
(fma.f64 z %148 %65)
(fma.f64 z %148 %63)
(fma.f64 z %130 %164)
(fma.f64 z %130 %56)
(fma.f64 z y %183)
(fma.f64 z y %181)
(fma.f64 y z %183)
(fma.f64 y z %181)
(-.f64 %201 %64)
(-.f64 %204 %99)
(-.f64 %181 %15)
(-.f64 %63 %209)
(-.f64 %190 %54)
(-.f64 %215 %24)
(-.f64 %138 %61)
(-.f64 %220 %22)
(-.f64 %77 %223)
(-.f64 %56 %146)
(-.f64 %48 %191)
(-.f64 %17 %232)
(-.f64 %8 %182)
(-.f64 x %271)
(+.f64 %201 %65)
(+.f64 %201 %63)
(+.f64 %204 %111)
(+.f64 %204 %77)
(+.f64 %181 %39)
(+.f64 %181 %8)
(+.f64 %63 %210)
(+.f64 %63 %201)
(+.f64 %190 %82)
(+.f64 %190 %48)
(+.f64 %215 %25)
(+.f64 %215 x)
(+.f64 %138 %164)
(+.f64 %138 %56)
(+.f64 %220 %68)
(+.f64 %220 %17)
(+.f64 %77 %224)
(+.f64 %77 %204)
(+.f64 %56 %227)
(+.f64 %56 %138)
(+.f64 %48 %192)
(+.f64 %48 %190)
(+.f64 %17 %233)
(+.f64 %17 %220)
(+.f64 %8 %183)
(+.f64 %8 %181)
(+.f64 x (*.f64 #s(literal -1 binary64) %271))
(+.f64 x %215)

reconstruct23.0ms (0.7%)

Counts
295 → 77
Compiler

Compiled 295 to 454 computations (-53.9% saved)

eval6.0ms (0.2%)

Compiler

Compiled 71 to 248 computations (-249.3% saved)

prune2.0ms (0.1%)

Pruning

7 alts after pruning (7 fresh and 0 done)

PrunedKeptTotal
New64771
Fresh000
Picked101
Done000
Total65772
Accuracy
100.0%
Counts
72 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
96.2%
(fma.f64 y z (fma.f64 (fma.f64 b z t) a x))
95.4%
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
68.0%
(+.f64 (approx (+ (+ x (* y z)) (* t a)) (+.f64 x (*.f64 a t))) (*.f64 (*.f64 a z) b))
72.0%
(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (fma.f64 a (*.f64 b z) (*.f64 y z))))
71.0%
(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (fma.f64 a t (*.f64 a (*.f64 b z)))))
49.3%
(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 z (+.f64 y (*.f64 a b))))
46.6%
(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a (+.f64 t (*.f64 b z))))
Compiler

Compiled 7 to 28 computations (-300.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series44.0ms (1.3%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
05002577
Stop Event
iter-limit
Counts
33 → 121
Calls
Call 1
Inputs
%3 = (*.f64 y z)
%6 = (*.f64 a z)
%8 = (*.f64 %6 b)
%9 = (*.f64 b z)
%10 = (fma.f64 a %9 %3)
%11 = (*.f64 a t)
%12 = (*.f64 a %9)
%13 = (+.f64 x %11)
%17 = (+ (+ x (* y z)) (* t a))
%18 = (approx %17 %13)
%19 = (fma.f64 a t %12)
%20 = (+.f64 x %19)
%23 = (+ %17 (* (* a z) b))
%25 = (*.f64 a b)
%26 = (+.f64 y %25)
%27 = (*.f64 z %26)
%29 = (+.f64 x %10)
%31 = (+.f64 t %9)
%32 = (*.f64 a %31)
%34 = (fma.f64 z y x)
%35 = (fma.f64 b z t)
%36 = (fma.f64 %35 a x)
x
y
z
%3
t
a
%6
b
%8
%9
%10
%11
%12
%13
%18
%19
%20
(approx %23 %20)
%25
%26
%27
(approx %23 %27)
%29
(approx %23 %29)
%31
%32
(approx %23 %32)
%34
%35
%36
(fma.f64 a %35 %34)
(fma.f64 y z %36)
(+.f64 %18 %8)
Outputs
%6 = (* a t)
%7 = (+ x %6)
%8 = (*.f64 a t)
%10 = (+.f64 x %8)
%14 = (* y z)
%17 = (+ (+ x %14) (* t a))
%18 = (*.f64 y z)
%19 = (fma.f64 a t %18)
%21 = (+.f64 x %19)
%24 = (* b z)
%25 = (* a %24)
%26 = (+ %6 %25)
%27 = (+ x %26)
%28 = (*.f64 b z)
%29 = (*.f64 a %28)
%30 = (fma.f64 a t %29)
%32 = (+.f64 x %30)
%34 = (* a z)
%36 = (+ %17 (* %34 b))
%37 = (fma.f64 a %28 %18)
%38 = (fma.f64 a t %37)
%42 = (+ %25 %14)
%43 = (+ x %42)
%45 = (+.f64 x %37)
%48 = (+ (* z y) x)
%50 = (+.f64 x %18)
%52 = (+ %24 t)
%54 = (+ (* %52 a) x)
%55 = (+.f64 t %28)
%56 = (*.f64 a %55)
%58 = (+.f64 x %56)
%61 = (+ (* a %52) %48)
%62 = (fma.f64 a %55 %18)
%67 = (/.f64 %8 x)
%71 = (/.f64 %18 x)
%76 = (/.f64 %29 x)
%81 = (+.f64 %76 %71)
%92 = (/.f64 %56 x)
%149 = (+ y (* a b))
%150 = (*.f64 a b)
%152 = (+.f64 y %150)
%154 = (+.f64 x %29)
%156 = (/.f64 %29 y)
%160 = (/.f64 x y)
%161 = (/.f64 %8 y)
%171 = (/.f64 %150 y)
%227 = (*.f64 a z)
%230 = (*.f64 z %152)
%237 = (+ t %24)
%240 = (/.f64 x z)
%241 = (/.f64 %8 z)
%242 = (+.f64 %240 %241)
%249 = (fma.f64 a b %242)
%259 = (/.f64 t z)
%272 = (*.f64 #s(literal -1 binary64) (/.f64 %10 z))
%282 = (fma.f64 #s(literal -1 binary64) %150 %272)
%290 = (*.f64 #s(literal -1 binary64) %240)
%305 = (/.f64 x t)
%309 = (/.f64 %18 t)
%314 = (/.f64 %29 t)
%327 = (/.f64 %28 t)
%365 = (/.f64 %18 a)
%369 = (/.f64 x a)
%373 = (+.f64 %369 %365)
%381 = (fma.f64 b z %373)
%385 = (/.f64 y a)
%396 = (*.f64 #s(literal -1 binary64) %369)
%402 = (*.f64 #s(literal -1 binary64) (/.f64 %50 a))
%417 = (fma.f64 #s(literal -1 binary64) %28 %402)
%439 = (/.f64 %18 b)
%443 = (/.f64 %8 b)
%447 = (/.f64 x b)
%457 = (/.f64 y b)
%465 = (/.f64 t b)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %7 %8)
(approx %7 %10)
(approx %17 %19)
(approx %17 %21)
(approx %27 %30)
(approx %27 %32)
(approx %36 %38)
(approx %36 (+.f64 x %38))
(approx %43 %37)
(approx %43 %45)
(approx %48 %18)
(approx %48 %50)
(approx %54 %56)
(approx %54 %58)
(approx %61 %62)
(approx %61 (+.f64 x %62))
(approx %7 (*.f64 x (+.f64 #s(literal 1 binary64) %67)))
(approx %17 (*.f64 x (+.f64 #s(literal 1 binary64) (+.f64 %67 %71))))
(approx %27 (*.f64 x (+.f64 #s(literal 1 binary64) (+.f64 %67 %76))))
(approx %36 (*.f64 x (+.f64 #s(literal 1 binary64) (+.f64 %67 %81))))
(approx %43 (*.f64 x (+.f64 #s(literal 1 binary64) %81)))
(approx %48 (*.f64 x (+.f64 #s(literal 1 binary64) %71)))
(approx %54 (*.f64 x (+.f64 #s(literal 1 binary64) %92)))
(approx %61 (*.f64 x (+.f64 #s(literal 1 binary64) (+.f64 %92 %71))))
(approx %7 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) %67) #s(literal 1 binary64)))))
(approx %17 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %19 x)) #s(literal 1 binary64)))))
(approx %27 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %30 x)) #s(literal 1 binary64)))))
(approx %36 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %38 x)) #s(literal 1 binary64)))))
(approx %43 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %37 x)) #s(literal 1 binary64)))))
(approx %48 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) %71) #s(literal 1 binary64)))))
(approx %54 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) %92) #s(literal 1 binary64)))))
(approx %61 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %62 x)) #s(literal 1 binary64)))))
(approx y y)
(approx %42 %29)
(approx %149 %150)
(approx %149 %152)
(approx %43 %154)
(approx %42 (*.f64 y (+.f64 z %156)))
(approx %17 (*.f64 y (+.f64 z (+.f64 %160 %161))))
(approx %36 (*.f64 y (+.f64 z (+.f64 %160 (+.f64 %161 %156)))))
(approx %149 (*.f64 y (+.f64 #s(literal 1 binary64) %171)))
(approx %43 (*.f64 y (+.f64 z (+.f64 %160 %156))))
(approx %48 (*.f64 y (+.f64 z %160)))
(approx %61 (*.f64 y (+.f64 z (+.f64 %160 (/.f64 %56 y)))))
(approx %42 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) %156)))))
(approx %17 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 %10 y))))))
(approx %36 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 %32 y))))))
(approx %149 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) %171) #s(literal 1 binary64)))))
(approx %43 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 %154 y))))))
(approx %48 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) %160)))))
(approx %61 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 %58 y))))))
(approx z z)
(approx %34 %227)
(approx %24 %28)
(approx %42 %230)
(approx %36 (+.f64 x (fma.f64 a t %230)))
(approx %43 (+.f64 x %230))
(approx %237 t)
(approx %237 %55)
(approx %17 (*.f64 z (+.f64 y %242)))
(approx %26 (*.f64 z (fma.f64 a b %241)))
(approx %27 (*.f64 z %249))
(approx %36 (*.f64 z (+.f64 y %249)))
(approx %43 (*.f64 z (+.f64 y (fma.f64 a b %240))))
(approx %237 (*.f64 z (+.f64 b %259)))
(approx %48 (*.f64 z (+.f64 y %240)))
(approx %42 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) %150)))))
(approx %17 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) y %272))))
(approx %26 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) %150 (*.f64 #s(literal -1 binary64) %241)))))
(approx %27 (*.f64 #s(literal -1 binary64) (*.f64 z %282)))
(approx %36 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) y %282))))
(approx %43 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) y (fma.f64 #s(literal -1 binary64) %150 %290)))))
(approx %237 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) %259)))))
(approx %48 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) y %290))))
(approx %7 (*.f64 t (+.f64 a %305)))
(approx %17 (*.f64 t (+.f64 a (+.f64 %305 %309))))
(approx %26 (*.f64 t (+.f64 a %314)))
(approx %27 (*.f64 t (+.f64 a (+.f64 %305 %314))))
(approx %36 (*.f64 t (+.f64 a (+.f64 %305 (+.f64 %314 %309)))))
(approx %237 (*.f64 t (+.f64 #s(literal 1 binary64) %327)))
(approx %7 (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) %305)))))
(approx %17 (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 %50 t))))))
(approx %26 (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) %314)))))
(approx %27 (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 %154 t))))))
(approx %36 (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 %45 t))))))
(approx %237 (*.f64 #s(literal -1 binary64) (*.f64 t (-.f64 (*.f64 #s(literal -1 binary64) %327) #s(literal 1 binary64)))))
(approx a a)
(approx %42 (*.f64 a (fma.f64 b z %365)))
(approx %7 (*.f64 a (+.f64 t %369)))
(approx %17 (*.f64 a (+.f64 t %373)))
(approx %27 (*.f64 a (+.f64 t (fma.f64 b z %369))))
(approx %36 (*.f64 a (+.f64 t %381)))
(approx %149 (*.f64 a (+.f64 b %385)))
(approx %43 (*.f64 a %381))
(approx %42 (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) %28 (*.f64 #s(literal -1 binary64) %365)))))
(approx %7 (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) t %396))))
(approx %17 (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) t %402))))
(approx %26 (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) %28)))))
(approx %27 (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) t (fma.f64 #s(literal -1 binary64) %28 %396)))))
(approx %36 (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) t %417))))
(approx %149 (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) %385)))))
(approx %43 (*.f64 #s(literal -1 binary64) (*.f64 a %417)))
(approx %54 (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) %55 %396))))
(approx %61 (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) %55 %402))))
(approx b b)
(approx %42 (*.f64 b (fma.f64 a z %439)))
(approx %26 (*.f64 b (fma.f64 a z %443)))
(approx %27 (*.f64 b (fma.f64 a z (+.f64 %447 %443))))
(approx %36 (*.f64 b (fma.f64 a z (+.f64 %447 (+.f64 %443 %439)))))
(approx %149 (*.f64 b (+.f64 a %457)))
(approx %43 (*.f64 b (fma.f64 a z (+.f64 %447 %439))))
(approx %237 (*.f64 b (+.f64 z %465)))
(approx %42 (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) %227 (*.f64 #s(literal -1 binary64) %439)))))
(approx %26 (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) %227 (*.f64 #s(literal -1 binary64) %443)))))
(approx %27 (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) %227 (*.f64 #s(literal -1 binary64) (/.f64 %10 b))))))
(approx %36 (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) %227 (*.f64 #s(literal -1 binary64) (/.f64 %21 b))))))
(approx %149 (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) %457)))))
(approx %43 (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) %227 (*.f64 #s(literal -1 binary64) (/.f64 %50 b))))))
(approx %237 (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) %465)))))
Calls

18 calls:

TimeVariablePoint
5.0ms
z
inf
4.0ms
a
inf
3.0ms
b
-inf
3.0ms
b
inf
2.0ms
a
-inf

rewrite99.0ms (2.9%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
040265
069229
1221229
2557229
31276229
41499229
51951229
04173229
04478215
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
33 → 909
Calls
Call 1
Inputs
%3 = (*.f64 y z)
%6 = (*.f64 a z)
%8 = (*.f64 %6 b)
%9 = (*.f64 b z)
%10 = (fma.f64 a %9 %3)
%11 = (*.f64 a t)
%12 = (*.f64 a %9)
%13 = (+.f64 x %11)
%17 = (+ (+ x (* y z)) (* t a))
%18 = (approx %17 %13)
%19 = (fma.f64 a t %12)
%20 = (+.f64 x %19)
%23 = (+ %17 (* (* a z) b))
%25 = (*.f64 a b)
%26 = (+.f64 y %25)
%27 = (*.f64 z %26)
%29 = (+.f64 x %10)
%31 = (+.f64 t %9)
%32 = (*.f64 a %31)
%34 = (fma.f64 z y x)
%35 = (fma.f64 b z t)
%36 = (fma.f64 %35 a x)
x
y
z
%3
t
a
%6
b
%8
%9
%10
%11
%12
%13
%18
%19
%20
(approx %23 %20)
%25
%26
%27
(approx %23 %27)
%29
(approx %23 %29)
%31
%32
(approx %23 %32)
%34
%35
%36
(fma.f64 a %35 %34)
(fma.f64 y z %36)
(+.f64 %18 %8)
Outputs
%3 = (neg.f64 z)
%4 = (neg.f64 y)
%8 = (*.f64 z y)
%15 = (neg.f64 %8)
%19 = (neg.f64 a)
%22 = (*.f64 a z)
%28 = (*.f64 %19 z)
%31 = (neg.f64 b)
%32 = (*.f64 %31 a)
%33 = (*.f64 %3 %32)
%34 = (*.f64 b a)
%35 = (*.f64 %34 z)
%36 = (*.f64 %31 %28)
%37 = (*.f64 %28 %31)
%38 = (*.f64 b z)
%39 = (neg.f64 %38)
%40 = (*.f64 %19 %39)
%41 = (*.f64 %39 %19)
%42 = (*.f64 %32 %3)
%43 = (*.f64 %38 a)
%44 = (*.f64 #s(literal 1 binary64) %43)
%45 = (*.f64 b %22)
%46 = (*.f64 %22 b)
%47 = (*.f64 a %38)
%48 = (*.f64 z %34)
%49 = (pow.f64 %43 #s(literal 1 binary64))
%51 = (/.f64 #s(literal 1 binary64) (pow.f64 %43 #s(literal -1 binary64)))
%52 = (*.f64 %3 %34)
%53 = (neg.f64 %52)
%62 = (fma.f64 b a y)
%63 = (neg.f64 %62)
%64 = (*.f64 %3 %63)
%65 = (*.f64 %63 %3)
%66 = (*.f64 %62 z)
%67 = (*.f64 #s(literal 1 binary64) %66)
%68 = (*.f64 z %62)
%69 = (pow.f64 %66 #s(literal 1 binary64))
%71 = (/.f64 #s(literal 1 binary64) (pow.f64 %66 #s(literal -1 binary64)))
%72 = (*.f64 %3 %62)
%73 = (neg.f64 %72)
%74 = (*.f64 #s(literal -1 binary64) %52)
%75 = (fma.f64 %3 %4 %74)
%76 = (fma.f64 %3 %4 %43)
%77 = (*.f64 #s(literal -1 binary64) %15)
%78 = (fma.f64 %3 %32 %77)
%79 = (fma.f64 %3 %32 %8)
%80 = (fma.f64 %34 z %77)
%81 = (fma.f64 %34 z %8)
%82 = (fma.f64 %4 %3 %74)
%83 = (fma.f64 %4 %3 %43)
%84 = (fma.f64 %31 %28 %77)
%85 = (fma.f64 %31 %28 %8)
%86 = (fma.f64 %28 %31 %77)
%87 = (fma.f64 %28 %31 %8)
%88 = (fma.f64 %19 %39 %77)
%89 = (fma.f64 %19 %39 %8)
%90 = (fma.f64 %39 %19 %77)
%91 = (fma.f64 %39 %19 %8)
%92 = (fma.f64 %32 %3 %77)
%93 = (fma.f64 %32 %3 %8)
%94 = (fma.f64 #s(literal 1 binary64) %43 %77)
%95 = (fma.f64 #s(literal 1 binary64) %43 %8)
%96 = (fma.f64 #s(literal 1 binary64) %8 %74)
%97 = (fma.f64 #s(literal 1 binary64) %8 %43)
%98 = (fma.f64 %38 a %77)
%99 = (fma.f64 %38 a %8)
%100 = (fma.f64 b %22 %77)
%101 = (fma.f64 b %22 %8)
%102 = (fma.f64 %22 b %77)
%103 = (fma.f64 %22 b %8)
%104 = (fma.f64 a %38 %77)
%105 = (fma.f64 a %38 %8)
%106 = (fma.f64 z %34 %77)
%107 = (fma.f64 z %34 %8)
%108 = (fma.f64 z y %74)
%109 = (fma.f64 z y %43)
%110 = (fma.f64 y z %74)
%111 = (fma.f64 y z %43)
%112 = (-.f64 %43 %15)
%113 = (-.f64 %8 %52)
%114 = (+.f64 %43 %77)
%115 = (+.f64 %43 %8)
%116 = (+.f64 %8 %74)
%117 = (+.f64 %8 %43)
%118 = (neg.f64 t)
%121 = (*.f64 a t)
%127 = (neg.f64 %121)
%129 = (fma.f64 a t x)
%134 = (neg.f64 %129)
%136 = (neg.f64 x)
%137 = (*.f64 #s(literal -1 binary64) %136)
%151 = (*.f64 #s(literal -1 binary64) %127)
%154 = (* z y)
%158 = (approx (+ (+ %154 x) (* a t)) %129)
%163 = (neg.f64 %158)
%165 = (fma.f64 b z t)
%166 = (neg.f64 %165)
%167 = (*.f64 %166 %19)
%168 = (*.f64 %19 %166)
%169 = (*.f64 %165 a)
%170 = (*.f64 #s(literal 1 binary64) %169)
%171 = (*.f64 a %165)
%172 = (pow.f64 %169 #s(literal 1 binary64))
%174 = (/.f64 #s(literal 1 binary64) (pow.f64 %169 #s(literal -1 binary64)))
%175 = (neg.f64 %169)
%176 = (neg.f64 %175)
%177 = (fma.f64 %3 %32 %151)
%178 = (fma.f64 %3 %32 %121)
%179 = (fma.f64 %34 z %151)
%180 = (fma.f64 %34 z %121)
%181 = (fma.f64 %31 %28 %151)
%182 = (fma.f64 %31 %28 %121)
%183 = (fma.f64 %28 %31 %151)
%184 = (fma.f64 %28 %31 %121)
%185 = (fma.f64 %19 %118 %74)
%186 = (fma.f64 %19 %118 %43)
%187 = (fma.f64 %19 %39 %151)
%188 = (fma.f64 %19 %39 %121)
%189 = (fma.f64 %118 %19 %74)
%190 = (fma.f64 %118 %19 %43)
%191 = (fma.f64 %39 %19 %151)
%192 = (fma.f64 %39 %19 %121)
%193 = (fma.f64 %32 %3 %151)
%194 = (fma.f64 %32 %3 %121)
%195 = (fma.f64 #s(literal 1 binary64) %43 %151)
%196 = (fma.f64 #s(literal 1 binary64) %43 %121)
%197 = (fma.f64 #s(literal 1 binary64) %121 %74)
%198 = (fma.f64 #s(literal 1 binary64) %121 %43)
%199 = (fma.f64 %38 a %151)
%200 = (fma.f64 %38 a %121)
%201 = (fma.f64 b %22 %151)
%202 = (fma.f64 b %22 %121)
%203 = (fma.f64 %22 b %151)
%204 = (fma.f64 %22 b %121)
%205 = (fma.f64 a %38 %151)
%206 = (fma.f64 a %38 %121)
%207 = (fma.f64 a t %74)
%208 = (fma.f64 a t %43)
%209 = (fma.f64 t a %74)
%210 = (fma.f64 t a %43)
%211 = (fma.f64 z %34 %151)
%212 = (fma.f64 z %34 %121)
%213 = (-.f64 %43 %127)
%214 = (-.f64 %121 %52)
%215 = (+.f64 %43 %151)
%216 = (+.f64 %43 %121)
%217 = (+.f64 %121 %74)
%218 = (+.f64 %121 %43)
%219 = (fma.f64 %165 a x)
%220 = (*.f64 #s(literal 1 binary64) %219)
%221 = (pow.f64 %219 #s(literal 1 binary64))
%223 = (/.f64 #s(literal 1 binary64) (pow.f64 %219 #s(literal -1 binary64)))
%224 = (neg.f64 %219)
%225 = (neg.f64 %224)
%226 = (*.f64 #s(literal -1 binary64) %134)
%227 = (fma.f64 %3 %32 %226)
%228 = (fma.f64 %3 %32 %129)
%229 = (fma.f64 %34 z %226)
%230 = (fma.f64 %34 z %129)
%231 = (fma.f64 %166 %19 %137)
%232 = (fma.f64 %166 %19 x)
%233 = (fma.f64 %31 %28 %226)
%234 = (fma.f64 %31 %28 %129)
%235 = (fma.f64 %28 %31 %226)
%236 = (fma.f64 %28 %31 %129)
%237 = (fma.f64 %19 %166 %137)
%238 = (fma.f64 %19 %166 x)
%239 = (fma.f64 %38 a x)
%240 = (neg.f64 %239)
%241 = (*.f64 #s(literal -1 binary64) %240)
%242 = (fma.f64 %19 %118 %241)
%243 = (fma.f64 %19 %118 %239)
%244 = (fma.f64 %19 %39 %226)
%245 = (fma.f64 %19 %39 %129)
%246 = (fma.f64 %118 %19 %241)
%247 = (fma.f64 %118 %19 %239)
%248 = (fma.f64 %39 %19 %226)
%249 = (fma.f64 %39 %19 %129)
%250 = (fma.f64 %32 %3 %226)
%251 = (fma.f64 %32 %3 %129)
%252 = (fma.f64 #s(literal 1 binary64) %43 %226)
%253 = (fma.f64 #s(literal 1 binary64) %43 %129)
%254 = (fma.f64 #s(literal 1 binary64) %239 %151)
%255 = (fma.f64 #s(literal 1 binary64) %239 %121)
%256 = (fma.f64 #s(literal 1 binary64) %169 %137)
%257 = (fma.f64 #s(literal 1 binary64) %169 x)
%258 = (fma.f64 #s(literal 1 binary64) %129 %74)
%259 = (fma.f64 #s(literal 1 binary64) %129 %43)
%260 = (fma.f64 #s(literal 1 binary64) %121 %241)
%261 = (fma.f64 #s(literal 1 binary64) %121 %239)
%262 = (fma.f64 %165 a %137)
%263 = (fma.f64 %38 a %226)
%264 = (fma.f64 %38 a %129)
%265 = (fma.f64 b %22 %226)
%266 = (fma.f64 b %22 %129)
%267 = (fma.f64 %22 b %226)
%268 = (fma.f64 %22 b %129)
%269 = (fma.f64 a %165 %137)
%270 = (fma.f64 a %165 x)
%271 = (fma.f64 a %38 %226)
%272 = (fma.f64 a %38 %129)
%273 = (fma.f64 a t %241)
%274 = (fma.f64 a t %239)
%275 = (fma.f64 t a %241)
%276 = (fma.f64 t a %239)
%277 = (fma.f64 z %34 %226)
%278 = (fma.f64 z %34 %129)
%279 = (-.f64 %43 %134)
%280 = (-.f64 %239 %127)
%281 = (-.f64 %169 %136)
%282 = (-.f64 %129 %52)
%283 = (-.f64 %121 %240)
%284 = (-.f64 x %175)
%285 = (+.f64 %43 %226)
%286 = (+.f64 %43 %129)
%287 = (+.f64 %239 %151)
%288 = (+.f64 %239 %121)
%289 = (+.f64 %169 %137)
%290 = (+.f64 %169 x)
%291 = (+.f64 %129 %74)
%292 = (+.f64 %129 %43)
%293 = (+.f64 %121 %241)
%294 = (+.f64 %121 %239)
%295 = (*.f64 #s(literal -1 binary64) %175)
%296 = (+.f64 x %295)
%297 = (+.f64 x %169)
%302 = (+ (+ (* (+ (* b z) t) a) %154) x)
%303 = (approx %302 %219)
%321 = (*.f64 #s(literal -1 binary64) %4)
%338 = (approx %302 %66)
%343 = (fma.f64 %62 z x)
%348 = (neg.f64 %343)
%354 = (fma.f64 z y x)
%355 = (neg.f64 %354)
%356 = (*.f64 #s(literal -1 binary64) %355)
%418 = (*.f64 #s(literal -1 binary64) %72)
%421 = (approx %302 %343)
%426 = (*.f64 #s(literal 1 binary64) %165)
%427 = (pow.f64 %165 #s(literal 1 binary64))
%429 = (/.f64 #s(literal 1 binary64) (pow.f64 %165 #s(literal -1 binary64)))
%430 = (neg.f64 %166)
%431 = (*.f64 #s(literal -1 binary64) %118)
%432 = (fma.f64 %3 %31 %431)
%433 = (fma.f64 %3 %31 t)
%434 = (fma.f64 %31 %3 %431)
%435 = (fma.f64 %31 %3 t)
%436 = (fma.f64 #s(literal 1 binary64) %38 %431)
%437 = (fma.f64 #s(literal 1 binary64) %38 t)
%438 = (fma.f64 b z %431)
%439 = (fma.f64 z b %431)
%440 = (fma.f64 z b t)
%441 = (-.f64 %38 %118)
%442 = (-.f64 t %39)
%443 = (+.f64 %38 %431)
%444 = (+.f64 %38 t)
%446 = (+.f64 t (*.f64 #s(literal -1 binary64) %39))
%447 = (+.f64 t %38)
%448 = (approx %302 %169)
%473 = (fma.f64 %165 a %354)
%474 = (*.f64 #s(literal 1 binary64) %473)
%475 = (pow.f64 %473 #s(literal 1 binary64))
%477 = (/.f64 #s(literal 1 binary64) (pow.f64 %473 #s(literal -1 binary64)))
%479 = (neg.f64 (neg.f64 %473))
%480 = (fma.f64 %3 %63 %226)
%481 = (fma.f64 %3 %63 %129)
%482 = (*.f64 #s(literal -1 binary64) %224)
%483 = (fma.f64 %3 %4 %482)
%484 = (fma.f64 %3 %4 %219)
%485 = (fma.f64 a t %354)
%486 = (neg.f64 %485)
%487 = (*.f64 #s(literal -1 binary64) %486)
%488 = (fma.f64 %3 %32 %487)
%489 = (fma.f64 %3 %32 %485)
%490 = (fma.f64 %34 z %487)
%491 = (fma.f64 %34 z %485)
%492 = (fma.f64 %166 %19 %356)
%493 = (fma.f64 %166 %19 %354)
%494 = (fma.f64 %63 %3 %226)
%495 = (fma.f64 %63 %3 %129)
%496 = (fma.f64 %4 %3 %482)
%497 = (fma.f64 %4 %3 %219)
%498 = (fma.f64 %31 %28 %487)
%499 = (fma.f64 %31 %28 %485)
%500 = (fma.f64 %28 %31 %487)
%501 = (fma.f64 %28 %31 %485)
%502 = (fma.f64 %19 %166 %356)
%503 = (fma.f64 %19 %166 %354)
%504 = (*.f64 #s(literal -1 binary64) %348)
%505 = (fma.f64 %19 %118 %504)
%506 = (fma.f64 %19 %118 %343)
%507 = (fma.f64 %19 %39 %487)
%508 = (fma.f64 %19 %39 %485)
%509 = (fma.f64 %118 %19 %504)
%510 = (fma.f64 %118 %19 %343)
%511 = (fma.f64 %39 %19 %487)
%512 = (fma.f64 %39 %19 %485)
%513 = (fma.f64 %32 %3 %487)
%514 = (fma.f64 %32 %3 %485)
%515 = (fma.f64 #s(literal 1 binary64) %43 %487)
%516 = (fma.f64 #s(literal 1 binary64) %43 %485)
%517 = (fma.f64 %165 a %8)
%518 = (fma.f64 #s(literal 1 binary64) %517 %137)
%519 = (fma.f64 #s(literal 1 binary64) %517 x)
%520 = (fma.f64 a t %8)
%521 = (neg.f64 %520)
%522 = (*.f64 #s(literal -1 binary64) %521)
%523 = (fma.f64 #s(literal 1 binary64) %239 %522)
%524 = (fma.f64 #s(literal 1 binary64) %239 %520)
%525 = (fma.f64 #s(literal 1 binary64) %520 %241)
%526 = (fma.f64 #s(literal 1 binary64) %520 %239)
%527 = (fma.f64 #s(literal 1 binary64) %169 %356)
%528 = (fma.f64 #s(literal 1 binary64) %169 %354)
%529 = (fma.f64 #s(literal 1 binary64) %219 %77)
%530 = (fma.f64 #s(literal 1 binary64) %219 %8)
%531 = (fma.f64 #s(literal 1 binary64) %343 %151)
%532 = (fma.f64 #s(literal 1 binary64) %343 %121)
%533 = (fma.f64 #s(literal 1 binary64) %485 %74)
%534 = (fma.f64 #s(literal 1 binary64) %485 %43)
%535 = (fma.f64 #s(literal 1 binary64) %354 %295)
%536 = (fma.f64 #s(literal 1 binary64) %354 %169)
%537 = (fma.f64 #s(literal 1 binary64) %129 %418)
%538 = (fma.f64 #s(literal 1 binary64) %129 %66)
%539 = (fma.f64 #s(literal 1 binary64) %121 %504)
%540 = (fma.f64 #s(literal 1 binary64) %121 %343)
%541 = (fma.f64 #s(literal 1 binary64) %66 %226)
%542 = (fma.f64 #s(literal 1 binary64) %66 %129)
%543 = (fma.f64 #s(literal 1 binary64) %8 %482)
%544 = (fma.f64 #s(literal 1 binary64) %8 %219)
%545 = (fma.f64 %165 a %356)
%546 = (fma.f64 %62 z %226)
%547 = (fma.f64 %62 z %129)
%548 = (fma.f64 %38 a %487)
%549 = (fma.f64 %38 a %485)
%550 = (fma.f64 b %22 %487)
%551 = (fma.f64 b %22 %485)
%552 = (fma.f64 %22 b %487)
%553 = (fma.f64 %22 b %485)
%554 = (fma.f64 a %165 %356)
%555 = (fma.f64 a %165 %354)
%556 = (fma.f64 a %38 %487)
%557 = (fma.f64 a %38 %485)
%558 = (fma.f64 a t %504)
%559 = (fma.f64 a t %343)
%560 = (fma.f64 t a %504)
%561 = (fma.f64 t a %343)
%562 = (fma.f64 z %34 %487)
%563 = (fma.f64 z %34 %485)
%564 = (fma.f64 z %62 %226)
%565 = (fma.f64 z %62 %129)
%566 = (fma.f64 z y %482)
%567 = (fma.f64 z y %219)
%568 = (fma.f64 y z %482)
%569 = (fma.f64 y z %219)
%570 = (-.f64 %43 %486)
%571 = (-.f64 %517 %136)
%572 = (-.f64 %239 %521)
%573 = (-.f64 %520 %240)
%574 = (-.f64 %169 %355)
%575 = (-.f64 %219 %15)
%576 = (-.f64 %343 %127)
%577 = (-.f64 %485 %52)
%578 = (-.f64 %354 %175)
%579 = (-.f64 %129 %72)
%580 = (-.f64 %121 %348)
%581 = (-.f64 %66 %134)
%582 = (-.f64 %8 %224)
%583 = (neg.f64 %517)
%584 = (-.f64 x %583)
%585 = (+.f64 %43 %487)
%586 = (+.f64 %43 %485)
%587 = (+.f64 %517 %137)
%588 = (+.f64 %517 x)
%589 = (+.f64 %239 %522)
%590 = (+.f64 %239 %520)
%591 = (+.f64 %520 %241)
%592 = (+.f64 %520 %239)
%593 = (+.f64 %169 %356)
%594 = (+.f64 %169 %354)
%595 = (+.f64 %219 %77)
%596 = (+.f64 %219 %8)
%597 = (+.f64 %343 %151)
%598 = (+.f64 %343 %121)
%599 = (+.f64 %485 %74)
%600 = (+.f64 %485 %43)
%601 = (+.f64 %354 %295)
%602 = (+.f64 %354 %169)
%603 = (+.f64 %129 %418)
%604 = (+.f64 %129 %66)
%605 = (+.f64 %121 %504)
%606 = (+.f64 %121 %343)
%607 = (+.f64 %66 %226)
%608 = (+.f64 %66 %129)
%609 = (+.f64 %8 %482)
%610 = (+.f64 %8 %219)
%612 = (+.f64 x (*.f64 #s(literal -1 binary64) %583))
%613 = (+.f64 x %517)
%614 = (fma.f64 %38 a %158)
%621 = (*.f64 #s(literal -1 binary64) %163)
x
y
z
(*.f64 %3 %4)
(*.f64 %4 %3)
(*.f64 #s(literal 1 binary64) %8)
%8
(*.f64 y z)
(pow.f64 %8 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %8 #s(literal -1 binary64)))
(neg.f64 %15)
t
a
(*.f64 %3 %19)
(*.f64 %19 %3)
(*.f64 #s(literal 1 binary64) %22)
%22
(*.f64 z a)
(pow.f64 %22 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %22 #s(literal -1 binary64)))
(neg.f64 %28)
b
%33
%35
%36
%37
%40
%41
%42
%44
%43
%45
%46
%47
%48
%49
%51
%53
(*.f64 %3 %31)
(*.f64 %31 %3)
(*.f64 #s(literal 1 binary64) %38)
%38
(*.f64 z b)
(pow.f64 %38 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %38 #s(literal -1 binary64)))
(neg.f64 %39)
%64
%65
%67
%66
%68
%69
%71
%73
%75
%76
%78
%79
%80
%81
%82
%83
%84
%85
%86
%87
%88
%89
%90
%91
%92
%93
%94
%95
%96
%97
%98
%99
%100
%101
%102
%103
%104
%105
%106
%107
%108
%109
%110
%111
%112
%113
%114
%115
%116
%117
(*.f64 %19 %118)
(*.f64 %118 %19)
(*.f64 #s(literal 1 binary64) %121)
%121
(*.f64 t a)
(pow.f64 %121 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %121 #s(literal -1 binary64)))
(neg.f64 %127)
%33
%35
%36
%37
%40
%41
%42
%44
%43
%45
%46
%47
%48
%49
%51
%53
(*.f64 #s(literal 1 binary64) %129)
(pow.f64 %129 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %129 #s(literal -1 binary64)))
(neg.f64 %134)
(fma.f64 %19 %118 %137)
(fma.f64 %19 %118 x)
(fma.f64 %118 %19 %137)
(fma.f64 %118 %19 x)
(fma.f64 #s(literal 1 binary64) %121 %137)
(fma.f64 #s(literal 1 binary64) %121 x)
(fma.f64 a t %137)
%129
(fma.f64 t a %137)
(fma.f64 t a x)
(-.f64 %121 %136)
(-.f64 x %127)
(+.f64 %121 %137)
(+.f64 %121 x)
(+.f64 x %151)
(+.f64 x %121)
(*.f64 #s(literal 1 binary64) %158)
(pow.f64 %158 #s(literal 1 binary64))
%158
(/.f64 #s(literal 1 binary64) (pow.f64 %158 #s(literal -1 binary64)))
(neg.f64 %163)
%167
%168
%170
%169
%171
%172
%174
%176
%177
%178
%179
%180
%181
%182
%183
%184
%185
%186
%187
%188
%189
%190
%191
%192
%193
%194
%195
%196
%197
%198
%199
%200
%201
%202
%203
%204
%205
%206
%207
%208
%209
%210
%211
%212
%213
%214
%215
%216
%217
%218
%220
%221
%223
%225
%227
%228
%229
%230
%231
%232
%233
%234
%235
%236
%237
%238
%242
%243
%244
%245
%246
%247
%248
%249
%250
%251
%252
%253
%254
%255
%256
%257
%258
%259
%260
%261
%262
%219
%263
%264
%265
%266
%267
%268
%269
%270
%271
%272
%273
%274
%275
%276
%277
%278
%279
%280
%281
%282
%283
%284
%285
%286
%287
%288
%289
%290
%291
%292
%293
%294
%296
%297
(*.f64 #s(literal 1 binary64) %303)
(pow.f64 %303 #s(literal 1 binary64))
%303
(/.f64 #s(literal 1 binary64) (pow.f64 %303 #s(literal -1 binary64)))
(*.f64 %31 %19)
(*.f64 %19 %31)
(*.f64 #s(literal 1 binary64) %34)
%34
(*.f64 a b)
(pow.f64 %34 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %34 #s(literal -1 binary64)))
(neg.f64 %32)
(*.f64 #s(literal 1 binary64) %62)
(pow.f64 %62 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %62 #s(literal -1 binary64)))
(neg.f64 %63)
(fma.f64 %31 %19 %321)
(fma.f64 %31 %19 y)
(fma.f64 %19 %31 %321)
(fma.f64 %19 %31 y)
(fma.f64 #s(literal 1 binary64) %34 %321)
(fma.f64 #s(literal 1 binary64) %34 y)
(fma.f64 b a %321)
%62
(fma.f64 a b %321)
(fma.f64 a b y)
(-.f64 %34 %4)
(-.f64 y %32)
(+.f64 %34 %321)
(+.f64 %34 y)
(+.f64 y (*.f64 #s(literal -1 binary64) %32))
(+.f64 y %34)
%64
%65
%67
%66
%68
%69
%71
%73
%75
%76
%78
%79
%80
%81
%82
%83
%84
%85
%86
%87
%88
%89
%90
%91
%92
%93
%94
%95
%96
%97
%98
%99
%100
%101
%102
%103
%104
%105
%106
%107
%108
%109
%110
%111
%112
%113
%114
%115
%116
%117
(*.f64 #s(literal 1 binary64) %338)
(pow.f64 %338 #s(literal 1 binary64))
%338
(/.f64 #s(literal 1 binary64) (pow.f64 %338 #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) %343)
(pow.f64 %343 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %343 #s(literal -1 binary64)))
(neg.f64 %348)
(fma.f64 %3 %63 %137)
(fma.f64 %3 %63 x)
(fma.f64 %3 %4 %241)
(fma.f64 %3 %4 %239)
(fma.f64 %3 %32 %356)
(fma.f64 %3 %32 %354)
(fma.f64 %34 z %356)
(fma.f64 %34 z %354)
(fma.f64 %63 %3 %137)
(fma.f64 %63 %3 x)
(fma.f64 %4 %3 %241)
(fma.f64 %4 %3 %239)
(fma.f64 %31 %28 %356)
(fma.f64 %31 %28 %354)
(fma.f64 %28 %31 %356)
(fma.f64 %28 %31 %354)
(fma.f64 %19 %39 %356)
(fma.f64 %19 %39 %354)
(fma.f64 %39 %19 %356)
(fma.f64 %39 %19 %354)
(fma.f64 %32 %3 %356)
(fma.f64 %32 %3 %354)
(fma.f64 #s(literal 1 binary64) %43 %356)
(fma.f64 #s(literal 1 binary64) %43 %354)
(fma.f64 #s(literal 1 binary64) %239 %77)
(fma.f64 #s(literal 1 binary64) %239 %8)
(fma.f64 #s(literal 1 binary64) %354 %74)
(fma.f64 #s(literal 1 binary64) %354 %43)
(fma.f64 #s(literal 1 binary64) %66 %137)
(fma.f64 #s(literal 1 binary64) %66 x)
(fma.f64 #s(literal 1 binary64) %8 %241)
(fma.f64 #s(literal 1 binary64) %8 %239)
(fma.f64 %62 z %137)
%343
(fma.f64 %38 a %356)
(fma.f64 %38 a %354)
(fma.f64 b %22 %356)
(fma.f64 b %22 %354)
(fma.f64 %22 b %356)
(fma.f64 %22 b %354)
(fma.f64 a %38 %356)
(fma.f64 a %38 %354)
(fma.f64 z %34 %356)
(fma.f64 z %34 %354)
(fma.f64 z %62 %137)
(fma.f64 z %62 x)
(fma.f64 z y %241)
(fma.f64 z y %239)
(fma.f64 y z %241)
(fma.f64 y z %239)
(-.f64 %43 %355)
(-.f64 %239 %15)
(-.f64 %354 %52)
(-.f64 %66 %136)
(-.f64 %8 %240)
(-.f64 x %72)
(+.f64 %43 %356)
(+.f64 %43 %354)
(+.f64 %239 %77)
(+.f64 %239 %8)
(+.f64 %354 %74)
(+.f64 %354 %43)
(+.f64 %66 %137)
(+.f64 %66 x)
(+.f64 %8 %241)
(+.f64 %8 %239)
(+.f64 x %418)
(+.f64 x %66)
(*.f64 #s(literal 1 binary64) %421)
(pow.f64 %421 #s(literal 1 binary64))
%421
(/.f64 #s(literal 1 binary64) (pow.f64 %421 #s(literal -1 binary64)))
%426
%427
%429
%430
%432
%433
%434
%435
%436
%437
%438
%165
%439
%440
%441
%442
%443
%444
%446
%447
%167
%168
%170
%169
%171
%172
%174
%176
%177
%178
%179
%180
%181
%182
%183
%184
%185
%186
%187
%188
%189
%190
%191
%192
%193
%194
%195
%196
%197
%198
%199
%200
%201
%202
%203
%204
%205
%206
%207
%208
%209
%210
%211
%212
%213
%214
%215
%216
%217
%218
(*.f64 #s(literal 1 binary64) %448)
(pow.f64 %448 #s(literal 1 binary64))
%448
(/.f64 #s(literal 1 binary64) (pow.f64 %448 #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) %354)
(pow.f64 %354 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %354 #s(literal -1 binary64)))
(neg.f64 %355)
(fma.f64 %3 %4 %137)
(fma.f64 %3 %4 x)
(fma.f64 %4 %3 %137)
(fma.f64 %4 %3 x)
(fma.f64 #s(literal 1 binary64) %8 %137)
(fma.f64 #s(literal 1 binary64) %8 x)
(fma.f64 z y %137)
%354
(fma.f64 y z %137)
(fma.f64 y z x)
(-.f64 %8 %136)
(-.f64 x %15)
(+.f64 %8 %137)
(+.f64 %8 x)
(+.f64 x %77)
(+.f64 x %8)
%426
%427
%429
%430
%432
%433
%434
%435
%436
%437
%438
%165
%439
%440
%441
%442
%443
%444
%446
%447
%220
%221
%223
%225
%227
%228
%229
%230
%231
%232
%233
%234
%235
%236
%237
%238
%242
%243
%244
%245
%246
%247
%248
%249
%250
%251
%252
%253
%254
%255
%256
%257
%258
%259
%260
%261
%262
%219
%263
%264
%265
%266
%267
%268
%269
%270
%271
%272
%273
%274
%275
%276
%277
%278
%279
%280
%281
%282
%283
%284
%285
%286
%287
%288
%289
%290
%291
%292
%293
%294
%296
%297
%474
%475
%477
%479
%480
%481
%483
%484
%488
%489
%490
%491
%492
%493
%494
%495
%496
%497
%498
%499
%500
%501
%502
%503
%505
%506
%507
%508
%509
%510
%511
%512
%513
%514
%515
%516
%518
%519
%523
%524
%525
%526
%527
%528
%529
%530
%531
%532
%533
%534
%535
%536
%537
%538
%539
%540
%541
%542
%543
%544
%545
%473
%546
%547
%548
%549
%550
%551
%552
%553
%554
%555
%556
%557
%558
%559
%560
%561
%562
%563
%564
%565
%566
%567
%568
%569
%570
%571
%572
%573
%574
%575
%576
%577
%578
%579
%580
%581
%582
%584
%585
%586
%587
%588
%589
%590
%591
%592
%593
%594
%595
%596
%597
%598
%599
%600
%601
%602
%603
%604
%605
%606
%607
%608
%609
%610
%612
%613
%474
%475
%477
%479
%480
%481
%483
%484
%488
%489
%490
%491
%492
%493
%494
%495
%496
%497
%498
%499
%500
%501
%502
%503
%505
%506
%507
%508
%509
%510
%511
%512
%513
%514
%515
%516
%518
%519
%523
%524
%525
%526
%527
%528
%529
%530
%531
%532
%533
%534
%535
%536
%537
%538
%539
%540
%541
%542
%543
%544
%545
%473
%546
%547
%548
%549
%550
%551
%552
%553
%554
%555
%556
%557
%558
%559
%560
%561
%562
%563
%564
%565
%566
%567
%568
%569
%570
%571
%572
%573
%574
%575
%576
%577
%578
%579
%580
%581
%582
%584
%585
%586
%587
%588
%589
%590
%591
%592
%593
%594
%595
%596
%597
%598
%599
%600
%601
%602
%603
%604
%605
%606
%607
%608
%609
%610
%612
%613
(*.f64 #s(literal 1 binary64) %614)
(pow.f64 %614 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %614 #s(literal -1 binary64)))
(neg.f64 (neg.f64 %614))
(fma.f64 %3 %32 %621)
(fma.f64 %3 %32 %158)
(fma.f64 %34 z %621)
(fma.f64 %34 z %158)
(fma.f64 %31 %28 %621)
(fma.f64 %31 %28 %158)
(fma.f64 %28 %31 %621)
(fma.f64 %28 %31 %158)
(fma.f64 %19 %39 %621)
(fma.f64 %19 %39 %158)
(fma.f64 %39 %19 %621)
(fma.f64 %39 %19 %158)
(fma.f64 %32 %3 %621)
(fma.f64 %32 %3 %158)
(fma.f64 #s(literal 1 binary64) %43 %621)
(fma.f64 #s(literal 1 binary64) %43 %158)
(fma.f64 #s(literal 1 binary64) %158 %74)
(fma.f64 #s(literal 1 binary64) %158 %43)
(fma.f64 %38 a %621)
%614
(fma.f64 b %22 %621)
(fma.f64 b %22 %158)
(fma.f64 %22 b %621)
(fma.f64 %22 b %158)
(fma.f64 a %38 %621)
(fma.f64 a %38 %158)
(fma.f64 z %34 %621)
(fma.f64 z %34 %158)
(-.f64 %43 %163)
(-.f64 %158 %52)
(+.f64 %43 %621)
(+.f64 %43 %158)
(+.f64 %158 %74)
(+.f64 %158 %43)

reconstruct74.0ms (2.2%)

Counts
1 030 → 247
Compiler

Compiled 1 030 to 986 computations (4.3% saved)

eval20.0ms (0.6%)

Compiler

Compiled 234 to 555 computations (-137.2% saved)

prune5.0ms (0.1%)

Pruning

10 alts after pruning (10 fresh and 0 done)

PrunedKeptTotal
New22410234
Fresh000
Picked707
Done000
Total23110241
Accuracy
100.0%
Counts
241 → 10
Alt Table
Click to see full alt table
StatusAccuracyProgram
70.2%
(fma.f64 y z (approx (+ (* (+ (* b z) t) a) x) (*.f64 a (+.f64 t (*.f64 b z)))))
69.5%
(fma.f64 a (fma.f64 b z t) (approx (+ (* z y) x) (*.f64 y z)))
74.7%
(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (fma.f64 z (fma.f64 b a y) x))
46.6%
(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (fma.f64 b (*.f64 a z) (*.f64 z y)))
72.2%
(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (fma.f64 a (fma.f64 b z t) x))
48.0%
%3 = (* y z)
(approx (+ (+ (+ x %3) (* t a)) (* (* a z) b)) (+.f64 x (approx (+ (* a (* b z)) %3) (*.f64 a (*.f64 b z)))))
49.3%
(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 z (fma.f64 b a y)))
22.6%
(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 z (approx (+ y (* a b)) (*.f64 a b))))
46.6%
(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a (fma.f64 b z t)))
26.3%
(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a (approx (+ t (* b z)) t)))
Compiler

Compiled 10 to 26 computations (-160.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series50.0ms (1.5%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
04342159
Stop Event
iter-limit
Counts
39 → 104
Calls
Call 1
Inputs
%3 = (*.f64 y z)
%6 = (*.f64 a z)
%8 = (*.f64 b z)
%9 = (*.f64 a %8)
%10 = (*.f64 a b)
%11 = (+.f64 t %8)
%12 = (*.f64 a %11)
%13 = (*.f64 z y)
%14 = (fma.f64 b a y)
%15 = (fma.f64 b z t)
%18 = (approx (+ (* z y) x) %3)
%19 = (* b z)
%23 = (approx (+ (* (+ %19 t) a) x) %12)
%25 = (* y z)
%27 = (approx (+ (* a %19) %25) %9)
%30 = (approx (+ y (* a b)) %10)
%32 = (approx (+ t %19) t)
%33 = (*.f64 z %14)
%34 = (fma.f64 b %6 %13)
%35 = (*.f64 a %15)
%36 = (fma.f64 a %15 x)
%37 = (fma.f64 z %14 x)
%43 = (+ (+ (+ x %25) (* t a)) (* (* a z) b))
%48 = (*.f64 a %32)
%50 = (*.f64 z %30)
%52 = (+.f64 x %27)
x
y
z
%3
t
a
%6
b
%8
%9
%10
%11
%12
%13
%14
%15
%18
%23
%27
%30
%32
%33
%34
%35
%36
%37
(approx %43 %36)
(approx %43 %34)
(approx %43 %33)
(approx %43 %35)
%48
(approx %43 %48)
%50
(approx %43 %50)
%52
(approx %43 %52)
(fma.f64 y z %23)
(approx %43 %37)
(fma.f64 a %15 %18)
Outputs
%7 = (+ (* z y) x)
%8 = (*.f64 y z)
%10 = (+.f64 x %8)
%13 = (* b z)
%18 = (+ (* (+ %13 t) a) x)
%19 = (*.f64 b z)
%20 = (+.f64 t %19)
%21 = (*.f64 a %20)
%23 = (+.f64 x %21)
%26 = (+ (* b a) y)
%28 = (+ (* z %26) x)
%29 = (*.f64 a b)
%30 = (+.f64 y %29)
%31 = (*.f64 z %30)
%35 = (* y z)
%39 = (* a z)
%41 = (+ (+ (+ x %35) (* t a)) (* %39 b))
%42 = (fma.f64 a %19 %8)
%43 = (fma.f64 a t %42)
%48 = (+ (* a %13) %35)
%49 = (+ x %48)
%51 = (+.f64 x %42)
%53 = (+ %35 %18)
%54 = (fma.f64 a %20 %8)
%59 = (/.f64 %8 x)
%63 = (/.f64 %21 x)
%67 = (/.f64 %31 x)
%71 = (*.f64 a t)
%73 = (*.f64 a %19)
%75 = (+.f64 (/.f64 %73 x) %59)
%125 = (+.f64 x %73)
%127 = (fma.f64 a t %73)
%128 = (+.f64 x %127)
%130 = (/.f64 %29 y)
%134 = (/.f64 x y)
%138 = (/.f64 %73 y)
%191 = (*.f64 a z)
%194 = (+ t %13)
%197 = (* a %194)
%200 = (+.f64 x %71)
%205 = (/.f64 t z)
%209 = (/.f64 %71 z)
%213 = (/.f64 x z)
%218 = (fma.f64 a b (+.f64 %213 %209))
%238 = (*.f64 #s(literal -1 binary64) %213)
%245 = (fma.f64 #s(literal -1 binary64) %29 (*.f64 #s(literal -1 binary64) (/.f64 %200 z)))
%267 = (/.f64 %19 t)
%271 = (/.f64 %73 t)
%275 = (/.f64 x t)
%309 = (/.f64 y a)
%313 = (/.f64 x a)
%318 = (/.f64 %8 a)
%323 = (fma.f64 b z (+.f64 %313 %318))
%345 = (*.f64 #s(literal -1 binary64) (/.f64 %10 a))
%346 = (fma.f64 #s(literal -1 binary64) %19 %345)
%365 = (+.f64 x (fma.f64 a t %8))
%367 = (/.f64 t b)
%371 = (/.f64 %71 b)
%375 = (/.f64 y b)
%379 = (/.f64 x b)
%384 = (/.f64 %8 b)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %7 %8)
(approx %7 %10)
(approx %18 %21)
(approx %18 %23)
(approx %28 %31)
(approx %28 (+.f64 x %31))
(approx %41 %43)
(approx %41 (+.f64 x %43))
(approx %49 %42)
(approx %49 %51)
(approx %53 %54)
(approx %53 (+.f64 x %54))
(approx %7 (*.f64 x (+.f64 #s(literal 1 binary64) %59)))
(approx %18 (*.f64 x (+.f64 #s(literal 1 binary64) %63)))
(approx %28 (*.f64 x (+.f64 #s(literal 1 binary64) %67)))
(approx %41 (*.f64 x (+.f64 #s(literal 1 binary64) (+.f64 (/.f64 %71 x) %75))))
(approx %49 (*.f64 x (+.f64 #s(literal 1 binary64) %75)))
(approx %53 (*.f64 x (+.f64 #s(literal 1 binary64) (+.f64 %63 %59))))
(approx %7 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) %59) #s(literal 1 binary64)))))
(approx %18 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) %63) #s(literal 1 binary64)))))
(approx %28 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) %67) #s(literal 1 binary64)))))
(approx %41 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %43 x)) #s(literal 1 binary64)))))
(approx %49 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %42 x)) #s(literal 1 binary64)))))
(approx %53 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %54 x)) #s(literal 1 binary64)))))
(approx y y)
(approx %26 %29)
(approx %26 %30)
(approx %48 %73)
(approx %28 %125)
(approx %41 %128)
(approx %26 (*.f64 y (+.f64 #s(literal 1 binary64) %130)))
(approx %7 (*.f64 y (+.f64 z %134)))
(approx %48 (*.f64 y (+.f64 z %138)))
(approx %28 (*.f64 y (+.f64 z (+.f64 %134 %138))))
(approx %41 (*.f64 y (+.f64 z (+.f64 %134 (+.f64 (/.f64 %71 y) %138)))))
(approx %53 (*.f64 y (+.f64 z (+.f64 %134 (/.f64 %21 y)))))
(approx %26 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) %130) #s(literal 1 binary64)))))
(approx %7 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) %134)))))
(approx %48 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) %138)))))
(approx %28 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 %125 y))))))
(approx %41 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 %128 y))))))
(approx %53 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 %23 y))))))
(approx z z)
(approx %39 %191)
(approx %13 %19)
(approx %194 t)
(approx %194 %20)
(approx %197 %71)
(approx %197 %127)
(approx %18 %200)
(approx %41 (+.f64 x (fma.f64 a t %31)))
(approx %194 (*.f64 z (+.f64 b %205)))
(approx %197 (*.f64 z (fma.f64 a b %209)))
(approx %7 (*.f64 z (+.f64 y %213)))
(approx %18 (*.f64 z %218))
(approx %28 (*.f64 z (+.f64 y (fma.f64 a b %213))))
(approx %41 (*.f64 z (+.f64 y %218)))
(approx %194 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) %205)))))
(approx %197 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) %29 (*.f64 #s(literal -1 binary64) %209)))))
(approx %7 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) y %238))))
(approx %18 (*.f64 #s(literal -1 binary64) (*.f64 z %245)))
(approx %48 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) %29)))))
(approx %28 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) %30 %238))))
(approx %41 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) y %245))))
(approx %49 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) y (fma.f64 #s(literal -1 binary64) %29 %238)))))
(approx %194 (*.f64 t (+.f64 #s(literal 1 binary64) %267)))
(approx %197 (*.f64 t (+.f64 a %271)))
(approx %18 (*.f64 t (+.f64 a (+.f64 %275 %271))))
(approx %41 (*.f64 t (+.f64 a (+.f64 %275 (+.f64 %271 (/.f64 %8 t))))))
(approx %194 (*.f64 #s(literal -1 binary64) (*.f64 t (-.f64 (*.f64 #s(literal -1 binary64) %267) #s(literal 1 binary64)))))
(approx %197 (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) %271)))))
(approx %18 (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 %125 t))))))
(approx %41 (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 %51 t))))))
(approx a a)
(approx %26 (*.f64 a (+.f64 b %309)))
(approx %18 (*.f64 a (+.f64 t (fma.f64 b z %313))))
(approx %48 (*.f64 a (fma.f64 b z %318)))
(approx %28 (*.f64 a %323))
(approx %41 (*.f64 a (+.f64 t %323)))
(approx %26 (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) %309)))))
(approx %18 (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) %20 (*.f64 #s(literal -1 binary64) %313)))))
(approx %48 (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) %19 (*.f64 #s(literal -1 binary64) %318)))))
(approx %28 (*.f64 #s(literal -1 binary64) (*.f64 a %346)))
(approx %41 (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) %19)))))
(approx %41 (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) t %346))))
(approx %53 (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) %20 %345))))
(approx b b)
(approx %41 %365)
(approx %194 (*.f64 b (+.f64 z %367)))
(approx %197 (*.f64 b (fma.f64 a z %371)))
(approx %26 (*.f64 b (+.f64 a %375)))
(approx %18 (*.f64 b (fma.f64 a z (+.f64 %379 %371))))
(approx %48 (*.f64 b (fma.f64 a z %384)))
(approx %28 (*.f64 b (fma.f64 a z (+.f64 %379 %384))))
(approx %41 (*.f64 b (fma.f64 a z (+.f64 %379 (+.f64 %371 %384)))))
(approx %194 (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) %367)))))
(approx %197 (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) %191 (*.f64 #s(literal -1 binary64) %371)))))
(approx %26 (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) %375)))))
(approx %18 (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) %191 (*.f64 #s(literal -1 binary64) (/.f64 %200 b))))))
(approx %48 (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) %191 (*.f64 #s(literal -1 binary64) %384)))))
(approx %28 (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) %191 (*.f64 #s(literal -1 binary64) (/.f64 %10 b))))))
(approx %41 (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) %191 (*.f64 #s(literal -1 binary64) (/.f64 %365 b))))))
Calls

18 calls:

TimeVariablePoint
12.0ms
b
inf
6.0ms
z
inf
3.0ms
a
inf
2.0ms
b
-inf
2.0ms
z
-inf

rewrite72.0ms (2.2%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
057406
083357
1234349
2519349
31185349
41420349
51922349
04124349
04475339
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
39 → 441
Calls
Call 1
Inputs
%3 = (*.f64 y z)
%6 = (*.f64 a z)
%8 = (*.f64 b z)
%9 = (*.f64 a %8)
%10 = (*.f64 a b)
%11 = (+.f64 t %8)
%12 = (*.f64 a %11)
%13 = (*.f64 z y)
%14 = (fma.f64 b a y)
%15 = (fma.f64 b z t)
%18 = (approx (+ (* z y) x) %3)
%19 = (* b z)
%23 = (approx (+ (* (+ %19 t) a) x) %12)
%25 = (* y z)
%27 = (approx (+ (* a %19) %25) %9)
%30 = (approx (+ y (* a b)) %10)
%32 = (approx (+ t %19) t)
%33 = (*.f64 z %14)
%34 = (fma.f64 b %6 %13)
%35 = (*.f64 a %15)
%36 = (fma.f64 a %15 x)
%37 = (fma.f64 z %14 x)
%43 = (+ (+ (+ x %25) (* t a)) (* (* a z) b))
%48 = (*.f64 a %32)
%50 = (*.f64 z %30)
%52 = (+.f64 x %27)
x
y
z
%3
t
a
%6
b
%8
%9
%10
%11
%12
%13
%14
%15
%18
%23
%27
%30
%32
%33
%34
%35
%36
%37
(approx %43 %36)
(approx %43 %34)
(approx %43 %33)
(approx %43 %35)
%48
(approx %43 %48)
%50
(approx %43 %50)
%52
(approx %43 %52)
(fma.f64 y z %23)
(approx %43 %37)
(fma.f64 a %15 %18)
Outputs
%3 = (neg.f64 z)
%4 = (neg.f64 y)
%5 = (*.f64 %3 %4)
%6 = (*.f64 %4 %3)
%8 = (*.f64 z y)
%9 = (*.f64 #s(literal 1 binary64) %8)
%10 = (*.f64 y z)
%11 = (pow.f64 %8 #s(literal 1 binary64))
%14 = (/.f64 #s(literal 1 binary64) (pow.f64 %8 #s(literal -1 binary64)))
%15 = (neg.f64 %8)
%16 = (neg.f64 %15)
%19 = (neg.f64 a)
%22 = (*.f64 a z)
%28 = (*.f64 %19 z)
%31 = (neg.f64 b)
%34 = (*.f64 b z)
%40 = (neg.f64 %34)
%43 = (*.f64 b a)
%44 = (neg.f64 %43)
%50 = (*.f64 %34 a)
%60 = (*.f64 %28 b)
%70 = (fma.f64 b z t)
%71 = (*.f64 #s(literal 1 binary64) %70)
%72 = (pow.f64 %70 #s(literal 1 binary64))
%74 = (/.f64 #s(literal 1 binary64) (pow.f64 %70 #s(literal -1 binary64)))
%75 = (neg.f64 %70)
%76 = (neg.f64 %75)
%77 = (fma.f64 %31 %3 t)
%78 = (fma.f64 %3 %31 t)
%79 = (fma.f64 #s(literal 1 binary64) %34 t)
%80 = (fma.f64 z b t)
%81 = (neg.f64 t)
%82 = (-.f64 %34 %81)
%83 = (-.f64 t %40)
%84 = (+.f64 %34 t)
%85 = (+.f64 t %34)
%86 = (*.f64 %75 %19)
%87 = (*.f64 %19 %75)
%88 = (*.f64 %70 a)
%89 = (*.f64 #s(literal 1 binary64) %88)
%90 = (*.f64 a %70)
%91 = (pow.f64 %88 #s(literal 1 binary64))
%93 = (/.f64 #s(literal 1 binary64) (pow.f64 %88 #s(literal -1 binary64)))
%94 = (*.f64 %19 %70)
%95 = (neg.f64 %94)
%96 = (*.f64 a t)
%97 = (fma.f64 %31 %28 %96)
%98 = (fma.f64 %3 %44 %96)
%99 = (fma.f64 %28 %31 %96)
%100 = (fma.f64 %19 %81 %50)
%101 = (fma.f64 %19 %40 %96)
%102 = (fma.f64 %81 %19 %50)
%103 = (fma.f64 %40 %19 %96)
%104 = (fma.f64 %44 %3 %96)
%105 = (fma.f64 #s(literal 1 binary64) %50 %96)
%106 = (fma.f64 #s(literal 1 binary64) %96 %50)
%107 = (fma.f64 %43 z %96)
%108 = (fma.f64 %34 a %96)
%109 = (fma.f64 b %22 %96)
%110 = (fma.f64 %22 b %96)
%111 = (fma.f64 a %34 %96)
%112 = (fma.f64 a t %50)
%113 = (fma.f64 t a %50)
%114 = (fma.f64 z %43 %96)
%115 = (*.f64 %19 t)
%116 = (-.f64 %50 %115)
%117 = (-.f64 %96 %60)
%118 = (+.f64 %50 %96)
%119 = (+.f64 %96 %50)
%120 = (fma.f64 b a y)
%125 = (neg.f64 %120)
%137 = (approx (+ (* z y) x) %8)
%142 = (neg.f64 %137)
%145 = (+ (* b z) t)
%148 = (approx (+ (* %145 a) x) %88)
%153 = (neg.f64 %148)
%156 = (+ (* b a) y)
%157 = (* %156 z)
%158 = (approx %157 %50)
%163 = (neg.f64 %158)
%165 = (approx %156 %43)
%170 = (approx %145 t)
%175 = (*.f64 %125 %3)
%176 = (*.f64 %3 %125)
%177 = (*.f64 %120 z)
%178 = (*.f64 #s(literal 1 binary64) %177)
%179 = (*.f64 z %120)
%180 = (pow.f64 %177 #s(literal 1 binary64))
%182 = (/.f64 #s(literal 1 binary64) (pow.f64 %177 #s(literal -1 binary64)))
%183 = (*.f64 %3 %120)
%184 = (neg.f64 %183)
%185 = (fma.f64 %31 %28 %8)
%186 = (fma.f64 %3 %4 %50)
%187 = (fma.f64 %3 %44 %8)
%188 = (fma.f64 %28 %31 %8)
%189 = (fma.f64 %19 %40 %8)
%190 = (fma.f64 %40 %19 %8)
%191 = (fma.f64 %4 %3 %50)
%192 = (fma.f64 %44 %3 %8)
%193 = (fma.f64 #s(literal 1 binary64) %50 %8)
%194 = (fma.f64 #s(literal 1 binary64) %8 %50)
%195 = (fma.f64 %43 z %8)
%196 = (fma.f64 %34 a %8)
%197 = (fma.f64 b %22 %8)
%198 = (fma.f64 %22 b %8)
%199 = (fma.f64 a %34 %8)
%200 = (fma.f64 z %43 %8)
%201 = (fma.f64 z y %50)
%202 = (fma.f64 y z %50)
%203 = (-.f64 %50 %15)
%204 = (-.f64 %8 %60)
%205 = (+.f64 %50 %8)
%206 = (+.f64 %8 %50)
%207 = (fma.f64 %70 a x)
%215 = (fma.f64 a t x)
%220 = (fma.f64 %43 z x)
%242 = (neg.f64 x)
%246 = (neg.f64 %220)
%255 = (fma.f64 %120 z x)
%263 = (fma.f64 z y x)
%302 = (+ (+ (* a t) x) %157)
%303 = (approx %302 %207)
%308 = (approx %302 %177)
%309 = (*.f64 #s(literal 1 binary64) %308)
%310 = (pow.f64 %308 #s(literal 1 binary64))
%312 = (/.f64 #s(literal 1 binary64) (pow.f64 %308 #s(literal -1 binary64)))
%313 = (approx %302 %88)
%318 = (neg.f64 %170)
%321 = (*.f64 %170 a)
%331 = (approx %302 %321)
%336 = (neg.f64 %165)
%339 = (*.f64 %165 z)
%349 = (approx %302 %339)
%354 = (+.f64 %158 x)
%365 = (approx %302 %354)
%370 = (fma.f64 z y %148)
%386 = (approx %302 %255)
%391 = (fma.f64 %70 a %137)
%399 = (fma.f64 a t %137)
%404 = (fma.f64 %43 z %137)
x
y
z
%5
%6
%9
%8
%10
%11
%14
%16
t
a
(*.f64 %3 %19)
(*.f64 %19 %3)
(*.f64 #s(literal 1 binary64) %22)
%22
(*.f64 z a)
(pow.f64 %22 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %22 #s(literal -1 binary64)))
(neg.f64 %28)
b
(*.f64 %31 %3)
(*.f64 %3 %31)
(*.f64 #s(literal 1 binary64) %34)
%34
(*.f64 z b)
(pow.f64 %34 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %34 #s(literal -1 binary64)))
(neg.f64 %40)
(*.f64 %31 %28)
(*.f64 %3 %44)
(*.f64 %28 %31)
(*.f64 %19 %40)
(*.f64 %40 %19)
(*.f64 %44 %3)
(*.f64 #s(literal 1 binary64) %50)
(*.f64 %43 z)
%50
(*.f64 b %22)
(*.f64 %22 b)
(*.f64 a %34)
(*.f64 z %43)
(pow.f64 %50 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %50 #s(literal -1 binary64)))
(neg.f64 %60)
(*.f64 %31 %19)
(*.f64 %19 %31)
(*.f64 #s(literal 1 binary64) %43)
%43
(*.f64 a b)
(pow.f64 %43 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %43 #s(literal -1 binary64)))
(neg.f64 %44)
%71
%72
%74
%76
%77
%78
%79
%70
%80
%82
%83
%84
%85
%86
%87
%89
%88
%90
%91
%93
%95
%97
%98
%99
%100
%101
%102
%103
%104
%105
%106
%107
%108
%109
%110
%111
%112
%113
%114
%116
%117
%118
%119
%5
%6
%9
%8
%10
%11
%14
%16
(*.f64 #s(literal 1 binary64) %120)
(pow.f64 %120 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %120 #s(literal -1 binary64)))
(neg.f64 %125)
(fma.f64 %31 %19 y)
(fma.f64 %19 %31 y)
(fma.f64 #s(literal 1 binary64) %43 y)
%120
(fma.f64 a b y)
(-.f64 %43 %4)
(-.f64 y %44)
(+.f64 %43 y)
(+.f64 y %43)
%71
%72
%74
%76
%77
%78
%79
%70
%80
%82
%83
%84
%85
(*.f64 #s(literal 1 binary64) %137)
(pow.f64 %137 #s(literal 1 binary64))
%137
(/.f64 #s(literal 1 binary64) (pow.f64 %137 #s(literal -1 binary64)))
(neg.f64 %142)
(*.f64 #s(literal 1 binary64) %148)
(pow.f64 %148 #s(literal 1 binary64))
%148
(/.f64 #s(literal 1 binary64) (pow.f64 %148 #s(literal -1 binary64)))
(neg.f64 %153)
(*.f64 #s(literal 1 binary64) %158)
(pow.f64 %158 #s(literal 1 binary64))
%158
(/.f64 #s(literal 1 binary64) (pow.f64 %158 #s(literal -1 binary64)))
(neg.f64 %163)
(*.f64 #s(literal 1 binary64) %165)
(pow.f64 %165 #s(literal 1 binary64))
%165
(/.f64 #s(literal 1 binary64) (pow.f64 %165 #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) %170)
(pow.f64 %170 #s(literal 1 binary64))
%170
(/.f64 #s(literal 1 binary64) (pow.f64 %170 #s(literal -1 binary64)))
%175
%176
%178
%177
%179
%180
%182
%184
%185
%186
%187
%188
%189
%190
%191
%192
%193
%194
%195
%196
%197
%198
%199
%200
%201
%202
%203
%204
%205
%206
%175
%176
%178
%177
%179
%180
%182
%184
%185
%186
%187
%188
%189
%190
%191
%192
%193
%194
%195
%196
%197
%198
%199
%200
%201
%202
%203
%204
%205
%206
%86
%87
%89
%88
%90
%91
%93
%95
%97
%98
%99
%100
%101
%102
%103
%104
%105
%106
%107
%108
%109
%110
%111
%112
%113
%114
%116
%117
%118
%119
(*.f64 #s(literal 1 binary64) %207)
(pow.f64 %207 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %207 #s(literal -1 binary64)))
(neg.f64 (neg.f64 %207))
(fma.f64 %75 %19 x)
(fma.f64 %31 %28 %215)
(fma.f64 %3 %44 %215)
(fma.f64 %28 %31 %215)
(fma.f64 %19 %75 x)
(fma.f64 %19 %81 %220)
(fma.f64 %19 %40 %215)
(fma.f64 %81 %19 %220)
(fma.f64 %40 %19 %215)
(fma.f64 %44 %3 %215)
(fma.f64 #s(literal 1 binary64) %220 %96)
(fma.f64 #s(literal 1 binary64) %215 %50)
(fma.f64 #s(literal 1 binary64) %88 x)
(fma.f64 #s(literal 1 binary64) %50 %215)
(fma.f64 #s(literal 1 binary64) %96 %220)
(fma.f64 %43 z %215)
%207
(fma.f64 %34 a %215)
(fma.f64 b %22 %215)
(fma.f64 %22 b %215)
(fma.f64 a %70 x)
(fma.f64 a %34 %215)
(fma.f64 a t %220)
(fma.f64 t a %220)
(fma.f64 z %43 %215)
(-.f64 %220 %115)
(-.f64 %215 %60)
(-.f64 %88 %242)
(-.f64 %50 (neg.f64 %215))
(-.f64 %96 %246)
(-.f64 x %94)
(+.f64 %220 %96)
(+.f64 %215 %50)
(+.f64 %88 x)
(+.f64 %50 %215)
(+.f64 %96 %220)
(+.f64 x %88)
(*.f64 #s(literal 1 binary64) %255)
(pow.f64 %255 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %255 #s(literal -1 binary64)))
(neg.f64 (neg.f64 %255))
(fma.f64 %125 %3 x)
(fma.f64 %31 %28 %263)
(fma.f64 %3 %125 x)
(fma.f64 %3 %4 %220)
(fma.f64 %3 %44 %263)
(fma.f64 %28 %31 %263)
(fma.f64 %19 %40 %263)
(fma.f64 %40 %19 %263)
(fma.f64 %4 %3 %220)
(fma.f64 %44 %3 %263)
(fma.f64 #s(literal 1 binary64) %220 %8)
(fma.f64 #s(literal 1 binary64) %50 %263)
(fma.f64 #s(literal 1 binary64) %263 %50)
(fma.f64 #s(literal 1 binary64) %177 x)
(fma.f64 #s(literal 1 binary64) %8 %220)
(fma.f64 %43 z %263)
%255
(fma.f64 %34 a %263)
(fma.f64 b %22 %263)
(fma.f64 %22 b %263)
(fma.f64 a %34 %263)
(fma.f64 z %43 %263)
(fma.f64 z %120 x)
(fma.f64 z y %220)
(fma.f64 y z %220)
(-.f64 %220 %15)
(-.f64 %50 (neg.f64 %263))
(-.f64 %263 %60)
(-.f64 %177 %242)
(-.f64 %8 %246)
(-.f64 x %183)
(+.f64 %220 %8)
(+.f64 %50 %263)
(+.f64 %263 %50)
(+.f64 %177 x)
(+.f64 %8 %220)
(+.f64 x %177)
(*.f64 #s(literal 1 binary64) %303)
(pow.f64 %303 #s(literal 1 binary64))
%303
(/.f64 #s(literal 1 binary64) (pow.f64 %303 #s(literal -1 binary64)))
%309
%310
%308
%312
%309
%310
%308
%312
(*.f64 #s(literal 1 binary64) %313)
(pow.f64 %313 #s(literal 1 binary64))
%313
(/.f64 #s(literal 1 binary64) (pow.f64 %313 #s(literal -1 binary64)))
(*.f64 %318 %19)
(*.f64 %19 %318)
(*.f64 #s(literal 1 binary64) %321)
%321
(*.f64 a %170)
(pow.f64 %321 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %321 #s(literal -1 binary64)))
(neg.f64 (*.f64 %318 a))
(neg.f64 (*.f64 %19 %170))
(*.f64 #s(literal 1 binary64) %331)
(pow.f64 %331 #s(literal 1 binary64))
%331
(/.f64 #s(literal 1 binary64) (pow.f64 %331 #s(literal -1 binary64)))
(*.f64 %336 %3)
(*.f64 %3 %336)
(*.f64 #s(literal 1 binary64) %339)
%339
(*.f64 z %165)
(pow.f64 %339 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %339 #s(literal -1 binary64)))
(neg.f64 (*.f64 %336 z))
(neg.f64 (*.f64 %3 %165))
(*.f64 #s(literal 1 binary64) %349)
(pow.f64 %349 #s(literal 1 binary64))
%349
(/.f64 #s(literal 1 binary64) (pow.f64 %349 #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) %354)
(pow.f64 %354 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %354 #s(literal -1 binary64)))
(neg.f64 (neg.f64 %354))
(fma.f64 #s(literal 1 binary64) %158 x)
(-.f64 %158 %242)
(-.f64 x %163)
%354
(+.f64 x %158)
(*.f64 #s(literal 1 binary64) %365)
(pow.f64 %365 #s(literal 1 binary64))
%365
(/.f64 #s(literal 1 binary64) (pow.f64 %365 #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) %370)
(pow.f64 %370 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %370 #s(literal -1 binary64)))
(neg.f64 (neg.f64 %370))
(fma.f64 %3 %4 %148)
(fma.f64 %4 %3 %148)
(fma.f64 #s(literal 1 binary64) %8 %148)
(fma.f64 #s(literal 1 binary64) %148 %8)
%370
(fma.f64 y z %148)
(-.f64 %8 %153)
(-.f64 %148 %15)
(+.f64 %8 %148)
(+.f64 %148 %8)
(*.f64 #s(literal 1 binary64) %386)
(pow.f64 %386 #s(literal 1 binary64))
%386
(/.f64 #s(literal 1 binary64) (pow.f64 %386 #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) %391)
(pow.f64 %391 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %391 #s(literal -1 binary64)))
(neg.f64 (neg.f64 %391))
(fma.f64 %75 %19 %137)
(fma.f64 %31 %28 %399)
(fma.f64 %3 %44 %399)
(fma.f64 %28 %31 %399)
(fma.f64 %19 %75 %137)
(fma.f64 %19 %81 %404)
(fma.f64 %19 %40 %399)
(fma.f64 %81 %19 %404)
(fma.f64 %40 %19 %399)
(fma.f64 %44 %3 %399)
(fma.f64 #s(literal 1 binary64) %399 %50)
(fma.f64 #s(literal 1 binary64) %404 %96)
(fma.f64 #s(literal 1 binary64) %88 %137)
(fma.f64 #s(literal 1 binary64) %50 %399)
(fma.f64 #s(literal 1 binary64) %96 %404)
(fma.f64 #s(literal 1 binary64) %137 %88)
(fma.f64 %43 z %399)
%391
(fma.f64 %34 a %399)
(fma.f64 b %22 %399)
(fma.f64 %22 b %399)
(fma.f64 a %70 %137)
(fma.f64 a %34 %399)
(fma.f64 a t %404)
(fma.f64 t a %404)
(fma.f64 z %43 %399)
(-.f64 %399 %60)
(-.f64 %404 %115)
(-.f64 %88 %142)
(-.f64 %50 (neg.f64 %399))
(-.f64 %96 (neg.f64 %404))
(-.f64 %137 %94)
(+.f64 %399 %50)
(+.f64 %404 %96)
(+.f64 %88 %137)
(+.f64 %50 %399)
(+.f64 %96 %404)
(+.f64 %137 %88)

reconstruct37.0ms (1.1%)

Counts
545 → 205
Compiler

Compiled 545 to 708 computations (-29.9% saved)

eval19.0ms (0.6%)

Compiler

Compiled 198 to 480 computations (-142.4% saved)

prune5.0ms (0.1%)

Pruning

10 alts after pruning (5 fresh and 5 done)

PrunedKeptTotal
New1935198
Fresh000
Picked5510
Done000
Total19810208
Accuracy
100.0%
Counts
208 → 10
Alt Table
Click to see full alt table
StatusAccuracyProgram
55.1%
%26 = (* b z)
(fma.f64 y z (approx (+ (* (+ %26 t) a) x) (*.f64 a (approx (+ t %26) t))))
74.7%
(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (fma.f64 z (fma.f64 b a y) x))
47.7%
(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (fma.f64 z (approx (+ (* b a) y) (*.f64 a b)) x))
72.2%
(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (fma.f64 a (fma.f64 b z t) x))
81.0%
(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (+.f64 x (fma.f64 a t (*.f64 y z))))
48.2%
%3 = (* y z)
(approx (+ (+ (+ x %3) (* t a)) (* (* a z) b)) (+.f64 x (approx (+ (* a (* b z)) %3) (*.f64 b (*.f64 a z)))))
22.6%
(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 z (approx (+ y (* a b)) (*.f64 a b))))
46.6%
(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a (fma.f64 b z t)))
26.3%
(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a (approx (+ t (* b z)) t)))
67.6%
(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (approx (+ (* z (+ (* b a) y)) x) (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 z (+.f64 y (*.f64 a b))) x)))))
Compiler

Compiled 10 to 28 computations (-180.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series63.0ms (1.9%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
06233558
Stop Event
iter-limit
Counts
31 → 156
Calls
Call 1
Inputs
%3 = (*.f64 y z)
%6 = (*.f64 a z)
%8 = (fma.f64 a t %3)
%9 = (+.f64 x %8)
%11 = (*.f64 a b)
%12 = (+.f64 y %11)
%13 = (*.f64 z %12)
%14 = (*.f64 b %6)
%15 = (* b z)
%17 = (approx (+ t %15) t)
%18 = (*.f64 a %17)
%19 = (/.f64 %13 x)
%20 = (+.f64 #s(literal 1 binary64) %19)
%21 = (*.f64 x %20)
%23 = (+ (* b a) y)
%26 = (approx (+ (* z %23) x) %21)
%27 = (approx %23 %11)
%28 = (* y z)
%34 = (+ (+ (+ x %28) (* t a)) (* (* a z) b))
%39 = (approx (+ (* (+ %15 t) a) x) %18)
%44 = (approx (+ (* a %15) %28) %14)
%45 = (+.f64 x %44)
%47 = (fma.f64 z %27 x)
x
y
z
%3
t
a
%6
b
%8
%9
#s(literal 1 binary64)
%11
%12
%13
%14
%17
%18
%19
%20
%21
%26
%27
(approx %34 %9)
%39
(fma.f64 y z %39)
(approx %34 %26)
%44
%45
(approx %34 %45)
%47
(approx %34 %47)
Outputs
%9 = (* y z)
%10 = (+ (* a t) %9)
%11 = (+ x %10)
%12 = (*.f64 y z)
%13 = (fma.f64 a t %12)
%15 = (+.f64 x %13)
%19 = (+ y (* a b))
%20 = (* z %19)
%21 = (/ %20 x)
%22 = (*.f64 a b)
%23 = (+.f64 y %22)
%24 = (*.f64 z %23)
%25 = (/.f64 %24 x)
%28 = (+ 1 %21)
%29 = (+.f64 x %24)
%32 = (* x %28)
%38 = (* a z)
%40 = (+ (+ (+ x %9) (* t a)) (* %38 b))
%41 = (*.f64 b z)
%42 = (fma.f64 a %41 %12)
%43 = (fma.f64 a t %42)
%47 = (* b z)
%50 = (+ (* (+ %47 t) a) x)
%51 = (+.f64 t %41)
%52 = (*.f64 a %51)
%54 = (+.f64 x %52)
%56 = (+ %9 %50)
%57 = (fma.f64 a %51 %12)
%63 = (+ x (+ (* a %47) %9))
%65 = (+.f64 x %42)
%68 = (*.f64 a t)
%69 = (/.f64 %68 x)
%70 = (/.f64 %12 x)
%76 = (+.f64 #s(literal 1 binary64) %25)
%80 = (*.f64 a %41)
%81 = (/.f64 %80 x)
%82 = (+.f64 %81 %70)
%87 = (/.f64 %52 x)
%95 = (+.f64 #s(literal 1 binary64) %82)
%136 = (+.f64 x %68)
%143 = (+.f64 #s(literal 1 binary64) %81)
%146 = (*.f64 x %143)
%153 = (+ (* z (+ (* b a) y)) x)
%154 = (+.f64 x %80)
%156 = (fma.f64 a t %80)
%157 = (+.f64 x %156)
%159 = (/.f64 %68 y)
%163 = (/.f64 x y)
%168 = (/.f64 %22 y)
%172 = (/.f64 %80 y)
%177 = (/.f64 z x)
%179 = (/.f64 %80 (*.f64 x y))
%180 = (+.f64 %177 %179)
%187 = (/.f64 %146 y)
%261 = (*.f64 a z)
%263 = (+ t %47)
%266 = (* a %263)
%270 = (+.f64 (/.f64 y x) (/.f64 %22 x))
%271 = (*.f64 z %270)
%274 = (*.f64 x %271)
%280 = (/.f64 %68 z)
%284 = (/.f64 x z)
%285 = (+.f64 %284 %280)
%290 = (/.f64 t z)
%298 = (/.f64 #s(literal 1 binary64) z)
%310 = (fma.f64 a b %285)
%316 = (*.f64 #s(literal -1 binary64) %280)
%322 = (*.f64 #s(literal -1 binary64) (/.f64 %136 z))
%342 = (*.f64 #s(literal -1 binary64) %284)
%352 = (fma.f64 #s(literal -1 binary64) %22 %322)
%365 = (+.f64 x %12)
%367 = (/.f64 %12 t)
%371 = (/.f64 x t)
%376 = (/.f64 %41 t)
%380 = (/.f64 %80 t)
%427 = (+.f64 #s(literal 1 binary64) %70)
%429 = (*.f64 x %427)
%433 = (/.f64 %12 a)
%437 = (/.f64 x a)
%438 = (+.f64 %437 %433)
%442 = (/.f64 y a)
%449 = (/.f64 %41 x)
%451 = (/.f64 %12 (*.f64 a x))
%452 = (+.f64 %449 %451)
%459 = (/.f64 %429 a)
%463 = (fma.f64 b z %438)
%473 = (*.f64 #s(literal -1 binary64) %433)
%479 = (*.f64 #s(literal -1 binary64) (/.f64 %365 a))
%509 = (fma.f64 #s(literal -1 binary64) %41 %479)
%532 = (/.f64 y b)
%536 = (/.f64 %12 b)
%540 = (/.f64 t b)
%544 = (/.f64 %68 b)
%548 = (/.f64 %261 x)
%550 = (/.f64 %12 (*.f64 b x))
%551 = (+.f64 %548 %550)
%558 = (/.f64 %429 b)
%562 = (/.f64 x b)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %11 %13)
(approx %11 %15)
(approx %21 %25)
(approx %28 (/.f64 %29 x))
(approx %32 %24)
(approx %32 %29)
(approx %40 %43)
(approx %40 (+.f64 x %43))
(approx %50 %52)
(approx %50 %54)
(approx %56 %57)
(approx %56 (+.f64 x %57))
(approx %63 %42)
(approx %63 %65)
(approx %11 (*.f64 x (+.f64 #s(literal 1 binary64) (+.f64 %69 %70))))
(approx %28 #s(literal 1 binary64))
(approx %28 %76)
(approx %32 (*.f64 x %76))
(approx %40 (*.f64 x (+.f64 #s(literal 1 binary64) (+.f64 %69 %82))))
(approx %50 (*.f64 x (+.f64 #s(literal 1 binary64) %87)))
(approx %56 (*.f64 x (+.f64 #s(literal 1 binary64) (+.f64 %87 %70))))
(approx %63 (*.f64 x %95))
(approx %11 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %13 x)) #s(literal 1 binary64)))))
(approx %32 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) %25) #s(literal 1 binary64)))))
(approx %40 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %43 x)) #s(literal 1 binary64)))))
(approx %50 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) %87) #s(literal 1 binary64)))))
(approx %56 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %57 x)) #s(literal 1 binary64)))))
(approx %63 (*.f64 #s(literal -1 binary64) (*.f64 x (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %42 x)) #s(literal 1 binary64)))))
(approx y y)
(approx %9 %12)
(approx %10 %68)
(approx %11 %136)
(approx %19 %22)
(approx %19 %23)
(approx %20 %80)
(approx %21 %81)
(approx %21 %82)
(approx %28 %143)
(approx %28 %95)
(approx %32 %146)
(approx %32 (fma.f64 x %143 %12))
(approx %153 %154)
(approx %40 %157)
(approx %10 (*.f64 y (+.f64 z %159)))
(approx %11 (*.f64 y (+.f64 z (+.f64 %163 %159))))
(approx %19 (*.f64 y (+.f64 #s(literal 1 binary64) %168)))
(approx %20 (*.f64 y (+.f64 z %172)))
(approx %21 %70)
(approx %21 (*.f64 y %180))
(approx %28 (*.f64 y (+.f64 (/.f64 #s(literal 1 binary64) y) %180)))
(approx %32 (*.f64 y (+.f64 z %187)))
(approx %153 (*.f64 y (+.f64 z (+.f64 %163 %172))))
(approx %40 (*.f64 y (+.f64 z (+.f64 %163 (+.f64 %159 %172)))))
(approx %56 (*.f64 y (+.f64 z (+.f64 %163 (/.f64 %52 y)))))
(approx %10 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) %159)))))
(approx %11 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 %136 y))))))
(approx %19 (*.f64 #s(literal -1 binary64) (*.f64 y (-.f64 (*.f64 #s(literal -1 binary64) %168) #s(literal 1 binary64)))))
(approx %20 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) %172)))))
(approx %21 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) %177 (*.f64 #s(literal -1 binary64) %179)))))
(approx %28 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) %177 (*.f64 #s(literal -1 binary64) (/.f64 %143 y))))))
(approx %32 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) %187)))))
(approx %153 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 %154 y))))))
(approx %40 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 %157 y))))))
(approx %56 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 %54 y))))))
(approx z z)
(approx %38 %261)
(approx %263 t)
(approx %263 %51)
(approx %266 %156)
(approx %28 (+.f64 #s(literal 1 binary64) %271))
(approx %32 (+.f64 x %274))
(approx %40 (+.f64 x (fma.f64 a t %24)))
(approx %10 (*.f64 z (+.f64 y %280)))
(approx %11 (*.f64 z (+.f64 y %285)))
(approx %263 %41)
(approx %263 (*.f64 z (+.f64 b %290)))
(approx %266 (*.f64 z (fma.f64 a b %280)))
(approx %28 %271)
(approx %28 (*.f64 z (+.f64 %298 %270)))
(approx %32 %274)
(approx %32 (*.f64 z (fma.f64 x %270 %284)))
(approx %153 (*.f64 z (+.f64 y (fma.f64 a b %284))))
(approx %40 (*.f64 z (+.f64 y %310)))
(approx %50 (*.f64 z %310))
(approx %10 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) y %316))))
(approx %11 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) y %322))))
(approx %263 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) %290)))))
(approx %266 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) %22 %316))))
(approx %28 (*.f64 #s(literal -1 binary64) (*.f64 z (-.f64 (*.f64 #s(literal -1 binary64) (/.f64 %23 x)) %298))))
(approx %32 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) %23 %342))))
(approx %40 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) %22)))))
(approx %40 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) y %352))))
(approx %50 (*.f64 #s(literal -1 binary64) (*.f64 z %352)))
(approx %63 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) y (fma.f64 #s(literal -1 binary64) %22 %342)))))
(approx %11 %365)
(approx %10 (*.f64 t (+.f64 a %367)))
(approx %11 (*.f64 t (+.f64 a (+.f64 %371 %367))))
(approx %263 (*.f64 t (+.f64 #s(literal 1 binary64) %376)))
(approx %266 (*.f64 t (+.f64 a %380)))
(approx %40 (*.f64 t (+.f64 a (+.f64 %371 (+.f64 %380 %367)))))
(approx %50 (*.f64 t (+.f64 a (+.f64 %371 %380))))
(approx %10 (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) %367)))))
(approx %11 (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 %365 t))))))
(approx %263 (*.f64 #s(literal -1 binary64) (*.f64 t (-.f64 (*.f64 #s(literal -1 binary64) %376) #s(literal 1 binary64)))))
(approx %266 (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) %380)))))
(approx %40 (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 %65 t))))))
(approx %50 (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 %154 t))))))
(approx a a)
(approx %28 %427)
(approx %32 %429)
(approx %32 (fma.f64 a %41 %429))
(approx %10 (*.f64 a (+.f64 t %433)))
(approx %11 (*.f64 a (+.f64 t %438)))
(approx %19 (*.f64 a (+.f64 b %442)))
(approx %20 (*.f64 a (fma.f64 b z %433)))
(approx %21 (*.f64 a %452))
(approx %28 (*.f64 a (+.f64 (/.f64 #s(literal 1 binary64) a) %452)))
(approx %32 (*.f64 a (fma.f64 b z %459)))
(approx %153 (*.f64 a %463))
(approx %40 (*.f64 a (+.f64 t %463)))
(approx %50 (*.f64 a (+.f64 t (fma.f64 b z %437))))
(approx %10 (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) t %473))))
(approx %11 (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) t %479))))
(approx %19 (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) %442)))))
(approx %20 (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) %41 %473))))
(approx %21 (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) %449 (*.f64 #s(literal -1 binary64) %451)))))
(approx %28 (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) %449 (*.f64 #s(literal -1 binary64) (/.f64 %427 a))))))
(approx %32 (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) %41 (*.f64 #s(literal -1 binary64) %459)))))
(approx %153 (*.f64 #s(literal -1 binary64) (*.f64 a %509)))
(approx %40 (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) %41)))))
(approx %40 (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) t %509))))
(approx %50 (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) %51 (*.f64 #s(literal -1 binary64) %437)))))
(approx %56 (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) %51 %479))))
(approx b b)
(approx %19 (*.f64 b (+.f64 a %532)))
(approx %20 (*.f64 b (fma.f64 a z %536)))
(approx %263 (*.f64 b (+.f64 z %540)))
(approx %266 (*.f64 b (fma.f64 a z %544)))
(approx %21 (*.f64 b %551))
(approx %28 (*.f64 b (+.f64 (/.f64 #s(literal 1 binary64) b) %551)))
(approx %32 (*.f64 b (fma.f64 a z %558)))
(approx %153 (*.f64 b (fma.f64 a z (+.f64 %562 %536))))
(approx %40 (*.f64 b (fma.f64 a z (+.f64 %562 (+.f64 %544 %536)))))
(approx %50 (*.f64 b (fma.f64 a z (+.f64 %562 %544))))
(approx %19 (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) %532)))))
(approx %20 (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) %261 (*.f64 #s(literal -1 binary64) %536)))))
(approx %263 (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) %540)))))
(approx %266 (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) %261 (*.f64 #s(literal -1 binary64) %544)))))
(approx %21 (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) %548 (*.f64 #s(literal -1 binary64) %550)))))
(approx %28 (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) %548 (*.f64 #s(literal -1 binary64) (/.f64 %427 b))))))
(approx %32 (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) %261 (*.f64 #s(literal -1 binary64) %558)))))
(approx %153 (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) %261 (*.f64 #s(literal -1 binary64) (/.f64 %365 b))))))
(approx %40 (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) %261 (*.f64 #s(literal -1 binary64) (/.f64 %15 b))))))
(approx %50 (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) %261 (*.f64 #s(literal -1 binary64) (/.f64 %136 b))))))
Calls

18 calls:

TimeVariablePoint
64.0ms
x
inf
15.0ms
a
inf
12.0ms
z
inf
3.0ms
b
inf
2.0ms
y
inf

rewrite128.0ms (3.8%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
049337
067327
1237311
2665311
32857311
04228311
04658268
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
31 → 887
Calls
Call 1
Inputs
%3 = (*.f64 y z)
%6 = (*.f64 a z)
%8 = (fma.f64 a t %3)
%9 = (+.f64 x %8)
%11 = (*.f64 a b)
%12 = (+.f64 y %11)
%13 = (*.f64 z %12)
%14 = (*.f64 b %6)
%15 = (* b z)
%17 = (approx (+ t %15) t)
%18 = (*.f64 a %17)
%19 = (/.f64 %13 x)
%20 = (+.f64 #s(literal 1 binary64) %19)
%21 = (*.f64 x %20)
%23 = (+ (* b a) y)
%26 = (approx (+ (* z %23) x) %21)
%27 = (approx %23 %11)
%28 = (* y z)
%34 = (+ (+ (+ x %28) (* t a)) (* (* a z) b))
%39 = (approx (+ (* (+ %15 t) a) x) %18)
%44 = (approx (+ (* a %15) %28) %14)
%45 = (+.f64 x %44)
%47 = (fma.f64 z %27 x)
x
y
z
%3
t
a
%6
b
%8
%9
#s(literal 1 binary64)
%11
%12
%13
%14
%17
%18
%19
%20
%21
%26
%27
(approx %34 %9)
%39
(fma.f64 y z %39)
(approx %34 %26)
%44
%45
(approx %34 %45)
%47
(approx %34 %47)
Outputs
%3 = (neg.f64 z)
%4 = (neg.f64 %3)
%6 = (neg.f64 y)
%10 = (*.f64 z y)
%18 = (neg.f64 %10)
%23 = (neg.f64 a)
%26 = (*.f64 a z)
%33 = (neg.f64 %26)
%36 = (fma.f64 a t %10)
%41 = (neg.f64 %36)
%43 = (*.f64 a t)
%46 = (neg.f64 t)
%57 = (neg.f64 %43)
%61 = (fma.f64 z y x)
%62 = (fma.f64 a t %61)
%69 = (fma.f64 a t x)
%85 = (neg.f64 %61)
%88 = (neg.f64 x)
%107 = (neg.f64 b)
%110 = (*.f64 b a)
%116 = (neg.f64 %110)
%118 = (fma.f64 b a y)
%123 = (neg.f64 %118)
%133 = (*.f64 %118 z)
%134 = (*.f64 %133 x)
%136 = (*.f64 %134 #s(literal 2 binary64))
%138 = (/.f64 #s(literal 1/2 binary64) x)
%140 = (/.f64 %133 x)
%141 = (+.f64 x x)
%142 = (*.f64 %140 %141)
%144 = (*.f64 x %118)
%145 = (/.f64 z x)
%147 = (*.f64 %133 #s(literal 1/2 binary64))
%150 = (*.f64 %140 #s(literal 2 binary64))
%151 = (*.f64 #s(literal 1/2 binary64) x)
%153 = (/.f64 %133 %141)
%154 = (/.f64 x #s(literal 1/2 binary64))
%156 = (/.f64 %133 #s(literal 2 binary64))
%157 = (/.f64 x %151)
%159 = (/.f64 x %141)
%160 = (/.f64 %133 #s(literal 1/2 binary64))
%162 = (/.f64 x #s(literal 2 binary64))
%163 = (/.f64 %133 %151)
%165 = (*.f64 %133 #s(literal 2 binary64))
%167 = (*.f64 z x)
%168 = (/.f64 %118 x)
%170 = (*.f64 #s(literal 1/2 binary64) %140)
%172 = (*.f64 %118 #s(literal 1 binary64))
%174 = (neg.f64 %133)
%175 = (*.f64 %174 x)
%176 = (/.f64 #s(literal -1 binary64) x)
%178 = (/.f64 #s(literal 1 binary64) x)
%183 = (*.f64 %151 %140)
%186 = (*.f64 %176 x)
%188 = (/.f64 %88 x)
%192 = (*.f64 %145 x)
%194 = (*.f64 z #s(literal 1 binary64))
%202 = (*.f64 %134 #s(literal -1 binary64))
%205 = (/.f64 %134 %141)
%209 = (/.f64 %134 #s(literal 2 binary64))
%211 = (neg.f64 %151)
%213 = (/.f64 %134 #s(literal 1 binary64))
%236 = (*.f64 %133 #s(literal 0 binary64))
%238 = (*.f64 #s(literal 0 binary64) %133)
%248 = (*.f64 %4 %110)
%250 = (*.f64 b z)
%251 = (*.f64 %250 a)
%265 = (/.f64 %110 x)
%266 = (/.f64 y x)
%267 = (*.f64 %167 %266)
%269 = (*.f64 %167 %265)
%285 = (*.f64 z %265)
%286 = (*.f64 z %266)
%287 = (*.f64 %286 x)
%289 = (*.f64 %285 x)
%291 = (*.f64 %266 %167)
%293 = (*.f64 %265 %167)
%299 = (*.f64 #s(literal 1/2 binary64) %133)
%303 = (neg.f64 %250)
%352 = (*.f64 x %286)
%354 = (*.f64 x %285)
%359 = (*.f64 %3 %110)
%393 = (+ (* b z) t)
%394 = (approx %393 t)
%399 = (*.f64 %394 a)
%407 = (/.f64 #s(literal 1 binary64) %151)
%409 = (/.f64 %118 %141)
%410 = (/.f64 z #s(literal 1/2 binary64))
%412 = (/.f64 %118 #s(literal 2 binary64))
%413 = (/.f64 z %151)
%415 = (/.f64 %118 #s(literal 1 binary64))
%417 = (/.f64 z %141)
%418 = (/.f64 %118 #s(literal 1/2 binary64))
%420 = (/.f64 z #s(literal 2 binary64))
%421 = (/.f64 %118 %151)
%423 = (/.f64 z #s(literal 1 binary64))
%428 = (/.f64 %123 x)
%431 = (*.f64 z %176)
%433 = (/.f64 %3 x)
%437 = (*.f64 %138 %133)
%443 = (*.f64 %3 %176)
%449 = (*.f64 #s(literal -1 binary64) %133)
%452 = (fma.f64 %285 x %10)
%455 = (fma.f64 %286 x %251)
%458 = (-.f64 %289 %18)
%466 = (fma.f64 %251 x (*.f64 x %10))
%468 = (*.f64 x x)
%469 = (neg.f64 %468)
%472 = (fma.f64 %10 x (*.f64 x %251))
%477 = (-.f64 (*.f64 %251 x) (*.f64 x %18))
%481 = (/.f64 %174 x)
%504 = (/.f64 %250 %141)
%505 = (/.f64 a #s(literal 1/2 binary64))
%507 = (*.f64 z (/.f64 %6 x))
%508 = (neg.f64 %507)
%511 = (/.f64 %250 #s(literal 2 binary64))
%512 = (/.f64 a %151)
%515 = (/.f64 %110 %141)
%518 = (/.f64 %110 #s(literal 2 binary64))
%521 = (/.f64 b %141)
%522 = (/.f64 %26 #s(literal 1/2 binary64))
%525 = (/.f64 b #s(literal 2 binary64))
%526 = (/.f64 %26 %151)
%529 = (/.f64 %26 %141)
%530 = (/.f64 b #s(literal 1/2 binary64))
%533 = (/.f64 %26 #s(literal 2 binary64))
%534 = (/.f64 b %151)
%537 = (/.f64 b x)
%538 = (/.f64 %26 #s(literal 1 binary64))
%543 = (/.f64 b #s(literal 1 binary64))
%544 = (/.f64 %26 x)
%549 = (/.f64 a %141)
%550 = (/.f64 %250 #s(literal 1/2 binary64))
%553 = (/.f64 a #s(literal 2 binary64))
%554 = (/.f64 %250 %151)
%557 = (/.f64 %250 x)
%558 = (/.f64 a #s(literal 1 binary64))
%563 = (/.f64 %250 #s(literal 1 binary64))
%564 = (/.f64 a x)
%569 = (/.f64 %110 #s(literal 1 binary64))
%572 = (/.f64 %110 #s(literal 1/2 binary64))
%575 = (/.f64 y #s(literal 1/2 binary64))
%577 = (/.f64 %110 %151)
%580 = (/.f64 y %151)
%585 = (/.f64 y %141)
%587 = (/.f64 y #s(literal 2 binary64))
%589 = (/.f64 y #s(literal 1 binary64))
%598 = (*.f64 %266 z)
%601 = (*.f64 %265 z)
%603 = (*.f64 %178 %10)
%605 = (*.f64 %178 %251)
%637 = (fma.f64 %118 z x)
%638 = (*.f64 %637 #s(literal 2 binary64))
%640 = (/.f64 %637 x)
%641 = (/.f64 %640 %141)
%643 = (/.f64 %640 #s(literal 2 binary64))
%645 = (/.f64 %640 x)
%647 = (/.f64 %640 #s(literal 1/2 binary64))
%649 = (/.f64 %640 %151)
%651 = (neg.f64 %637)
%657 = (*.f64 %640 %178)
%661 = (*.f64 %637 #s(literal -1 binary64))
%664 = (fma.f64 %140 #s(literal 2 binary64) #s(literal 2 binary64))
%667 = (*.f64 #s(literal 2 binary64) %88)
%668 = (fma.f64 %174 #s(literal 2 binary64) %667)
%670 = (*.f64 %88 #s(literal 2 binary64))
%671 = (neg.f64 %670)
%674 = (fma.f64 #s(literal 2 binary64) %88 (*.f64 %174 #s(literal 2 binary64)))
%676 = (neg.f64 %667)
%678 = (fma.f64 #s(literal 2 binary64) x %165)
%680 = (neg.f64 %141)
%682 = (/.f64 %637 %141)
%685 = (/.f64 %637 #s(literal 2 binary64))
%688 = (fma.f64 %174 #s(literal 2 binary64) %670)
%691 = (fma.f64 %133 #s(literal 2 binary64) %141)
%694 = (*.f64 #s(literal 2 binary64) %174)
%695 = (fma.f64 #s(literal 2 binary64) %88 %694)
%698 = (*.f64 #s(literal 2 binary64) %133)
%699 = (fma.f64 #s(literal 2 binary64) x %698)
%702 = (-.f64 %141 %694)
%705 = (-.f64 %667 %698)
%708 = (*.f64 %637 x)
%709 = (*.f64 %708 #s(literal -1 binary64))
%711 = (*.f64 x %88)
%712 = (neg.f64 %711)
%714 = (fma.f64 x %88 %175)
%715 = (neg.f64 %714)
%718 = (*.f64 %651 %178)
%720 = (/.f64 %651 x)
%722 = (-.f64 #s(literal -1 binary64) %140)
%724 = (-.f64 %359 %61)
%740 = (neg.f64 %708)
%743 = (neg.f64 %640)
%764 = (fma.f64 z %266 #s(literal 1 binary64))
%766 = (-.f64 %286 #s(literal -1 binary64))
%768 = (/.f64 %61 x)
%833 = (fma.f64 %250 %564 #s(literal 1 binary64))
%835 = (-.f64 %285 #s(literal -1 binary64))
%837 = (fma.f64 %250 a x)
%838 = (/.f64 %837 x)
%936 = (+.f64 #s(literal 1 binary64) %285)
%992 = (/.f64 %708 %141)
%995 = (/.f64 %708 #s(literal 2 binary64))
%998 = (/.f64 %708 #s(literal 1 binary64))
%1099 = (+ (* b a) y)
%1100 = (* %1099 z)
%1101 = (+ %1100 x)
%1102 = (approx %1101 %637)
%1107 = (approx %1099 %110)
%1113 = (+ (* a t) %1101)
%1114 = (approx %1113 %62)
%1121 = (approx (+ (* %393 a) x) %399)
%1126 = (neg.f64 %1121)
%1128 = (fma.f64 z y %1121)
%1148 = (approx %1113 %1102)
%1153 = (approx %1100 %251)
%1158 = (neg.f64 %1153)
%1160 = (+.f64 %1153 x)
%1173 = (approx %1113 %1160)
%1178 = (fma.f64 %1107 z x)
%1183 = (*.f64 %3 %1107)
%1188 = (*.f64 %1107 z)
%1203 = (approx %1113 %1178)
x
y
z
(*.f64 %4 y)
(*.f64 %3 %6)
(*.f64 %6 %3)
(*.f64 #s(literal 1 binary64) %10)
%10
(*.f64 y %4)
(*.f64 y z)
(pow.f64 %10 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %10 #s(literal -1 binary64)))
(neg.f64 %18)
t
a
(*.f64 %4 a)
(*.f64 %3 %23)
(*.f64 %23 %3)
(*.f64 #s(literal 1 binary64) %26)
(*.f64 a %4)
%26
(*.f64 z a)
(pow.f64 %26 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %26 #s(literal -1 binary64)))
(neg.f64 %33)
b
(*.f64 #s(literal 1 binary64) %36)
(pow.f64 %36 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %36 #s(literal -1 binary64)))
(neg.f64 %41)
(fma.f64 %4 y %43)
(fma.f64 %3 %6 %43)
(fma.f64 %23 %46 %10)
(fma.f64 %46 %23 %10)
(fma.f64 %6 %3 %43)
(fma.f64 #s(literal 1 binary64) %43 %10)
(fma.f64 #s(literal 1 binary64) %10 %43)
%36
(fma.f64 t a %10)
(fma.f64 z y %43)
(fma.f64 y %4 %43)
(fma.f64 y z %43)
(-.f64 %43 %18)
(-.f64 %10 %57)
(+.f64 %43 %10)
(+.f64 %10 %43)
(*.f64 #s(literal 1 binary64) %62)
(pow.f64 %62 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %62 #s(literal -1 binary64)))
(neg.f64 (neg.f64 %62))
(fma.f64 %4 y %69)
(fma.f64 %3 %6 %69)
(fma.f64 %23 %46 %61)
(fma.f64 %46 %23 %61)
(fma.f64 %6 %3 %69)
(fma.f64 #s(literal 1 binary64) %69 %10)
(fma.f64 #s(literal 1 binary64) %43 %61)
(fma.f64 #s(literal 1 binary64) %61 %43)
(fma.f64 #s(literal 1 binary64) %10 %69)
(fma.f64 #s(literal 1 binary64) %36 x)
%62
(fma.f64 t a %61)
(fma.f64 z y %69)
(fma.f64 y %4 %69)
(fma.f64 y z %69)
(-.f64 %69 %18)
(-.f64 %43 %85)
(-.f64 %61 %57)
(-.f64 %10 (fma.f64 %23 t %88))
(-.f64 %10 (+.f64 %88 %57))
(-.f64 %10 (-.f64 %88 %43))
(-.f64 %10 (-.f64 %57 x))
(-.f64 %10 (neg.f64 %69))
(-.f64 %36 %88)
(-.f64 x %41)
(+.f64 %69 %10)
(+.f64 %43 %61)
(+.f64 %61 %43)
(+.f64 %10 %69)
(+.f64 %36 x)
(+.f64 x %36)
#s(literal 1 binary64)
(*.f64 %23 %107)
(*.f64 %107 %23)
(*.f64 #s(literal 1 binary64) %110)
%110
(*.f64 a b)
(pow.f64 %110 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %110 #s(literal -1 binary64)))
(neg.f64 %116)
(*.f64 #s(literal 1 binary64) %118)
(pow.f64 %118 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %118 #s(literal -1 binary64)))
(neg.f64 %123)
(fma.f64 %23 %107 y)
(fma.f64 %107 %23 y)
(fma.f64 #s(literal 1 binary64) %110 y)
%118
(fma.f64 a b y)
(-.f64 %110 %6)
(-.f64 y %116)
(+.f64 %110 y)
(+.f64 y %110)
(*.f64 %136 %138)
(*.f64 %142 #s(literal 1/2 binary64))
(*.f64 %144 %145)
(*.f64 %147 #s(literal 2 binary64))
(*.f64 %4 %118)
(*.f64 %150 %151)
(*.f64 %153 %154)
(*.f64 %156 %157)
(*.f64 %159 %160)
(*.f64 %162 %163)
(*.f64 %165 #s(literal 1/2 binary64))
(*.f64 %167 %168)
(*.f64 %141 %170)
(*.f64 %172 z)
(*.f64 %175 %176)
(*.f64 %134 %178)
(*.f64 %3 %123)
(*.f64 %123 %3)
(*.f64 %168 %167)
(*.f64 #s(literal 2 binary64) %183)
(*.f64 %178 %134)
(*.f64 %174 %186)
(*.f64 %174 %188)
(*.f64 %140 x)
(*.f64 %133 #s(literal 1 binary64))
(*.f64 %118 %192)
(*.f64 %118 %194)
(*.f64 %118 %4)
%133
(*.f64 #s(literal 1 binary64) %133)
(*.f64 z %172)
(*.f64 z %118)
(*.f64 x %140)
(pow.f64 %133 #s(literal 1 binary64))
(/.f64 (neg.f64 %202) x)
(/.f64 (neg.f64 %205) #s(literal -1/2 binary64))
(/.f64 (neg.f64 %209) %211)
(/.f64 (neg.f64 %213) %88)
(/.f64 (neg.f64 %165) #s(literal -2 binary64))
(/.f64 %202 %88)
(/.f64 %205 #s(literal 1/2 binary64))
(/.f64 %209 %151)
(/.f64 %213 x)
(/.f64 %165 #s(literal 2 binary64))
(/.f64 %175 %88)
(/.f64 %134 x)
(/.f64 %174 #s(literal -1 binary64))
(/.f64 %133 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %133 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 %88 %175))
(/.f64 #s(literal 1 binary64) (/.f64 x %134))
(neg.f64 %174)
(fma.f64 %136 %138 %236)
(fma.f64 %136 %138 %238)
(fma.f64 %142 #s(literal 1/2 binary64) %236)
(fma.f64 %142 #s(literal 1/2 binary64) %238)
(fma.f64 %144 %145 %236)
(fma.f64 %144 %145 %238)
(fma.f64 %147 #s(literal 2 binary64) %236)
(fma.f64 %147 #s(literal 2 binary64) %238)
(fma.f64 %4 %118 %236)
(fma.f64 %4 %118 %238)
(fma.f64 %4 y %248)
(fma.f64 %4 y %251)
(fma.f64 %150 %151 %236)
(fma.f64 %150 %151 %238)
(fma.f64 %153 %154 %236)
(fma.f64 %153 %154 %238)
(fma.f64 %156 %157 %236)
(fma.f64 %156 %157 %238)
(fma.f64 %159 %160 %236)
(fma.f64 %159 %160 %238)
(fma.f64 %162 %163 %236)
(fma.f64 %162 %163 %238)
(fma.f64 %165 #s(literal 1/2 binary64) %236)
(fma.f64 %165 #s(literal 1/2 binary64) %238)
(fma.f64 %167 %265 %267)
(fma.f64 %167 %266 %269)
(fma.f64 %167 %168 %236)
(fma.f64 %167 %168 %238)
(fma.f64 %141 %170 %236)
(fma.f64 %141 %170 %238)
(fma.f64 %172 z %236)
(fma.f64 %172 z %238)
(fma.f64 %175 %176 %236)
(fma.f64 %175 %176 %238)
(fma.f64 %134 %178 %236)
(fma.f64 %134 %178 %238)
(fma.f64 %3 %123 %236)
(fma.f64 %3 %123 %238)
(fma.f64 %3 %6 %248)
(fma.f64 %3 %6 %251)
(fma.f64 %285 x %287)
(fma.f64 %286 x %289)
(fma.f64 %265 %167 %291)
(fma.f64 %266 %167 %293)
(fma.f64 %123 %3 %236)
(fma.f64 %123 %3 %238)
(fma.f64 %168 %167 %236)
(fma.f64 %168 %167 %238)
(fma.f64 #s(literal 1/2 binary64) %133 %299)
(fma.f64 #s(literal 2 binary64) %183 %236)
(fma.f64 #s(literal 2 binary64) %183 %238)
(fma.f64 %23 %303 %10)
(fma.f64 %107 %33 %10)
(fma.f64 %33 %107 %10)
(fma.f64 %116 %3 %10)
(fma.f64 %303 %23 %10)
(fma.f64 %6 %3 %248)
(fma.f64 %6 %3 %251)
(fma.f64 %178 %134 %236)
(fma.f64 %178 %134 %238)
(fma.f64 %174 %186 %236)
(fma.f64 %174 %186 %238)
(fma.f64 %174 %188 %236)
(fma.f64 %174 %188 %238)
(fma.f64 %140 x %236)
(fma.f64 %140 x %238)
(fma.f64 %250 a %10)
(fma.f64 %133 #s(literal 1/2 binary64) %147)
(fma.f64 %133 #s(literal 1 binary64) %236)
(fma.f64 %133 #s(literal 1 binary64) %238)
(fma.f64 %118 %192 %236)
(fma.f64 %118 %192 %238)
(fma.f64 %118 %194 %236)
(fma.f64 %118 %194 %238)
(fma.f64 %118 %4 %236)
(fma.f64 %118 %4 %238)
(fma.f64 %118 z %236)
(fma.f64 %118 z %238)
(fma.f64 %110 %4 %10)
(fma.f64 %110 z %10)
(fma.f64 #s(literal 1 binary64) %251 %10)
(fma.f64 #s(literal 1 binary64) %10 %248)
(fma.f64 #s(literal 1 binary64) %10 %251)
(fma.f64 #s(literal 1 binary64) %133 %236)
(fma.f64 #s(literal 1 binary64) %133 %238)
(fma.f64 b %26 %10)
(fma.f64 %26 b %10)
(fma.f64 a %250 %10)
(fma.f64 z %172 %236)
(fma.f64 z %172 %238)
(fma.f64 z %118 %236)
(fma.f64 z %118 %238)
(fma.f64 z %110 %10)
(fma.f64 z y %248)
(fma.f64 z y %251)
(fma.f64 y %4 %248)
(fma.f64 y %4 %251)
(fma.f64 y z %248)
(fma.f64 y z %251)
(fma.f64 x %285 %352)
(fma.f64 x %286 %354)
(fma.f64 x %140 %236)
(fma.f64 x %140 %238)
(-.f64 %251 %18)
(-.f64 %10 %359)
(+.f64 %147 %147)
(+.f64 %269 %267)
(+.f64 %267 %269)
(+.f64 %354 %352)
(+.f64 %352 %354)
(+.f64 %299 %299)
(+.f64 %293 %291)
(+.f64 %291 %293)
(+.f64 %287 %289)
(+.f64 %289 %287)
(+.f64 %251 %10)
(+.f64 %10 %248)
(+.f64 %10 %251)
(+.f64 %133 %236)
(+.f64 %133 %238)
(*.f64 %23 %303)
(*.f64 %107 %33)
(*.f64 %33 %107)
(*.f64 %116 %3)
(*.f64 %303 %23)
%251
(*.f64 %110 %4)
(*.f64 %110 z)
(*.f64 #s(literal 1 binary64) %251)
(*.f64 b %26)
(*.f64 %26 b)
(*.f64 a %250)
(*.f64 z %110)
(pow.f64 %251 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %251 #s(literal -1 binary64)))
(neg.f64 %359)
(*.f64 #s(literal 1 binary64) %394)
(pow.f64 %394 #s(literal 1 binary64))
%394
(/.f64 #s(literal 1 binary64) (pow.f64 %394 #s(literal -1 binary64)))
%399
(*.f64 #s(literal 1 binary64) %399)
(*.f64 a %394)
(pow.f64 %399 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %399 #s(literal -1 binary64)))
(*.f64 %4 %168)
(*.f64 %153 #s(literal 2 binary64))
(*.f64 %156 %407)
(*.f64 %409 %410)
(*.f64 %412 %413)
(*.f64 %415 %145)
(*.f64 %417 %418)
(*.f64 %420 %421)
(*.f64 %423 %168)
(*.f64 %165 %138)
(*.f64 %145 %415)
(*.f64 %145 %118)
(*.f64 %3 %428)
(*.f64 %176 %174)
(*.f64 %123 %431)
(*.f64 %123 %433)
(*.f64 %168 %423)
(*.f64 %168 z)
(*.f64 #s(literal 2 binary64) %437)
(*.f64 %178 %133)
(*.f64 %174 %176)
(*.f64 %140 #s(literal 1 binary64))
(*.f64 %133 %178)
(*.f64 %118 %443)
(*.f64 %118 %145)
(*.f64 #s(literal 1 binary64) %140)
(*.f64 z %168)
(pow.f64 %140 #s(literal 1 binary64))
(/.f64 (neg.f64 %449) x)
(/.f64 (neg.f64 %452) %88)
(/.f64 (neg.f64 %455) %88)
(/.f64 (neg.f64 %458) %88)
(/.f64 (neg.f64 %153) #s(literal -1/2 binary64))
(/.f64 (neg.f64 %156) %211)
(/.f64 (neg.f64 %466) %469)
(/.f64 (neg.f64 %472) %469)
(/.f64 (neg.f64 %477) %469)
(/.f64 %449 %88)
(/.f64 (*.f64 %88 %481) x)
(/.f64 %452 x)
(/.f64 %455 x)
(/.f64 %458 x)
(/.f64 %153 #s(literal 1/2 binary64))
(/.f64 %156 %151)
(/.f64 %466 %468)
(/.f64 %472 %468)
(/.f64 %477 %468)
(/.f64 %175 %469)
(/.f64 %134 %468)
(/.f64 %481 #s(literal -1 binary64))
(/.f64 %174 %88)
(/.f64 %140 #s(literal 1 binary64))
%140
(/.f64 #s(literal 1 binary64) (pow.f64 %140 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 %88 %174))
(/.f64 #s(literal 1 binary64) (/.f64 x %133))
(neg.f64 %481)
(fma.f64 %504 %505 %508)
(fma.f64 %504 %505 %286)
(fma.f64 %511 %512 %508)
(fma.f64 %511 %512 %286)
(fma.f64 %515 %410 %508)
(fma.f64 %515 %410 %286)
(fma.f64 %518 %413 %508)
(fma.f64 %518 %413 %286)
(fma.f64 %521 %522 %508)
(fma.f64 %521 %522 %286)
(fma.f64 %525 %526 %508)
(fma.f64 %525 %526 %286)
(fma.f64 %529 %530 %508)
(fma.f64 %529 %530 %286)
(fma.f64 %533 %534 %508)
(fma.f64 %533 %534 %286)
(fma.f64 %537 %538 %508)
(fma.f64 %537 %538 %286)
(fma.f64 %538 %537 %508)
(fma.f64 %538 %537 %286)
(fma.f64 %543 %544 %508)
(fma.f64 %543 %544 %286)
(fma.f64 %544 %543 %508)
(fma.f64 %544 %543 %286)
(fma.f64 %549 %550 %508)
(fma.f64 %549 %550 %286)
(fma.f64 %553 %554 %508)
(fma.f64 %553 %554 %286)
(fma.f64 %557 %558 %508)
(fma.f64 %557 %558 %286)
(fma.f64 %558 %557 %508)
(fma.f64 %558 %557 %286)
(fma.f64 %563 %564 %508)
(fma.f64 %563 %564 %286)
(fma.f64 %564 %563 %508)
(fma.f64 %564 %563 %286)
(fma.f64 %569 %145 %508)
(fma.f64 %569 %145 %286)
(fma.f64 %417 %572 %508)
(fma.f64 %417 %572 %286)
(fma.f64 %417 %575 %285)
(fma.f64 %420 %577 %508)
(fma.f64 %420 %577 %286)
(fma.f64 %420 %580 %285)
(fma.f64 %423 %265 %508)
(fma.f64 %423 %265 %286)
(fma.f64 %423 %266 %285)
(fma.f64 %585 %410 %285)
(fma.f64 %587 %413 %285)
(fma.f64 %589 %145 %285)
(fma.f64 %145 %569 %508)
(fma.f64 %145 %569 %286)
(fma.f64 %145 %589 %285)
(fma.f64 %251 %178 %508)
(fma.f64 %251 %178 %286)
(fma.f64 %265 %423 %508)
(fma.f64 %265 %423 %286)
(fma.f64 %265 z %598)
(fma.f64 %266 %423 %285)
(fma.f64 %266 z %601)
(fma.f64 %178 %251 %603)
(fma.f64 %178 %10 %605)
(fma.f64 %10 %178 %285)
(fma.f64 %250 %564 %508)
(fma.f64 %250 %564 %286)
(fma.f64 %110 %145 %508)
(fma.f64 %110 %145 %286)
(fma.f64 #s(literal 1 binary64) %285 %508)
(fma.f64 #s(literal 1 binary64) %285 %286)
(fma.f64 #s(literal 1 binary64) %286 %285)
(fma.f64 b %544 %508)
(fma.f64 b %544 %286)
(fma.f64 %26 %537 %508)
(fma.f64 %26 %537 %286)
(fma.f64 a %557 %508)
(fma.f64 a %557 %286)
(fma.f64 z %265 %508)
(fma.f64 z %265 %286)
(fma.f64 z %266 %285)
(fma.f64 y %145 %285)
(-.f64 %285 %507)
(-.f64 %286 (neg.f64 %285))
(-.f64 %286 (/.f64 %251 %88))
(+.f64 %605 %603)
(+.f64 %603 %605)
(+.f64 %601 %598)
(+.f64 %598 %601)
(+.f64 %285 %508)
(+.f64 %285 %286)
(+.f64 %286 %285)
(*.f64 %638 %138)
(*.f64 %641 %154)
(*.f64 %643 %157)
(*.f64 %645 x)
(*.f64 %159 %647)
(*.f64 %162 %649)
(*.f64 %651 %176)
(*.f64 %178 %637)
(*.f64 %637 %178)
(*.f64 %640 #s(literal 1 binary64))
(*.f64 #s(literal 1 binary64) %640)
(*.f64 x %657)
(*.f64 x %645)
(pow.f64 %640 #s(literal 1 binary64))
(/.f64 (neg.f64 %661) x)
(/.f64 (neg.f64 %664) #s(literal -2 binary64))
(/.f64 (neg.f64 %668) %671)
(/.f64 (neg.f64 %674) %676)
(/.f64 (neg.f64 %678) %680)
(/.f64 (neg.f64 %682) #s(literal -1/2 binary64))
(/.f64 (neg.f64 %685) %211)
(/.f64 (neg.f64 %688) %671)
(/.f64 (neg.f64 %691) %680)
(/.f64 (neg.f64 %695) %676)
(/.f64 (neg.f64 %699) %680)
(/.f64 (neg.f64 %702) %680)
(/.f64 (neg.f64 %705) %676)
(/.f64 (neg.f64 %709) %712)
(/.f64 %715 %712)
(/.f64 %661 %88)
(/.f64 %718 #s(literal -1 binary64))
(/.f64 %720 #s(literal -1 binary64))
(/.f64 %722 #s(literal -1 binary64))
(/.f64 %724 %88)
(/.f64 %664 #s(literal 2 binary64))
(/.f64 %668 %670)
(/.f64 %674 %667)
(/.f64 %678 %141)
(/.f64 %682 #s(literal 1/2 binary64))
(/.f64 %685 %151)
(/.f64 %714 %711)
(/.f64 %688 %670)
(/.f64 %691 %141)
(/.f64 %695 %667)
(/.f64 %699 %141)
(/.f64 %702 %141)
(/.f64 %705 %667)
(/.f64 %709 %711)
(/.f64 %740 %469)
(/.f64 %708 %468)
(/.f64 %743 #s(literal -1 binary64))
(/.f64 %651 %88)
%640
(/.f64 %640 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %640 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 %88 %651))
(/.f64 #s(literal 1 binary64) (/.f64 x %637))
(neg.f64 %718)
(neg.f64 %720)
(neg.f64 %722)
(neg.f64 %743)
(fma.f64 %638 %138 #s(literal 0 binary64))
(fma.f64 %4 %168 #s(literal 1 binary64))
(fma.f64 %153 #s(literal 2 binary64) #s(literal 1 binary64))
(fma.f64 %156 %407 #s(literal 1 binary64))
(fma.f64 %409 %410 #s(literal 1 binary64))
(fma.f64 %412 %413 #s(literal 1 binary64))
(fma.f64 %415 %145 #s(literal 1 binary64))
(fma.f64 %504 %505 %764)
(fma.f64 %504 %505 %766)
(fma.f64 %504 %505 %768)
(fma.f64 %511 %512 %764)
(fma.f64 %511 %512 %766)
(fma.f64 %511 %512 %768)
(fma.f64 %515 %410 %764)
(fma.f64 %515 %410 %766)
(fma.f64 %515 %410 %768)
(fma.f64 %518 %413 %764)
(fma.f64 %518 %413 %766)
(fma.f64 %518 %413 %768)
(fma.f64 %521 %522 %764)
(fma.f64 %521 %522 %766)
(fma.f64 %521 %522 %768)
(fma.f64 %525 %526 %764)
(fma.f64 %525 %526 %766)
(fma.f64 %525 %526 %768)
(fma.f64 %529 %530 %764)
(fma.f64 %529 %530 %766)
(fma.f64 %529 %530 %768)
(fma.f64 %533 %534 %764)
(fma.f64 %533 %534 %766)
(fma.f64 %533 %534 %768)
(fma.f64 %537 %538 %764)
(fma.f64 %537 %538 %766)
(fma.f64 %537 %538 %768)
(fma.f64 %538 %537 %764)
(fma.f64 %538 %537 %766)
(fma.f64 %538 %537 %768)
(fma.f64 %543 %544 %764)
(fma.f64 %543 %544 %766)
(fma.f64 %543 %544 %768)
(fma.f64 %544 %543 %764)
(fma.f64 %544 %543 %766)
(fma.f64 %544 %543 %768)
(fma.f64 %549 %550 %764)
(fma.f64 %549 %550 %766)
(fma.f64 %549 %550 %768)
(fma.f64 %553 %554 %764)
(fma.f64 %553 %554 %766)
(fma.f64 %553 %554 %768)
(fma.f64 %557 %558 %764)
(fma.f64 %557 %558 %766)
(fma.f64 %557 %558 %768)
(fma.f64 %558 %557 %764)
(fma.f64 %558 %557 %766)
(fma.f64 %558 %557 %768)
(fma.f64 %563 %564 %764)
(fma.f64 %563 %564 %766)
(fma.f64 %563 %564 %768)
(fma.f64 %564 %563 %764)
(fma.f64 %564 %563 %766)
(fma.f64 %564 %563 %768)
(fma.f64 %569 %145 %764)
(fma.f64 %569 %145 %766)
(fma.f64 %569 %145 %768)
(fma.f64 %641 %154 #s(literal 0 binary64))
(fma.f64 %643 %157 #s(literal 0 binary64))
(fma.f64 %645 x #s(literal 0 binary64))
(fma.f64 %159 %647 #s(literal 0 binary64))
(fma.f64 %162 %649 #s(literal 0 binary64))
(fma.f64 %417 %418 #s(literal 1 binary64))
(fma.f64 %417 %572 %764)
(fma.f64 %417 %572 %766)
(fma.f64 %417 %572 %768)
(fma.f64 %417 %575 %833)
(fma.f64 %417 %575 %835)
(fma.f64 %417 %575 %838)
(fma.f64 %420 %421 #s(literal 1 binary64))
(fma.f64 %420 %577 %764)
(fma.f64 %420 %577 %766)
(fma.f64 %420 %577 %768)
(fma.f64 %420 %580 %833)
(fma.f64 %420 %580 %835)
(fma.f64 %420 %580 %838)
(fma.f64 %423 %265 %764)
(fma.f64 %423 %265 %766)
(fma.f64 %423 %265 %768)
(fma.f64 %423 %266 %833)
(fma.f64 %423 %266 %835)
(fma.f64 %423 %266 %838)
(fma.f64 %423 %168 #s(literal 1 binary64))
(fma.f64 %585 %410 %833)
(fma.f64 %585 %410 %835)
(fma.f64 %585 %410 %838)
(fma.f64 %587 %413 %833)
(fma.f64 %587 %413 %835)
(fma.f64 %587 %413 %838)
(fma.f64 %589 %145 %833)
(fma.f64 %589 %145 %835)
(fma.f64 %589 %145 %838)
(fma.f64 %165 %138 #s(literal 1 binary64))
(fma.f64 %145 %415 #s(literal 1 binary64))
(fma.f64 %145 %569 %764)
(fma.f64 %145 %569 %766)
(fma.f64 %145 %569 %768)
(fma.f64 %145 %589 %833)
(fma.f64 %145 %589 %835)
(fma.f64 %145 %589 %838)
(fma.f64 %145 %118 #s(literal 1 binary64))
(fma.f64 %3 %428 #s(literal 1 binary64))
(fma.f64 %251 %178 %764)
(fma.f64 %251 %178 %766)
(fma.f64 %251 %178 %768)
(fma.f64 %176 %174 #s(literal 1 binary64))
(fma.f64 %265 %423 %764)
(fma.f64 %265 %423 %766)
(fma.f64 %265 %423 %768)
(fma.f64 %266 %423 %833)
(fma.f64 %266 %423 %835)
(fma.f64 %266 %423 %838)
(fma.f64 %123 %431 #s(literal 1 binary64))
(fma.f64 %123 %433 #s(literal 1 binary64))
(fma.f64 %651 %176 #s(literal 0 binary64))
(fma.f64 %168 %423 #s(literal 1 binary64))
(fma.f64 %168 z #s(literal 1 binary64))
(fma.f64 #s(literal 2 binary64) %437 #s(literal 1 binary64))
(fma.f64 %178 %637 #s(literal 0 binary64))
(fma.f64 %178 %133 #s(literal 1 binary64))
(fma.f64 %174 %176 #s(literal 1 binary64))
(fma.f64 %10 %178 %833)
(fma.f64 %10 %178 %835)
(fma.f64 %10 %178 %838)
(fma.f64 %637 %178 #s(literal 0 binary64))
(fma.f64 %640 #s(literal 1 binary64) #s(literal 0 binary64))
(fma.f64 %140 #s(literal 1 binary64) #s(literal 1 binary64))
(fma.f64 %250 %564 %764)
(fma.f64 %250 %564 %766)
(fma.f64 %250 %564 %768)
(fma.f64 %133 %178 #s(literal 1 binary64))
(fma.f64 %118 %443 #s(literal 1 binary64))
(fma.f64 %118 %145 #s(literal 1 binary64))
(fma.f64 %110 %145 %764)
(fma.f64 %110 %145 %766)
(fma.f64 %110 %145 %768)
(fma.f64 #s(literal 1 binary64) %285 %764)
(fma.f64 #s(literal 1 binary64) %285 %766)
(fma.f64 #s(literal 1 binary64) %285 %768)
(fma.f64 #s(literal 1 binary64) %286 %833)
(fma.f64 #s(literal 1 binary64) %286 %835)
(fma.f64 #s(literal 1 binary64) %286 %838)
(fma.f64 #s(literal 1 binary64) %640 #s(literal 0 binary64))
(fma.f64 #s(literal 1 binary64) %140 #s(literal 1 binary64))
(fma.f64 b %544 %764)
(fma.f64 b %544 %766)
(fma.f64 b %544 %768)
(fma.f64 %26 %537 %764)
(fma.f64 %26 %537 %766)
(fma.f64 %26 %537 %768)
(fma.f64 a %557 %764)
(fma.f64 a %557 %766)
(fma.f64 a %557 %768)
(fma.f64 z %265 %764)
(fma.f64 z %265 %766)
(fma.f64 z %265 %768)
(fma.f64 z %266 %833)
(fma.f64 z %266 %835)
(fma.f64 z %266 %838)
(fma.f64 z %168 #s(literal 1 binary64))
(fma.f64 y %145 %833)
(fma.f64 y %145 %835)
(fma.f64 y %145 %838)
(fma.f64 x %657 #s(literal 0 binary64))
(fma.f64 x %645 #s(literal 0 binary64))
(-.f64 %936 %507)
(-.f64 %838 %507)
(-.f64 %285 (-.f64 %507 #s(literal 1 binary64)))
(-.f64 %285 (fma.f64 %3 %266 #s(literal -1 binary64)))
(-.f64 %285 (/.f64 %85 x))
(-.f64 %140 %188)
(-.f64 %140 #s(literal -1 binary64))
(-.f64 #s(literal 1 binary64) %481)
(+.f64 (fma.f64 %145 %118 #s(literal 1/2 binary64)) #s(literal 1/2 binary64))
(+.f64 (+.f64 #s(literal 1 binary64) %286) %285)
(+.f64 %936 %286)
(+.f64 %838 %286)
(+.f64 %768 %285)
(+.f64 %285 %764)
(+.f64 %285 %766)
(+.f64 %285 %768)
(+.f64 %286 %833)
(+.f64 %286 %835)
(+.f64 %286 %838)
(+.f64 #s(literal 1/2 binary64) (+.f64 #s(literal 1/2 binary64) %140))
(+.f64 #s(literal 1/2 binary64) (-.f64 #s(literal 1/2 binary64) %481))
(+.f64 %640 #s(literal 0 binary64))
(+.f64 %140 #s(literal 1 binary64))
(+.f64 #s(literal 1 binary64) (+.f64 #s(literal 0 binary64) %140))
(+.f64 #s(literal 1 binary64) (-.f64 #s(literal 0 binary64) %481))
(+.f64 #s(literal 1 binary64) %140)
(*.f64 (*.f64 %640 %141) #s(literal 1/2 binary64))
(*.f64 (*.f64 %640 #s(literal 2 binary64)) %151)
(*.f64 %682 %154)
(*.f64 %685 %157)
(*.f64 %159 (/.f64 %637 #s(literal 1/2 binary64)))
(*.f64 %162 (/.f64 %637 %151))
(*.f64 %141 (*.f64 #s(literal 1/2 binary64) %640))
(*.f64 %708 %178)
(*.f64 #s(literal 2 binary64) (*.f64 %151 %640))
(*.f64 %637 #s(literal 1 binary64))
(*.f64 %640 x)
(*.f64 #s(literal 1 binary64) %637)
(*.f64 x %640)
(pow.f64 %637 #s(literal 1 binary64))
(/.f64 (neg.f64 %992) #s(literal -1/2 binary64))
(/.f64 (neg.f64 %995) %211)
(/.f64 (neg.f64 %998) %88)
(/.f64 %715 x)
(/.f64 (neg.f64 %740) x)
(/.f64 %992 #s(literal 1/2 binary64))
(/.f64 %995 %151)
(/.f64 %998 x)
(/.f64 (*.f64 %651 x) %88)
(/.f64 (*.f64 x %651) %88)
(/.f64 %724 #s(literal -1 binary64))
(/.f64 %714 %88)
(/.f64 %740 %88)
(/.f64 %708 x)
(/.f64 %651 #s(literal -1 binary64))
(/.f64 %637 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %637 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 x %708))
(neg.f64 %724)
(neg.f64 %651)
(fma.f64 %136 %138 x)
(fma.f64 %142 #s(literal 1/2 binary64) x)
(fma.f64 %144 %145 x)
(fma.f64 %147 #s(literal 2 binary64) x)
(fma.f64 %4 %118 x)
(fma.f64 %4 y %837)
(fma.f64 %150 %151 x)
(fma.f64 %153 %154 x)
(fma.f64 %156 %157 x)
(fma.f64 %159 %160 x)
(fma.f64 %162 %163 x)
(fma.f64 %165 #s(literal 1/2 binary64) x)
(fma.f64 %167 %168 x)
(fma.f64 %141 %170 x)
(fma.f64 %172 z x)
(fma.f64 %175 %176 x)
(fma.f64 %134 %178 x)
(fma.f64 %3 %123 x)
(fma.f64 %3 %6 %837)
(fma.f64 %123 %3 x)
(fma.f64 %168 %167 x)
(fma.f64 #s(literal 2 binary64) %183 x)
(fma.f64 %23 %303 %61)
(fma.f64 %107 %33 %61)
(fma.f64 %33 %107 %61)
(fma.f64 %116 %3 %61)
(fma.f64 %303 %23 %61)
(fma.f64 %6 %3 %837)
(fma.f64 %178 %134 x)
(fma.f64 %174 %186 x)
(fma.f64 %174 %188 x)
(fma.f64 %140 x x)
(fma.f64 %250 a %61)
(fma.f64 %133 #s(literal 1 binary64) x)
(fma.f64 %118 %192 x)
(fma.f64 %118 %194 x)
(fma.f64 %118 %4 x)
%637
(fma.f64 %110 %4 %61)
(fma.f64 %110 z %61)
(fma.f64 #s(literal 1 binary64) %837 %10)
(fma.f64 #s(literal 1 binary64) %251 %61)
(fma.f64 #s(literal 1 binary64) %61 %251)
(fma.f64 #s(literal 1 binary64) %10 %837)
(fma.f64 #s(literal 1 binary64) %133 x)
(fma.f64 b %26 %61)
(fma.f64 %26 b %61)
(fma.f64 a %250 %61)
(fma.f64 z %172 x)
(fma.f64 z %118 x)
(fma.f64 z %110 %61)
(fma.f64 z y %837)
(fma.f64 y %4 %837)
(fma.f64 y z %837)
(fma.f64 x %140 x)
(-.f64 %837 %18)
(-.f64 %251 %85)
(-.f64 %61 %359)
(-.f64 %10 (fma.f64 %3 %110 %88))
(-.f64 %10 (+.f64 %88 %359))
(-.f64 %10 (-.f64 %88 %251))
(-.f64 %10 (-.f64 %359 x))
(-.f64 %10 (neg.f64 %837))
(-.f64 %133 %88)
(-.f64 x %174)
(+.f64 %837 %10)
(+.f64 %251 %61)
(+.f64 %61 %251)
(+.f64 %10 %837)
(+.f64 %133 x)
(+.f64 x %133)
(*.f64 #s(literal 1 binary64) %1102)
(pow.f64 %1102 #s(literal 1 binary64))
%1102
(/.f64 #s(literal 1 binary64) (pow.f64 %1102 #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) %1107)
(pow.f64 %1107 #s(literal 1 binary64))
%1107
(/.f64 #s(literal 1 binary64) (pow.f64 %1107 #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) %1114)
(pow.f64 %1114 #s(literal 1 binary64))
%1114
(/.f64 #s(literal 1 binary64) (pow.f64 %1114 #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) %1121)
(pow.f64 %1121 #s(literal 1 binary64))
%1121
(/.f64 #s(literal 1 binary64) (pow.f64 %1121 #s(literal -1 binary64)))
(neg.f64 %1126)
(*.f64 #s(literal 1 binary64) %1128)
(pow.f64 %1128 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %1128 #s(literal -1 binary64)))
(neg.f64 (-.f64 %18 %1121))
(neg.f64 (neg.f64 %1128))
(fma.f64 %4 y %1121)
(fma.f64 %3 %6 %1121)
(fma.f64 %6 %3 %1121)
(fma.f64 #s(literal 1 binary64) %1121 %10)
(fma.f64 #s(literal 1 binary64) %10 %1121)
%1128
(fma.f64 y %4 %1121)
(fma.f64 y z %1121)
(-.f64 %1121 %18)
(-.f64 %10 %1126)
(+.f64 %1121 %10)
(+.f64 %10 %1121)
(*.f64 #s(literal 1 binary64) %1148)
(pow.f64 %1148 #s(literal 1 binary64))
%1148
(/.f64 #s(literal 1 binary64) (pow.f64 %1148 #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) %1153)
(pow.f64 %1153 #s(literal 1 binary64))
%1153
(/.f64 #s(literal 1 binary64) (pow.f64 %1153 #s(literal -1 binary64)))
(neg.f64 %1158)
(*.f64 #s(literal 1 binary64) %1160)
(pow.f64 %1160 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %1160 #s(literal -1 binary64)))
(neg.f64 (-.f64 %88 %1153))
(neg.f64 (neg.f64 %1160))
(fma.f64 #s(literal 1 binary64) %1153 x)
(-.f64 %1153 %88)
(-.f64 x %1158)
%1160
(+.f64 x %1153)
(*.f64 #s(literal 1 binary64) %1173)
(pow.f64 %1173 #s(literal 1 binary64))
%1173
(/.f64 #s(literal 1 binary64) (pow.f64 %1173 #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) %1178)
(pow.f64 %1178 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %1178 #s(literal -1 binary64)))
(neg.f64 (-.f64 %1183 x))
(neg.f64 (neg.f64 %1178))
%1178
(fma.f64 #s(literal 1 binary64) %1188 x)
(fma.f64 z %1107 x)
(-.f64 %1188 %88)
(-.f64 x %1183)
(+.f64 %1188 x)
(+.f64 x (*.f64 (neg.f64 (neg.f64 %1107)) z))
(+.f64 x (*.f64 %4 %1107))
(+.f64 x (neg.f64 %1183))
(+.f64 x %1188)
(*.f64 #s(literal 1 binary64) %1203)
(pow.f64 %1203 #s(literal 1 binary64))
%1203
(/.f64 #s(literal 1 binary64) (pow.f64 %1203 #s(literal -1 binary64)))

reconstruct-119.0ms (-3.5%)

Counts
1 043 → 346
Compiler

Compiled 1 043 to 1 613 computations (-54.7% saved)

eval32.0ms (0.9%)

Compiler

Compiled 340 to 1 115 computations (-227.9% saved)

prune7.0ms (0.2%)

Pruning

13 alts after pruning (5 fresh and 8 done)

PrunedKeptTotal
New3355340
Fresh000
Picked235
Done055
Total33713350
Accuracy
100.0%
Counts
350 → 13
Alt Table
Click to see full alt table
StatusAccuracyProgram
55.1%
%46 = (* b z)
(fma.f64 y z (approx (+ (* (+ %46 t) a) x) (*.f64 a (approx (+ t %46) t))))
74.7%
(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (fma.f64 z (fma.f64 b a y) x))
47.7%
(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (fma.f64 z (approx (+ (* b a) y) (*.f64 a b)) x))
72.2%
(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (fma.f64 a (fma.f64 b z t) x))
48.2%
%3 = (* y z)
(approx (+ (+ (+ x %3) (* t a)) (* (* a z) b)) (+.f64 x (approx (+ (* a (* b z)) %3) (*.f64 b (*.f64 a z)))))
51.9%
%3 = (* y z)
(approx (+ (+ (+ x %3) (* t a)) (* (* a z) b)) (+.f64 x (approx (+ (* a t) %3) (*.f64 a t))))
22.6%
(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 z (approx (+ y (* a b)) (*.f64 a b))))
46.6%
(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a (fma.f64 b z t)))
26.3%
(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (*.f64 a (approx (+ t (* b z)) t)))
46.1%
(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (approx (+ (* z (+ (* b a) y)) x) (*.f64 x (+.f64 #s(literal 1 binary64) (/.f64 (*.f64 z (approx (+ y (* a b)) (*.f64 a b))) x)))))
27.3%
(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (approx (+ (* z (+ (* b a) y)) x) (*.f64 x (approx (+ 1 (/ (* z (+ y (* a b))) x)) #s(literal 1 binary64)))))
55.1%
%3 = (* y z)
(approx (+ (+ (+ x %3) (* t a)) (* (* a z) b)) (approx (+ x (+ (* a t) %3)) (fma.f64 a t (*.f64 y z))))
57.2%
%3 = (* y z)
(approx (+ (+ (+ x %3) (* t a)) (* (* a z) b)) (approx (+ x (+ (* a t) %3)) (+.f64 x (*.f64 y z))))
Compiler

Compiled 13 to 29 computations (-123.1% saved)

regimes106.0ms (3.2%)

Accuracy

Total 93.1b remaining (47.1%)

Threshold costs 0.0b (0.0%)

16.2b38.0%
15.8b39.3%
13.7b49.3%
9.5b37.3%
9.1b48.8%

Counts
1 → 1
2 → 3
3 → 3
4 → 3
5 → 4
6 → 3
7 → 3
15 → 3
16 → 3
17 → 3
24 → 1
25 → 1
Calls
Call 1
Inputs
(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (approx (+ (* z (+ (* b a) y)) x) (*.f64 x (approx (+ 1 (/ (* z (+ y (* a b))) x)) #s(literal 1 binary64)))))
Outputs
(approx (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b)) (approx (+ (* z (+ (* b a) y)) x) (*.f64 x (approx (+ 1 (/ (* z (+ y (* a b))) x)) #s(literal 1 binary64)))))
Call 2
Inputs
%12 = (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b))
(approx %12 (approx (+ (* z (+ (* b a) y)) x) (*.f64 x (approx (+ 1 (/ (* z (+ y (* a b))) x)) #s(literal 1 binary64)))))
(approx %12 (*.f64 a (approx (+ t (* b z)) t)))
Outputs
%12 = (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b))
%17 = (approx %12 (*.f64 a (approx (+ t (* b z)) t)))
%17
(approx %12 (approx (+ (* z (+ (* b a) y)) x) (*.f64 x (approx (+ 1 (/ (* z (+ y (* a b))) x)) #s(literal 1 binary64)))))
%17
Call 3
Inputs
%3 = (* y z)
%12 = (+ (+ (+ x %3) (* t a)) (* (* a z) b))
(approx %12 (approx (+ (* z (+ (* b a) y)) x) (*.f64 x (approx (+ 1 (/ (* z (+ y (* a b))) x)) #s(literal 1 binary64)))))
(approx %12 (*.f64 a (approx (+ t (* b z)) t)))
(approx %12 (approx (+ x (+ (* a t) %3)) (+.f64 x (*.f64 y z))))
Outputs
%3 = (* y z)
%12 = (+ (+ (+ x %3) (* t a)) (* (* a z) b))
%17 = (approx %12 (*.f64 a (approx (+ t (* b z)) t)))
%17
(approx %12 (approx (+ x (+ (* a t) %3)) (+.f64 x (*.f64 y z))))
%17
Call 4
Inputs
%3 = (* y z)
%12 = (+ (+ (+ x %3) (* t a)) (* (* a z) b))
%34 = (+ (* a t) %3)
(approx %12 (approx (+ (* z (+ (* b a) y)) x) (*.f64 x (approx (+ 1 (/ (* z (+ y (* a b))) x)) #s(literal 1 binary64)))))
(approx %12 (*.f64 a (approx (+ t (* b z)) t)))
(approx %12 (approx (+ x %34) (+.f64 x (*.f64 y z))))
(approx %12 (+.f64 x (approx %34 (*.f64 a t))))
Outputs
%3 = (* y z)
%12 = (+ (+ (+ x %3) (* t a)) (* (* a z) b))
%14 = (+ (* a t) %3)
%18 = (approx %12 (+.f64 x (approx %14 (*.f64 a t))))
%18
(approx %12 (approx (+ x %14) (+.f64 x (*.f64 y z))))
%18
Call 5
Inputs
%3 = (* y z)
%12 = (+ (+ (+ x %3) (* t a)) (* (* a z) b))
%19 = (+ y (* a b))
%34 = (+ (* a t) %3)
(approx %12 (approx (+ (* z (+ (* b a) y)) x) (*.f64 x (approx (+ 1 (/ (* z %19) x)) #s(literal 1 binary64)))))
(approx %12 (*.f64 a (approx (+ t (* b z)) t)))
(approx %12 (approx (+ x %34) (+.f64 x (*.f64 y z))))
(approx %12 (+.f64 x (approx %34 (*.f64 a t))))
(approx %12 (*.f64 z (approx %19 (*.f64 a b))))
Outputs
%3 = (* y z)
%12 = (+ (+ (+ x %3) (* t a)) (* (* a z) b))
%14 = (+ (* a t) %3)
%18 = (approx %12 (+.f64 x (approx %14 (*.f64 a t))))
%18
(approx %12 (approx (+ x %14) (+.f64 x (*.f64 y z))))
%18
(approx %12 (*.f64 z (approx (+ y (* a b)) (*.f64 a b))))
Call 6
Inputs
%3 = (* y z)
%12 = (+ (+ (+ x %3) (* t a)) (* (* a z) b))
%19 = (+ y (* a b))
%34 = (+ (* a t) %3)
%35 = (+ x %34)
%36 = (*.f64 y z)
(approx %12 (approx (+ (* z (+ (* b a) y)) x) (*.f64 x (approx (+ 1 (/ (* z %19) x)) #s(literal 1 binary64)))))
(approx %12 (*.f64 a (approx (+ t (* b z)) t)))
(approx %12 (approx %35 (+.f64 x %36)))
(approx %12 (+.f64 x (approx %34 (*.f64 a t))))
(approx %12 (*.f64 z (approx %19 (*.f64 a b))))
(approx %12 (approx %35 (fma.f64 a t %36)))
Outputs
%3 = (* y z)
%12 = (+ (+ (+ x %3) (* t a)) (* (* a z) b))
%15 = (+ x (+ (* a t) %3))
%16 = (*.f64 y z)
%19 = (approx %12 (approx %15 (fma.f64 a t %16)))
%19
(approx %12 (approx %15 (+.f64 x %16)))
%19
Call 7
Inputs
%3 = (* y z)
%12 = (+ (+ (+ x %3) (* t a)) (* (* a z) b))
%19 = (+ y (* a b))
%34 = (+ (* a t) %3)
%35 = (+ x %34)
%36 = (*.f64 y z)
(approx %12 (approx (+ (* z (+ (* b a) y)) x) (*.f64 x (approx (+ 1 (/ (* z %19) x)) #s(literal 1 binary64)))))
(approx %12 (*.f64 a (approx (+ t (* b z)) t)))
(approx %12 (approx %35 (+.f64 x %36)))
(approx %12 (+.f64 x (approx %34 (*.f64 a t))))
(approx %12 (*.f64 z (approx %19 (*.f64 a b))))
(approx %12 (approx %35 (fma.f64 a t %36)))
(approx %12 (*.f64 a (fma.f64 b z t)))
Outputs
%3 = (* y z)
%12 = (+ (+ (+ x %3) (* t a)) (* (* a z) b))
%15 = (approx %12 (*.f64 a (fma.f64 b z t)))
%15
(approx %12 (approx (+ x (+ (* a t) %3)) (+.f64 x (*.f64 y z))))
%15
Call 8
Inputs
%3 = (* y z)
%12 = (+ (+ (+ x %3) (* t a)) (* (* a z) b))
%14 = (+ (* b a) y)
%19 = (+ y (* a b))
%28 = (* b z)
%31 = (*.f64 a (approx (+ t %28) t))
%34 = (+ (* a t) %3)
%35 = (+ x %34)
%36 = (*.f64 y z)
%44 = (*.f64 a b)
%51 = (fma.f64 b z t)
%65 = (*.f64 b z)
%73 = (+ (* a %28) %3)
(approx %12 (approx (+ (* z %14) x) (*.f64 x (approx (+ 1 (/ (* z %19) x)) #s(literal 1 binary64)))))
(approx %12 %31)
(approx %12 (approx %35 (+.f64 x %36)))
(approx %12 (+.f64 x (approx %34 (*.f64 a t))))
(approx %12 (*.f64 z (approx %19 %44)))
(approx %12 (approx %35 (fma.f64 a t %36)))
(approx %12 (*.f64 a %51))
(approx %12 (*.f64 z (fma.f64 b a y)))
(approx %12 (fma.f64 z (approx %14 %44) x))
(fma.f64 y z (approx (+ (* (+ %28 t) a) x) %31))
(approx %12 (*.f64 a (+.f64 t %65)))
(approx %12 (*.f64 z (+.f64 y %44)))
(approx %12 (+.f64 x (approx %73 (*.f64 a %65))))
(approx %12 (+.f64 x (approx %73 (*.f64 b (*.f64 a z)))))
(approx %12 (fma.f64 a %51 x))
Outputs
%3 = (* y z)
%12 = (+ (+ (+ x %3) (* t a)) (* (* a z) b))
%15 = (approx %12 (fma.f64 a (fma.f64 b z t) x))
%15
(approx %12 (approx (+ x (+ (* a t) %3)) (+.f64 x (*.f64 y z))))
%15
Call 9
Inputs
%3 = (* y z)
%12 = (+ (+ (+ x %3) (* t a)) (* (* a z) b))
%14 = (+ (* b a) y)
%19 = (+ y (* a b))
%28 = (* b z)
%31 = (*.f64 a (approx (+ t %28) t))
%34 = (+ (* a t) %3)
%35 = (+ x %34)
%36 = (*.f64 y z)
%44 = (*.f64 a b)
%51 = (fma.f64 b z t)
%54 = (fma.f64 b a y)
%65 = (*.f64 b z)
%73 = (+ (* a %28) %3)
(approx %12 (approx (+ (* z %14) x) (*.f64 x (approx (+ 1 (/ (* z %19) x)) #s(literal 1 binary64)))))
(approx %12 %31)
(approx %12 (approx %35 (+.f64 x %36)))
(approx %12 (+.f64 x (approx %34 (*.f64 a t))))
(approx %12 (*.f64 z (approx %19 %44)))
(approx %12 (approx %35 (fma.f64 a t %36)))
(approx %12 (*.f64 a %51))
(approx %12 (*.f64 z %54))
(approx %12 (fma.f64 z (approx %14 %44) x))
(fma.f64 y z (approx (+ (* (+ %28 t) a) x) %31))
(approx %12 (*.f64 a (+.f64 t %65)))
(approx %12 (*.f64 z (+.f64 y %44)))
(approx %12 (+.f64 x (approx %73 (*.f64 a %65))))
(approx %12 (+.f64 x (approx %73 (*.f64 b (*.f64 a z)))))
(approx %12 (fma.f64 a %51 x))
(approx %12 (fma.f64 z %54 x))
Outputs
%12 = (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b))
%15 = (approx %12 (fma.f64 a (fma.f64 b z t) x))
%15
(approx %12 (fma.f64 z (fma.f64 b a y) x))
%15
Call 10
Inputs
%3 = (* y z)
%12 = (+ (+ (+ x %3) (* t a)) (* (* a z) b))
%14 = (+ (* b a) y)
%19 = (+ y (* a b))
%28 = (* b z)
%31 = (*.f64 a (approx (+ t %28) t))
%34 = (+ (* a t) %3)
%35 = (+ x %34)
%36 = (*.f64 y z)
%44 = (*.f64 a b)
%48 = (fma.f64 a t %36)
%51 = (fma.f64 b z t)
%54 = (fma.f64 b a y)
%65 = (*.f64 b z)
%73 = (+ (* a %28) %3)
(approx %12 (approx (+ (* z %14) x) (*.f64 x (approx (+ 1 (/ (* z %19) x)) #s(literal 1 binary64)))))
(approx %12 %31)
(approx %12 (approx %35 (+.f64 x %36)))
(approx %12 (+.f64 x (approx %34 (*.f64 a t))))
(approx %12 (*.f64 z (approx %19 %44)))
(approx %12 (approx %35 %48))
(approx %12 (*.f64 a %51))
(approx %12 (*.f64 z %54))
(approx %12 (fma.f64 z (approx %14 %44) x))
(fma.f64 y z (approx (+ (* (+ %28 t) a) x) %31))
(approx %12 (*.f64 a (+.f64 t %65)))
(approx %12 (*.f64 z (+.f64 y %44)))
(approx %12 (+.f64 x (approx %73 (*.f64 a %65))))
(approx %12 (+.f64 x (approx %73 (*.f64 b (*.f64 a z)))))
(approx %12 (fma.f64 a %51 x))
(approx %12 (fma.f64 z %54 x))
(approx %12 (+.f64 x %48))
Outputs
%12 = (+ (+ (+ x (* y z)) (* t a)) (* (* a z) b))
%16 = (approx %12 (+.f64 x (fma.f64 a t (*.f64 y z))))
%16
(approx %12 (fma.f64 z (fma.f64 b a y) x))
%16
Call 11
Inputs
%3 = (* y z)
%8 = (+ (+ x %3) (* t a))
%12 = (+ %8 (* (* a z) b))
%14 = (+ (* b a) y)
%19 = (+ y (* a b))
%28 = (* b z)
%31 = (*.f64 a (approx (+ t %28) t))
%34 = (+ (* a t) %3)
%35 = (+ x %34)
%36 = (*.f64 y z)
%40 = (*.f64 a t)
%44 = (*.f64 a b)
%48 = (fma.f64 a t %36)
%51 = (fma.f64 b z t)
%54 = (fma.f64 b a y)
%62 = (+ (* (+ %28 t) a) x)
%65 = (*.f64 b z)
%67 = (*.f64 a (+.f64 t %65))
%73 = (+ (* a %28) %3)
%74 = (*.f64 a %65)
%78 = (*.f64 a z)
(approx %12 (approx (+ (* z %14) x) (*.f64 x (approx (+ 1 (/ (* z %19) x)) #s(literal 1 binary64)))))
(approx %12 %31)
(approx %12 (approx %35 (+.f64 x %36)))
(approx %12 (+.f64 x (approx %34 %40)))
(approx %12 (*.f64 z (approx %19 %44)))
(approx %12 (approx %35 %48))
(approx %12 (*.f64 a %51))
(approx %12 (*.f64 z %54))
(approx %12 (fma.f64 z (approx %14 %44) x))
(fma.f64 y z (approx %62 %31))
(approx %12 %67)
(approx %12 (*.f64 z (+.f64 y %44)))
(approx %12 (+.f64 x (approx %73 %74)))
(approx %12 (+.f64 x (approx %73 (*.f64 b %78))))
(approx %12 (fma.f64 a %51 x))
(approx %12 (fma.f64 z %54 x))
(approx %12 (+.f64 x %48))
(approx %12 (fma.f64 b %78 (*.f64 z y)))
(fma.f64 a %51 (approx (+ (* z y) x) %36))
(approx %12 (+.f64 x (fma.f64 a t %74)))
(approx %12 (+.f64 x (fma.f64 a %65 %36)))
(fma.f64 y z (approx %62 %67))
(+.f64 (approx %8 (+.f64 x %40)) (*.f64 %78 b))
(fma.f64 a %51 (fma.f64 z y x))
Outputs
(fma.f64 a (fma.f64 b z t) (fma.f64 z y x))
Call 12
Inputs
%3 = (* y z)
%8 = (+ (+ x %3) (* t a))
%12 = (+ %8 (* (* a z) b))
%14 = (+ (* b a) y)
%19 = (+ y (* a b))
%28 = (* b z)
%31 = (*.f64 a (approx (+ t %28) t))
%34 = (+ (* a t) %3)
%35 = (+ x %34)
%36 = (*.f64 y z)
%40 = (*.f64 a t)
%44 = (*.f64 a b)
%48 = (fma.f64 a t %36)
%51 = (fma.f64 b z t)
%54 = (fma.f64 b a y)
%62 = (+ (* (+ %28 t) a) x)
%65 = (*.f64 b z)
%67 = (*.f64 a (+.f64 t %65))
%73 = (+ (* a %28) %3)
%74 = (*.f64 a %65)
%78 = (*.f64 a z)
(approx %12 (approx (+ (* z %14) x) (*.f64 x (approx (+ 1 (/ (* z %19) x)) #s(literal 1 binary64)))))
(approx %12 %31)
(approx %12 (approx %35 (+.f64 x %36)))
(approx %12 (+.f64 x (approx %34 %40)))
(approx %12 (*.f64 z (approx %19 %44)))
(approx %12 (approx %35 %48))
(approx %12 (*.f64 a %51))
(approx %12 (*.f64 z %54))
(approx %12 (fma.f64 z (approx %14 %44) x))
(fma.f64 y z (approx %62 %31))
(approx %12 %67)
(approx %12 (*.f64 z (+.f64 y %44)))
(approx %12 (+.f64 x (approx %73 %74)))
(approx %12 (+.f64 x (approx %73 (*.f64 b %78))))
(approx %12 (fma.f64 a %51 x))
(approx %12 (fma.f64 z %54 x))
(approx %12 (+.f64 x %48))
(approx %12 (fma.f64 b %78 (*.f64 z y)))
(fma.f64 a %51 (approx (+ (* z y) x) %36))
(approx %12 (+.f64 x (fma.f64 a t %74)))
(approx %12 (+.f64 x (fma.f64 a %65 %36)))
(fma.f64 y z (approx %62 %67))
(+.f64 (approx %8 (+.f64 x %40)) (*.f64 %78 b))
(fma.f64 a %51 (fma.f64 z y x))
(fma.f64 y z (fma.f64 %51 a x))
Outputs
(fma.f64 y z (fma.f64 (fma.f64 b z t) a x))
Calls

7 calls:

64.0ms
a
21.0ms
x
17.0ms
y
16.0ms
b
16.0ms
z
Results
AccuracySegmentsBranch
27.3%1
b
27.3%1
a
27.3%1
t
27.3%1
z
27.3%1
y
27.3%1
x
27.3%1
(+.f64 (+.f64 (+.f64 x (*.f64 y z)) (*.f64 t a)) (*.f64 (*.f64 a z) b))
Compiler

Compiled 35 to 72 computations (-105.7% saved)

bsearch0.0ms (0.0%)

bsearch0.0ms (0.0%)

bsearch15.0ms (0.4%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
8.0ms
2.8084992062231925e+101
1.6572654592666682e+103
6.0ms
-2.5646583516553764e+39
-5.934931061506518e+37
Samples
7.0ms224×0valid
Compiler

Compiled 22 to 39 computations (-77.3% saved)

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

bsearch16.0ms (0.5%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
9.0ms
4.880589697370773e-36
4.517319611399434e-29
7.0ms
-3.236277176738126e+88
-1.4894675421291332e+85
Samples
9.0ms272×0valid
Compiler

Compiled 22 to 37 computations (-68.2% saved)

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

bsearch10.0ms (0.3%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
6.0ms
4.880589697370773e-36
4.517319611399434e-29
4.0ms
-1.8777090885456568e-21
-6.310034353897831e-22
Samples
4.0ms160×0valid
Compiler

Compiled 22 to 37 computations (-68.2% saved)

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

bsearch15.0ms (0.4%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
9.0ms
1.0840307643988747e+85
6.226882311323017e+88
6.0ms
-1.5025481781466902e+122
-1.360223130253903e+120
Samples
6.0ms240×0valid
Compiler

Compiled 22 to 37 computations (-68.2% saved)

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

bsearch13.0ms (0.4%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
5.0ms
1.6572654592666682e+103
2.711714003182352e+103
8.0ms
-12029383.210549757
-0.15921654489013035
Samples
5.0ms208×0valid
Compiler

Compiled 22 to 33 computations (-50.0% saved)

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

bsearch9.0ms (0.3%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
7.0ms
1.0000691334134992e+261
3.271770053902254e+263
0.0ms
4.880589697370773e-36
4.517319611399434e-29
0.0ms
-1.5025481781466902e+122
-1.360223130253903e+120
Samples
3.0ms128×0valid
Compiler

Compiled 24 to 44 computations (-83.3% saved)

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

bsearch-0.0ms (-0.0%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
0.0ms
4.880589697370773e-36
4.517319611399434e-29
0.0ms
-1.5025481781466902e+122
-1.360223130253903e+120
Compiler

Compiled 22 to 35 computations (-59.1% saved)

bsearch16.0ms (0.5%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
11.0ms
4.990944605113478e+129
2.197068338516995e+146
5.0ms
-1.6108731000765975e+144
-3.70148093059956e+143
Samples
6.0ms256×0valid
Compiler

Compiled 22 to 33 computations (-50.0% saved)

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

bsearch1.0ms (0.0%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
0.0ms
1.6572654592666682e+103
2.711714003182352e+103
0.0ms
-12029383.210549757
-0.15921654489013035
Compiler

Compiled 22 to 29 computations (-31.8% saved)

bsearch0.0ms (0.0%)

derivations208.0ms (6.2%)

Stop Event
fuel
Compiler

Compiled 12 to 71 computations (-491.7% saved)

preprocess88.0ms (2.6%)

Compiler

Compiled 13 to 84 computations (-546.2% saved)

end0.0ms (0.0%)

gc1.8s (52.7%)

Allocations
AllocatedPercentPhase
878.4 MiB24.4%sample
553.0 MiB15.4%rewrite
500.1 MiB13.9%reconstruct
492.3 MiB13.7%series
280.3 MiB7.8%regimes
248.2 MiB6.9%preprocess
226.6 MiB6.3%bsearch
185.6 MiB5.2%derivations
180.1 MiB5.0%eval
51.5 MiB1.4%prune
0.4 MiB0.0%analyze
0.1 MiB0.0%start
0.0 MiB0.0%end
3 596.6 MiB100.0%total

Profiling

Loading profile data...