Linear.V4:$cdot from linear-1.19.1.3, C

Time bar (total: 2.5s)

start0.0ms (0.0%)

analyze1.0ms (0.0%)

Algorithm
search
Search
ProbabilityValidUnknownPreconditionInfiniteDomainCan'tIter
0.0%0.0%99.6%0.4%0.0%0.0%0.0%0
100.0%99.6%0.0%0.4%0.0%0.0%0.0%1
Compiler

Compiled 17 to 17 computations (0.0% saved)

sample838.0ms (33.0%)

Samples
545.0ms8 256×0valid
Precisions
Click to see histograms. Total time spent on operations: 21.0ms
Mul: 13.0ms (61.3% of total, 0.0 MiB)
Add: 8.0ms (37.7% of total, 0.0 MiB)
Bogosity

preprocess34.0ms (1.3%)

Iterations

Useful iterations: 2 (0.0ms)

IterNodesCost
0174687
1901679
23102675
Stop Event
node-limit
Alt Table
Click to see full alt table
StatusAccuracyProgram
96.5%
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i))
Symmetry

(sort x y)

(sort z t)

(sort a b)

(sort c i)

Compiler

Compiled 2 to 30 computations (-1400.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series57.0ms (2.3%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02591264
Stop Event
iter-limit
Counts
15 → 57
Calls
Call 1
Inputs
%2 = (*.f64 x y)
%5 = (*.f64 z t)
%6 = (+.f64 %2 %5)
%9 = (*.f64 a b)
%10 = (+.f64 %6 %9)
%13 = (*.f64 c i)
x
y
%2
z
t
%5
%6
a
b
%9
%10
c
i
%13
(+.f64 %10 %13)
Outputs
%5 = (* x y)
%6 = (*.f64 x y)
%11 = (+ %5 (* z t))
%12 = (*.f64 t z)
%14 = (fma.f64 t z %6)
%18 = (* a b)
%19 = (+ %11 %18)
%20 = (fma.f64 a b %12)
%22 = (fma.f64 a b %14)
%26 = (* c i)
%27 = (+ %19 %26)
%29 = (fma.f64 a b (fma.f64 c i %12))
%31 = (fma.f64 c i %14)
%34 = (/.f64 %12 x)
%38 = (*.f64 a b)
%39 = (/.f64 %38 x)
%44 = (*.f64 c i)
%70 = (/.f64 %12 y)
%74 = (/.f64 %38 y)
%103 = (fma.f64 a b %6)
%106 = (fma.f64 a b (fma.f64 c i %6))
%108 = (/.f64 %6 z)
%112 = (/.f64 %38 z)
%141 = (/.f64 %6 t)
%145 = (/.f64 %38 t)
%178 = (+.f64 (/.f64 %12 a) (/.f64 %6 a))
%202 = (+.f64 (/.f64 %12 b) (/.f64 %6 b))
(approx x #s(literal 0 binary64))
(approx x x)
(approx %5 %6)
(approx %11 %12)
(approx %11 %14)
(approx %19 %20)
(approx %19 %22)
(approx %27 %29)
(approx %27 (fma.f64 a b %31))
(approx %11 (*.f64 x (+.f64 y %34)))
(approx %19 (*.f64 x (+.f64 y (+.f64 %39 %34))))
(approx %27 (*.f64 x (+.f64 y (+.f64 %39 (+.f64 (/.f64 %44 x) %34)))))
(approx %11 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) %34)))))
(approx %19 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 %20 x))))))
(approx %27 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 %29 x))))))
(approx y y)
(approx %11 (*.f64 y (+.f64 x %70)))
(approx %19 (*.f64 y (+.f64 x (+.f64 %74 %70))))
(approx %27 (*.f64 y (+.f64 x (+.f64 %74 (+.f64 (/.f64 %44 y) %70)))))
(approx %11 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) %70)))))
(approx %19 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 %20 y))))))
(approx %27 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 %29 y))))))
(approx z z)
(approx %19 %103)
(approx %27 %106)
(approx %11 (*.f64 z (+.f64 t %108)))
(approx %19 (*.f64 z (+.f64 t (+.f64 %112 %108))))
(approx %27 (*.f64 z (+.f64 t (+.f64 %112 (+.f64 (/.f64 %44 z) %108)))))
(approx %11 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) %108)))))
(approx %19 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) (/.f64 %103 z))))))
(approx %27 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) (/.f64 %106 z))))))
(approx t t)
(approx %11 (*.f64 t (+.f64 z %141)))
(approx %19 (*.f64 t (+.f64 z (+.f64 %145 %141))))
(approx %27 (*.f64 t (+.f64 z (+.f64 %145 (+.f64 (/.f64 %44 t) %141)))))
(approx %11 (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) %141)))))
(approx %19 (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 %103 t))))))
(approx %27 (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 %106 t))))))
(approx a a)
(approx %18 %38)
(approx %27 %31)
(approx %19 (*.f64 a (+.f64 b %178)))
(approx %27 (*.f64 a (+.f64 b (+.f64 (/.f64 %44 a) %178))))
(approx %19 (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) (/.f64 %14 a))))))
(approx %27 (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) (/.f64 %31 a))))))
(approx b b)
(approx %19 (*.f64 b (+.f64 a %202)))
(approx %27 (*.f64 b (+.f64 a (+.f64 (/.f64 %44 b) %202))))
(approx %19 (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 %14 b))))))
(approx %27 (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 %31 b))))))
(approx c c)
(approx %26 %44)
(approx %27 (*.f64 c (+.f64 i (+.f64 (/.f64 %38 c) (+.f64 (/.f64 %12 c) (/.f64 %6 c))))))
(approx %27 (*.f64 #s(literal -1 binary64) (*.f64 c (fma.f64 #s(literal -1 binary64) i (*.f64 #s(literal -1 binary64) (/.f64 %22 c))))))
(approx i i)
(approx %27 (*.f64 i (+.f64 c (+.f64 (/.f64 %38 i) (+.f64 (/.f64 %12 i) (/.f64 %6 i))))))
(approx %27 (*.f64 #s(literal -1 binary64) (*.f64 i (fma.f64 #s(literal -1 binary64) c (*.f64 #s(literal -1 binary64) (/.f64 %22 i))))))
Calls

24 calls:

TimeVariablePoint
14.0ms
c
inf
12.0ms
z
0
3.0ms
x
inf
3.0ms
y
inf
3.0ms
z
inf

rewrite94.0ms (3.7%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
01553
02253
16453
219253
357153
499653
5142753
0407253
0433547
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
15 → 183
Calls
Call 1
Inputs
%2 = (*.f64 x y)
%5 = (*.f64 z t)
%6 = (+.f64 %2 %5)
%9 = (*.f64 a b)
%10 = (+.f64 %6 %9)
%13 = (*.f64 c i)
x
y
%2
z
t
%5
%6
a
b
%9
%10
c
i
%13
(+.f64 %10 %13)
Outputs
%3 = (*.f64 y x)
%4 = (neg.f64 %3)
%6 = (neg.f64 y)
%7 = (neg.f64 x)
%19 = (neg.f64 z)
%20 = (*.f64 %19 t)
%22 = (neg.f64 t)
%25 = (*.f64 t z)
%32 = (fma.f64 t z %3)
%33 = (neg.f64 %32)
%57 = (neg.f64 a)
%58 = (*.f64 %57 b)
%60 = (neg.f64 b)
%63 = (*.f64 b a)
%70 = (fma.f64 b a %32)
%71 = (neg.f64 %70)
%78 = (fma.f64 b a %3)
%79 = (neg.f64 %78)
%81 = (fma.f64 b a %25)
%84 = (neg.f64 %81)
%119 = (neg.f64 c)
%120 = (*.f64 %119 i)
%122 = (neg.f64 i)
%125 = (*.f64 i c)
%132 = (fma.f64 i c %70)
%133 = (neg.f64 %132)
%140 = (fma.f64 i c %3)
%141 = (neg.f64 %140)
%143 = (fma.f64 i c %32)
%144 = (neg.f64 %143)
%146 = (fma.f64 i c %78)
%147 = (neg.f64 %146)
%149 = (fma.f64 i c %25)
%150 = (neg.f64 %149)
%153 = (fma.f64 i c %81)
%154 = (neg.f64 %153)
%158 = (fma.f64 i c %63)
%159 = (neg.f64 %158)
x
y
(*.f64 #s(literal -1 binary64) %4)
(*.f64 %6 %7)
(*.f64 %7 %6)
(*.f64 #s(literal 1 binary64) %3)
%3
(*.f64 x y)
(pow.f64 %3 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %3 #s(literal -1 binary64)))
(neg.f64 %4)
z
t
(*.f64 #s(literal -1 binary64) %20)
(*.f64 %22 %19)
(*.f64 %19 %22)
(*.f64 #s(literal 1 binary64) %25)
%25
(*.f64 z t)
(pow.f64 %25 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %25 #s(literal -1 binary64)))
(neg.f64 %20)
(*.f64 #s(literal -1 binary64) %33)
(*.f64 #s(literal 1 binary64) %32)
(pow.f64 %32 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %32 #s(literal -1 binary64)))
(neg.f64 %33)
(fma.f64 #s(literal -1 binary64) %4 %25)
(fma.f64 #s(literal -1 binary64) %20 %3)
(fma.f64 %6 %7 %25)
(fma.f64 %7 %6 %25)
(fma.f64 %22 %19 %3)
(fma.f64 %19 %22 %3)
(fma.f64 #s(literal 1 binary64) %25 %3)
(fma.f64 #s(literal 1 binary64) %3 %25)
%32
(fma.f64 z t %3)
(fma.f64 y x %25)
(fma.f64 x y %25)
(-.f64 %25 %4)
(-.f64 %3 %20)
(+.f64 %25 %3)
(+.f64 %3 %25)
a
b
(*.f64 #s(literal -1 binary64) %58)
(*.f64 %60 %57)
(*.f64 %57 %60)
(*.f64 #s(literal 1 binary64) %63)
%63
(*.f64 a b)
(pow.f64 %63 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %63 #s(literal -1 binary64)))
(neg.f64 %58)
(*.f64 #s(literal -1 binary64) %71)
(*.f64 #s(literal 1 binary64) %70)
(pow.f64 %70 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %70 #s(literal -1 binary64)))
(neg.f64 %71)
(fma.f64 #s(literal -1 binary64) %79 %25)
(fma.f64 #s(literal -1 binary64) %4 %81)
(fma.f64 #s(literal -1 binary64) %33 %63)
(fma.f64 #s(literal -1 binary64) %84 %3)
(fma.f64 #s(literal -1 binary64) %58 %32)
(fma.f64 #s(literal -1 binary64) %20 %78)
(fma.f64 %6 %7 %81)
(fma.f64 %7 %6 %81)
(fma.f64 %22 %19 %78)
(fma.f64 %60 %57 %32)
(fma.f64 %57 %60 %32)
(fma.f64 %19 %22 %78)
(fma.f64 #s(literal 1 binary64) %78 %25)
(fma.f64 #s(literal 1 binary64) %81 %3)
(fma.f64 #s(literal 1 binary64) %63 %32)
(fma.f64 #s(literal 1 binary64) %32 %63)
(fma.f64 #s(literal 1 binary64) %25 %78)
(fma.f64 #s(literal 1 binary64) %3 %81)
%70
(fma.f64 a b %32)
(fma.f64 t z %78)
(fma.f64 z t %78)
(fma.f64 y x %81)
(fma.f64 x y %81)
(-.f64 %78 %20)
(-.f64 %81 %4)
(-.f64 %63 %33)
(-.f64 %32 %58)
(-.f64 %25 %79)
(-.f64 %3 %84)
(+.f64 %78 %25)
(+.f64 %81 %3)
(+.f64 %63 %32)
(+.f64 %32 %63)
(+.f64 %25 %78)
(+.f64 %3 %81)
c
i
(*.f64 #s(literal -1 binary64) %120)
(*.f64 %122 %119)
(*.f64 %119 %122)
(*.f64 #s(literal 1 binary64) %125)
%125
(*.f64 c i)
(pow.f64 %125 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %125 #s(literal -1 binary64)))
(neg.f64 %120)
(*.f64 #s(literal -1 binary64) %133)
(*.f64 #s(literal 1 binary64) %132)
(pow.f64 %132 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %132 #s(literal -1 binary64)))
(neg.f64 %133)
(fma.f64 #s(literal -1 binary64) %141 %81)
(fma.f64 #s(literal -1 binary64) %144 %63)
(fma.f64 #s(literal -1 binary64) %147 %25)
(fma.f64 #s(literal -1 binary64) %150 %78)
(fma.f64 #s(literal -1 binary64) %79 %149)
(fma.f64 #s(literal -1 binary64) %154 %3)
(fma.f64 #s(literal -1 binary64) %71 %125)
(fma.f64 #s(literal -1 binary64) %4 %153)
(fma.f64 #s(literal -1 binary64) %159 %32)
(fma.f64 #s(literal -1 binary64) %33 %158)
(fma.f64 #s(literal -1 binary64) %84 %140)
(fma.f64 #s(literal -1 binary64) %58 %143)
(fma.f64 #s(literal -1 binary64) %120 %70)
(fma.f64 #s(literal -1 binary64) %20 %146)
(fma.f64 %6 %7 %153)
(fma.f64 %7 %6 %153)
(fma.f64 %22 %19 %146)
(fma.f64 %122 %119 %70)
(fma.f64 %60 %57 %143)
(fma.f64 %57 %60 %143)
(fma.f64 %119 %122 %70)
(fma.f64 %19 %22 %146)
(fma.f64 #s(literal 1 binary64) %149 %78)
(fma.f64 #s(literal 1 binary64) %140 %81)
(fma.f64 #s(literal 1 binary64) %146 %25)
(fma.f64 #s(literal 1 binary64) %78 %149)
(fma.f64 #s(literal 1 binary64) %143 %63)
(fma.f64 #s(literal 1 binary64) %153 %3)
(fma.f64 #s(literal 1 binary64) %125 %70)
(fma.f64 #s(literal 1 binary64) %81 %140)
(fma.f64 #s(literal 1 binary64) %158 %32)
(fma.f64 #s(literal 1 binary64) %70 %125)
(fma.f64 #s(literal 1 binary64) %63 %143)
(fma.f64 #s(literal 1 binary64) %32 %158)
(fma.f64 #s(literal 1 binary64) %25 %146)
(fma.f64 #s(literal 1 binary64) %3 %153)
%132
(fma.f64 c i %70)
(fma.f64 b a %143)
(fma.f64 a b %143)
(fma.f64 t z %146)
(fma.f64 z t %146)
(fma.f64 y x %153)
(fma.f64 x y %153)
(-.f64 %149 %79)
(-.f64 %140 %84)
(-.f64 %146 %20)
(-.f64 %78 %150)
(-.f64 %143 %58)
(-.f64 %153 %4)
(-.f64 %125 %71)
(-.f64 %81 %141)
(-.f64 %158 %33)
(-.f64 %70 %120)
(-.f64 %63 %144)
(-.f64 %32 %159)
(-.f64 %25 %147)
(-.f64 %3 %154)
(+.f64 %149 %78)
(+.f64 %140 %81)
(+.f64 %146 %25)
(+.f64 %78 %149)
(+.f64 %143 %63)
(+.f64 %153 %3)
(+.f64 %125 %70)
(+.f64 %81 %140)
(+.f64 %158 %32)
(+.f64 %70 %125)
(+.f64 %63 %143)
(+.f64 %32 %158)
(+.f64 %25 %146)
(+.f64 %3 %153)

reconstruct20.0ms (0.8%)

Counts
240 → 77
Compiler

Compiled 240 to 400 computations (-66.7% saved)

eval6.0ms (0.2%)

Compiler

Compiled 70 to 284 computations (-305.7% saved)

prune2.0ms (0.1%)

Pruning

4 alts after pruning (4 fresh and 0 done)

PrunedKeptTotal
New66470
Fresh000
Picked101
Done000
Total67471
Accuracy
100.0%
Counts
71 → 4
Alt Table
Click to see full alt table
StatusAccuracyProgram
98.0%
(fma.f64 x y (fma.f64 i c (fma.f64 b a (*.f64 t z))))
74.4%
(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 c i (fma.f64 t z (*.f64 x y))))
75.7%
(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 c i (*.f64 x y))))
75.0%
(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 c i (*.f64 t z))))
Compiler

Compiled 4 to 19 computations (-375.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series44.0ms (1.7%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
04772360
Stop Event
iter-limit
Counts
22 → 108
Calls
Call 1
Inputs
%2 = (*.f64 x y)
%9 = (*.f64 t z)
%10 = (fma.f64 t z %2)
%11 = (fma.f64 c i %9)
%12 = (fma.f64 a b %11)
%19 = (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i))
%21 = (fma.f64 c i %10)
%22 = (fma.f64 c i %2)
%23 = (fma.f64 a b %22)
%26 = (fma.f64 b a %9)
%27 = (fma.f64 i c %26)
x
y
%2
z
t
a
b
c
i
%9
%10
%11
%12
(approx %19 %12)
%21
%22
%23
(approx %19 %23)
(approx %19 %21)
%26
%27
(fma.f64 x y %27)
Outputs
%5 = (* x y)
%6 = (*.f64 x y)
%10 = (* t z)
%11 = (+ %10 %5)
%12 = (*.f64 t z)
%14 = (fma.f64 t z %6)
%20 = (* a b)
%24 = (* c i)
%25 = (+ (+ (+ %5 (* z t)) %20) %24)
%26 = (fma.f64 c i %12)
%27 = (fma.f64 a b %26)
%29 = (fma.f64 c i %14)
%32 = (+ %24 %11)
%35 = (+ %24 %5)
%36 = (*.f64 c i)
%38 = (fma.f64 c i %6)
%40 = (+ %20 %35)
%41 = (fma.f64 a b %36)
%43 = (fma.f64 a b %38)
%45 = (/.f64 %12 x)
%49 = (*.f64 a b)
%50 = (/.f64 %49 x)
%51 = (/.f64 %36 x)
%52 = (+.f64 %51 %45)
%97 = (/.f64 %12 y)
%101 = (/.f64 %49 y)
%102 = (/.f64 %36 y)
%103 = (+.f64 %102 %97)
%148 = (+ (* b a) %10)
%150 = (fma.f64 a b %12)
%152 = (/.f64 %6 z)
%156 = (+ %24 %10)
%157 = (/.f64 %36 z)
%161 = (+ %20 %156)
%162 = (/.f64 %49 z)
%167 = (+.f64 %157 %152)
%212 = (/.f64 %6 t)
%216 = (/.f64 %36 t)
%220 = (/.f64 %49 t)
%225 = (+.f64 %216 %212)
%270 = (/.f64 %36 a)
%271 = (/.f64 %12 a)
%276 = (/.f64 %6 a)
%313 = (/.f64 %36 b)
%314 = (/.f64 %12 b)
%319 = (/.f64 %6 b)
%356 = (fma.f64 a b %14)
%358 = (fma.f64 a b %6)
%360 = (/.f64 %12 c)
%364 = (/.f64 %49 c)
%369 = (/.f64 %6 c)
%370 = (+.f64 %360 %369)
%420 = (/.f64 %12 i)
%424 = (/.f64 %49 i)
%429 = (/.f64 %6 i)
%430 = (+.f64 %420 %429)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %5 %6)
(approx %11 %12)
(approx %11 %14)
(approx %25 %27)
(approx %25 (fma.f64 a b %29))
(approx %32 %26)
(approx %32 %29)
(approx %35 %36)
(approx %35 %38)
(approx %40 %41)
(approx %40 %43)
(approx %11 (*.f64 x (+.f64 y %45)))
(approx %25 (*.f64 x (+.f64 y (+.f64 %50 %52))))
(approx %32 (*.f64 x (+.f64 y %52)))
(approx %35 (*.f64 x (+.f64 y %51)))
(approx %40 (*.f64 x (+.f64 y (+.f64 %50 %51))))
(approx %11 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) %45)))))
(approx %25 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 %27 x))))))
(approx %32 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 %26 x))))))
(approx %35 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) %51)))))
(approx %40 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 %41 x))))))
(approx y y)
(approx %11 (*.f64 y (+.f64 x %97)))
(approx %25 (*.f64 y (+.f64 x (+.f64 %101 %103))))
(approx %32 (*.f64 y (+.f64 x %103)))
(approx %35 (*.f64 y (+.f64 x %102)))
(approx %40 (*.f64 y (+.f64 x (+.f64 %101 %102))))
(approx %11 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) %97)))))
(approx %25 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 %27 y))))))
(approx %32 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 %26 y))))))
(approx %35 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) %102)))))
(approx %40 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 %41 y))))))
(approx z z)
(approx %148 %49)
(approx %148 %150)
(approx %11 (*.f64 z (+.f64 t %152)))
(approx %156 (*.f64 z (+.f64 t %157)))
(approx %161 (*.f64 z (+.f64 t (+.f64 %162 %157))))
(approx %25 (*.f64 z (+.f64 t (+.f64 %162 %167))))
(approx %32 (*.f64 z (+.f64 t %167)))
(approx %148 (*.f64 z (+.f64 t %162)))
(approx %11 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) %152)))))
(approx %156 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) %157)))))
(approx %161 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) (/.f64 %41 z))))))
(approx %25 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) (/.f64 %43 z))))))
(approx %32 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) (/.f64 %38 z))))))
(approx %148 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) %162)))))
(approx t t)
(approx %11 (*.f64 t (+.f64 z %212)))
(approx %156 (*.f64 t (+.f64 z %216)))
(approx %161 (*.f64 t (+.f64 z (+.f64 %220 %216))))
(approx %25 (*.f64 t (+.f64 z (+.f64 %220 %225))))
(approx %32 (*.f64 t (+.f64 z %225)))
(approx %148 (*.f64 t (+.f64 z %220)))
(approx %11 (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) %212)))))
(approx %156 (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) %216)))))
(approx %161 (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 %41 t))))))
(approx %25 (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 %43 t))))))
(approx %32 (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 %38 t))))))
(approx %148 (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) %220)))))
(approx a a)
(approx %161 (*.f64 a (+.f64 b (+.f64 %270 %271))))
(approx %25 (*.f64 a (+.f64 b (+.f64 %270 (+.f64 %271 %276)))))
(approx %40 (*.f64 a (+.f64 b (+.f64 %270 %276))))
(approx %148 (*.f64 a (+.f64 b %271)))
(approx %161 (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) (/.f64 %26 a))))))
(approx %25 (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) (/.f64 %29 a))))))
(approx %40 (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) (/.f64 %38 a))))))
(approx %148 (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) %271)))))
(approx b b)
(approx %161 (*.f64 b (+.f64 a (+.f64 %313 %314))))
(approx %25 (*.f64 b (+.f64 a (+.f64 %313 (+.f64 %314 %319)))))
(approx %40 (*.f64 b (+.f64 a (+.f64 %313 %319))))
(approx %148 (*.f64 b (+.f64 a %314)))
(approx %161 (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 %26 b))))))
(approx %25 (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 %29 b))))))
(approx %40 (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 %38 b))))))
(approx %148 (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) %314)))))
(approx c c)
(approx %25 %356)
(approx %40 %358)
(approx %156 (*.f64 c (+.f64 i %360)))
(approx %161 (*.f64 c (+.f64 i (+.f64 %364 %360))))
(approx %25 (*.f64 c (+.f64 i (+.f64 %364 %370))))
(approx %32 (*.f64 c (+.f64 i %370)))
(approx %35 (*.f64 c (+.f64 i %369)))
(approx %40 (*.f64 c (+.f64 i (+.f64 %364 %369))))
(approx %156 (*.f64 #s(literal -1 binary64) (*.f64 c (fma.f64 #s(literal -1 binary64) i (*.f64 #s(literal -1 binary64) %360)))))
(approx %161 (*.f64 #s(literal -1 binary64) (*.f64 c (fma.f64 #s(literal -1 binary64) i (*.f64 #s(literal -1 binary64) (/.f64 %150 c))))))
(approx %25 (*.f64 #s(literal -1 binary64) (*.f64 c (fma.f64 #s(literal -1 binary64) i (*.f64 #s(literal -1 binary64) (/.f64 %356 c))))))
(approx %32 (*.f64 #s(literal -1 binary64) (*.f64 c (fma.f64 #s(literal -1 binary64) i (*.f64 #s(literal -1 binary64) (/.f64 %14 c))))))
(approx %35 (*.f64 #s(literal -1 binary64) (*.f64 c (fma.f64 #s(literal -1 binary64) i (*.f64 #s(literal -1 binary64) %369)))))
(approx %40 (*.f64 #s(literal -1 binary64) (*.f64 c (fma.f64 #s(literal -1 binary64) i (*.f64 #s(literal -1 binary64) (/.f64 %358 c))))))
(approx i i)
(approx %156 (*.f64 i (+.f64 c %420)))
(approx %161 (*.f64 i (+.f64 c (+.f64 %424 %420))))
(approx %25 (*.f64 i (+.f64 c (+.f64 %424 %430))))
(approx %32 (*.f64 i (+.f64 c %430)))
(approx %35 (*.f64 i (+.f64 c %429)))
(approx %40 (*.f64 i (+.f64 c (+.f64 %424 %429))))
(approx %156 (*.f64 #s(literal -1 binary64) (*.f64 i (fma.f64 #s(literal -1 binary64) c (*.f64 #s(literal -1 binary64) %420)))))
(approx %161 (*.f64 #s(literal -1 binary64) (*.f64 i (fma.f64 #s(literal -1 binary64) c (*.f64 #s(literal -1 binary64) (/.f64 %150 i))))))
(approx %25 (*.f64 #s(literal -1 binary64) (*.f64 i (fma.f64 #s(literal -1 binary64) c (*.f64 #s(literal -1 binary64) (/.f64 %356 i))))))
(approx %32 (*.f64 #s(literal -1 binary64) (*.f64 i (fma.f64 #s(literal -1 binary64) c (*.f64 #s(literal -1 binary64) (/.f64 %14 i))))))
(approx %35 (*.f64 #s(literal -1 binary64) (*.f64 i (fma.f64 #s(literal -1 binary64) c (*.f64 #s(literal -1 binary64) %429)))))
(approx %40 (*.f64 #s(literal -1 binary64) (*.f64 i (fma.f64 #s(literal -1 binary64) c (*.f64 #s(literal -1 binary64) (/.f64 %358 i))))))
Calls

24 calls:

TimeVariablePoint
2.0ms
t
inf
2.0ms
z
inf
1.0ms
i
inf
1.0ms
y
inf
1.0ms
x
inf

rewrite79.0ms (3.1%)

Iterations

Useful iterations: 1 (0.0ms)

IterNodesCost
029161
044158
1150152
2401152
3959152
41208152
51642152
04079152
04336152
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
22 → 540
Calls
Call 1
Inputs
%2 = (*.f64 x y)
%9 = (*.f64 t z)
%10 = (fma.f64 t z %2)
%11 = (fma.f64 c i %9)
%12 = (fma.f64 a b %11)
%19 = (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i))
%21 = (fma.f64 c i %10)
%22 = (fma.f64 c i %2)
%23 = (fma.f64 a b %22)
%26 = (fma.f64 b a %9)
%27 = (fma.f64 i c %26)
x
y
%2
z
t
a
b
c
i
%9
%10
%11
%12
(approx %19 %12)
%21
%22
%23
(approx %19 %23)
(approx %19 %21)
%26
%27
(fma.f64 x y %27)
Outputs
%2 = (neg.f64 y)
%3 = (neg.f64 x)
%7 = (*.f64 y x)
%14 = (neg.f64 %7)
%22 = (neg.f64 z)
%23 = (neg.f64 t)
%26 = (*.f64 t z)
%32 = (*.f64 %22 t)
%34 = (fma.f64 t z %7)
%39 = (neg.f64 %34)
%41 = (*.f64 #s(literal -1 binary64) %32)
%44 = (*.f64 #s(literal -1 binary64) %14)
%62 = (*.f64 #s(literal -1 binary64) %7)
%65 = (*.f64 #s(literal -1 binary64) %26)
%72 = (fma.f64 i c %26)
%77 = (neg.f64 %72)
%79 = (neg.f64 i)
%80 = (neg.f64 c)
%85 = (*.f64 i c)
%86 = (neg.f64 %85)
%87 = (*.f64 #s(literal -1 binary64) %86)
%103 = (*.f64 #s(literal -1 binary64) %85)
%112 = (*.f64 b a)
%113 = (fma.f64 t z %112)
%114 = (fma.f64 i c %113)
%115 = (*.f64 #s(literal 1 binary64) %114)
%116 = (pow.f64 %114 #s(literal 1 binary64))
%118 = (/.f64 #s(literal 1 binary64) (pow.f64 %114 #s(literal -1 binary64)))
%119 = (neg.f64 %114)
%120 = (neg.f64 %119)
%121 = (neg.f64 %113)
%122 = (*.f64 #s(literal -1 binary64) %121)
%123 = (fma.f64 %79 %80 %122)
%124 = (fma.f64 %79 %80 %113)
%125 = (neg.f64 b)
%126 = (neg.f64 a)
%127 = (*.f64 #s(literal -1 binary64) %77)
%128 = (fma.f64 %125 %126 %127)
%129 = (fma.f64 %125 %126 %72)
%130 = (fma.f64 %80 %79 %122)
%131 = (fma.f64 %80 %79 %113)
%132 = (fma.f64 i c %112)
%133 = (neg.f64 %132)
%134 = (*.f64 #s(literal -1 binary64) %133)
%135 = (fma.f64 %22 %23 %134)
%136 = (fma.f64 %22 %23 %132)
%137 = (fma.f64 %126 %125 %127)
%138 = (fma.f64 %126 %125 %72)
%139 = (fma.f64 %23 %22 %134)
%140 = (fma.f64 %23 %22 %132)
%141 = (fma.f64 #s(literal 1 binary64) %26 %134)
%142 = (fma.f64 #s(literal 1 binary64) %26 %132)
%143 = (fma.f64 #s(literal 1 binary64) %132 %41)
%144 = (fma.f64 #s(literal 1 binary64) %132 %26)
%145 = (fma.f64 #s(literal 1 binary64) %113 %87)
%146 = (fma.f64 #s(literal 1 binary64) %113 %85)
%147 = (fma.f64 #s(literal 1 binary64) %85 %122)
%148 = (fma.f64 #s(literal 1 binary64) %85 %113)
%149 = (fma.f64 #s(literal 1 binary64) %112 %127)
%150 = (fma.f64 #s(literal 1 binary64) %112 %72)
%151 = (neg.f64 %112)
%152 = (*.f64 #s(literal -1 binary64) %151)
%153 = (fma.f64 #s(literal 1 binary64) %72 %152)
%154 = (fma.f64 #s(literal 1 binary64) %72 %112)
%155 = (fma.f64 i c %122)
%156 = (fma.f64 c i %122)
%157 = (fma.f64 c i %113)
%158 = (fma.f64 b a %127)
%159 = (fma.f64 b a %72)
%160 = (fma.f64 a b %127)
%161 = (fma.f64 a b %72)
%162 = (fma.f64 t z %134)
%163 = (fma.f64 t z %132)
%164 = (fma.f64 z t %134)
%165 = (fma.f64 z t %132)
%166 = (*.f64 #s(literal -1 binary64) %132)
%167 = (-.f64 %26 %166)
%168 = (-.f64 %26 %133)
%169 = (-.f64 %132 %65)
%170 = (-.f64 %132 %32)
%171 = (-.f64 %113 %103)
%172 = (-.f64 %113 %86)
%173 = (*.f64 #s(literal -1 binary64) %113)
%174 = (-.f64 %85 %173)
%175 = (-.f64 %85 %121)
%176 = (*.f64 #s(literal -1 binary64) %72)
%177 = (-.f64 %112 %176)
%178 = (-.f64 %112 %77)
%179 = (*.f64 #s(literal -1 binary64) %112)
%180 = (-.f64 %72 %179)
%181 = (-.f64 %72 %151)
%182 = (+.f64 %26 %134)
%183 = (+.f64 %26 %132)
%184 = (+.f64 %132 %41)
%185 = (+.f64 %132 %26)
%186 = (+.f64 %113 %87)
%187 = (+.f64 %113 %85)
%188 = (+.f64 %85 %122)
%189 = (+.f64 %85 %113)
%190 = (+.f64 %112 %127)
%191 = (+.f64 %112 %72)
%192 = (+.f64 %72 %152)
%193 = (+.f64 %72 %112)
%200 = (+ (+ (* b a) (* y x)) (+ (* t z) (* i c)))
%201 = (approx %200 %114)
%206 = (fma.f64 i c %34)
%211 = (neg.f64 %206)
%213 = (*.f64 #s(literal -1 binary64) %39)
%220 = (fma.f64 i c %7)
%221 = (neg.f64 %220)
%222 = (*.f64 #s(literal -1 binary64) %221)
%252 = (*.f64 #s(literal -1 binary64) %220)
%257 = (*.f64 #s(literal -1 binary64) %34)
%310 = (fma.f64 b a %220)
%315 = (neg.f64 %310)
%317 = (fma.f64 b a %7)
%318 = (neg.f64 %317)
%319 = (*.f64 #s(literal -1 binary64) %318)
%361 = (*.f64 #s(literal -1 binary64) %317)
%380 = (approx %200 %310)
%385 = (approx %200 %206)
%422 = (fma.f64 b a %34)
%423 = (fma.f64 i c %422)
%430 = (neg.f64 %422)
%431 = (*.f64 #s(literal -1 binary64) %430)
%434 = (*.f64 #s(literal -1 binary64) %119)
%437 = (*.f64 #s(literal -1 binary64) %211)
%442 = (*.f64 #s(literal -1 binary64) %315)
x
y
(*.f64 %2 %3)
(*.f64 %3 %2)
(*.f64 #s(literal 1 binary64) %7)
%7
(*.f64 x y)
(pow.f64 %7 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %7 #s(literal -1 binary64)))
(neg.f64 %14)
z
t
a
b
c
i
(*.f64 %22 %23)
(*.f64 %23 %22)
(*.f64 #s(literal 1 binary64) %26)
%26
(*.f64 z t)
(pow.f64 %26 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %26 #s(literal -1 binary64)))
(neg.f64 %32)
(*.f64 #s(literal 1 binary64) %34)
(pow.f64 %34 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %34 #s(literal -1 binary64)))
(neg.f64 %39)
(fma.f64 %2 %3 %41)
(fma.f64 %2 %3 %26)
(fma.f64 %22 %23 %44)
(fma.f64 %22 %23 %7)
(fma.f64 %23 %22 %44)
(fma.f64 %23 %22 %7)
(fma.f64 %3 %2 %41)
(fma.f64 %3 %2 %26)
(fma.f64 #s(literal 1 binary64) %26 %44)
(fma.f64 #s(literal 1 binary64) %26 %7)
(fma.f64 #s(literal 1 binary64) %7 %41)
(fma.f64 #s(literal 1 binary64) %7 %26)
(fma.f64 t z %44)
%34
(fma.f64 z t %44)
(fma.f64 z t %7)
(fma.f64 y x %41)
(fma.f64 y x %26)
(fma.f64 x y %41)
(fma.f64 x y %26)
(-.f64 %26 %62)
(-.f64 %26 %14)
(-.f64 %7 %65)
(-.f64 %7 %32)
(+.f64 %26 %44)
(+.f64 %26 %7)
(+.f64 %7 %41)
(+.f64 %7 %26)
(*.f64 #s(literal 1 binary64) %72)
(pow.f64 %72 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %72 #s(literal -1 binary64)))
(neg.f64 %77)
(fma.f64 %79 %80 %41)
(fma.f64 %79 %80 %26)
(fma.f64 %80 %79 %41)
(fma.f64 %80 %79 %26)
(fma.f64 %22 %23 %87)
(fma.f64 %22 %23 %85)
(fma.f64 %23 %22 %87)
(fma.f64 %23 %22 %85)
(fma.f64 #s(literal 1 binary64) %26 %87)
(fma.f64 #s(literal 1 binary64) %26 %85)
(fma.f64 #s(literal 1 binary64) %85 %41)
(fma.f64 #s(literal 1 binary64) %85 %26)
(fma.f64 i c %41)
%72
(fma.f64 c i %41)
(fma.f64 c i %26)
(fma.f64 t z %87)
(fma.f64 t z %85)
(fma.f64 z t %87)
(fma.f64 z t %85)
(-.f64 %26 %103)
(-.f64 %26 %86)
(-.f64 %85 %65)
(-.f64 %85 %32)
(+.f64 %26 %87)
(+.f64 %26 %85)
(+.f64 %85 %41)
(+.f64 %85 %26)
%115
%116
%118
%120
%123
%124
%128
%129
%130
%131
%135
%136
%137
%138
%139
%140
%141
%142
%143
%144
%145
%146
%147
%148
%149
%150
%153
%154
%155
%114
%156
%157
%158
%159
%160
%161
%162
%163
%164
%165
%167
%168
%169
%170
%171
%172
%174
%175
%177
%178
%180
%181
%182
%183
%184
%185
%186
%187
%188
%189
%190
%191
%192
%193
(*.f64 #s(literal 1 binary64) %201)
(pow.f64 %201 #s(literal 1 binary64))
%201
(/.f64 #s(literal 1 binary64) (pow.f64 %201 #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) %206)
(pow.f64 %206 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %206 #s(literal -1 binary64)))
(neg.f64 %211)
(fma.f64 %79 %80 %213)
(fma.f64 %79 %80 %34)
(fma.f64 %2 %3 %127)
(fma.f64 %2 %3 %72)
(fma.f64 %80 %79 %213)
(fma.f64 %80 %79 %34)
(fma.f64 %22 %23 %222)
(fma.f64 %22 %23 %220)
(fma.f64 %23 %22 %222)
(fma.f64 %23 %22 %220)
(fma.f64 %3 %2 %127)
(fma.f64 %3 %2 %72)
(fma.f64 #s(literal 1 binary64) %26 %222)
(fma.f64 #s(literal 1 binary64) %26 %220)
(fma.f64 #s(literal 1 binary64) %220 %41)
(fma.f64 #s(literal 1 binary64) %220 %26)
(fma.f64 #s(literal 1 binary64) %85 %213)
(fma.f64 #s(literal 1 binary64) %85 %34)
(fma.f64 #s(literal 1 binary64) %34 %87)
(fma.f64 #s(literal 1 binary64) %34 %85)
(fma.f64 #s(literal 1 binary64) %72 %44)
(fma.f64 #s(literal 1 binary64) %72 %7)
(fma.f64 #s(literal 1 binary64) %7 %127)
(fma.f64 #s(literal 1 binary64) %7 %72)
(fma.f64 i c %213)
%206
(fma.f64 c i %213)
(fma.f64 c i %34)
(fma.f64 t z %222)
(fma.f64 t z %220)
(fma.f64 z t %222)
(fma.f64 z t %220)
(fma.f64 y x %127)
(fma.f64 y x %72)
(fma.f64 x y %127)
(fma.f64 x y %72)
(-.f64 %26 %252)
(-.f64 %26 %221)
(-.f64 %220 %65)
(-.f64 %220 %32)
(-.f64 %85 %257)
(-.f64 %85 %39)
(-.f64 %34 %103)
(-.f64 %34 %86)
(-.f64 %72 %62)
(-.f64 %72 %14)
(-.f64 %7 %176)
(-.f64 %7 %77)
(+.f64 %26 %222)
(+.f64 %26 %220)
(+.f64 %220 %41)
(+.f64 %220 %26)
(+.f64 %85 %213)
(+.f64 %85 %34)
(+.f64 %34 %87)
(+.f64 %34 %85)
(+.f64 %72 %44)
(+.f64 %72 %7)
(+.f64 %7 %127)
(+.f64 %7 %72)
(*.f64 #s(literal 1 binary64) %220)
(pow.f64 %220 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %220 #s(literal -1 binary64)))
(neg.f64 %221)
(fma.f64 %79 %80 %44)
(fma.f64 %79 %80 %7)
(fma.f64 %2 %3 %87)
(fma.f64 %2 %3 %85)
(fma.f64 %80 %79 %44)
(fma.f64 %80 %79 %7)
(fma.f64 %3 %2 %87)
(fma.f64 %3 %2 %85)
(fma.f64 #s(literal 1 binary64) %85 %44)
(fma.f64 #s(literal 1 binary64) %85 %7)
(fma.f64 #s(literal 1 binary64) %7 %87)
(fma.f64 #s(literal 1 binary64) %7 %85)
(fma.f64 i c %44)
%220
(fma.f64 c i %44)
(fma.f64 c i %7)
(fma.f64 y x %87)
(fma.f64 y x %85)
(fma.f64 x y %87)
(fma.f64 x y %85)
(-.f64 %85 %62)
(-.f64 %85 %14)
(-.f64 %7 %103)
(-.f64 %7 %86)
(+.f64 %85 %44)
(+.f64 %85 %7)
(+.f64 %7 %87)
(+.f64 %7 %85)
(*.f64 #s(literal 1 binary64) %310)
(pow.f64 %310 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %310 #s(literal -1 binary64)))
(neg.f64 %315)
(fma.f64 %79 %80 %319)
(fma.f64 %79 %80 %317)
(fma.f64 %2 %3 %134)
(fma.f64 %2 %3 %132)
(fma.f64 %125 %126 %222)
(fma.f64 %125 %126 %220)
(fma.f64 %80 %79 %319)
(fma.f64 %80 %79 %317)
(fma.f64 %126 %125 %222)
(fma.f64 %126 %125 %220)
(fma.f64 %3 %2 %134)
(fma.f64 %3 %2 %132)
(fma.f64 #s(literal 1 binary64) %317 %87)
(fma.f64 #s(literal 1 binary64) %317 %85)
(fma.f64 #s(literal 1 binary64) %132 %44)
(fma.f64 #s(literal 1 binary64) %132 %7)
(fma.f64 #s(literal 1 binary64) %220 %152)
(fma.f64 #s(literal 1 binary64) %220 %112)
(fma.f64 #s(literal 1 binary64) %85 %319)
(fma.f64 #s(literal 1 binary64) %85 %317)
(fma.f64 #s(literal 1 binary64) %112 %222)
(fma.f64 #s(literal 1 binary64) %112 %220)
(fma.f64 #s(literal 1 binary64) %7 %134)
(fma.f64 #s(literal 1 binary64) %7 %132)
(fma.f64 i c %319)
(fma.f64 i c %317)
(fma.f64 c i %319)
(fma.f64 c i %317)
(fma.f64 b a %222)
%310
(fma.f64 a b %222)
(fma.f64 a b %220)
(fma.f64 y x %134)
(fma.f64 y x %132)
(fma.f64 x y %134)
(fma.f64 x y %132)
(-.f64 %317 %103)
(-.f64 %317 %86)
(-.f64 %132 %62)
(-.f64 %132 %14)
(-.f64 %220 %179)
(-.f64 %220 %151)
(-.f64 %85 %361)
(-.f64 %85 %318)
(-.f64 %112 %252)
(-.f64 %112 %221)
(-.f64 %7 %166)
(-.f64 %7 %133)
(+.f64 %317 %87)
(+.f64 %317 %85)
(+.f64 %132 %44)
(+.f64 %132 %7)
(+.f64 %220 %152)
(+.f64 %220 %112)
(+.f64 %85 %319)
(+.f64 %85 %317)
(+.f64 %112 %222)
(+.f64 %112 %220)
(+.f64 %7 %134)
(+.f64 %7 %132)
(*.f64 #s(literal 1 binary64) %380)
(pow.f64 %380 #s(literal 1 binary64))
%380
(/.f64 #s(literal 1 binary64) (pow.f64 %380 #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) %385)
(pow.f64 %385 #s(literal 1 binary64))
%385
(/.f64 #s(literal 1 binary64) (pow.f64 %385 #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) %113)
(pow.f64 %113 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %113 #s(literal -1 binary64)))
(neg.f64 %121)
(fma.f64 %125 %126 %41)
(fma.f64 %125 %126 %26)
(fma.f64 %22 %23 %152)
(fma.f64 %22 %23 %112)
(fma.f64 %126 %125 %41)
(fma.f64 %126 %125 %26)
(fma.f64 %23 %22 %152)
(fma.f64 %23 %22 %112)
(fma.f64 #s(literal 1 binary64) %26 %152)
(fma.f64 #s(literal 1 binary64) %26 %112)
(fma.f64 #s(literal 1 binary64) %112 %41)
(fma.f64 #s(literal 1 binary64) %112 %26)
(fma.f64 b a %41)
(fma.f64 b a %26)
(fma.f64 a b %41)
(fma.f64 a b %26)
(fma.f64 t z %152)
%113
(fma.f64 z t %152)
(fma.f64 z t %112)
(-.f64 %26 %179)
(-.f64 %26 %151)
(-.f64 %112 %65)
(-.f64 %112 %32)
(+.f64 %26 %152)
(+.f64 %26 %112)
(+.f64 %112 %41)
(+.f64 %112 %26)
%115
%116
%118
%120
%123
%124
%128
%129
%130
%131
%135
%136
%137
%138
%139
%140
%141
%142
%143
%144
%145
%146
%147
%148
%149
%150
%153
%154
%155
%114
%156
%157
%158
%159
%160
%161
%162
%163
%164
%165
%167
%168
%169
%170
%171
%172
%174
%175
%177
%178
%180
%181
%182
%183
%184
%185
%186
%187
%188
%189
%190
%191
%192
%193
(*.f64 #s(literal 1 binary64) %423)
(pow.f64 %423 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %423 #s(literal -1 binary64)))
(neg.f64 (neg.f64 %423))
(fma.f64 %79 %80 %431)
(fma.f64 %79 %80 %422)
(fma.f64 %2 %3 %434)
(fma.f64 %2 %3 %114)
(fma.f64 %125 %126 %437)
(fma.f64 %125 %126 %206)
(fma.f64 %80 %79 %431)
(fma.f64 %80 %79 %422)
(fma.f64 %22 %23 %442)
(fma.f64 %22 %23 %310)
(fma.f64 %126 %125 %437)
(fma.f64 %126 %125 %206)
(fma.f64 %23 %22 %442)
(fma.f64 %23 %22 %310)
(fma.f64 %3 %2 %434)
(fma.f64 %3 %2 %114)
(fma.f64 #s(literal 1 binary64) %317 %127)
(fma.f64 #s(literal 1 binary64) %317 %72)
(fma.f64 #s(literal 1 binary64) %26 %442)
(fma.f64 #s(literal 1 binary64) %26 %310)
(fma.f64 #s(literal 1 binary64) %132 %213)
(fma.f64 #s(literal 1 binary64) %132 %34)
(fma.f64 #s(literal 1 binary64) %114 %44)
(fma.f64 #s(literal 1 binary64) %114 %7)
(fma.f64 #s(literal 1 binary64) %113 %222)
(fma.f64 #s(literal 1 binary64) %113 %220)
(fma.f64 #s(literal 1 binary64) %310 %41)
(fma.f64 #s(literal 1 binary64) %310 %26)
(fma.f64 #s(literal 1 binary64) %220 %122)
(fma.f64 #s(literal 1 binary64) %220 %113)
(fma.f64 #s(literal 1 binary64) %206 %152)
(fma.f64 #s(literal 1 binary64) %206 %112)
(fma.f64 #s(literal 1 binary64) %85 %431)
(fma.f64 #s(literal 1 binary64) %85 %422)
(fma.f64 #s(literal 1 binary64) %422 %87)
(fma.f64 #s(literal 1 binary64) %422 %85)
(fma.f64 #s(literal 1 binary64) %112 %437)
(fma.f64 #s(literal 1 binary64) %112 %206)
(fma.f64 #s(literal 1 binary64) %34 %134)
(fma.f64 #s(literal 1 binary64) %34 %132)
(fma.f64 #s(literal 1 binary64) %72 %319)
(fma.f64 #s(literal 1 binary64) %72 %317)
(fma.f64 #s(literal 1 binary64) %7 %434)
(fma.f64 #s(literal 1 binary64) %7 %114)
(fma.f64 i c %431)
%423
(fma.f64 c i %431)
(fma.f64 c i %422)
(fma.f64 b a %437)
(fma.f64 b a %206)
(fma.f64 a b %437)
(fma.f64 a b %206)
(fma.f64 t z %442)
(fma.f64 t z %310)
(fma.f64 z t %442)
(fma.f64 z t %310)
(fma.f64 y x %434)
(fma.f64 y x %114)
(fma.f64 x y %434)
(fma.f64 x y %114)
(-.f64 %317 %176)
(-.f64 %317 %77)
(-.f64 %26 (*.f64 #s(literal -1 binary64) %310))
(-.f64 %26 %315)
(-.f64 %132 %257)
(-.f64 %132 %39)
(-.f64 %114 %62)
(-.f64 %114 %14)
(-.f64 %113 %252)
(-.f64 %113 %221)
(-.f64 %310 %65)
(-.f64 %310 %32)
(-.f64 %220 %173)
(-.f64 %220 %121)
(-.f64 %206 %179)
(-.f64 %206 %151)
(-.f64 %85 (*.f64 #s(literal -1 binary64) %422))
(-.f64 %85 %430)
(-.f64 %422 %103)
(-.f64 %422 %86)
(-.f64 %112 (*.f64 #s(literal -1 binary64) %206))
(-.f64 %112 %211)
(-.f64 %34 %166)
(-.f64 %34 %133)
(-.f64 %72 %361)
(-.f64 %72 %318)
(-.f64 %7 (*.f64 #s(literal -1 binary64) %114))
(-.f64 %7 %119)
(+.f64 %317 %127)
(+.f64 %317 %72)
(+.f64 %26 %442)
(+.f64 %26 %310)
(+.f64 %132 %213)
(+.f64 %132 %34)
(+.f64 %114 %44)
(+.f64 %114 %7)
(+.f64 %113 %222)
(+.f64 %113 %220)
(+.f64 %310 %41)
(+.f64 %310 %26)
(+.f64 %220 %122)
(+.f64 %220 %113)
(+.f64 %206 %152)
(+.f64 %206 %112)
(+.f64 %85 %431)
(+.f64 %85 %422)
(+.f64 %422 %87)
(+.f64 %422 %85)
(+.f64 %112 %437)
(+.f64 %112 %206)
(+.f64 %34 %134)
(+.f64 %34 %132)
(+.f64 %72 %319)
(+.f64 %72 %317)
(+.f64 %7 %434)
(+.f64 %7 %114)

reconstruct38.0ms (1.5%)

Counts
648 → 151
Compiler

Compiled 648 to 886 computations (-36.7% saved)

eval12.0ms (0.5%)

Compiler

Compiled 148 to 435 computations (-193.9% saved)

prune3.0ms (0.1%)

Pruning

5 alts after pruning (4 fresh and 1 done)

PrunedKeptTotal
New1444148
Fresh000
Picked314
Done000
Total1475152
Accuracy
100.0%
Counts
152 → 5
Alt Table
Click to see full alt table
StatusAccuracyProgram
74.8%
(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 x y (fma.f64 i c (*.f64 t z))))
51.7%
%2 = (* x y)
(approx (+ (+ (+ %2 (* z t)) (* a b)) (* c i)) (fma.f64 c i (approx (+ (* t z) %2) (*.f64 t z))))
75.0%
(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 c i (*.f64 t z))))
51.7%
%2 = (* x y)
%13 = (* c i)
(approx (+ (+ (+ %2 (* z t)) (* a b)) %13) (fma.f64 a b (approx (+ %13 %2) (*.f64 c i))))
52.6%
%2 = (* x y)
%9 = (* a b)
%13 = (* c i)
(approx (+ (+ (+ %2 (* z t)) %9) %13) (approx (+ %9 (+ %13 %2)) (fma.f64 a b (*.f64 x y))))
Compiler

Compiled 5 to 18 computations (-260.0% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series39.0ms (1.6%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
04162032
Stop Event
iter-limit
Counts
23 → 95
Calls
Call 1
Inputs
%2 = (*.f64 x y)
%9 = (*.f64 c i)
%10 = (*.f64 t z)
%11 = (fma.f64 a b %2)
%12 = (fma.f64 i c %10)
%14 = (* x y)
%16 = (approx (+ (* t z) %14) %10)
%17 = (* c i)
%18 = (+ %17 %14)
%19 = (approx %18 %9)
%20 = (* a b)
%22 = (approx (+ %20 %18) %11)
%23 = (fma.f64 x y %12)
%24 = (fma.f64 a b %19)
%28 = (+ (+ (+ %14 (* z t)) %20) %17)
%31 = (fma.f64 c i %16)
x
y
%2
z
t
a
b
c
i
%9
%10
%11
%12
%16
%19
%22
%23
%24
(approx %28 %24)
(approx %28 %22)
%31
(approx %28 %31)
(approx %28 %23)
Outputs
%5 = (* x y)
%6 = (*.f64 x y)
%10 = (* a b)
%11 = (+ %10 %5)
%12 = (*.f64 a b)
%14 = (fma.f64 a b %6)
%18 = (* t z)
%19 = (+ %18 %5)
%20 = (*.f64 t z)
%22 = (fma.f64 t z %6)
%26 = (* c i)
%27 = (+ %26 %5)
%28 = (*.f64 c i)
%30 = (fma.f64 c i %6)
%32 = (+ %10 %27)
%33 = (fma.f64 a b %28)
%35 = (fma.f64 a b %30)
%38 = (+ (* i c) %18)
%39 = (+ %5 %38)
%40 = (fma.f64 c i %20)
%42 = (fma.f64 c i %22)
%47 = (+ (+ (+ %5 (* z t)) %10) %26)
%48 = (fma.f64 a b %40)
%52 = (/.f64 %12 x)
%56 = (/.f64 %20 x)
%60 = (/.f64 %28 x)
%68 = (+.f64 %60 %56)
%111 = (/.f64 %12 y)
%115 = (/.f64 %20 y)
%119 = (/.f64 %28 y)
%127 = (+.f64 %119 %115)
%169 = (/.f64 %28 z)
%173 = (/.f64 %6 z)
%177 = (+.f64 %169 %173)
%209 = (/.f64 %28 t)
%213 = (/.f64 %6 t)
%217 = (+.f64 %209 %213)
%249 = (/.f64 %6 a)
%253 = (/.f64 %28 a)
%282 = (/.f64 %6 b)
%286 = (/.f64 %28 b)
%315 = (fma.f64 a b %22)
%317 = (/.f64 %20 c)
%321 = (/.f64 %6 c)
%325 = (/.f64 %12 c)
%330 = (+.f64 %317 %321)
%367 = (/.f64 %20 i)
%371 = (/.f64 %6 i)
%375 = (/.f64 %12 i)
%380 = (+.f64 %367 %371)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %5 %6)
(approx %11 %12)
(approx %11 %14)
(approx %19 %20)
(approx %19 %22)
(approx %27 %28)
(approx %27 %30)
(approx %32 %33)
(approx %32 %35)
(approx %39 %40)
(approx %39 %42)
(approx %47 %48)
(approx %47 (fma.f64 a b %42))
(approx %11 (*.f64 x (+.f64 y %52)))
(approx %19 (*.f64 x (+.f64 y %56)))
(approx %27 (*.f64 x (+.f64 y %60)))
(approx %32 (*.f64 x (+.f64 y (+.f64 %52 %60))))
(approx %39 (*.f64 x (+.f64 y %68)))
(approx %47 (*.f64 x (+.f64 y (+.f64 %52 %68))))
(approx %11 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) %52)))))
(approx %19 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) %56)))))
(approx %27 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) %60)))))
(approx %32 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 %33 x))))))
(approx %39 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 %40 x))))))
(approx %47 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 %48 x))))))
(approx y y)
(approx %11 (*.f64 y (+.f64 x %111)))
(approx %19 (*.f64 y (+.f64 x %115)))
(approx %27 (*.f64 y (+.f64 x %119)))
(approx %32 (*.f64 y (+.f64 x (+.f64 %111 %119))))
(approx %39 (*.f64 y (+.f64 x %127)))
(approx %47 (*.f64 y (+.f64 x (+.f64 %111 %127))))
(approx %11 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) %111)))))
(approx %19 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) %115)))))
(approx %27 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) %119)))))
(approx %32 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 %33 y))))))
(approx %39 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 %40 y))))))
(approx %47 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 %48 y))))))
(approx z z)
(approx %38 (*.f64 z (+.f64 t %169)))
(approx %19 (*.f64 z (+.f64 t %173)))
(approx %39 (*.f64 z (+.f64 t %177)))
(approx %47 (*.f64 z (+.f64 t (+.f64 (/.f64 %12 z) %177))))
(approx %38 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) %169)))))
(approx %19 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) %173)))))
(approx %39 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) (/.f64 %30 z))))))
(approx %47 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) (/.f64 %35 z))))))
(approx t t)
(approx %38 (*.f64 t (+.f64 z %209)))
(approx %19 (*.f64 t (+.f64 z %213)))
(approx %39 (*.f64 t (+.f64 z %217)))
(approx %47 (*.f64 t (+.f64 z (+.f64 (/.f64 %12 t) %217))))
(approx %38 (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) %209)))))
(approx %19 (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) %213)))))
(approx %39 (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 %30 t))))))
(approx %47 (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 %35 t))))))
(approx a a)
(approx %11 (*.f64 a (+.f64 b %249)))
(approx %32 (*.f64 a (+.f64 b (+.f64 %253 %249))))
(approx %47 (*.f64 a (+.f64 b (+.f64 %253 (+.f64 (/.f64 %20 a) %249)))))
(approx %11 (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) %249)))))
(approx %32 (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) (/.f64 %30 a))))))
(approx %47 (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) (/.f64 %42 a))))))
(approx b b)
(approx %11 (*.f64 b (+.f64 a %282)))
(approx %32 (*.f64 b (+.f64 a (+.f64 %286 %282))))
(approx %47 (*.f64 b (+.f64 a (+.f64 %286 (+.f64 (/.f64 %20 b) %282)))))
(approx %11 (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) %282)))))
(approx %32 (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 %30 b))))))
(approx %47 (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 %42 b))))))
(approx c c)
(approx %47 %315)
(approx %38 (*.f64 c (+.f64 i %317)))
(approx %27 (*.f64 c (+.f64 i %321)))
(approx %32 (*.f64 c (+.f64 i (+.f64 %325 %321))))
(approx %39 (*.f64 c (+.f64 i %330)))
(approx %47 (*.f64 c (+.f64 i (+.f64 %325 %330))))
(approx %38 (*.f64 #s(literal -1 binary64) (*.f64 c (fma.f64 #s(literal -1 binary64) i (*.f64 #s(literal -1 binary64) %317)))))
(approx %27 (*.f64 #s(literal -1 binary64) (*.f64 c (fma.f64 #s(literal -1 binary64) i (*.f64 #s(literal -1 binary64) %321)))))
(approx %32 (*.f64 #s(literal -1 binary64) (*.f64 c (fma.f64 #s(literal -1 binary64) i (*.f64 #s(literal -1 binary64) (/.f64 %14 c))))))
(approx %39 (*.f64 #s(literal -1 binary64) (*.f64 c (fma.f64 #s(literal -1 binary64) i (*.f64 #s(literal -1 binary64) (/.f64 %22 c))))))
(approx %47 (*.f64 #s(literal -1 binary64) (*.f64 c (fma.f64 #s(literal -1 binary64) i (*.f64 #s(literal -1 binary64) (/.f64 %315 c))))))
(approx i i)
(approx %38 (*.f64 i (+.f64 c %367)))
(approx %27 (*.f64 i (+.f64 c %371)))
(approx %32 (*.f64 i (+.f64 c (+.f64 %375 %371))))
(approx %39 (*.f64 i (+.f64 c %380)))
(approx %47 (*.f64 i (+.f64 c (+.f64 %375 %380))))
(approx %38 (*.f64 #s(literal -1 binary64) (*.f64 i (fma.f64 #s(literal -1 binary64) c (*.f64 #s(literal -1 binary64) %367)))))
(approx %27 (*.f64 #s(literal -1 binary64) (*.f64 i (fma.f64 #s(literal -1 binary64) c (*.f64 #s(literal -1 binary64) %371)))))
(approx %32 (*.f64 #s(literal -1 binary64) (*.f64 i (fma.f64 #s(literal -1 binary64) c (*.f64 #s(literal -1 binary64) (/.f64 %14 i))))))
(approx %39 (*.f64 #s(literal -1 binary64) (*.f64 i (fma.f64 #s(literal -1 binary64) c (*.f64 #s(literal -1 binary64) (/.f64 %22 i))))))
(approx %47 (*.f64 #s(literal -1 binary64) (*.f64 i (fma.f64 #s(literal -1 binary64) c (*.f64 #s(literal -1 binary64) (/.f64 %315 i))))))
Calls

24 calls:

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

rewrite86.0ms (3.4%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
034225
044225
1140215
2369215
3809215
41095215
51549215
04056215
04357203
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
23 → 238
Calls
Call 1
Inputs
%2 = (*.f64 x y)
%9 = (*.f64 c i)
%10 = (*.f64 t z)
%11 = (fma.f64 a b %2)
%12 = (fma.f64 i c %10)
%14 = (* x y)
%16 = (approx (+ (* t z) %14) %10)
%17 = (* c i)
%18 = (+ %17 %14)
%19 = (approx %18 %9)
%20 = (* a b)
%22 = (approx (+ %20 %18) %11)
%23 = (fma.f64 x y %12)
%24 = (fma.f64 a b %19)
%28 = (+ (+ (+ %14 (* z t)) %20) %17)
%31 = (fma.f64 c i %16)
x
y
%2
z
t
a
b
c
i
%9
%10
%11
%12
%16
%19
%22
%23
%24
(approx %28 %24)
(approx %28 %22)
%31
(approx %28 %31)
(approx %28 %23)
Outputs
%2 = (neg.f64 y)
%3 = (neg.f64 x)
%7 = (*.f64 y x)
%14 = (neg.f64 %7)
%22 = (neg.f64 i)
%23 = (neg.f64 c)
%26 = (*.f64 i c)
%32 = (neg.f64 %26)
%34 = (neg.f64 t)
%35 = (neg.f64 z)
%38 = (*.f64 t z)
%44 = (neg.f64 %38)
%46 = (fma.f64 b a %7)
%53 = (neg.f64 b)
%54 = (neg.f64 a)
%55 = (*.f64 #s(literal -1 binary64) %14)
%58 = (*.f64 %54 b)
%59 = (*.f64 #s(literal -1 binary64) %58)
%61 = (*.f64 b a)
%78 = (*.f64 #s(literal -1 binary64) %7)
%81 = (*.f64 #s(literal -1 binary64) %61)
%88 = (fma.f64 i c %38)
%93 = (neg.f64 %88)
%95 = (*.f64 #s(literal -1 binary64) %44)
%98 = (*.f64 #s(literal -1 binary64) %32)
%116 = (*.f64 #s(literal -1 binary64) %38)
%119 = (*.f64 #s(literal -1 binary64) %26)
%126 = (* y x)
%128 = (+ %126 (* t z))
%129 = (approx %128 %38)
%134 = (neg.f64 %129)
%136 = (* i c)
%137 = (+ %136 %126)
%138 = (approx %137 %26)
%143 = (neg.f64 %138)
%145 = (* b a)
%147 = (approx (+ %145 %137) %46)
%152 = (fma.f64 i c %7)
%153 = (fma.f64 t z %152)
%160 = (fma.f64 t z %7)
%161 = (neg.f64 %160)
%162 = (*.f64 #s(literal -1 binary64) %161)
%165 = (*.f64 #s(literal -1 binary64) %93)
%168 = (neg.f64 %152)
%169 = (*.f64 #s(literal -1 binary64) %168)
%228 = (fma.f64 b a %138)
%235 = (*.f64 #s(literal -1 binary64) %143)
%257 = (+ (+ %128 %145) %136)
%258 = (approx %257 %228)
%263 = (approx %257 %147)
%268 = (fma.f64 i c %129)
%275 = (*.f64 #s(literal -1 binary64) %134)
%296 = (approx %257 %268)
%301 = (approx %257 %153)
x
y
(*.f64 %2 %3)
(*.f64 %3 %2)
(*.f64 #s(literal 1 binary64) %7)
%7
(*.f64 x y)
(pow.f64 %7 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %7 #s(literal -1 binary64)))
(neg.f64 %14)
z
t
a
b
c
i
(*.f64 %22 %23)
(*.f64 %23 %22)
(*.f64 #s(literal 1 binary64) %26)
%26
(*.f64 c i)
(pow.f64 %26 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %26 #s(literal -1 binary64)))
(neg.f64 %32)
(*.f64 %34 %35)
(*.f64 %35 %34)
(*.f64 #s(literal 1 binary64) %38)
%38
(*.f64 z t)
(pow.f64 %38 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %38 #s(literal -1 binary64)))
(neg.f64 %44)
(*.f64 #s(literal 1 binary64) %46)
(pow.f64 %46 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %46 #s(literal -1 binary64)))
(neg.f64 (neg.f64 %46))
(fma.f64 %53 %54 %55)
(fma.f64 %53 %54 %7)
(fma.f64 %2 %3 %59)
(fma.f64 %2 %3 %61)
(fma.f64 %54 %53 %55)
(fma.f64 %54 %53 %7)
(fma.f64 %3 %2 %59)
(fma.f64 %3 %2 %61)
(fma.f64 #s(literal 1 binary64) %61 %55)
(fma.f64 #s(literal 1 binary64) %61 %7)
(fma.f64 #s(literal 1 binary64) %7 %59)
(fma.f64 #s(literal 1 binary64) %7 %61)
(fma.f64 b a %55)
%46
(fma.f64 a b %55)
(fma.f64 a b %7)
(fma.f64 y x %59)
(fma.f64 y x %61)
(fma.f64 x y %59)
(fma.f64 x y %61)
(-.f64 %61 %78)
(-.f64 %61 %14)
(-.f64 %7 %81)
(-.f64 %7 %58)
(+.f64 %61 %55)
(+.f64 %61 %7)
(+.f64 %7 %59)
(+.f64 %7 %61)
(*.f64 #s(literal 1 binary64) %88)
(pow.f64 %88 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %88 #s(literal -1 binary64)))
(neg.f64 %93)
(fma.f64 %22 %23 %95)
(fma.f64 %22 %23 %38)
(fma.f64 %34 %35 %98)
(fma.f64 %34 %35 %26)
(fma.f64 %23 %22 %95)
(fma.f64 %23 %22 %38)
(fma.f64 %35 %34 %98)
(fma.f64 %35 %34 %26)
(fma.f64 #s(literal 1 binary64) %26 %95)
(fma.f64 #s(literal 1 binary64) %26 %38)
(fma.f64 #s(literal 1 binary64) %38 %98)
(fma.f64 #s(literal 1 binary64) %38 %26)
(fma.f64 i c %95)
%88
(fma.f64 c i %95)
(fma.f64 c i %38)
(fma.f64 t z %98)
(fma.f64 t z %26)
(fma.f64 z t %98)
(fma.f64 z t %26)
(-.f64 %26 %116)
(-.f64 %26 %44)
(-.f64 %38 %119)
(-.f64 %38 %32)
(+.f64 %26 %95)
(+.f64 %26 %38)
(+.f64 %38 %98)
(+.f64 %38 %26)
(*.f64 #s(literal 1 binary64) %129)
(pow.f64 %129 #s(literal 1 binary64))
%129
(/.f64 #s(literal 1 binary64) (pow.f64 %129 #s(literal -1 binary64)))
(neg.f64 %134)
(*.f64 #s(literal 1 binary64) %138)
(pow.f64 %138 #s(literal 1 binary64))
%138
(/.f64 #s(literal 1 binary64) (pow.f64 %138 #s(literal -1 binary64)))
(neg.f64 %143)
(*.f64 #s(literal 1 binary64) %147)
(pow.f64 %147 #s(literal 1 binary64))
%147
(/.f64 #s(literal 1 binary64) (pow.f64 %147 #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) %153)
(pow.f64 %153 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %153 #s(literal -1 binary64)))
(neg.f64 (neg.f64 %153))
(fma.f64 %22 %23 %162)
(fma.f64 %22 %23 %160)
(fma.f64 %2 %3 %165)
(fma.f64 %2 %3 %88)
(fma.f64 %34 %35 %169)
(fma.f64 %34 %35 %152)
(fma.f64 %23 %22 %162)
(fma.f64 %23 %22 %160)
(fma.f64 %3 %2 %165)
(fma.f64 %3 %2 %88)
(fma.f64 %35 %34 %169)
(fma.f64 %35 %34 %152)
(fma.f64 #s(literal 1 binary64) %160 %98)
(fma.f64 #s(literal 1 binary64) %160 %26)
(fma.f64 #s(literal 1 binary64) %152 %95)
(fma.f64 #s(literal 1 binary64) %152 %38)
(fma.f64 #s(literal 1 binary64) %26 %162)
(fma.f64 #s(literal 1 binary64) %26 %160)
(fma.f64 #s(literal 1 binary64) %7 %165)
(fma.f64 #s(literal 1 binary64) %7 %88)
(fma.f64 #s(literal 1 binary64) %88 %55)
(fma.f64 #s(literal 1 binary64) %88 %7)
(fma.f64 #s(literal 1 binary64) %38 %169)
(fma.f64 #s(literal 1 binary64) %38 %152)
(fma.f64 i c %162)
(fma.f64 i c %160)
(fma.f64 c i %162)
(fma.f64 c i %160)
(fma.f64 t z %169)
%153
(fma.f64 z t %169)
(fma.f64 z t %152)
(fma.f64 y x %165)
(fma.f64 y x %88)
(fma.f64 x y %165)
(fma.f64 x y %88)
(-.f64 %160 %119)
(-.f64 %160 %32)
(-.f64 %152 %116)
(-.f64 %152 %44)
(-.f64 %26 (*.f64 #s(literal -1 binary64) %160))
(-.f64 %26 %161)
(-.f64 %7 (*.f64 #s(literal -1 binary64) %88))
(-.f64 %7 %93)
(-.f64 %88 %78)
(-.f64 %88 %14)
(-.f64 %38 (*.f64 #s(literal -1 binary64) %152))
(-.f64 %38 %168)
(+.f64 %160 %98)
(+.f64 %160 %26)
(+.f64 %152 %95)
(+.f64 %152 %38)
(+.f64 %26 %162)
(+.f64 %26 %160)
(+.f64 %7 %165)
(+.f64 %7 %88)
(+.f64 %88 %55)
(+.f64 %88 %7)
(+.f64 %38 %169)
(+.f64 %38 %152)
(*.f64 #s(literal 1 binary64) %228)
(pow.f64 %228 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %228 #s(literal -1 binary64)))
(neg.f64 (neg.f64 %228))
(fma.f64 %53 %54 %235)
(fma.f64 %53 %54 %138)
(fma.f64 %54 %53 %235)
(fma.f64 %54 %53 %138)
(fma.f64 #s(literal 1 binary64) %61 %235)
(fma.f64 #s(literal 1 binary64) %61 %138)
(fma.f64 #s(literal 1 binary64) %138 %59)
(fma.f64 #s(literal 1 binary64) %138 %61)
(fma.f64 b a %235)
%228
(fma.f64 a b %235)
(fma.f64 a b %138)
(-.f64 %61 (*.f64 #s(literal -1 binary64) %138))
(-.f64 %61 %143)
(-.f64 %138 %81)
(-.f64 %138 %58)
(+.f64 %61 %235)
(+.f64 %61 %138)
(+.f64 %138 %59)
(+.f64 %138 %61)
(*.f64 #s(literal 1 binary64) %258)
(pow.f64 %258 #s(literal 1 binary64))
%258
(/.f64 #s(literal 1 binary64) (pow.f64 %258 #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) %263)
(pow.f64 %263 #s(literal 1 binary64))
%263
(/.f64 #s(literal 1 binary64) (pow.f64 %263 #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) %268)
(pow.f64 %268 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %268 #s(literal -1 binary64)))
(neg.f64 (neg.f64 %268))
(fma.f64 %22 %23 %275)
(fma.f64 %22 %23 %129)
(fma.f64 %23 %22 %275)
(fma.f64 %23 %22 %129)
(fma.f64 #s(literal 1 binary64) %26 %275)
(fma.f64 #s(literal 1 binary64) %26 %129)
(fma.f64 #s(literal 1 binary64) %129 %98)
(fma.f64 #s(literal 1 binary64) %129 %26)
(fma.f64 i c %275)
%268
(fma.f64 c i %275)
(fma.f64 c i %129)
(-.f64 %26 (*.f64 #s(literal -1 binary64) %129))
(-.f64 %26 %134)
(-.f64 %129 %119)
(-.f64 %129 %32)
(+.f64 %26 %275)
(+.f64 %26 %129)
(+.f64 %129 %98)
(+.f64 %129 %26)
(*.f64 #s(literal 1 binary64) %296)
(pow.f64 %296 #s(literal 1 binary64))
%296
(/.f64 #s(literal 1 binary64) (pow.f64 %296 #s(literal -1 binary64)))
(*.f64 #s(literal 1 binary64) %301)
(pow.f64 %301 #s(literal 1 binary64))
%301
(/.f64 #s(literal 1 binary64) (pow.f64 %301 #s(literal -1 binary64)))

reconstruct25.0ms (1.0%)

Counts
333 → 115
Compiler

Compiled 333 to 583 computations (-75.1% saved)

eval10.0ms (0.4%)

Compiler

Compiled 108 to 326 computations (-201.9% saved)

prune3.0ms (0.1%)

Pruning

7 alts after pruning (2 fresh and 5 done)

PrunedKeptTotal
New1062108
Fresh000
Picked044
Done011
Total1067113
Accuracy
100.0%
Counts
113 → 7
Alt Table
Click to see full alt table
StatusAccuracyProgram
74.8%
(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 x y (fma.f64 i c (*.f64 t z))))
51.7%
%2 = (* x y)
(approx (+ (+ (+ %2 (* z t)) (* a b)) (* c i)) (fma.f64 c i (approx (+ (* t z) %2) (*.f64 t z))))
75.0%
(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 c i (*.f64 t z))))
51.7%
%2 = (* x y)
%13 = (* c i)
(approx (+ (+ (+ %2 (* z t)) (* a b)) %13) (fma.f64 a b (approx (+ %13 %2) (*.f64 c i))))
52.6%
%2 = (* x y)
%9 = (* a b)
%13 = (* c i)
(approx (+ (+ (+ %2 (* z t)) %9) %13) (approx (+ %9 (+ %13 %2)) (fma.f64 a b (*.f64 x y))))
49.1%
%2 = (* x y)
%9 = (* a b)
%13 = (* c i)
(approx (+ (+ (+ %2 (* z t)) %9) %13) (approx (+ %9 (+ %13 %2)) (approx (+ %9 %2) (*.f64 b (+.f64 a (/.f64 (*.f64 x y) b))))))
27.7%
%2 = (* x y)
%9 = (* a b)
%13 = (* c i)
(approx (+ (+ (+ %2 (* z t)) %9) %13) (approx (+ %9 (+ %13 %2)) (approx (+ %9 %2) (*.f64 a b))))
Compiler

Compiled 7 to 22 computations (-214.3% saved)

sample0.0ms (0.0%)

Calls
Call 1
Inputs
Outputs

series52.0ms (2.1%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
02931422
Stop Event
iter-limit
Counts
15 → 62
Calls
Call 1
Inputs
%2 = (*.f64 x y)
%5 = (*.f64 a b)
%6 = (/.f64 %2 b)
%7 = (* a b)
%8 = (* x y)
%9 = (+ %7 %8)
%10 = (approx %9 %5)
%11 = (+.f64 a %6)
%12 = (*.f64 b %11)
%13 = (approx %9 %12)
%16 = (* c i)
%18 = (+ %7 (+ %16 %8))
%19 = (approx %18 %10)
%25 = (+ (+ (+ %8 (* z t)) %7) %16)
%27 = (approx %18 %13)
x
y
%2
a
b
%5
%6
%10
%11
%12
%13
%19
(approx %25 %19)
%27
(approx %25 %27)
Outputs
%5 = (* x y)
%6 = (*.f64 x y)
%9 = (/ %5 b)
%10 = (/.f64 %6 b)
%13 = (* a b)
%14 = (+ %13 %5)
%15 = (*.f64 a b)
%17 = (fma.f64 a b %6)
%19 = (+ a %9)
%21 = (+.f64 a %10)
%25 = (* c i)
%27 = (+ %13 (+ %25 %5))
%28 = (*.f64 c i)
%29 = (fma.f64 a b %28)
%31 = (fma.f64 c i %6)
%32 = (fma.f64 a b %31)
%39 = (+ (+ (+ %5 (* z t)) %13) %25)
%40 = (*.f64 t z)
%42 = (fma.f64 a b (fma.f64 c i %40))
%44 = (fma.f64 t z %6)
%45 = (fma.f64 c i %44)
%48 = (/.f64 %15 x)
%52 = (/.f64 a x)
%53 = (/.f64 y b)
%57 = (/.f64 %28 x)
%92 = (/.f64 %15 y)
%96 = (/.f64 a y)
%97 = (/.f64 x b)
%101 = (/.f64 %28 y)
%165 = (/.f64 %6 a)
%170 = (/.f64 %6 %15)
%174 = (/.f64 %28 a)
%212 = (/.f64 %28 b)
%240 = (fma.f64 a b %44)
%243 = (/.f64 %15 c)
%244 = (/.f64 %6 c)
%267 = (/.f64 %15 i)
%268 = (/.f64 %6 i)
(approx x #s(literal 0 binary64))
(approx x x)
(approx %5 %6)
(approx %9 %10)
(approx %14 %15)
(approx %14 %17)
(approx %19 a)
(approx %19 %21)
(approx %27 %29)
(approx %27 %32)
(approx %39 %42)
(approx %39 (fma.f64 a b %45))
(approx %14 (*.f64 x (+.f64 y %48)))
(approx %19 (*.f64 x (+.f64 %52 %53)))
(approx %27 (*.f64 x (+.f64 y (+.f64 %48 %57))))
(approx %39 (*.f64 x (+.f64 y (+.f64 %48 (+.f64 %57 (/.f64 %40 x))))))
(approx %14 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) %48)))))
(approx %19 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) %52 (*.f64 #s(literal -1 binary64) %53)))))
(approx %27 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 %29 x))))))
(approx %39 (*.f64 #s(literal -1 binary64) (*.f64 x (fma.f64 #s(literal -1 binary64) y (*.f64 #s(literal -1 binary64) (/.f64 %42 x))))))
(approx y y)
(approx %14 (*.f64 y (+.f64 x %92)))
(approx %19 (*.f64 y (+.f64 %96 %97)))
(approx %27 (*.f64 y (+.f64 x (+.f64 %92 %101))))
(approx %39 (*.f64 y (+.f64 x (+.f64 %92 (+.f64 %101 (/.f64 %40 y))))))
(approx %14 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) %92)))))
(approx %19 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) %96 (*.f64 #s(literal -1 binary64) %97)))))
(approx %27 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 %29 y))))))
(approx %39 (*.f64 #s(literal -1 binary64) (*.f64 y (fma.f64 #s(literal -1 binary64) x (*.f64 #s(literal -1 binary64) (/.f64 %42 y))))))
(approx %39 %40)
(approx %39 (*.f64 z (+.f64 t (+.f64 (/.f64 %15 z) (+.f64 (/.f64 %28 z) (/.f64 %6 z))))))
(approx %39 (*.f64 #s(literal -1 binary64) (*.f64 z (fma.f64 #s(literal -1 binary64) t (*.f64 #s(literal -1 binary64) (/.f64 %32 z))))))
(approx %39 (*.f64 t (+.f64 z (+.f64 (/.f64 %15 t) (+.f64 (/.f64 %28 t) (/.f64 %6 t))))))
(approx %39 (*.f64 #s(literal -1 binary64) (*.f64 t (fma.f64 #s(literal -1 binary64) z (*.f64 #s(literal -1 binary64) (/.f64 %32 t))))))
(approx %27 %31)
(approx %39 %45)
(approx %14 (*.f64 a (+.f64 b %165)))
(approx %19 (*.f64 a (+.f64 #s(literal 1 binary64) %170)))
(approx %27 (*.f64 a (+.f64 b (+.f64 %174 %165))))
(approx %39 (*.f64 a (+.f64 b (+.f64 %174 (+.f64 (/.f64 %40 a) %165)))))
(approx %14 (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) %165)))))
(approx %19 (*.f64 #s(literal -1 binary64) (*.f64 a (-.f64 (*.f64 #s(literal -1 binary64) %170) #s(literal 1 binary64)))))
(approx %27 (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) (/.f64 %31 a))))))
(approx %39 (*.f64 #s(literal -1 binary64) (*.f64 a (fma.f64 #s(literal -1 binary64) b (*.f64 #s(literal -1 binary64) (/.f64 %45 a))))))
(approx b b)
(approx %19 (/.f64 %17 b))
(approx %14 (*.f64 b %21))
(approx %27 (*.f64 b (+.f64 a (+.f64 %212 %10))))
(approx %39 (*.f64 b (+.f64 a (+.f64 %212 (+.f64 (/.f64 %40 b) %10)))))
(approx %14 (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) %10)))))
(approx %27 (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 %31 b))))))
(approx %39 (*.f64 #s(literal -1 binary64) (*.f64 b (fma.f64 #s(literal -1 binary64) a (*.f64 #s(literal -1 binary64) (/.f64 %45 b))))))
(approx %39 %240)
(approx %27 %28)
(approx %27 (*.f64 c (+.f64 i (+.f64 %243 %244))))
(approx %39 (*.f64 c (+.f64 i (+.f64 %243 (+.f64 (/.f64 %40 c) %244)))))
(approx %27 (*.f64 #s(literal -1 binary64) (*.f64 c (fma.f64 #s(literal -1 binary64) i (*.f64 #s(literal -1 binary64) (/.f64 %17 c))))))
(approx %39 (*.f64 #s(literal -1 binary64) (*.f64 c (fma.f64 #s(literal -1 binary64) i (*.f64 #s(literal -1 binary64) (/.f64 %240 c))))))
(approx %27 (*.f64 i (+.f64 c (+.f64 %267 %268))))
(approx %39 (*.f64 i (+.f64 c (+.f64 %267 (+.f64 (/.f64 %40 i) %268)))))
(approx %27 (*.f64 #s(literal -1 binary64) (*.f64 i (fma.f64 #s(literal -1 binary64) c (*.f64 #s(literal -1 binary64) (/.f64 %17 i))))))
(approx %39 (*.f64 #s(literal -1 binary64) (*.f64 i (fma.f64 #s(literal -1 binary64) c (*.f64 #s(literal -1 binary64) (/.f64 %240 i))))))
Calls

24 calls:

TimeVariablePoint
21.0ms
c
-inf
2.0ms
y
inf
2.0ms
x
inf
2.0ms
b
inf
1.0ms
x
0

rewrite71.0ms (2.8%)

Iterations

Useful iterations: 0 (0.0ms)

IterNodesCost
029195
034195
1120195
2384187
31289187
04137187
04352162
Stop Event
iter-limit
iter-limit
node-limit
iter-limit
Counts
15 → 839
Calls
Call 1
Inputs
%2 = (*.f64 x y)
%5 = (*.f64 a b)
%6 = (/.f64 %2 b)
%7 = (* a b)
%8 = (* x y)
%9 = (+ %7 %8)
%10 = (approx %9 %5)
%11 = (+.f64 a %6)
%12 = (*.f64 b %11)
%13 = (approx %9 %12)
%16 = (* c i)
%18 = (+ %7 (+ %16 %8))
%19 = (approx %18 %10)
%25 = (+ (+ (+ %8 (* z t)) %7) %16)
%27 = (approx %18 %13)
x
y
%2
a
b
%5
%6
%10
%11
%12
%13
%19
(approx %25 %19)
%27
(approx %25 %27)
Outputs
%2 = (*.f64 y x)
%4 = (*.f64 %2 #s(literal 2 binary64))
%8 = (neg.f64 b)
%9 = (*.f64 %8 y)
%10 = (neg.f64 x)
%11 = (/.f64 %10 b)
%13 = (*.f64 b y)
%14 = (/.f64 x b)
%16 = (*.f64 %10 b)
%17 = (neg.f64 y)
%18 = (/.f64 %17 b)
%20 = (*.f64 b x)
%21 = (/.f64 y b)
%23 = (*.f64 %8 %2)
%25 = (/.f64 #s(literal -1 binary64) b)
%27 = (*.f64 %2 b)
%29 = (/.f64 #s(literal 1 binary64) b)
%31 = (/.f64 %20 %8)
%34 = (neg.f64 %2)
%38 = (/.f64 %34 b)
%45 = (*.f64 %14 y)
%48 = (/.f64 %16 %8)
%50 = (/.f64 %20 b)
%52 = (*.f64 %14 b)
%57 = (*.f64 b b)
%60 = (*.f64 %8 b)
%67 = (*.f64 #s(literal 2 binary64) %8)
%70 = (*.f64 #s(literal 2 binary64) b)
%79 = (*.f64 %8 #s(literal 2 binary64))
%84 = (*.f64 b #s(literal 2 binary64))
%96 = (*.f64 %2 #s(literal 0 binary64))
%98 = (*.f64 #s(literal 0 binary64) %2)
%112 = (*.f64 #s(literal 1/2 binary64) %2)
%134 = (*.f64 %2 #s(literal 1/2 binary64))
%157 = (neg.f64 a)
%160 = (*.f64 b a)
%165 = (*.f64 %157 b)
%167 = (/.f64 #s(literal 1/2 binary64) b)
%169 = (/.f64 %14 %8)
%171 = (/.f64 %14 b)
%173 = (/.f64 %21 %8)
%175 = (/.f64 %18 %8)
%177 = (/.f64 %21 b)
%179 = (/.f64 %25 b)
%181 = (/.f64 %29 %8)
%183 = (/.f64 %29 b)
%185 = (/.f64 %25 %8)
%196 = (/.f64 %45 %8)
%202 = (/.f64 %38 %8)
%204 = (/.f64 %45 b)
%206 = (/.f64 %52 b)
%240 = (+ (* y x) (* b a))
%241 = (approx %240 %160)
%245 = (fma.f64 b a %2)
%246 = (neg.f64 %245)
%247 = (*.f64 %246 b)
%250 = (*.f64 %245 b)
%256 = (fma.f64 %14 y a)
%267 = (*.f64 %165 %8)
%275 = (*.f64 %8 %165)
%313 = (neg.f64 %256)
%315 = (*.f64 a #s(literal 1 binary64))
%316 = (*.f64 b %315)
%317 = (*.f64 %29 %316)
%319 = (*.f64 %315 b)
%320 = (*.f64 %29 %319)
%322 = (*.f64 %29 %160)
%324 = (*.f64 %316 %29)
%326 = (*.f64 %319 %29)
%328 = (*.f64 %160 %8)
%329 = (/.f64 %328 %60)
%332 = (/.f64 (*.f64 %8 %160) %60)
%334 = (*.f64 b %160)
%335 = (/.f64 %334 %57)
%337 = (*.f64 %160 b)
%338 = (/.f64 %337 %57)
%340 = (/.f64 %316 b)
%342 = (/.f64 %319 b)
%737 = (*.f64 %315 %8)
%738 = (/.f64 %737 %8)
%744 = (*.f64 a #s(literal -1 binary64))
%816 = (/.f64 %334 b)
%818 = (/.f64 %337 b)
%833 = (*.f64 %245 #s(literal 0 binary64))
%857 = (*.f64 #s(literal 1/2 binary64) %245)
%909 = (*.f64 #s(literal 0 binary64) %245)
%917 = (*.f64 %245 #s(literal 1/2 binary64))
%991 = (approx %240 %245)
%997 = (* i c)
%998 = (+ %997 %240)
%999 = (approx %998 %241)
%1007 = (+ (+ %997 (* t z)) %240)
%1008 = (approx %1007 %999)
%1012 = (approx %998 %991)
%1016 = (approx %1007 %1012)
x
y
(*.f64 %4 #s(literal 1/2 binary64))
(*.f64 %9 %11)
(*.f64 %13 %14)
(*.f64 %16 %18)
(*.f64 %20 %21)
(*.f64 %23 %25)
(*.f64 %27 %29)
(*.f64 %17 %31)
(*.f64 %17 %10)
(*.f64 #s(literal -1 binary64) %34)
(*.f64 %21 %20)
(*.f64 %10 %17)
(*.f64 %38 %8)
(*.f64 %29 %27)
(*.f64 %8 %38)
(*.f64 %34 #s(literal -1 binary64))
(*.f64 #s(literal 1 binary64) %2)
(*.f64 %2 #s(literal 1 binary64))
(*.f64 %45 b)
(*.f64 b %45)
(*.f64 y %48)
(*.f64 y %50)
(*.f64 y %52)
%2
(*.f64 x y)
(pow.f64 %2 #s(literal 1 binary64))
(/.f64 (*.f64 %8 %23) %57)
(/.f64 (*.f64 %8 %27) %60)
(/.f64 (*.f64 b %23) %60)
(/.f64 (*.f64 b %27) %57)
(/.f64 (*.f64 #s(literal 2 binary64) %23) %67)
(/.f64 (*.f64 #s(literal 2 binary64) %27) %70)
(/.f64 (*.f64 %23 %8) %57)
(/.f64 (*.f64 %27 %8) %60)
(/.f64 (*.f64 %23 b) %60)
(/.f64 (*.f64 %23 #s(literal 2 binary64)) %79)
(/.f64 (*.f64 %27 b) %57)
(/.f64 (*.f64 %27 #s(literal 2 binary64)) %84)
(/.f64 %23 %8)
(/.f64 %27 b)
(/.f64 #s(literal 1 binary64) (pow.f64 %2 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 %8 %23))
(/.f64 #s(literal 1 binary64) (/.f64 b %27))
(neg.f64 %34)
(fma.f64 %4 #s(literal 1/2 binary64) %96)
(fma.f64 %4 #s(literal 1/2 binary64) %98)
(fma.f64 %9 %11 %96)
(fma.f64 %9 %11 %98)
(fma.f64 %13 %14 %96)
(fma.f64 %13 %14 %98)
(fma.f64 %16 %18 %96)
(fma.f64 %16 %18 %98)
(fma.f64 %20 %21 %96)
(fma.f64 %20 %21 %98)
(fma.f64 %23 %25 %96)
(fma.f64 %23 %25 %98)
(fma.f64 %27 %29 %96)
(fma.f64 %27 %29 %98)
(fma.f64 #s(literal 1/2 binary64) %2 %112)
(fma.f64 %17 %31 %96)
(fma.f64 %17 %31 %98)
(fma.f64 %17 %10 %96)
(fma.f64 %17 %10 %98)
(fma.f64 #s(literal -1 binary64) %34 %96)
(fma.f64 #s(literal -1 binary64) %34 %98)
(fma.f64 %21 %20 %96)
(fma.f64 %21 %20 %98)
(fma.f64 %10 %17 %96)
(fma.f64 %10 %17 %98)
(fma.f64 %38 %8 %96)
(fma.f64 %38 %8 %98)
(fma.f64 %29 %27 %96)
(fma.f64 %29 %27 %98)
(fma.f64 %8 %38 %96)
(fma.f64 %8 %38 %98)
(fma.f64 %34 #s(literal -1 binary64) %96)
(fma.f64 %34 #s(literal -1 binary64) %98)
(fma.f64 #s(literal 1 binary64) %2 %96)
(fma.f64 #s(literal 1 binary64) %2 %98)
(fma.f64 %2 #s(literal 1/2 binary64) %134)
(fma.f64 %2 #s(literal 1 binary64) %96)
(fma.f64 %2 #s(literal 1 binary64) %98)
(fma.f64 %45 b %96)
(fma.f64 %45 b %98)
(fma.f64 b %45 %96)
(fma.f64 b %45 %98)
(fma.f64 y %48 %96)
(fma.f64 y %48 %98)
(fma.f64 y %50 %96)
(fma.f64 y %50 %98)
(fma.f64 y %52 %96)
(fma.f64 y %52 %98)
(fma.f64 y x %96)
(fma.f64 y x %98)
(fma.f64 x y %96)
(fma.f64 x y %98)
(+.f64 %134 %134)
(+.f64 %112 %112)
(+.f64 %2 %96)
(+.f64 %2 %98)
a
b
(*.f64 %157 %8)
(*.f64 %8 %157)
%160
(*.f64 a b)
(pow.f64 %160 #s(literal 1 binary64))
(/.f64 #s(literal 1 binary64) (pow.f64 %160 #s(literal -1 binary64)))
(neg.f64 %165)
(*.f64 %4 %167)
(*.f64 %9 %169)
(*.f64 %13 %171)
(*.f64 %16 %173)
(*.f64 %20 %175)
(*.f64 %20 %177)
(*.f64 %23 %179)
(*.f64 %23 %181)
(*.f64 %27 %183)
(*.f64 %27 %185)
%45
(*.f64 %18 %10)
(*.f64 %25 %34)
(*.f64 %17 %11)
(*.f64 #s(literal -1 binary64) %38)
(*.f64 %21 %50)
(*.f64 %21 x)
(*.f64 %10 %18)
(*.f64 %38 #s(literal -1 binary64))
(*.f64 %29 %2)
(*.f64 %8 %196)
(*.f64 %34 %25)
(*.f64 #s(literal 1 binary64) %45)
(*.f64 %2 %29)
(*.f64 %45 #s(literal 1 binary64))
(*.f64 b %202)
(*.f64 b %204)
(*.f64 y %206)
(*.f64 y %14)
(*.f64 x %21)
(pow.f64 %45 #s(literal 1 binary64))
(/.f64 (*.f64 #s(literal 2 binary64) %34) %67)
(/.f64 (*.f64 #s(literal 2 binary64) %2) %70)
(/.f64 (*.f64 #s(literal -1 binary64) %23) %57)
(/.f64 (*.f64 #s(literal -1 binary64) %27) %60)
(/.f64 (*.f64 #s(literal 1 binary64) %23) %60)
(/.f64 (*.f64 #s(literal 1 binary64) %27) %57)
(/.f64 (*.f64 %23 #s(literal -1 binary64)) %57)
(/.f64 (*.f64 %23 #s(literal 1 binary64)) %60)
(/.f64 %23 %60)
(/.f64 %27 %57)
(/.f64 %34 %8)
(/.f64 #s(literal 1 binary64) (pow.f64 %45 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 %8 %34))
(/.f64 #s(literal 1 binary64) (/.f64 b %2))
(/.f64 %2 b)
(neg.f64 %38)
(pow.f64 %241 #s(literal 1 binary64))
%241
(/.f64 #s(literal 1 binary64) (pow.f64 %241 #s(literal -1 binary64)))
(*.f64 %247 (/.f64 #s(literal 1 binary64) %60))
(*.f64 %250 %183)
(*.f64 %250 (/.f64 #s(literal 1 binary64) %57))
(*.f64 %246 %25)
(*.f64 %29 %245)
(*.f64 #s(literal 1 binary64) %256)
(*.f64 %256 #s(literal 1 binary64))
(*.f64 %245 %29)
(*.f64 b (/.f64 %245 %57))
(*.f64 b (/.f64 %256 b))
(pow.f64 %256 #s(literal 1 binary64))
(/.f64 (fma.f64 %165 %8 %27) %57)
(/.f64 (-.f64 %267 %23) %57)
(/.f64 (-.f64 (*.f64 %165 b) %27) %60)
(/.f64 (fma.f64 %13 x %267) %57)
(/.f64 (fma.f64 %13 x %275) %57)
(/.f64 (-.f64 %23 %275) %60)
(/.f64 (-.f64 %27 (*.f64 b %165)) %57)
(/.f64 (*.f64 #s(literal -1 binary64) %247) %57)
(/.f64 (*.f64 #s(literal -1 binary64) %250) %60)
(/.f64 (*.f64 #s(literal 1 binary64) %247) %60)
(/.f64 (*.f64 #s(literal 1 binary64) %250) %57)
(/.f64 (*.f64 %247 #s(literal -1 binary64)) %57)
(/.f64 (*.f64 %247 #s(literal 1 binary64)) %60)
(/.f64 (*.f64 %250 #s(literal -1 binary64)) %60)
(/.f64 (*.f64 %250 #s(literal 1 binary64)) %57)
(/.f64 %247 %60)
(/.f64 %250 %57)
(/.f64 %246 %8)
(/.f64 #s(literal 1 binary64) (/.f64 %60 %247))
(/.f64 #s(literal 1 binary64) (/.f64 %57 %250))
(/.f64 #s(literal 1 binary64) (pow.f64 %256 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 %8 %246))
(/.f64 #s(literal 1 binary64) (/.f64 b %245))
(/.f64 %245 b)
(neg.f64 %313)
(fma.f64 %4 %167 %317)
(fma.f64 %4 %167 %320)
(fma.f64 %4 %167 %322)
(fma.f64 %4 %167 %324)
(fma.f64 %4 %167 %326)
(fma.f64 %4 %167 %329)
(fma.f64 %4 %167 %332)
(fma.f64 %4 %167 %335)
(fma.f64 %4 %167 %338)
(fma.f64 %4 %167 %340)
(fma.f64 %4 %167 %342)
(fma.f64 %4 %167 %315)
(fma.f64 %4 %167 a)
(fma.f64 %9 %169 %317)
(fma.f64 %9 %169 %320)
(fma.f64 %9 %169 %322)
(fma.f64 %9 %169 %324)
(fma.f64 %9 %169 %326)
(fma.f64 %9 %169 %329)
(fma.f64 %9 %169 %332)
(fma.f64 %9 %169 %335)
(fma.f64 %9 %169 %338)
(fma.f64 %9 %169 %340)
(fma.f64 %9 %169 %342)
(fma.f64 %9 %169 %315)
(fma.f64 %9 %169 a)
(fma.f64 %13 %171 %317)
(fma.f64 %13 %171 %320)
(fma.f64 %13 %171 %322)
(fma.f64 %13 %171 %324)
(fma.f64 %13 %171 %326)
(fma.f64 %13 %171 %329)
(fma.f64 %13 %171 %332)
(fma.f64 %13 %171 %335)
(fma.f64 %13 %171 %338)
(fma.f64 %13 %171 %340)
(fma.f64 %13 %171 %342)
(fma.f64 %13 %171 %315)
(fma.f64 %13 %171 a)
(fma.f64 %316 %29 %45)
(fma.f64 %16 %173 %317)
(fma.f64 %16 %173 %320)
(fma.f64 %16 %173 %322)
(fma.f64 %16 %173 %324)
(fma.f64 %16 %173 %326)
(fma.f64 %16 %173 %329)
(fma.f64 %16 %173 %332)
(fma.f64 %16 %173 %335)
(fma.f64 %16 %173 %338)
(fma.f64 %16 %173 %340)
(fma.f64 %16 %173 %342)
(fma.f64 %16 %173 %315)
(fma.f64 %16 %173 a)
(fma.f64 %319 %29 %45)
(fma.f64 %20 %175 %317)
(fma.f64 %20 %175 %320)
(fma.f64 %20 %175 %322)
(fma.f64 %20 %175 %324)
(fma.f64 %20 %175 %326)
(fma.f64 %20 %175 %329)
(fma.f64 %20 %175 %332)
(fma.f64 %20 %175 %335)
(fma.f64 %20 %175 %338)
(fma.f64 %20 %175 %340)
(fma.f64 %20 %175 %342)
(fma.f64 %20 %175 %315)
(fma.f64 %20 %175 a)
(fma.f64 %20 %177 %317)
(fma.f64 %20 %177 %320)
(fma.f64 %20 %177 %322)
(fma.f64 %20 %177 %324)
(fma.f64 %20 %177 %326)
(fma.f64 %20 %177 %329)
(fma.f64 %20 %177 %332)
(fma.f64 %20 %177 %335)
(fma.f64 %20 %177 %338)
(fma.f64 %20 %177 %340)
(fma.f64 %20 %177 %342)
(fma.f64 %20 %177 %315)
(fma.f64 %20 %177 a)
(fma.f64 %23 %179 %317)
(fma.f64 %23 %179 %320)
(fma.f64 %23 %179 %322)
(fma.f64 %23 %179 %324)
(fma.f64 %23 %179 %326)
(fma.f64 %23 %179 %329)
(fma.f64 %23 %179 %332)
(fma.f64 %23 %179 %335)
(fma.f64 %23 %179 %338)
(fma.f64 %23 %179 %340)
(fma.f64 %23 %179 %342)
(fma.f64 %23 %179 %315)
(fma.f64 %23 %179 a)
(fma.f64 %23 %181 %317)
(fma.f64 %23 %181 %320)
(fma.f64 %23 %181 %322)
(fma.f64 %23 %181 %324)
(fma.f64 %23 %181 %326)
(fma.f64 %23 %181 %329)
(fma.f64 %23 %181 %332)
(fma.f64 %23 %181 %335)
(fma.f64 %23 %181 %338)
(fma.f64 %23 %181 %340)
(fma.f64 %23 %181 %342)
(fma.f64 %23 %181 %315)
(fma.f64 %23 %181 a)
(fma.f64 %27 %183 %317)
(fma.f64 %27 %183 %320)
(fma.f64 %27 %183 %322)
(fma.f64 %27 %183 %324)
(fma.f64 %27 %183 %326)
(fma.f64 %27 %183 %329)
(fma.f64 %27 %183 %332)
(fma.f64 %27 %183 %335)
(fma.f64 %27 %183 %338)
(fma.f64 %27 %183 %340)
(fma.f64 %27 %183 %342)
(fma.f64 %27 %183 %315)
(fma.f64 %27 %183 a)
(fma.f64 %27 %185 %317)
(fma.f64 %27 %185 %320)
(fma.f64 %27 %185 %322)
(fma.f64 %27 %185 %324)
(fma.f64 %27 %185 %326)
(fma.f64 %27 %185 %329)
(fma.f64 %27 %185 %332)
(fma.f64 %27 %185 %335)
(fma.f64 %27 %185 %338)
(fma.f64 %27 %185 %340)
(fma.f64 %27 %185 %342)
(fma.f64 %27 %185 %315)
(fma.f64 %27 %185 a)
(fma.f64 %14 y %317)
(fma.f64 %14 y %320)
(fma.f64 %14 y %322)
(fma.f64 %14 y %324)
(fma.f64 %14 y %326)
(fma.f64 %14 y %329)
(fma.f64 %14 y %332)
(fma.f64 %14 y %335)
(fma.f64 %14 y %338)
(fma.f64 %14 y %340)
(fma.f64 %14 y %342)
(fma.f64 %14 y %315)
%256
(fma.f64 %18 %10 %317)
(fma.f64 %18 %10 %320)
(fma.f64 %18 %10 %322)
(fma.f64 %18 %10 %324)
(fma.f64 %18 %10 %326)
(fma.f64 %18 %10 %329)
(fma.f64 %18 %10 %332)
(fma.f64 %18 %10 %335)
(fma.f64 %18 %10 %338)
(fma.f64 %18 %10 %340)
(fma.f64 %18 %10 %342)
(fma.f64 %18 %10 %315)
(fma.f64 %18 %10 a)
(fma.f64 %25 %34 %317)
(fma.f64 %25 %34 %320)
(fma.f64 %25 %34 %322)
(fma.f64 %25 %34 %324)
(fma.f64 %25 %34 %326)
(fma.f64 %25 %34 %329)
(fma.f64 %25 %34 %332)
(fma.f64 %25 %34 %335)
(fma.f64 %25 %34 %338)
(fma.f64 %25 %34 %340)
(fma.f64 %25 %34 %342)
(fma.f64 %25 %34 %315)
(fma.f64 %25 %34 a)
(fma.f64 %17 %11 %317)
(fma.f64 %17 %11 %320)
(fma.f64 %17 %11 %322)
(fma.f64 %17 %11 %324)
(fma.f64 %17 %11 %326)
(fma.f64 %17 %11 %329)
(fma.f64 %17 %11 %332)
(fma.f64 %17 %11 %335)
(fma.f64 %17 %11 %338)
(fma.f64 %17 %11 %340)
(fma.f64 %17 %11 %342)
(fma.f64 %17 %11 %315)
(fma.f64 %17 %11 a)
(fma.f64 #s(literal -1 binary64) %38 %317)
(fma.f64 #s(literal -1 binary64) %38 %320)
(fma.f64 #s(literal -1 binary64) %38 %322)
(fma.f64 #s(literal -1 binary64) %38 %324)
(fma.f64 #s(literal -1 binary64) %38 %326)
(fma.f64 #s(literal -1 binary64) %38 %329)
(fma.f64 #s(literal -1 binary64) %38 %332)
(fma.f64 #s(literal -1 binary64) %38 %335)
(fma.f64 #s(literal -1 binary64) %38 %338)
(fma.f64 #s(literal -1 binary64) %38 %340)
(fma.f64 #s(literal -1 binary64) %38 %342)
(fma.f64 #s(literal -1 binary64) %38 %315)
(fma.f64 #s(literal -1 binary64) %38 a)
(fma.f64 %21 %50 %317)
(fma.f64 %21 %50 %320)
(fma.f64 %21 %50 %322)
(fma.f64 %21 %50 %324)
(fma.f64 %21 %50 %326)
(fma.f64 %21 %50 %329)
(fma.f64 %21 %50 %332)
(fma.f64 %21 %50 %335)
(fma.f64 %21 %50 %338)
(fma.f64 %21 %50 %340)
(fma.f64 %21 %50 %342)
(fma.f64 %21 %50 %315)
(fma.f64 %21 %50 a)
(fma.f64 %21 x %317)
(fma.f64 %21 x %320)
(fma.f64 %21 x %322)
(fma.f64 %21 x %324)
(fma.f64 %21 x %326)
(fma.f64 %21 x %329)
(fma.f64 %21 x %332)
(fma.f64 %21 x %335)
(fma.f64 %21 x %338)
(fma.f64 %21 x %340)
(fma.f64 %21 x %342)
(fma.f64 %21 x %315)
(fma.f64 %21 x a)
(fma.f64 %10 %18 %317)
(fma.f64 %10 %18 %320)
(fma.f64 %10 %18 %322)
(fma.f64 %10 %18 %324)
(fma.f64 %10 %18 %326)
(fma.f64 %10 %18 %329)
(fma.f64 %10 %18 %332)
(fma.f64 %10 %18 %335)
(fma.f64 %10 %18 %338)
(fma.f64 %10 %18 %340)
(fma.f64 %10 %18 %342)
(fma.f64 %10 %18 %315)
(fma.f64 %10 %18 a)
(fma.f64 %165 %25 %45)
(fma.f64 %157 #s(literal -1 binary64) %45)
(fma.f64 %38 #s(literal -1 binary64) %317)
(fma.f64 %38 #s(literal -1 binary64) %320)
(fma.f64 %38 #s(literal -1 binary64) %322)
(fma.f64 %38 #s(literal -1 binary64) %324)
(fma.f64 %38 #s(literal -1 binary64) %326)
(fma.f64 %38 #s(literal -1 binary64) %329)
(fma.f64 %38 #s(literal -1 binary64) %332)
(fma.f64 %38 #s(literal -1 binary64) %335)
(fma.f64 %38 #s(literal -1 binary64) %338)
(fma.f64 %38 #s(literal -1 binary64) %340)
(fma.f64 %38 #s(literal -1 binary64) %342)
(fma.f64 %38 #s(literal -1 binary64) %315)
(fma.f64 %38 #s(literal -1 binary64) a)
(fma.f64 %29 %316 %45)
(fma.f64 %29 %319 %45)
(fma.f64 %29 %2 %317)
(fma.f64 %29 %2 %320)
(fma.f64 %29 %2 %322)
(fma.f64 %29 %2 %324)
(fma.f64 %29 %2 %326)
(fma.f64 %29 %2 %329)
(fma.f64 %29 %2 %332)
(fma.f64 %29 %2 %335)
(fma.f64 %29 %2 %338)
(fma.f64 %29 %2 %340)
(fma.f64 %29 %2 %342)
(fma.f64 %29 %2 %315)
(fma.f64 %29 %2 a)
(fma.f64 %29 %160 %45)
(fma.f64 %8 %196 %317)
(fma.f64 %8 %196 %320)
(fma.f64 %8 %196 %322)
(fma.f64 %8 %196 %324)
(fma.f64 %8 %196 %326)
(fma.f64 %8 %196 %329)
(fma.f64 %8 %196 %332)
(fma.f64 %8 %196 %335)
(fma.f64 %8 %196 %338)
(fma.f64 %8 %196 %340)
(fma.f64 %8 %196 %342)
(fma.f64 %8 %196 %315)
(fma.f64 %8 %196 a)
(fma.f64 %8 (/.f64 %157 b) %45)
(fma.f64 %8 (/.f64 a %8) %45)
(fma.f64 %34 %25 %317)
(fma.f64 %34 %25 %320)
(fma.f64 %34 %25 %322)
(fma.f64 %34 %25 %324)
(fma.f64 %34 %25 %326)
(fma.f64 %34 %25 %329)
(fma.f64 %34 %25 %332)
(fma.f64 %34 %25 %335)
(fma.f64 %34 %25 %338)
(fma.f64 %34 %25 %340)
(fma.f64 %34 %25 %342)
(fma.f64 %34 %25 %315)
(fma.f64 %34 %25 a)
(fma.f64 #s(literal 1 binary64) %45 %317)
(fma.f64 #s(literal 1 binary64) %45 %320)
(fma.f64 #s(literal 1 binary64) %45 %322)
(fma.f64 #s(literal 1 binary64) %45 %324)
(fma.f64 #s(literal 1 binary64) %45 %326)
(fma.f64 #s(literal 1 binary64) %45 %329)
(fma.f64 #s(literal 1 binary64) %45 %332)
(fma.f64 #s(literal 1 binary64) %45 %335)
(fma.f64 #s(literal 1 binary64) %45 %338)
(fma.f64 #s(literal 1 binary64) %45 %340)
(fma.f64 #s(literal 1 binary64) %45 %342)
(fma.f64 #s(literal 1 binary64) %45 %315)
(fma.f64 #s(literal 1 binary64) %45 a)
(fma.f64 %2 %29 %317)
(fma.f64 %2 %29 %320)
(fma.f64 %2 %29 %322)
(fma.f64 %2 %29 %324)
(fma.f64 %2 %29 %326)
(fma.f64 %2 %29 %329)
(fma.f64 %2 %29 %332)
(fma.f64 %2 %29 %335)
(fma.f64 %2 %29 %338)
(fma.f64 %2 %29 %340)
(fma.f64 %2 %29 %342)
(fma.f64 %2 %29 %315)
(fma.f64 %2 %29 a)
(fma.f64 %160 %29 %45)
(fma.f64 %45 #s(literal 1 binary64) %317)
(fma.f64 %45 #s(literal 1 binary64) %320)
(fma.f64 %45 #s(literal 1 binary64) %322)
(fma.f64 %45 #s(literal 1 binary64) %324)
(fma.f64 %45 #s(literal 1 binary64) %326)
(fma.f64 %45 #s(literal 1 binary64) %329)
(fma.f64 %45 #s(literal 1 binary64) %332)
(fma.f64 %45 #s(literal 1 binary64) %335)
(fma.f64 %45 #s(literal 1 binary64) %338)
(fma.f64 %45 #s(literal 1 binary64) %340)
(fma.f64 %45 #s(literal 1 binary64) %342)
(fma.f64 %45 #s(literal 1 binary64) %315)
(fma.f64 %45 #s(literal 1 binary64) a)
(fma.f64 b %202 %317)
(fma.f64 b %202 %320)
(fma.f64 b %202 %322)
(fma.f64 b %202 %324)
(fma.f64 b %202 %326)
(fma.f64 b %202 %329)
(fma.f64 b %202 %332)
(fma.f64 b %202 %335)
(fma.f64 b %202 %338)
(fma.f64 b %202 %340)
(fma.f64 b %202 %342)
(fma.f64 b %202 %315)
(fma.f64 b %202 a)
(fma.f64 b %204 %317)
(fma.f64 b %204 %320)
(fma.f64 b %204 %322)
(fma.f64 b %204 %324)
(fma.f64 b %204 %326)
(fma.f64 b %204 %329)
(fma.f64 b %204 %332)
(fma.f64 b %204 %335)
(fma.f64 b %204 %338)
(fma.f64 b %204 %340)
(fma.f64 b %204 %342)
(fma.f64 b %204 %315)
(fma.f64 b %204 a)
(fma.f64 b (/.f64 a b) %45)
(fma.f64 a #s(literal 1 binary64) %45)
(fma.f64 y %206 %317)
(fma.f64 y %206 %320)
(fma.f64 y %206 %322)
(fma.f64 y %206 %324)
(fma.f64 y %206 %326)
(fma.f64 y %206 %329)
(fma.f64 y %206 %332)
(fma.f64 y %206 %335)
(fma.f64 y %206 %338)
(fma.f64 y %206 %340)
(fma.f64 y %206 %342)
(fma.f64 y %206 %315)
(fma.f64 y %206 a)
(fma.f64 y %14 %317)
(fma.f64 y %14 %320)
(fma.f64 y %14 %322)
(fma.f64 y %14 %324)
(fma.f64 y %14 %326)
(fma.f64 y %14 %329)
(fma.f64 y %14 %332)
(fma.f64 y %14 %335)
(fma.f64 y %14 %338)
(fma.f64 y %14 %340)
(fma.f64 y %14 %342)
(fma.f64 y %14 %315)
(fma.f64 y %14 a)
(fma.f64 x %21 %317)
(fma.f64 x %21 %320)
(fma.f64 x %21 %322)
(fma.f64 x %21 %324)
(fma.f64 x %21 %326)
(fma.f64 x %21 %329)
(fma.f64 x %21 %332)
(fma.f64 x %21 %335)
(fma.f64 x %21 %338)
(fma.f64 x %21 %340)
(fma.f64 x %21 %342)
(fma.f64 x %21 %315)
(fma.f64 x %21 a)
(-.f64 %738 %38)
(-.f64 %329 %38)
(-.f64 %338 %38)
(-.f64 %342 %38)
(-.f64 %315 %38)
(-.f64 %45 %744)
(-.f64 %45 %157)
(-.f64 a %38)
(+.f64 %317 %45)
(+.f64 %320 %45)
(+.f64 %322 %45)
(+.f64 %324 %45)
(+.f64 %326 %45)
(+.f64 %738 %45)
(+.f64 %329 %45)
(+.f64 %335 %45)
(+.f64 %338 %45)
(+.f64 %340 %45)
(+.f64 %342 %45)
(+.f64 %315 %45)
(+.f64 %45 %317)
(+.f64 %45 %320)
(+.f64 %45 %322)
(+.f64 %45 %324)
(+.f64 %45 %326)
(+.f64 %45 %329)
(+.f64 %45 %332)
(+.f64 %45 %335)
(+.f64 %45 %338)
(+.f64 %45 %340)
(+.f64 %45 %342)
(+.f64 %45 %315)
(+.f64 %45 a)
(+.f64 a %45)
(*.f64 %313 %8)
(*.f64 %247 %25)
(*.f64 %250 %29)
(*.f64 %246 #s(literal -1 binary64))
(*.f64 %8 %313)
(*.f64 %256 b)
(*.f64 %245 #s(literal 1 binary64))
(*.f64 b %256)
(pow.f64 %245 #s(literal 1 binary64))
(/.f64 (fma.f64 %316 %8 %23) %8)
(/.f64 (fma.f64 %319 %8 %23) %8)
(/.f64 (-.f64 (*.f64 %319 b) %23) b)
(/.f64 (-.f64 (*.f64 %319 %8) %27) %8)
(/.f64 (*.f64 %247 %8) %57)
(/.f64 (*.f64 %247 b) %60)
(/.f64 (*.f64 %247 #s(literal 2 binary64)) %79)
(/.f64 (*.f64 %250 %8) %60)
(/.f64 (*.f64 %250 b) %57)
(/.f64 (*.f64 %250 #s(literal 2 binary64)) %84)
(/.f64 %247 %8)
(/.f64 %250 b)
(/.f64 #s(literal 1 binary64) (/.f64 %8 %247))
(/.f64 #s(literal 1 binary64) (pow.f64 %245 #s(literal -1 binary64)))
(/.f64 #s(literal 1 binary64) (/.f64 b %250))
(neg.f64 (-.f64 %34 %319))
(neg.f64 %246)
(fma.f64 %4 #s(literal 1/2 binary64) %816)
(fma.f64 %4 #s(literal 1/2 binary64) %818)
(fma.f64 %4 #s(literal 1/2 binary64) %316)
(fma.f64 %4 #s(literal 1/2 binary64) %319)
(fma.f64 %4 #s(literal 1/2 binary64) %160)
(fma.f64 %9 %11 %816)
(fma.f64 %9 %11 %818)
(fma.f64 %9 %11 %316)
(fma.f64 %9 %11 %319)
(fma.f64 %9 %11 %160)
(fma.f64 %13 %14 %816)
(fma.f64 %13 %14 %818)
(fma.f64 %13 %14 %316)
(fma.f64 %13 %14 %319)
(fma.f64 %13 %14 %160)
(fma.f64 %313 %8 %833)
(fma.f64 %16 %18 %816)
(fma.f64 %16 %18 %818)
(fma.f64 %16 %18 %316)
(fma.f64 %16 %18 %319)
(fma.f64 %16 %18 %160)
(fma.f64 %247 %25 %833)
(fma.f64 %20 %21 %816)
(fma.f64 %20 %21 %818)
(fma.f64 %20 %21 %316)
(fma.f64 %20 %21 %319)
(fma.f64 %20 %21 %160)
(fma.f64 %250 %29 %833)
(fma.f64 %23 %25 %816)
(fma.f64 %23 %25 %818)
(fma.f64 %23 %25 %316)
(fma.f64 %23 %25 %319)
(fma.f64 %23 %25 %160)
(fma.f64 %27 %29 %816)
(fma.f64 %27 %29 %818)
(fma.f64 %27 %29 %316)
(fma.f64 %27 %29 %319)
(fma.f64 %27 %29 %160)
(fma.f64 #s(literal 1/2 binary64) %245 %857)
(fma.f64 %315 b %2)
(fma.f64 %246 #s(literal -1 binary64) %833)
(fma.f64 %17 %31 %816)
(fma.f64 %17 %31 %818)
(fma.f64 %17 %31 %316)
(fma.f64 %17 %31 %319)
(fma.f64 %17 %31 %160)
(fma.f64 %17 %10 %816)
(fma.f64 %17 %10 %818)
(fma.f64 %17 %10 %316)
(fma.f64 %17 %10 %319)
(fma.f64 %17 %10 %160)
(fma.f64 #s(literal -1 binary64) %34 %816)
(fma.f64 #s(literal -1 binary64) %34 %818)
(fma.f64 #s(literal -1 binary64) %34 %316)
(fma.f64 #s(literal -1 binary64) %34 %319)
(fma.f64 #s(literal -1 binary64) %34 %160)
(fma.f64 %21 %20 %816)
(fma.f64 %21 %20 %818)
(fma.f64 %21 %20 %316)
(fma.f64 %21 %20 %319)
(fma.f64 %21 %20 %160)
(fma.f64 %10 %17 %816)
(fma.f64 %10 %17 %818)
(fma.f64 %10 %17 %316)
(fma.f64 %10 %17 %319)
(fma.f64 %10 %17 %160)
(fma.f64 %157 %8 %2)
(fma.f64 %38 %8 %816)
(fma.f64 %38 %8 %818)
(fma.f64 %38 %8 %316)
(fma.f64 %38 %8 %319)
(fma.f64 %38 %8 %160)
(fma.f64 %29 %27 %816)
(fma.f64 %29 %27 %818)
(fma.f64 %29 %27 %316)
(fma.f64 %29 %27 %319)
(fma.f64 %29 %27 %160)
(fma.f64 %8 %313 %833)
(fma.f64 %8 %157 %2)
(fma.f64 %8 %38 %816)
(fma.f64 %8 %38 %818)
(fma.f64 %8 %38 %316)
(fma.f64 %8 %38 %319)
(fma.f64 %8 %38 %160)
(fma.f64 %34 #s(literal -1 binary64) %816)
(fma.f64 %34 #s(literal -1 binary64) %818)
(fma.f64 %34 #s(literal -1 binary64) %316)
(fma.f64 %34 #s(literal -1 binary64) %319)
(fma.f64 %34 #s(literal -1 binary64) %160)
(fma.f64 #s(literal 1 binary64) %245 %909)
(fma.f64 #s(literal 1 binary64) %2 %816)
(fma.f64 #s(literal 1 binary64) %2 %818)
(fma.f64 #s(literal 1 binary64) %2 %316)
(fma.f64 #s(literal 1 binary64) %2 %319)
(fma.f64 #s(literal 1 binary64) %2 %160)
(fma.f64 %256 b %833)
(fma.f64 %245 #s(literal 1/2 binary64) %917)
(fma.f64 %245 #s(literal 1 binary64) %833)
(fma.f64 %2 #s(literal 1 binary64) %816)
(fma.f64 %2 #s(literal 1 binary64) %818)
(fma.f64 %2 #s(literal 1 binary64) %316)
(fma.f64 %2 #s(literal 1 binary64) %319)
(fma.f64 %2 #s(literal 1 binary64) %160)
(fma.f64 %45 b %816)
(fma.f64 %45 b %818)
(fma.f64 %45 b %316)
(fma.f64 %45 b %319)
(fma.f64 %45 b %160)
(fma.f64 b %315 %2)
(fma.f64 b %256 %833)
(fma.f64 b %45 %816)
(fma.f64 b %45 %818)
(fma.f64 b %45 %316)
(fma.f64 b %45 %319)
(fma.f64 b %45 %160)
%245
(fma.f64 a b %2)
(fma.f64 y %48 %816)
(fma.f64 y %48 %818)
(fma.f64 y %48 %316)
(fma.f64 y %48 %319)
(fma.f64 y %48 %160)
(fma.f64 y %50 %816)
(fma.f64 y %50 %818)
(fma.f64 y %50 %316)
(fma.f64 y %50 %319)
(fma.f64 y %50 %160)
(fma.f64 y %52 %816)
(fma.f64 y %52 %818)
(fma.f64 y %52 %316)
(fma.f64 y %52 %319)
(fma.f64 y %52 %160)
(fma.f64 y x %816)
(fma.f64 y x %818)
(fma.f64 y x %316)
(fma.f64 y x %319)
(fma.f64 y x %160)
(fma.f64 x y %816)
(fma.f64 x y %818)
(fma.f64 x y %316)
(fma.f64 x y %319)
(fma.f64 x y %160)
(-.f64 %316 %34)
(-.f64 %319 %34)
(-.f64 %2 (*.f64 %8 %315))
(-.f64 %2 (*.f64 %744 b))
(-.f64 %2 (neg.f64 %316))
(-.f64 %2 %737)
(-.f64 %2 %165)
(-.f64 %160 %34)
(+.f64 %917 %917)
(+.f64 %857 %857)
(+.f64 (*.f64 #s(literal 1 binary64) %245) %909)
(+.f64 (/.f64 %328 %8) %2)
(+.f64 %816 %2)
(+.f64 %818 %2)
(+.f64 %316 %2)
(+.f64 %319 %2)
(+.f64 %245 %833)
(+.f64 %2 %816)
(+.f64 %2 %818)
(+.f64 %2 %316)
(+.f64 %2 %319)
(+.f64 %2 %160)
(+.f64 %160 %2)
(pow.f64 %991 #s(literal 1 binary64))
%991
(/.f64 #s(literal 1 binary64) (pow.f64 %991 #s(literal -1 binary64)))
(pow.f64 %999 #s(literal 1 binary64))
%999
(/.f64 #s(literal 1 binary64) (pow.f64 %999 #s(literal -1 binary64)))
(pow.f64 %1008 #s(literal 1 binary64))
%1008
(/.f64 #s(literal 1 binary64) (pow.f64 %1008 #s(literal -1 binary64)))
(pow.f64 %1012 #s(literal 1 binary64))
%1012
(/.f64 #s(literal 1 binary64) (pow.f64 %1012 #s(literal -1 binary64)))
(pow.f64 %1016 #s(literal 1 binary64))
%1016
(/.f64 #s(literal 1 binary64) (pow.f64 %1016 #s(literal -1 binary64)))

reconstruct60.0ms (2.4%)

Counts
901 → 189
Compiler

Compiled 901 to 1 208 computations (-34.1% saved)

eval15.0ms (0.6%)

Compiler

Compiled 184 to 544 computations (-195.7% saved)

prune4.0ms (0.1%)

Pruning

8 alts after pruning (3 fresh and 5 done)

PrunedKeptTotal
New1813184
Fresh000
Picked112
Done145
Total1838191
Accuracy
100.0%
Counts
191 → 8
Alt Table
Click to see full alt table
StatusAccuracyProgram
74.8%
(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 x y (fma.f64 i c (*.f64 t z))))
75.0%
(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (fma.f64 a b (fma.f64 c i (*.f64 t z))))
51.7%
%2 = (* x y)
%13 = (* c i)
(approx (+ (+ (+ %2 (* z t)) (* a b)) %13) (fma.f64 a b (approx (+ %13 %2) (*.f64 c i))))
27.9%
(approx (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i)) (*.f64 t z))
51.4%
%2 = (* x y)
%9 = (* a b)
%13 = (* c i)
(approx (+ (+ (+ %2 (* z t)) %9) %13) (approx (+ %9 (+ %13 %2)) (fma.f64 c i (*.f64 x y))))
52.6%
%2 = (* x y)
%9 = (* a b)
%13 = (* c i)
(approx (+ (+ (+ %2 (* z t)) %9) %13) (approx (+ %9 (+ %13 %2)) (fma.f64 a b (*.f64 x y))))
26.7%
%2 = (* x y)
%9 = (* a b)
%13 = (* c i)
(approx (+ (+ (+ %2 (* z t)) %9) %13) (approx (+ %9 (+ %13 %2)) (*.f64 c i)))
27.7%
%2 = (* x y)
%9 = (* a b)
%13 = (* c i)
(approx (+ (+ (+ %2 (* z t)) %9) %13) (approx (+ %9 (+ %13 %2)) (approx (+ %9 %2) (*.f64 a b))))
Compiler

Compiled 8 to 19 computations (-137.5% saved)

regimes105.0ms (4.1%)

Accuracy

Total 114.4b remaining (54.7%)

Threshold costs 0.0b (0.0%)

20.8b29.4%
18.9b36.5%
18.8b37.6%
18.6b39.4%
15.8b47.3%

Counts
1 → 1
2 → 3
3 → 3
4 → 3
5 → 3
6 → 3
7 → 4
9 → 3
10 → 3
11 → 3
12 → 3
13 → 1
Calls
Call 1
Inputs
%2 = (* x y)
%9 = (* a b)
%13 = (* c i)
(approx (+ (+ (+ %2 (* z t)) %9) %13) (approx (+ %9 (+ %13 %2)) (approx (+ %9 %2) (*.f64 a b))))
Outputs
%2 = (* x y)
%9 = (* a b)
%13 = (* c i)
(approx (+ (+ (+ %2 (* z t)) %9) %13) (approx (+ %9 (+ %13 %2)) (approx (+ %9 %2) (*.f64 a b))))
Call 2
Inputs
%2 = (* x y)
%9 = (* a b)
%13 = (* c i)
%14 = (+ (+ (+ %2 (* z t)) %9) %13)
%16 = (+ %9 (+ %13 %2))
(approx %14 (approx %16 (approx (+ %9 %2) (*.f64 a b))))
(approx %14 (approx %16 (*.f64 c i)))
Outputs
%2 = (* x y)
%9 = (* a b)
%13 = (* c i)
%14 = (+ (+ (+ %2 (* z t)) %9) %13)
%16 = (+ %9 (+ %13 %2))
%19 = (approx %14 (approx %16 (*.f64 c i)))
%19
(approx %14 (approx %16 (approx (+ %9 %2) (*.f64 a b))))
%19
Call 3
Inputs
%2 = (* x y)
%9 = (* a b)
%13 = (* c i)
%14 = (+ (+ (+ %2 (* z t)) %9) %13)
%16 = (+ %9 (+ %13 %2))
(approx %14 (approx %16 (approx (+ %9 %2) (*.f64 a b))))
(approx %14 (approx %16 (*.f64 c i)))
(approx %14 (*.f64 t z))
Outputs
%2 = (* x y)
%9 = (* a b)
%13 = (* c i)
%14 = (+ (+ (+ %2 (* z t)) %9) %13)
%21 = (approx %14 (approx (+ %9 (+ %13 %2)) (approx (+ %9 %2) (*.f64 a b))))
%21
(approx %14 (*.f64 t z))
%21
Call 4
Inputs
%2 = (* x y)
%9 = (* a b)
%13 = (* c i)
%14 = (+ (+ (+ %2 (* z t)) %9) %13)
%16 = (+ %9 (+ %13 %2))
(approx %14 (approx %16 (approx (+ %9 %2) (*.f64 a b))))
(approx %14 (approx %16 (*.f64 c i)))
(approx %14 (*.f64 t z))
(approx %14 (approx %16 (fma.f64 a b (*.f64 x y))))
Outputs
%2 = (* x y)
%9 = (* a b)
%13 = (* c i)
%14 = (+ (+ (+ %2 (* z t)) %9) %13)
%16 = (approx %14 (*.f64 t z))
%16
(approx %14 (approx (+ %9 (+ %13 %2)) (fma.f64 a b (*.f64 x y))))
%16
Call 5
Inputs
%2 = (* x y)
%9 = (* a b)
%13 = (* c i)
%14 = (+ (+ (+ %2 (* z t)) %9) %13)
%16 = (+ %9 (+ %13 %2))
%27 = (*.f64 x y)
(approx %14 (approx %16 (approx (+ %9 %2) (*.f64 a b))))
(approx %14 (approx %16 (*.f64 c i)))
(approx %14 (*.f64 t z))
(approx %14 (approx %16 (fma.f64 a b %27)))
(approx %14 (approx %16 (fma.f64 c i %27)))
Outputs
%2 = (* x y)
%9 = (* a b)
%13 = (* c i)
%14 = (+ (+ (+ %2 (* z t)) %9) %13)
%16 = (+ %9 (+ %13 %2))
%17 = (*.f64 x y)
%20 = (approx %14 (approx %16 (fma.f64 c i %17)))
%20
(approx %14 (approx %16 (fma.f64 a b %17)))
%20
Call 6
Inputs
%2 = (* x y)
%9 = (* a b)
%13 = (* c i)
%14 = (+ (+ (+ %2 (* z t)) %9) %13)
%15 = (+ %13 %2)
%16 = (+ %9 %15)
%22 = (*.f64 c i)
%27 = (*.f64 x y)
(approx %14 (approx %16 (approx (+ %9 %2) (*.f64 a b))))
(approx %14 (approx %16 %22))
(approx %14 (*.f64 t z))
(approx %14 (approx %16 (fma.f64 a b %27)))
(approx %14 (approx %16 (fma.f64 c i %27)))
(approx %14 (fma.f64 a b (approx %15 %22)))
Outputs
%2 = (* x y)
%9 = (* a b)
%13 = (* c i)
%14 = (+ (+ (+ %2 (* z t)) %9) %13)
%15 = (+ %13 %2)
%16 = (+ %9 %15)
%17 = (*.f64 x y)
(approx %14 (approx %16 (fma.f64 a b %17)))
(approx %14 (fma.f64 a b (approx %15 (*.f64 c i))))
(approx %14 (approx %16 (fma.f64 c i %17)))
Call 7
Inputs
%2 = (* x y)
%9 = (* a b)
%13 = (* c i)
%14 = (+ (+ (+ %2 (* z t)) %9) %13)
%15 = (+ %13 %2)
%16 = (+ %9 %15)
%22 = (*.f64 c i)
%25 = (*.f64 t z)
%27 = (*.f64 x y)
(approx %14 (approx %16 (approx (+ %9 %2) (*.f64 a b))))
(approx %14 (approx %16 %22))
(approx %14 %25)
(approx %14 (approx %16 (fma.f64 a b %27)))
(approx %14 (approx %16 (fma.f64 c i %27)))
(approx %14 (fma.f64 a b (approx %15 %22)))
(approx %14 (fma.f64 c i (approx (+ (* t z) %2) %25)))
Outputs
%2 = (* x y)
%9 = (* a b)
%13 = (* c i)
%14 = (+ (+ (+ %2 (* z t)) %9) %13)
%15 = (+ %13 %2)
%20 = (approx %14 (approx (+ %9 %15) (fma.f64 a b (*.f64 x y))))
%20
(approx %14 (fma.f64 a b (approx %15 (*.f64 c i))))
(approx %14 (fma.f64 c i (approx (+ (* t z) %2) (*.f64 t z))))
%20
Call 8
Inputs
%2 = (* x y)
%9 = (* a b)
%13 = (* c i)
%14 = (+ (+ (+ %2 (* z t)) %9) %13)
%15 = (+ %13 %2)
%16 = (+ %9 %15)
%17 = (+ %9 %2)
%22 = (*.f64 c i)
%25 = (*.f64 t z)
%27 = (*.f64 x y)
(approx %14 (approx %16 (approx %17 (*.f64 a b))))
(approx %14 (approx %16 %22))
(approx %14 %25)
(approx %14 (approx %16 (fma.f64 a b %27)))
(approx %14 (approx %16 (fma.f64 c i %27)))
(approx %14 (fma.f64 a b (approx %15 %22)))
(approx %14 (fma.f64 c i (approx (+ (* t z) %2) %25)))
(approx %14 (approx %16 (approx %17 (*.f64 b (+.f64 a (/.f64 %27 b))))))
(approx %14 (fma.f64 a b (fma.f64 c i %25)))
Outputs
%2 = (* x y)
%9 = (* a b)
%13 = (* c i)
%14 = (+ (+ (+ %2 (* z t)) %9) %13)
%16 = (+ %9 (+ %13 %2))
%17 = (*.f64 x y)
(approx %14 (approx %16 (fma.f64 a b %17)))
(approx %14 (fma.f64 a b (fma.f64 c i (*.f64 t z))))
(approx %14 (approx %16 (fma.f64 c i %17)))
Call 9
Inputs
%2 = (* x y)
%9 = (* a b)
%13 = (* c i)
%14 = (+ (+ (+ %2 (* z t)) %9) %13)
%15 = (+ %13 %2)
%16 = (+ %9 %15)
%17 = (+ %9 %2)
%22 = (*.f64 c i)
%25 = (*.f64 t z)
%27 = (*.f64 x y)
%31 = (fma.f64 c i %27)
(approx %14 (approx %16 (approx %17 (*.f64 a b))))
(approx %14 (approx %16 %22))
(approx %14 %25)
(approx %14 (approx %16 (fma.f64 a b %27)))
(approx %14 (approx %16 %31))
(approx %14 (fma.f64 a b (approx %15 %22)))
(approx %14 (fma.f64 c i (approx (+ (* t z) %2) %25)))
(approx %14 (approx %16 (approx %17 (*.f64 b (+.f64 a (/.f64 %27 b))))))
(approx %14 (fma.f64 a b (fma.f64 c i %25)))
(approx %14 (fma.f64 a b %31))
Outputs
%14 = (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i))
%18 = (approx %14 (fma.f64 a b (fma.f64 c i (*.f64 x y))))
%18
(approx %14 (fma.f64 a b (fma.f64 c i (*.f64 t z))))
%18
Call 10
Inputs
%2 = (* x y)
%9 = (* a b)
%13 = (* c i)
%14 = (+ (+ (+ %2 (* z t)) %9) %13)
%15 = (+ %13 %2)
%16 = (+ %9 %15)
%17 = (+ %9 %2)
%22 = (*.f64 c i)
%25 = (*.f64 t z)
%27 = (*.f64 x y)
%31 = (fma.f64 c i %27)
(approx %14 (approx %16 (approx %17 (*.f64 a b))))
(approx %14 (approx %16 %22))
(approx %14 %25)
(approx %14 (approx %16 (fma.f64 a b %27)))
(approx %14 (approx %16 %31))
(approx %14 (fma.f64 a b (approx %15 %22)))
(approx %14 (fma.f64 c i (approx (+ (* t z) %2) %25)))
(approx %14 (approx %16 (approx %17 (*.f64 b (+.f64 a (/.f64 %27 b))))))
(approx %14 (fma.f64 a b (fma.f64 c i %25)))
(approx %14 (fma.f64 a b %31))
(approx %14 (fma.f64 c i (fma.f64 t z %27)))
Outputs
%14 = (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i))
%15 = (*.f64 x y)
(approx %14 (fma.f64 a b (fma.f64 c i %15)))
(approx %14 (fma.f64 a b (fma.f64 c i (*.f64 t z))))
(approx %14 (fma.f64 c i (fma.f64 t z %15)))
Call 11
Inputs
%2 = (* x y)
%9 = (* a b)
%13 = (* c i)
%14 = (+ (+ (+ %2 (* z t)) %9) %13)
%15 = (+ %13 %2)
%16 = (+ %9 %15)
%17 = (+ %9 %2)
%22 = (*.f64 c i)
%25 = (*.f64 t z)
%27 = (*.f64 x y)
%31 = (fma.f64 c i %27)
(approx %14 (approx %16 (approx %17 (*.f64 a b))))
(approx %14 (approx %16 %22))
(approx %14 %25)
(approx %14 (approx %16 (fma.f64 a b %27)))
(approx %14 (approx %16 %31))
(approx %14 (fma.f64 a b (approx %15 %22)))
(approx %14 (fma.f64 c i (approx (+ (* t z) %2) %25)))
(approx %14 (approx %16 (approx %17 (*.f64 b (+.f64 a (/.f64 %27 b))))))
(approx %14 (fma.f64 a b (fma.f64 c i %25)))
(approx %14 (fma.f64 a b %31))
(approx %14 (fma.f64 c i (fma.f64 t z %27)))
(approx %14 (fma.f64 x y (fma.f64 i c %25)))
Outputs
%14 = (+ (+ (+ (* x y) (* z t)) (* a b)) (* c i))
%19 = (*.f64 t z)
(approx %14 (fma.f64 a b (fma.f64 c i (*.f64 x y))))
(approx %14 (fma.f64 a b (fma.f64 c i %19)))
(approx %14 (fma.f64 x y (fma.f64 i c %19)))
Call 12
Inputs
%2 = (* x y)
%9 = (* a b)
%13 = (* c i)
%14 = (+ (+ (+ %2 (* z t)) %9) %13)
%15 = (+ %13 %2)
%16 = (+ %9 %15)
%17 = (+ %9 %2)
%22 = (*.f64 c i)
%25 = (*.f64 t z)
%27 = (*.f64 x y)
%31 = (fma.f64 c i %27)
(approx %14 (approx %16 (approx %17 (*.f64 a b))))
(approx %14 (approx %16 %22))
(approx %14 %25)
(approx %14 (approx %16 (fma.f64 a b %27)))
(approx %14 (approx %16 %31))
(approx %14 (fma.f64 a b (approx %15 %22)))
(approx %14 (fma.f64 c i (approx (+ (* t z) %2) %25)))
(approx %14 (approx %16 (approx %17 (*.f64 b (+.f64 a (/.f64 %27 b))))))
(approx %14 (fma.f64 a b (fma.f64 c i %25)))
(approx %14 (fma.f64 a b %31))
(approx %14 (fma.f64 c i (fma.f64 t z %27)))
(approx %14 (fma.f64 x y (fma.f64 i c %25)))
(fma.f64 x y (fma.f64 i c (fma.f64 b a %25)))
Outputs
(fma.f64 x y (fma.f64 i c (fma.f64 b a (*.f64 t z))))
Calls

15 calls:

51.0ms
x
11.0ms
t
9.0ms
b
8.0ms
(*.f64 c i)
8.0ms
(+.f64 (*.f64 x y) (*.f64 z t))
Results
AccuracySegmentsBranch
27.7%1
i
27.7%1
c
27.7%1
b
27.7%1
a
27.7%1
t
27.7%1
z
27.7%1
y
27.7%1
x
27.7%1
(+.f64 (+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b)) (*.f64 c i))
27.7%1
(+.f64 (+.f64 (*.f64 x y) (*.f64 z t)) (*.f64 a b))
27.7%1
(+.f64 (*.f64 x y) (*.f64 z t))
27.7%1
(*.f64 x y)
27.7%1
(*.f64 z t)
27.7%1
(*.f64 a b)
27.7%1
(*.f64 c i)
Compiler

Compiled 29 to 48 computations (-65.5% saved)

bsearch0.0ms (0.0%)

bsearch1.0ms (0.0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
2.9024593901031094e+84
9.699786480206836e+97
0.0ms
-3.1382117749624694e+42
-2.9360892066127204e+25
Compiler

Compiled 1 to 3 computations (-200.0% saved)

bsearch21.0ms (0.8%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
8.0ms
2.9024593901031094e+84
9.699786480206836e+97
9.0ms
-3.1382117749624694e+42
-2.9360892066127204e+25
Samples
9.0ms320×0valid
Compiler

Compiled 22 to 45 computations (-104.5% 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)

bsearch11.0ms (0.4%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
10.0ms
2.80938645407388e+52
6.541894898165044e+58
0.0ms
-3.1382117749624694e+42
-2.9360892066127204e+25
Samples
6.0ms144×0valid
Compiler

Compiled 22 to 45 computations (-104.5% 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.4%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
0.0ms
2.9024593901031094e+84
9.699786480206836e+97
8.0ms
-2.4310301300448993e+92
-1.2864153705594617e+86
Samples
4.0ms144×0valid
Compiler

Compiled 22 to 43 computations (-95.5% 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.5%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
narrow-enough
Steps
TimeLeftRight
7.0ms
6.278703267519285e+70
9.014758854238852e+71
7.0ms
-1.0165352405498678e-135
-5.858451797466734e-140
0.0ms
-2.4310301300448993e+92
-1.2864153705594617e+86
Samples
6.0ms224×0valid
Compiler

Compiled 24 to 49 computations (-104.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)

bsearch1.0ms (0.0%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
0.0ms
2.9024593901031094e+84
9.699786480206836e+97
0.0ms
-2.4310301300448993e+92
-1.2864153705594617e+86
Compiler

Compiled 22 to 37 computations (-68.2% saved)

bsearch0.0ms (0.0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.3592170988783973e+37
3.955987226224554e+38
0.0ms
-4.503682490157631e+125
-4.486484944843847e+122
Compiler

Compiled 1 to 3 computations (-200.0% saved)

bsearch0.0ms (0.0%)

Algorithm
left-value
Steps
TimeLeftRight
0.0ms
1.6347470924198652e+152
6.458373932154687e+156
0.0ms
-4.63197910916018e+150
-1.8130895801718483e+149
Compiler

Compiled 1 to 3 computations (-200.0% saved)

bsearch16.0ms (0.6%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
6.0ms
4.4501402254938404e+25
2.347088136456613e+27
8.0ms
-1.872718146010244e+82
-4.1597606755959216e+72
Samples
7.0ms272×0valid
Compiler

Compiled 22 to 29 computations (-31.8% 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.6%)

Algorithm
binary-search
Stop Event
narrow-enough
narrow-enough
Steps
TimeLeftRight
6.0ms
1.3592170988783973e+37
3.955987226224554e+38
7.0ms
-4.503682490157631e+125
-4.486484944843847e+122
Samples
6.0ms240×0valid
Compiler

Compiled 22 to 29 computations (-31.8% 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)

bsearch0.0ms (0.0%)

derivations63.0ms (2.5%)

Stop Event
fuel
Compiler

Compiled 12 to 80 computations (-566.7% saved)

preprocess178.0ms (7.0%)

Compiler

Compiled 109 to 1 655 computations (-1418.3% saved)

end0.0ms (0.0%)

gc512ms (20.2%)

Allocations
AllocatedPercentPhase
1 293.2 MiB47.2%sample
298.4 MiB10.9%preprocess
267.6 MiB9.8%rewrite
259.3 MiB9.5%series
220.8 MiB8.1%reconstruct
177.4 MiB6.5%regimes
111.5 MiB4.1%bsearch
66.3 MiB2.4%eval
25.1 MiB0.9%prune
19.9 MiB0.7%derivations
1.1 MiB0.0%analyze
0.1 MiB0.0%start
0.0 MiB0.0%end
2 740.8 MiB100.0%total

Profiling

Loading profile data...