module CsoundExpr.Base.MultiOut(
MultiOut,
mo,
moA,
moK,
moI,
mo1,
mo2,
mo3,
mo4,
mo5,
mo6,
mo7,
mo8,
mo9,
mo10,
mo11,
mo12,
mo13,
mo14,
mo15,
mo16,
mo17,
mo18,
mo19,
mo20,
mo21,
mo22,
mo23,
mo24,
mo25,
mo26,
mo27,
mo28,
mo29,
mo30,
mo31,
mo32,
moA1,
moA2,
moA3,
moA4,
moA6,
moA8,
moA16,
moA24,
moA32,
moK1,
moK2,
moK3,
moK4,
moK6,
moK8,
moK16,
moK24,
moK32,
moI1,
moI2,
moI3,
moI4,
moI6,
moI8,
moI16,
moI24,
moI32)
where
import CsoundExpr.Translator.Types
import CsoundExpr.Base.Types
import CsoundExpr.Translator.ExprTree.ExprTree
import CsoundExpr.Translator.Cs.CsTree
import CsoundExpr.Translator.Cs.IM
data MultiOut = MultiOut CsTree
instance IM CsTree MultiOut where
from = MultiOut
to (MultiOut a) = a
labelMO :: (IM CsTree a) => Int -> MultiOut -> a
labelMO id x = from $ outPort id $ (to x :: CsTree)
rateOf :: (X a) => a -> Rate
rateOf a = head $ exprType $ exprTreeTag t1
where t1 = to $ from t0 `asTypeOf` a :: CsTree
t0 = pure (opc "") [] :: CsTree
mo :: (X a) => Int -> MultiOut -> [a]
mo n x = map (flip labelMO x) [0 .. n 1]
moA :: Int -> MultiOut -> [Arate]
moA = mo
moK :: Int -> MultiOut -> [Krate]
moK = mo
moI :: Int -> MultiOut -> [Irate]
moI = mo
moA1 :: MultiOut -> (Arate)
moA1 = mo1
moA2 :: MultiOut -> (Arate, Arate)
moA2 = mo2
moA3 :: MultiOut -> (Arate, Arate, Arate)
moA3 = mo3
moA4 :: MultiOut -> (Arate, Arate, Arate, Arate)
moA4 = mo4
moA6 :: MultiOut -> (Arate, Arate, Arate, Arate, Arate, Arate)
moA6 = mo6
moA8 ::
MultiOut ->
(Arate, Arate, Arate, Arate, Arate, Arate, Arate, Arate)
moA8 = mo8
moA16 ::
MultiOut ->
(Arate, Arate, Arate, Arate, Arate, Arate, Arate, Arate, Arate,
Arate, Arate, Arate, Arate, Arate, Arate, Arate)
moA16 = mo16
moA24 ::
MultiOut ->
(Arate, Arate, Arate, Arate, Arate, Arate, Arate, Arate, Arate,
Arate, Arate, Arate, Arate, Arate, Arate, Arate, Arate, Arate,
Arate, Arate, Arate, Arate, Arate, Arate)
moA24 = mo24
moA32 ::
MultiOut ->
(Arate, Arate, Arate, Arate, Arate, Arate, Arate, Arate, Arate,
Arate, Arate, Arate, Arate, Arate, Arate, Arate, Arate, Arate,
Arate, Arate, Arate, Arate, Arate, Arate, Arate, Arate, Arate,
Arate, Arate, Arate, Arate, Arate)
moA32 = mo32
moK1 :: MultiOut -> (Krate)
moK1 = mo1
moK2 :: MultiOut -> (Krate, Krate)
moK2 = mo2
moK3 :: MultiOut -> (Krate, Krate, Krate)
moK3 = mo3
moK4 :: MultiOut -> (Krate, Krate, Krate, Krate)
moK4 = mo4
moK6 :: MultiOut -> (Krate, Krate, Krate, Krate, Krate, Krate)
moK6 = mo6
moK8 ::
MultiOut ->
(Krate, Krate, Krate, Krate, Krate, Krate, Krate, Krate)
moK8 = mo8
moK16 ::
MultiOut ->
(Krate, Krate, Krate, Krate, Krate, Krate, Krate, Krate, Krate,
Krate, Krate, Krate, Krate, Krate, Krate, Krate)
moK16 = mo16
moK24 ::
MultiOut ->
(Krate, Krate, Krate, Krate, Krate, Krate, Krate, Krate, Krate,
Krate, Krate, Krate, Krate, Krate, Krate, Krate, Krate, Krate,
Krate, Krate, Krate, Krate, Krate, Krate)
moK24 = mo24
moK32 ::
MultiOut ->
(Krate, Krate, Krate, Krate, Krate, Krate, Krate, Krate, Krate,
Krate, Krate, Krate, Krate, Krate, Krate, Krate, Krate, Krate,
Krate, Krate, Krate, Krate, Krate, Krate, Krate, Krate, Krate,
Krate, Krate, Krate, Krate, Krate)
moK32 = mo32
moI1 :: MultiOut -> (Irate)
moI1 = mo1
moI2 :: MultiOut -> (Irate, Irate)
moI2 = mo2
moI3 :: MultiOut -> (Irate, Irate, Irate)
moI3 = mo3
moI4 :: MultiOut -> (Irate, Irate, Irate, Irate)
moI4 = mo4
moI6 :: MultiOut -> (Irate, Irate, Irate, Irate, Irate, Irate)
moI6 = mo6
moI8 ::
MultiOut ->
(Irate, Irate, Irate, Irate, Irate, Irate, Irate, Irate)
moI8 = mo8
moI16 ::
MultiOut ->
(Irate, Irate, Irate, Irate, Irate, Irate, Irate, Irate, Irate,
Irate, Irate, Irate, Irate, Irate, Irate, Irate)
moI16 = mo16
moI24 ::
MultiOut ->
(Irate, Irate, Irate, Irate, Irate, Irate, Irate, Irate, Irate,
Irate, Irate, Irate, Irate, Irate, Irate, Irate, Irate, Irate,
Irate, Irate, Irate, Irate, Irate, Irate)
moI24 = mo24
moI32 ::
MultiOut ->
(Irate, Irate, Irate, Irate, Irate, Irate, Irate, Irate, Irate,
Irate, Irate, Irate, Irate, Irate, Irate, Irate, Irate, Irate,
Irate, Irate, Irate, Irate, Irate, Irate, Irate, Irate, Irate,
Irate, Irate, Irate, Irate, Irate)
moI32 = mo32
mo1 :: (X a0) => MultiOut -> (a0)
mo1 x = (y0)
where y0 = rateMO rs $ labelMO 0 x
rs = [rateOf y0]
mo2 :: (X a0, X a1) => MultiOut -> (a0, a1)
mo2 x = (y0, y1)
where y0 = rateMO rs $ labelMO 0 x
y1 = rateMO rs $ labelMO 1 x
rs = [rateOf y0, rateOf y1]
mo3 :: (X a0, X a1, X a2) => MultiOut -> (a0, a1, a2)
mo3 x = (y0, y1, y2)
where y0 = rateMO rs $ labelMO 0 x
y1 = rateMO rs $ labelMO 1 x
y2 = rateMO rs $ labelMO 2 x
rs = [rateOf y0, rateOf y1, rateOf y2]
mo4 :: (X a0, X a1, X a2, X a3) => MultiOut -> (a0, a1, a2, a3)
mo4 x = (y0, y1, y2, y3)
where y0 = rateMO rs $ labelMO 0 x
y1 = rateMO rs $ labelMO 1 x
y2 = rateMO rs $ labelMO 2 x
y3 = rateMO rs $ labelMO 3 x
rs = [rateOf y0, rateOf y1, rateOf y2, rateOf y3]
mo5 ::
(X a0, X a1, X a2, X a3, X a4) => MultiOut -> (a0, a1, a2, a3, a4)
mo5 x = (y0, y1, y2, y3, y4)
where y0 = rateMO rs $ labelMO 0 x
y1 = rateMO rs $ labelMO 1 x
y2 = rateMO rs $ labelMO 2 x
y3 = rateMO rs $ labelMO 3 x
y4 = rateMO rs $ labelMO 4 x
rs = [rateOf y0, rateOf y1, rateOf y2, rateOf y3, rateOf y4]
mo6 ::
(X a0, X a1, X a2, X a3, X a4, X a5) =>
MultiOut -> (a0, a1, a2, a3, a4, a5)
mo6 x = (y0, y1, y2, y3, y4, y5)
where y0 = rateMO rs $ labelMO 0 x
y1 = rateMO rs $ labelMO 1 x
y2 = rateMO rs $ labelMO 2 x
y3 = rateMO rs $ labelMO 3 x
y4 = rateMO rs $ labelMO 4 x
y5 = rateMO rs $ labelMO 5 x
rs
= [rateOf y0, rateOf y1, rateOf y2, rateOf y3, rateOf y4,
rateOf y5]
mo7 ::
(X a0, X a1, X a2, X a3, X a4, X a5, X a6) =>
MultiOut -> (a0, a1, a2, a3, a4, a5, a6)
mo7 x = (y0, y1, y2, y3, y4, y5, y6)
where y0 = rateMO rs $ labelMO 0 x
y1 = rateMO rs $ labelMO 1 x
y2 = rateMO rs $ labelMO 2 x
y3 = rateMO rs $ labelMO 3 x
y4 = rateMO rs $ labelMO 4 x
y5 = rateMO rs $ labelMO 5 x
y6 = rateMO rs $ labelMO 6 x
rs
= [rateOf y0, rateOf y1, rateOf y2, rateOf y3, rateOf y4,
rateOf y5, rateOf y6]
mo8 ::
(X a0, X a1, X a2, X a3, X a4, X a5, X a6, X a7) =>
MultiOut -> (a0, a1, a2, a3, a4, a5, a6, a7)
mo8 x = (y0, y1, y2, y3, y4, y5, y6, y7)
where y0 = rateMO rs $ labelMO 0 x
y1 = rateMO rs $ labelMO 1 x
y2 = rateMO rs $ labelMO 2 x
y3 = rateMO rs $ labelMO 3 x
y4 = rateMO rs $ labelMO 4 x
y5 = rateMO rs $ labelMO 5 x
y6 = rateMO rs $ labelMO 6 x
y7 = rateMO rs $ labelMO 7 x
rs
= [rateOf y0, rateOf y1, rateOf y2, rateOf y3, rateOf y4,
rateOf y5, rateOf y6, rateOf y7]
mo9 ::
(X a0, X a1, X a2, X a3, X a4, X a5, X a6, X a7, X a8) =>
MultiOut -> (a0, a1, a2, a3, a4, a5, a6, a7, a8)
mo9 x = (y0, y1, y2, y3, y4, y5, y6, y7, y8)
where y0 = rateMO rs $ labelMO 0 x
y1 = rateMO rs $ labelMO 1 x
y2 = rateMO rs $ labelMO 2 x
y3 = rateMO rs $ labelMO 3 x
y4 = rateMO rs $ labelMO 4 x
y5 = rateMO rs $ labelMO 5 x
y6 = rateMO rs $ labelMO 6 x
y7 = rateMO rs $ labelMO 7 x
y8 = rateMO rs $ labelMO 8 x
rs
= [rateOf y0, rateOf y1, rateOf y2, rateOf y3, rateOf y4,
rateOf y5, rateOf y6, rateOf y7, rateOf y8]
mo10 ::
(X a0, X a1, X a2, X a3, X a4, X a5, X a6, X a7, X a8, X a9) =>
MultiOut -> (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9)
mo10 x = (y0, y1, y2, y3, y4, y5, y6, y7, y8, y9)
where y0 = rateMO rs $ labelMO 0 x
y1 = rateMO rs $ labelMO 1 x
y2 = rateMO rs $ labelMO 2 x
y3 = rateMO rs $ labelMO 3 x
y4 = rateMO rs $ labelMO 4 x
y5 = rateMO rs $ labelMO 5 x
y6 = rateMO rs $ labelMO 6 x
y7 = rateMO rs $ labelMO 7 x
y8 = rateMO rs $ labelMO 8 x
y9 = rateMO rs $ labelMO 9 x
rs
= [rateOf y0, rateOf y1, rateOf y2, rateOf y3, rateOf y4,
rateOf y5, rateOf y6, rateOf y7, rateOf y8, rateOf y9]
mo11 ::
(X a0, X a1, X a2, X a3, X a4, X a5, X a6, X a7, X a8, X a9,
X a10) =>
MultiOut -> (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10)
mo11 x = (y0, y1, y2, y3, y4, y5, y6, y7, y8, y9, y10)
where y0 = rateMO rs $ labelMO 0 x
y1 = rateMO rs $ labelMO 1 x
y2 = rateMO rs $ labelMO 2 x
y3 = rateMO rs $ labelMO 3 x
y4 = rateMO rs $ labelMO 4 x
y5 = rateMO rs $ labelMO 5 x
y6 = rateMO rs $ labelMO 6 x
y7 = rateMO rs $ labelMO 7 x
y8 = rateMO rs $ labelMO 8 x
y9 = rateMO rs $ labelMO 9 x
y10 = rateMO rs $ labelMO 10 x
rs
= [rateOf y0, rateOf y1, rateOf y2, rateOf y3, rateOf y4,
rateOf y5, rateOf y6, rateOf y7, rateOf y8, rateOf y9, rateOf y10]
mo12 ::
(X a0, X a1, X a2, X a3, X a4, X a5, X a6, X a7, X a8, X a9, X a10,
X a11) =>
MultiOut -> (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11)
mo12 x = (y0, y1, y2, y3, y4, y5, y6, y7, y8, y9, y10, y11)
where y0 = rateMO rs $ labelMO 0 x
y1 = rateMO rs $ labelMO 1 x
y2 = rateMO rs $ labelMO 2 x
y3 = rateMO rs $ labelMO 3 x
y4 = rateMO rs $ labelMO 4 x
y5 = rateMO rs $ labelMO 5 x
y6 = rateMO rs $ labelMO 6 x
y7 = rateMO rs $ labelMO 7 x
y8 = rateMO rs $ labelMO 8 x
y9 = rateMO rs $ labelMO 9 x
y10 = rateMO rs $ labelMO 10 x
y11 = rateMO rs $ labelMO 11 x
rs
= [rateOf y0, rateOf y1, rateOf y2, rateOf y3, rateOf y4,
rateOf y5, rateOf y6, rateOf y7, rateOf y8, rateOf y9, rateOf y10,
rateOf y11]
mo13 ::
(X a0, X a1, X a2, X a3, X a4, X a5, X a6, X a7, X a8, X a9, X a10,
X a11, X a12) =>
MultiOut -> (a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12)
mo13 x = (y0, y1, y2, y3, y4, y5, y6, y7, y8, y9, y10, y11, y12)
where y0 = rateMO rs $ labelMO 0 x
y1 = rateMO rs $ labelMO 1 x
y2 = rateMO rs $ labelMO 2 x
y3 = rateMO rs $ labelMO 3 x
y4 = rateMO rs $ labelMO 4 x
y5 = rateMO rs $ labelMO 5 x
y6 = rateMO rs $ labelMO 6 x
y7 = rateMO rs $ labelMO 7 x
y8 = rateMO rs $ labelMO 8 x
y9 = rateMO rs $ labelMO 9 x
y10 = rateMO rs $ labelMO 10 x
y11 = rateMO rs $ labelMO 11 x
y12 = rateMO rs $ labelMO 12 x
rs
= [rateOf y0, rateOf y1, rateOf y2, rateOf y3, rateOf y4,
rateOf y5, rateOf y6, rateOf y7, rateOf y8, rateOf y9, rateOf y10,
rateOf y11, rateOf y12]
mo14 ::
(X a0, X a1, X a2, X a3, X a4, X a5, X a6, X a7, X a8, X a9, X a10,
X a11, X a12, X a13) =>
MultiOut ->
(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13)
mo14 x
= (y0, y1, y2, y3, y4, y5, y6, y7, y8, y9, y10, y11, y12, y13)
where y0 = rateMO rs $ labelMO 0 x
y1 = rateMO rs $ labelMO 1 x
y2 = rateMO rs $ labelMO 2 x
y3 = rateMO rs $ labelMO 3 x
y4 = rateMO rs $ labelMO 4 x
y5 = rateMO rs $ labelMO 5 x
y6 = rateMO rs $ labelMO 6 x
y7 = rateMO rs $ labelMO 7 x
y8 = rateMO rs $ labelMO 8 x
y9 = rateMO rs $ labelMO 9 x
y10 = rateMO rs $ labelMO 10 x
y11 = rateMO rs $ labelMO 11 x
y12 = rateMO rs $ labelMO 12 x
y13 = rateMO rs $ labelMO 13 x
rs
= [rateOf y0, rateOf y1, rateOf y2, rateOf y3, rateOf y4,
rateOf y5, rateOf y6, rateOf y7, rateOf y8, rateOf y9, rateOf y10,
rateOf y11, rateOf y12, rateOf y13]
mo15 ::
(X a0, X a1, X a2, X a3, X a4, X a5, X a6, X a7, X a8, X a9, X a10,
X a11, X a12, X a13, X a14) =>
MultiOut ->
(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14)
mo15 x
= (y0, y1, y2, y3, y4, y5, y6, y7, y8, y9, y10, y11, y12, y13, y14)
where y0 = rateMO rs $ labelMO 0 x
y1 = rateMO rs $ labelMO 1 x
y2 = rateMO rs $ labelMO 2 x
y3 = rateMO rs $ labelMO 3 x
y4 = rateMO rs $ labelMO 4 x
y5 = rateMO rs $ labelMO 5 x
y6 = rateMO rs $ labelMO 6 x
y7 = rateMO rs $ labelMO 7 x
y8 = rateMO rs $ labelMO 8 x
y9 = rateMO rs $ labelMO 9 x
y10 = rateMO rs $ labelMO 10 x
y11 = rateMO rs $ labelMO 11 x
y12 = rateMO rs $ labelMO 12 x
y13 = rateMO rs $ labelMO 13 x
y14 = rateMO rs $ labelMO 14 x
rs
= [rateOf y0, rateOf y1, rateOf y2, rateOf y3, rateOf y4,
rateOf y5, rateOf y6, rateOf y7, rateOf y8, rateOf y9, rateOf y10,
rateOf y11, rateOf y12, rateOf y13, rateOf y14]
mo16 ::
(X a0, X a1, X a2, X a3, X a4, X a5, X a6, X a7, X a8, X a9, X a10,
X a11, X a12, X a13, X a14, X a15) =>
MultiOut ->
(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
a15)
mo16 x
= (y0, y1, y2, y3, y4, y5, y6, y7, y8, y9, y10, y11, y12, y13, y14,
y15)
where y0 = rateMO rs $ labelMO 0 x
y1 = rateMO rs $ labelMO 1 x
y2 = rateMO rs $ labelMO 2 x
y3 = rateMO rs $ labelMO 3 x
y4 = rateMO rs $ labelMO 4 x
y5 = rateMO rs $ labelMO 5 x
y6 = rateMO rs $ labelMO 6 x
y7 = rateMO rs $ labelMO 7 x
y8 = rateMO rs $ labelMO 8 x
y9 = rateMO rs $ labelMO 9 x
y10 = rateMO rs $ labelMO 10 x
y11 = rateMO rs $ labelMO 11 x
y12 = rateMO rs $ labelMO 12 x
y13 = rateMO rs $ labelMO 13 x
y14 = rateMO rs $ labelMO 14 x
y15 = rateMO rs $ labelMO 15 x
rs
= [rateOf y0, rateOf y1, rateOf y2, rateOf y3, rateOf y4,
rateOf y5, rateOf y6, rateOf y7, rateOf y8, rateOf y9, rateOf y10,
rateOf y11, rateOf y12, rateOf y13, rateOf y14, rateOf y15]
mo17 ::
(X a0, X a1, X a2, X a3, X a4, X a5, X a6, X a7, X a8, X a9, X a10,
X a11, X a12, X a13, X a14, X a15, X a16) =>
MultiOut ->
(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
a15, a16)
mo17 x
= (y0, y1, y2, y3, y4, y5, y6, y7, y8, y9, y10, y11, y12, y13, y14,
y15, y16)
where y0 = rateMO rs $ labelMO 0 x
y1 = rateMO rs $ labelMO 1 x
y2 = rateMO rs $ labelMO 2 x
y3 = rateMO rs $ labelMO 3 x
y4 = rateMO rs $ labelMO 4 x
y5 = rateMO rs $ labelMO 5 x
y6 = rateMO rs $ labelMO 6 x
y7 = rateMO rs $ labelMO 7 x
y8 = rateMO rs $ labelMO 8 x
y9 = rateMO rs $ labelMO 9 x
y10 = rateMO rs $ labelMO 10 x
y11 = rateMO rs $ labelMO 11 x
y12 = rateMO rs $ labelMO 12 x
y13 = rateMO rs $ labelMO 13 x
y14 = rateMO rs $ labelMO 14 x
y15 = rateMO rs $ labelMO 15 x
y16 = rateMO rs $ labelMO 16 x
rs
= [rateOf y0, rateOf y1, rateOf y2, rateOf y3, rateOf y4,
rateOf y5, rateOf y6, rateOf y7, rateOf y8, rateOf y9, rateOf y10,
rateOf y11, rateOf y12, rateOf y13, rateOf y14, rateOf y15,
rateOf y16]
mo18 ::
(X a0, X a1, X a2, X a3, X a4, X a5, X a6, X a7, X a8, X a9, X a10,
X a11, X a12, X a13, X a14, X a15, X a16, X a17) =>
MultiOut ->
(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
a15, a16, a17)
mo18 x
= (y0, y1, y2, y3, y4, y5, y6, y7, y8, y9, y10, y11, y12, y13, y14,
y15, y16, y17)
where y0 = rateMO rs $ labelMO 0 x
y1 = rateMO rs $ labelMO 1 x
y2 = rateMO rs $ labelMO 2 x
y3 = rateMO rs $ labelMO 3 x
y4 = rateMO rs $ labelMO 4 x
y5 = rateMO rs $ labelMO 5 x
y6 = rateMO rs $ labelMO 6 x
y7 = rateMO rs $ labelMO 7 x
y8 = rateMO rs $ labelMO 8 x
y9 = rateMO rs $ labelMO 9 x
y10 = rateMO rs $ labelMO 10 x
y11 = rateMO rs $ labelMO 11 x
y12 = rateMO rs $ labelMO 12 x
y13 = rateMO rs $ labelMO 13 x
y14 = rateMO rs $ labelMO 14 x
y15 = rateMO rs $ labelMO 15 x
y16 = rateMO rs $ labelMO 16 x
y17 = rateMO rs $ labelMO 17 x
rs
= [rateOf y0, rateOf y1, rateOf y2, rateOf y3, rateOf y4,
rateOf y5, rateOf y6, rateOf y7, rateOf y8, rateOf y9, rateOf y10,
rateOf y11, rateOf y12, rateOf y13, rateOf y14, rateOf y15,
rateOf y16, rateOf y17]
mo19 ::
(X a0, X a1, X a2, X a3, X a4, X a5, X a6, X a7, X a8, X a9, X a10,
X a11, X a12, X a13, X a14, X a15, X a16, X a17, X a18) =>
MultiOut ->
(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
a15, a16, a17, a18)
mo19 x
= (y0, y1, y2, y3, y4, y5, y6, y7, y8, y9, y10, y11, y12, y13, y14,
y15, y16, y17, y18)
where y0 = rateMO rs $ labelMO 0 x
y1 = rateMO rs $ labelMO 1 x
y2 = rateMO rs $ labelMO 2 x
y3 = rateMO rs $ labelMO 3 x
y4 = rateMO rs $ labelMO 4 x
y5 = rateMO rs $ labelMO 5 x
y6 = rateMO rs $ labelMO 6 x
y7 = rateMO rs $ labelMO 7 x
y8 = rateMO rs $ labelMO 8 x
y9 = rateMO rs $ labelMO 9 x
y10 = rateMO rs $ labelMO 10 x
y11 = rateMO rs $ labelMO 11 x
y12 = rateMO rs $ labelMO 12 x
y13 = rateMO rs $ labelMO 13 x
y14 = rateMO rs $ labelMO 14 x
y15 = rateMO rs $ labelMO 15 x
y16 = rateMO rs $ labelMO 16 x
y17 = rateMO rs $ labelMO 17 x
y18 = rateMO rs $ labelMO 18 x
rs
= [rateOf y0, rateOf y1, rateOf y2, rateOf y3, rateOf y4,
rateOf y5, rateOf y6, rateOf y7, rateOf y8, rateOf y9, rateOf y10,
rateOf y11, rateOf y12, rateOf y13, rateOf y14, rateOf y15,
rateOf y16, rateOf y17, rateOf y18]
mo20 ::
(X a0, X a1, X a2, X a3, X a4, X a5, X a6, X a7, X a8, X a9, X a10,
X a11, X a12, X a13, X a14, X a15, X a16, X a17, X a18, X a19) =>
MultiOut ->
(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
a15, a16, a17, a18, a19)
mo20 x
= (y0, y1, y2, y3, y4, y5, y6, y7, y8, y9, y10, y11, y12, y13, y14,
y15, y16, y17, y18, y19)
where y0 = rateMO rs $ labelMO 0 x
y1 = rateMO rs $ labelMO 1 x
y2 = rateMO rs $ labelMO 2 x
y3 = rateMO rs $ labelMO 3 x
y4 = rateMO rs $ labelMO 4 x
y5 = rateMO rs $ labelMO 5 x
y6 = rateMO rs $ labelMO 6 x
y7 = rateMO rs $ labelMO 7 x
y8 = rateMO rs $ labelMO 8 x
y9 = rateMO rs $ labelMO 9 x
y10 = rateMO rs $ labelMO 10 x
y11 = rateMO rs $ labelMO 11 x
y12 = rateMO rs $ labelMO 12 x
y13 = rateMO rs $ labelMO 13 x
y14 = rateMO rs $ labelMO 14 x
y15 = rateMO rs $ labelMO 15 x
y16 = rateMO rs $ labelMO 16 x
y17 = rateMO rs $ labelMO 17 x
y18 = rateMO rs $ labelMO 18 x
y19 = rateMO rs $ labelMO 19 x
rs
= [rateOf y0, rateOf y1, rateOf y2, rateOf y3, rateOf y4,
rateOf y5, rateOf y6, rateOf y7, rateOf y8, rateOf y9, rateOf y10,
rateOf y11, rateOf y12, rateOf y13, rateOf y14, rateOf y15,
rateOf y16, rateOf y17, rateOf y18, rateOf y19]
mo21 ::
(X a0, X a1, X a2, X a3, X a4, X a5, X a6, X a7, X a8, X a9, X a10,
X a11, X a12, X a13, X a14, X a15, X a16, X a17, X a18, X a19,
X a20) =>
MultiOut ->
(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
a15, a16, a17, a18, a19, a20)
mo21 x
= (y0, y1, y2, y3, y4, y5, y6, y7, y8, y9, y10, y11, y12, y13, y14,
y15, y16, y17, y18, y19, y20)
where y0 = rateMO rs $ labelMO 0 x
y1 = rateMO rs $ labelMO 1 x
y2 = rateMO rs $ labelMO 2 x
y3 = rateMO rs $ labelMO 3 x
y4 = rateMO rs $ labelMO 4 x
y5 = rateMO rs $ labelMO 5 x
y6 = rateMO rs $ labelMO 6 x
y7 = rateMO rs $ labelMO 7 x
y8 = rateMO rs $ labelMO 8 x
y9 = rateMO rs $ labelMO 9 x
y10 = rateMO rs $ labelMO 10 x
y11 = rateMO rs $ labelMO 11 x
y12 = rateMO rs $ labelMO 12 x
y13 = rateMO rs $ labelMO 13 x
y14 = rateMO rs $ labelMO 14 x
y15 = rateMO rs $ labelMO 15 x
y16 = rateMO rs $ labelMO 16 x
y17 = rateMO rs $ labelMO 17 x
y18 = rateMO rs $ labelMO 18 x
y19 = rateMO rs $ labelMO 19 x
y20 = rateMO rs $ labelMO 20 x
rs
= [rateOf y0, rateOf y1, rateOf y2, rateOf y3, rateOf y4,
rateOf y5, rateOf y6, rateOf y7, rateOf y8, rateOf y9, rateOf y10,
rateOf y11, rateOf y12, rateOf y13, rateOf y14, rateOf y15,
rateOf y16, rateOf y17, rateOf y18, rateOf y19, rateOf y20]
mo22 ::
(X a0, X a1, X a2, X a3, X a4, X a5, X a6, X a7, X a8, X a9, X a10,
X a11, X a12, X a13, X a14, X a15, X a16, X a17, X a18, X a19,
X a20, X a21) =>
MultiOut ->
(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
a15, a16, a17, a18, a19, a20, a21)
mo22 x
= (y0, y1, y2, y3, y4, y5, y6, y7, y8, y9, y10, y11, y12, y13, y14,
y15, y16, y17, y18, y19, y20, y21)
where y0 = rateMO rs $ labelMO 0 x
y1 = rateMO rs $ labelMO 1 x
y2 = rateMO rs $ labelMO 2 x
y3 = rateMO rs $ labelMO 3 x
y4 = rateMO rs $ labelMO 4 x
y5 = rateMO rs $ labelMO 5 x
y6 = rateMO rs $ labelMO 6 x
y7 = rateMO rs $ labelMO 7 x
y8 = rateMO rs $ labelMO 8 x
y9 = rateMO rs $ labelMO 9 x
y10 = rateMO rs $ labelMO 10 x
y11 = rateMO rs $ labelMO 11 x
y12 = rateMO rs $ labelMO 12 x
y13 = rateMO rs $ labelMO 13 x
y14 = rateMO rs $ labelMO 14 x
y15 = rateMO rs $ labelMO 15 x
y16 = rateMO rs $ labelMO 16 x
y17 = rateMO rs $ labelMO 17 x
y18 = rateMO rs $ labelMO 18 x
y19 = rateMO rs $ labelMO 19 x
y20 = rateMO rs $ labelMO 20 x
y21 = rateMO rs $ labelMO 21 x
rs
= [rateOf y0, rateOf y1, rateOf y2, rateOf y3, rateOf y4,
rateOf y5, rateOf y6, rateOf y7, rateOf y8, rateOf y9, rateOf y10,
rateOf y11, rateOf y12, rateOf y13, rateOf y14, rateOf y15,
rateOf y16, rateOf y17, rateOf y18, rateOf y19, rateOf y20,
rateOf y21]
mo23 ::
(X a0, X a1, X a2, X a3, X a4, X a5, X a6, X a7, X a8, X a9, X a10,
X a11, X a12, X a13, X a14, X a15, X a16, X a17, X a18, X a19,
X a20, X a21, X a22) =>
MultiOut ->
(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
a15, a16, a17, a18, a19, a20, a21, a22)
mo23 x
= (y0, y1, y2, y3, y4, y5, y6, y7, y8, y9, y10, y11, y12, y13, y14,
y15, y16, y17, y18, y19, y20, y21, y22)
where y0 = rateMO rs $ labelMO 0 x
y1 = rateMO rs $ labelMO 1 x
y2 = rateMO rs $ labelMO 2 x
y3 = rateMO rs $ labelMO 3 x
y4 = rateMO rs $ labelMO 4 x
y5 = rateMO rs $ labelMO 5 x
y6 = rateMO rs $ labelMO 6 x
y7 = rateMO rs $ labelMO 7 x
y8 = rateMO rs $ labelMO 8 x
y9 = rateMO rs $ labelMO 9 x
y10 = rateMO rs $ labelMO 10 x
y11 = rateMO rs $ labelMO 11 x
y12 = rateMO rs $ labelMO 12 x
y13 = rateMO rs $ labelMO 13 x
y14 = rateMO rs $ labelMO 14 x
y15 = rateMO rs $ labelMO 15 x
y16 = rateMO rs $ labelMO 16 x
y17 = rateMO rs $ labelMO 17 x
y18 = rateMO rs $ labelMO 18 x
y19 = rateMO rs $ labelMO 19 x
y20 = rateMO rs $ labelMO 20 x
y21 = rateMO rs $ labelMO 21 x
y22 = rateMO rs $ labelMO 22 x
rs
= [rateOf y0, rateOf y1, rateOf y2, rateOf y3, rateOf y4,
rateOf y5, rateOf y6, rateOf y7, rateOf y8, rateOf y9, rateOf y10,
rateOf y11, rateOf y12, rateOf y13, rateOf y14, rateOf y15,
rateOf y16, rateOf y17, rateOf y18, rateOf y19, rateOf y20,
rateOf y21, rateOf y22]
mo24 ::
(X a0, X a1, X a2, X a3, X a4, X a5, X a6, X a7, X a8, X a9, X a10,
X a11, X a12, X a13, X a14, X a15, X a16, X a17, X a18, X a19,
X a20, X a21, X a22, X a23) =>
MultiOut ->
(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
a15, a16, a17, a18, a19, a20, a21, a22, a23)
mo24 x
= (y0, y1, y2, y3, y4, y5, y6, y7, y8, y9, y10, y11, y12, y13, y14,
y15, y16, y17, y18, y19, y20, y21, y22, y23)
where y0 = rateMO rs $ labelMO 0 x
y1 = rateMO rs $ labelMO 1 x
y2 = rateMO rs $ labelMO 2 x
y3 = rateMO rs $ labelMO 3 x
y4 = rateMO rs $ labelMO 4 x
y5 = rateMO rs $ labelMO 5 x
y6 = rateMO rs $ labelMO 6 x
y7 = rateMO rs $ labelMO 7 x
y8 = rateMO rs $ labelMO 8 x
y9 = rateMO rs $ labelMO 9 x
y10 = rateMO rs $ labelMO 10 x
y11 = rateMO rs $ labelMO 11 x
y12 = rateMO rs $ labelMO 12 x
y13 = rateMO rs $ labelMO 13 x
y14 = rateMO rs $ labelMO 14 x
y15 = rateMO rs $ labelMO 15 x
y16 = rateMO rs $ labelMO 16 x
y17 = rateMO rs $ labelMO 17 x
y18 = rateMO rs $ labelMO 18 x
y19 = rateMO rs $ labelMO 19 x
y20 = rateMO rs $ labelMO 20 x
y21 = rateMO rs $ labelMO 21 x
y22 = rateMO rs $ labelMO 22 x
y23 = rateMO rs $ labelMO 23 x
rs
= [rateOf y0, rateOf y1, rateOf y2, rateOf y3, rateOf y4,
rateOf y5, rateOf y6, rateOf y7, rateOf y8, rateOf y9, rateOf y10,
rateOf y11, rateOf y12, rateOf y13, rateOf y14, rateOf y15,
rateOf y16, rateOf y17, rateOf y18, rateOf y19, rateOf y20,
rateOf y21, rateOf y22, rateOf y23]
mo25 ::
(X a0, X a1, X a2, X a3, X a4, X a5, X a6, X a7, X a8, X a9, X a10,
X a11, X a12, X a13, X a14, X a15, X a16, X a17, X a18, X a19,
X a20, X a21, X a22, X a23, X a24) =>
MultiOut ->
(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
a15, a16, a17, a18, a19, a20, a21, a22, a23, a24)
mo25 x
= (y0, y1, y2, y3, y4, y5, y6, y7, y8, y9, y10, y11, y12, y13, y14,
y15, y16, y17, y18, y19, y20, y21, y22, y23, y24)
where y0 = rateMO rs $ labelMO 0 x
y1 = rateMO rs $ labelMO 1 x
y2 = rateMO rs $ labelMO 2 x
y3 = rateMO rs $ labelMO 3 x
y4 = rateMO rs $ labelMO 4 x
y5 = rateMO rs $ labelMO 5 x
y6 = rateMO rs $ labelMO 6 x
y7 = rateMO rs $ labelMO 7 x
y8 = rateMO rs $ labelMO 8 x
y9 = rateMO rs $ labelMO 9 x
y10 = rateMO rs $ labelMO 10 x
y11 = rateMO rs $ labelMO 11 x
y12 = rateMO rs $ labelMO 12 x
y13 = rateMO rs $ labelMO 13 x
y14 = rateMO rs $ labelMO 14 x
y15 = rateMO rs $ labelMO 15 x
y16 = rateMO rs $ labelMO 16 x
y17 = rateMO rs $ labelMO 17 x
y18 = rateMO rs $ labelMO 18 x
y19 = rateMO rs $ labelMO 19 x
y20 = rateMO rs $ labelMO 20 x
y21 = rateMO rs $ labelMO 21 x
y22 = rateMO rs $ labelMO 22 x
y23 = rateMO rs $ labelMO 23 x
y24 = rateMO rs $ labelMO 24 x
rs
= [rateOf y0, rateOf y1, rateOf y2, rateOf y3, rateOf y4,
rateOf y5, rateOf y6, rateOf y7, rateOf y8, rateOf y9, rateOf y10,
rateOf y11, rateOf y12, rateOf y13, rateOf y14, rateOf y15,
rateOf y16, rateOf y17, rateOf y18, rateOf y19, rateOf y20,
rateOf y21, rateOf y22, rateOf y23, rateOf y24]
mo26 ::
(X a0, X a1, X a2, X a3, X a4, X a5, X a6, X a7, X a8, X a9, X a10,
X a11, X a12, X a13, X a14, X a15, X a16, X a17, X a18, X a19,
X a20, X a21, X a22, X a23, X a24, X a25) =>
MultiOut ->
(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25)
mo26 x
= (y0, y1, y2, y3, y4, y5, y6, y7, y8, y9, y10, y11, y12, y13, y14,
y15, y16, y17, y18, y19, y20, y21, y22, y23, y24, y25)
where y0 = rateMO rs $ labelMO 0 x
y1 = rateMO rs $ labelMO 1 x
y2 = rateMO rs $ labelMO 2 x
y3 = rateMO rs $ labelMO 3 x
y4 = rateMO rs $ labelMO 4 x
y5 = rateMO rs $ labelMO 5 x
y6 = rateMO rs $ labelMO 6 x
y7 = rateMO rs $ labelMO 7 x
y8 = rateMO rs $ labelMO 8 x
y9 = rateMO rs $ labelMO 9 x
y10 = rateMO rs $ labelMO 10 x
y11 = rateMO rs $ labelMO 11 x
y12 = rateMO rs $ labelMO 12 x
y13 = rateMO rs $ labelMO 13 x
y14 = rateMO rs $ labelMO 14 x
y15 = rateMO rs $ labelMO 15 x
y16 = rateMO rs $ labelMO 16 x
y17 = rateMO rs $ labelMO 17 x
y18 = rateMO rs $ labelMO 18 x
y19 = rateMO rs $ labelMO 19 x
y20 = rateMO rs $ labelMO 20 x
y21 = rateMO rs $ labelMO 21 x
y22 = rateMO rs $ labelMO 22 x
y23 = rateMO rs $ labelMO 23 x
y24 = rateMO rs $ labelMO 24 x
y25 = rateMO rs $ labelMO 25 x
rs
= [rateOf y0, rateOf y1, rateOf y2, rateOf y3, rateOf y4,
rateOf y5, rateOf y6, rateOf y7, rateOf y8, rateOf y9, rateOf y10,
rateOf y11, rateOf y12, rateOf y13, rateOf y14, rateOf y15,
rateOf y16, rateOf y17, rateOf y18, rateOf y19, rateOf y20,
rateOf y21, rateOf y22, rateOf y23, rateOf y24, rateOf y25]
mo27 ::
(X a0, X a1, X a2, X a3, X a4, X a5, X a6, X a7, X a8, X a9, X a10,
X a11, X a12, X a13, X a14, X a15, X a16, X a17, X a18, X a19,
X a20, X a21, X a22, X a23, X a24, X a25, X a26) =>
MultiOut ->
(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26)
mo27 x
= (y0, y1, y2, y3, y4, y5, y6, y7, y8, y9, y10, y11, y12, y13, y14,
y15, y16, y17, y18, y19, y20, y21, y22, y23, y24, y25, y26)
where y0 = rateMO rs $ labelMO 0 x
y1 = rateMO rs $ labelMO 1 x
y2 = rateMO rs $ labelMO 2 x
y3 = rateMO rs $ labelMO 3 x
y4 = rateMO rs $ labelMO 4 x
y5 = rateMO rs $ labelMO 5 x
y6 = rateMO rs $ labelMO 6 x
y7 = rateMO rs $ labelMO 7 x
y8 = rateMO rs $ labelMO 8 x
y9 = rateMO rs $ labelMO 9 x
y10 = rateMO rs $ labelMO 10 x
y11 = rateMO rs $ labelMO 11 x
y12 = rateMO rs $ labelMO 12 x
y13 = rateMO rs $ labelMO 13 x
y14 = rateMO rs $ labelMO 14 x
y15 = rateMO rs $ labelMO 15 x
y16 = rateMO rs $ labelMO 16 x
y17 = rateMO rs $ labelMO 17 x
y18 = rateMO rs $ labelMO 18 x
y19 = rateMO rs $ labelMO 19 x
y20 = rateMO rs $ labelMO 20 x
y21 = rateMO rs $ labelMO 21 x
y22 = rateMO rs $ labelMO 22 x
y23 = rateMO rs $ labelMO 23 x
y24 = rateMO rs $ labelMO 24 x
y25 = rateMO rs $ labelMO 25 x
y26 = rateMO rs $ labelMO 26 x
rs
= [rateOf y0, rateOf y1, rateOf y2, rateOf y3, rateOf y4,
rateOf y5, rateOf y6, rateOf y7, rateOf y8, rateOf y9, rateOf y10,
rateOf y11, rateOf y12, rateOf y13, rateOf y14, rateOf y15,
rateOf y16, rateOf y17, rateOf y18, rateOf y19, rateOf y20,
rateOf y21, rateOf y22, rateOf y23, rateOf y24, rateOf y25,
rateOf y26]
mo28 ::
(X a0, X a1, X a2, X a3, X a4, X a5, X a6, X a7, X a8, X a9, X a10,
X a11, X a12, X a13, X a14, X a15, X a16, X a17, X a18, X a19,
X a20, X a21, X a22, X a23, X a24, X a25, X a26, X a27) =>
MultiOut ->
(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27)
mo28 x
= (y0, y1, y2, y3, y4, y5, y6, y7, y8, y9, y10, y11, y12, y13, y14,
y15, y16, y17, y18, y19, y20, y21, y22, y23, y24, y25, y26, y27)
where y0 = rateMO rs $ labelMO 0 x
y1 = rateMO rs $ labelMO 1 x
y2 = rateMO rs $ labelMO 2 x
y3 = rateMO rs $ labelMO 3 x
y4 = rateMO rs $ labelMO 4 x
y5 = rateMO rs $ labelMO 5 x
y6 = rateMO rs $ labelMO 6 x
y7 = rateMO rs $ labelMO 7 x
y8 = rateMO rs $ labelMO 8 x
y9 = rateMO rs $ labelMO 9 x
y10 = rateMO rs $ labelMO 10 x
y11 = rateMO rs $ labelMO 11 x
y12 = rateMO rs $ labelMO 12 x
y13 = rateMO rs $ labelMO 13 x
y14 = rateMO rs $ labelMO 14 x
y15 = rateMO rs $ labelMO 15 x
y16 = rateMO rs $ labelMO 16 x
y17 = rateMO rs $ labelMO 17 x
y18 = rateMO rs $ labelMO 18 x
y19 = rateMO rs $ labelMO 19 x
y20 = rateMO rs $ labelMO 20 x
y21 = rateMO rs $ labelMO 21 x
y22 = rateMO rs $ labelMO 22 x
y23 = rateMO rs $ labelMO 23 x
y24 = rateMO rs $ labelMO 24 x
y25 = rateMO rs $ labelMO 25 x
y26 = rateMO rs $ labelMO 26 x
y27 = rateMO rs $ labelMO 27 x
rs
= [rateOf y0, rateOf y1, rateOf y2, rateOf y3, rateOf y4,
rateOf y5, rateOf y6, rateOf y7, rateOf y8, rateOf y9, rateOf y10,
rateOf y11, rateOf y12, rateOf y13, rateOf y14, rateOf y15,
rateOf y16, rateOf y17, rateOf y18, rateOf y19, rateOf y20,
rateOf y21, rateOf y22, rateOf y23, rateOf y24, rateOf y25,
rateOf y26, rateOf y27]
mo29 ::
(X a0, X a1, X a2, X a3, X a4, X a5, X a6, X a7, X a8, X a9, X a10,
X a11, X a12, X a13, X a14, X a15, X a16, X a17, X a18, X a19,
X a20, X a21, X a22, X a23, X a24, X a25, X a26, X a27, X a28) =>
MultiOut ->
(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27,
a28)
mo29 x
= (y0, y1, y2, y3, y4, y5, y6, y7, y8, y9, y10, y11, y12, y13, y14,
y15, y16, y17, y18, y19, y20, y21, y22, y23, y24, y25, y26, y27,
y28)
where y0 = rateMO rs $ labelMO 0 x
y1 = rateMO rs $ labelMO 1 x
y2 = rateMO rs $ labelMO 2 x
y3 = rateMO rs $ labelMO 3 x
y4 = rateMO rs $ labelMO 4 x
y5 = rateMO rs $ labelMO 5 x
y6 = rateMO rs $ labelMO 6 x
y7 = rateMO rs $ labelMO 7 x
y8 = rateMO rs $ labelMO 8 x
y9 = rateMO rs $ labelMO 9 x
y10 = rateMO rs $ labelMO 10 x
y11 = rateMO rs $ labelMO 11 x
y12 = rateMO rs $ labelMO 12 x
y13 = rateMO rs $ labelMO 13 x
y14 = rateMO rs $ labelMO 14 x
y15 = rateMO rs $ labelMO 15 x
y16 = rateMO rs $ labelMO 16 x
y17 = rateMO rs $ labelMO 17 x
y18 = rateMO rs $ labelMO 18 x
y19 = rateMO rs $ labelMO 19 x
y20 = rateMO rs $ labelMO 20 x
y21 = rateMO rs $ labelMO 21 x
y22 = rateMO rs $ labelMO 22 x
y23 = rateMO rs $ labelMO 23 x
y24 = rateMO rs $ labelMO 24 x
y25 = rateMO rs $ labelMO 25 x
y26 = rateMO rs $ labelMO 26 x
y27 = rateMO rs $ labelMO 27 x
y28 = rateMO rs $ labelMO 28 x
rs
= [rateOf y0, rateOf y1, rateOf y2, rateOf y3, rateOf y4,
rateOf y5, rateOf y6, rateOf y7, rateOf y8, rateOf y9, rateOf y10,
rateOf y11, rateOf y12, rateOf y13, rateOf y14, rateOf y15,
rateOf y16, rateOf y17, rateOf y18, rateOf y19, rateOf y20,
rateOf y21, rateOf y22, rateOf y23, rateOf y24, rateOf y25,
rateOf y26, rateOf y27, rateOf y28]
mo30 ::
(X a0, X a1, X a2, X a3, X a4, X a5, X a6, X a7, X a8, X a9, X a10,
X a11, X a12, X a13, X a14, X a15, X a16, X a17, X a18, X a19,
X a20, X a21, X a22, X a23, X a24, X a25, X a26, X a27, X a28,
X a29) =>
MultiOut ->
(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27,
a28, a29)
mo30 x
= (y0, y1, y2, y3, y4, y5, y6, y7, y8, y9, y10, y11, y12, y13, y14,
y15, y16, y17, y18, y19, y20, y21, y22, y23, y24, y25, y26, y27,
y28, y29)
where y0 = rateMO rs $ labelMO 0 x
y1 = rateMO rs $ labelMO 1 x
y2 = rateMO rs $ labelMO 2 x
y3 = rateMO rs $ labelMO 3 x
y4 = rateMO rs $ labelMO 4 x
y5 = rateMO rs $ labelMO 5 x
y6 = rateMO rs $ labelMO 6 x
y7 = rateMO rs $ labelMO 7 x
y8 = rateMO rs $ labelMO 8 x
y9 = rateMO rs $ labelMO 9 x
y10 = rateMO rs $ labelMO 10 x
y11 = rateMO rs $ labelMO 11 x
y12 = rateMO rs $ labelMO 12 x
y13 = rateMO rs $ labelMO 13 x
y14 = rateMO rs $ labelMO 14 x
y15 = rateMO rs $ labelMO 15 x
y16 = rateMO rs $ labelMO 16 x
y17 = rateMO rs $ labelMO 17 x
y18 = rateMO rs $ labelMO 18 x
y19 = rateMO rs $ labelMO 19 x
y20 = rateMO rs $ labelMO 20 x
y21 = rateMO rs $ labelMO 21 x
y22 = rateMO rs $ labelMO 22 x
y23 = rateMO rs $ labelMO 23 x
y24 = rateMO rs $ labelMO 24 x
y25 = rateMO rs $ labelMO 25 x
y26 = rateMO rs $ labelMO 26 x
y27 = rateMO rs $ labelMO 27 x
y28 = rateMO rs $ labelMO 28 x
y29 = rateMO rs $ labelMO 29 x
rs
= [rateOf y0, rateOf y1, rateOf y2, rateOf y3, rateOf y4,
rateOf y5, rateOf y6, rateOf y7, rateOf y8, rateOf y9, rateOf y10,
rateOf y11, rateOf y12, rateOf y13, rateOf y14, rateOf y15,
rateOf y16, rateOf y17, rateOf y18, rateOf y19, rateOf y20,
rateOf y21, rateOf y22, rateOf y23, rateOf y24, rateOf y25,
rateOf y26, rateOf y27, rateOf y28, rateOf y29]
mo31 ::
(X a0, X a1, X a2, X a3, X a4, X a5, X a6, X a7, X a8, X a9, X a10,
X a11, X a12, X a13, X a14, X a15, X a16, X a17, X a18, X a19,
X a20, X a21, X a22, X a23, X a24, X a25, X a26, X a27, X a28,
X a29, X a30) =>
MultiOut ->
(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27,
a28, a29, a30)
mo31 x
= (y0, y1, y2, y3, y4, y5, y6, y7, y8, y9, y10, y11, y12, y13, y14,
y15, y16, y17, y18, y19, y20, y21, y22, y23, y24, y25, y26, y27,
y28, y29, y30)
where y0 = rateMO rs $ labelMO 0 x
y1 = rateMO rs $ labelMO 1 x
y2 = rateMO rs $ labelMO 2 x
y3 = rateMO rs $ labelMO 3 x
y4 = rateMO rs $ labelMO 4 x
y5 = rateMO rs $ labelMO 5 x
y6 = rateMO rs $ labelMO 6 x
y7 = rateMO rs $ labelMO 7 x
y8 = rateMO rs $ labelMO 8 x
y9 = rateMO rs $ labelMO 9 x
y10 = rateMO rs $ labelMO 10 x
y11 = rateMO rs $ labelMO 11 x
y12 = rateMO rs $ labelMO 12 x
y13 = rateMO rs $ labelMO 13 x
y14 = rateMO rs $ labelMO 14 x
y15 = rateMO rs $ labelMO 15 x
y16 = rateMO rs $ labelMO 16 x
y17 = rateMO rs $ labelMO 17 x
y18 = rateMO rs $ labelMO 18 x
y19 = rateMO rs $ labelMO 19 x
y20 = rateMO rs $ labelMO 20 x
y21 = rateMO rs $ labelMO 21 x
y22 = rateMO rs $ labelMO 22 x
y23 = rateMO rs $ labelMO 23 x
y24 = rateMO rs $ labelMO 24 x
y25 = rateMO rs $ labelMO 25 x
y26 = rateMO rs $ labelMO 26 x
y27 = rateMO rs $ labelMO 27 x
y28 = rateMO rs $ labelMO 28 x
y29 = rateMO rs $ labelMO 29 x
y30 = rateMO rs $ labelMO 30 x
rs
= [rateOf y0, rateOf y1, rateOf y2, rateOf y3, rateOf y4,
rateOf y5, rateOf y6, rateOf y7, rateOf y8, rateOf y9, rateOf y10,
rateOf y11, rateOf y12, rateOf y13, rateOf y14, rateOf y15,
rateOf y16, rateOf y17, rateOf y18, rateOf y19, rateOf y20,
rateOf y21, rateOf y22, rateOf y23, rateOf y24, rateOf y25,
rateOf y26, rateOf y27, rateOf y28, rateOf y29, rateOf y30]
mo32 ::
(X a0, X a1, X a2, X a3, X a4, X a5, X a6, X a7, X a8, X a9, X a10,
X a11, X a12, X a13, X a14, X a15, X a16, X a17, X a18, X a19,
X a20, X a21, X a22, X a23, X a24, X a25, X a26, X a27, X a28,
X a29, X a30, X a31) =>
MultiOut ->
(a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14,
a15, a16, a17, a18, a19, a20, a21, a22, a23, a24, a25, a26, a27,
a28, a29, a30, a31)
mo32 x
= (y0, y1, y2, y3, y4, y5, y6, y7, y8, y9, y10, y11, y12, y13, y14,
y15, y16, y17, y18, y19, y20, y21, y22, y23, y24, y25, y26, y27,
y28, y29, y30, y31)
where y0 = rateMO rs $ labelMO 0 x
y1 = rateMO rs $ labelMO 1 x
y2 = rateMO rs $ labelMO 2 x
y3 = rateMO rs $ labelMO 3 x
y4 = rateMO rs $ labelMO 4 x
y5 = rateMO rs $ labelMO 5 x
y6 = rateMO rs $ labelMO 6 x
y7 = rateMO rs $ labelMO 7 x
y8 = rateMO rs $ labelMO 8 x
y9 = rateMO rs $ labelMO 9 x
y10 = rateMO rs $ labelMO 10 x
y11 = rateMO rs $ labelMO 11 x
y12 = rateMO rs $ labelMO 12 x
y13 = rateMO rs $ labelMO 13 x
y14 = rateMO rs $ labelMO 14 x
y15 = rateMO rs $ labelMO 15 x
y16 = rateMO rs $ labelMO 16 x
y17 = rateMO rs $ labelMO 17 x
y18 = rateMO rs $ labelMO 18 x
y19 = rateMO rs $ labelMO 19 x
y20 = rateMO rs $ labelMO 20 x
y21 = rateMO rs $ labelMO 21 x
y22 = rateMO rs $ labelMO 22 x
y23 = rateMO rs $ labelMO 23 x
y24 = rateMO rs $ labelMO 24 x
y25 = rateMO rs $ labelMO 25 x
y26 = rateMO rs $ labelMO 26 x
y27 = rateMO rs $ labelMO 27 x
y28 = rateMO rs $ labelMO 28 x
y29 = rateMO rs $ labelMO 29 x
y30 = rateMO rs $ labelMO 30 x
y31 = rateMO rs $ labelMO 31 x
rs
= [rateOf y0, rateOf y1, rateOf y2, rateOf y3, rateOf y4,
rateOf y5, rateOf y6, rateOf y7, rateOf y8, rateOf y9, rateOf y10,
rateOf y11, rateOf y12, rateOf y13, rateOf y14, rateOf y15,
rateOf y16, rateOf y17, rateOf y18, rateOf y19, rateOf y20,
rateOf y21, rateOf y22, rateOf y23, rateOf y24, rateOf y25,
rateOf y26, rateOf y27, rateOf y28, rateOf y29, rateOf y30,
rateOf y31]