Building clash-prelude-0.5... Preprocessing library clash-prelude-0.5... [ 1 of 16] Compiling CLaSH.Promoted.Ord ( src/CLaSH/Promoted/Ord.hs, dist/build/CLaSH/Promoted/Ord.o ) [ 2 of 16] Compiling CLaSH.Promoted.Nat ( src/CLaSH/Promoted/Nat.hs, dist/build/CLaSH/Promoted/Nat.o ) [ 3 of 16] Compiling CLaSH.Promoted.Nat.TH ( src/CLaSH/Promoted/Nat/TH.hs, dist/build/CLaSH/Promoted/Nat/TH.o ) [ 4 of 16] Compiling CLaSH.Promoted.Nat.Literals ( src/CLaSH/Promoted/Nat/Literals.hs, dist/build/CLaSH/Promoted/Nat/Literals.o ) Loading package ghc-prim ... linking ... done. Loading package integer-gmp ... linking ... done. Loading package base ... linking ... done. Loading package array-0.5.0.0 ... linking ... done. Loading package deepseq-1.3.0.2 ... linking ... done. Loading package containers-0.5.4.0 ... linking ... done. Loading package pretty-1.1.1.1 ... linking ... done. Loading package template-haskell ... linking ... done. Loading package th-lift-0.6.1 ... linking ... done. Loading package data-default-class-0.0.1 ... linking ... done. Loading package data-default-instances-base-0.0.1 ... linking ... done. Loading package data-default-instances-containers-0.0.1 ... linking ... done. Loading package dlist-0.6.0.1 ... linking ... done. Loading package data-default-instances-dlist-0.0.1 ... linking ... done. Loading package old-locale-1.0.0.6 ... linking ... done. Loading package data-default-instances-old-locale-0.0.1 ... linking ... done. Loading package data-default-0.5.3 ... linking ... done. [ 5 of 16] Compiling CLaSH.Signal.Types ( src/CLaSH/Signal/Types.hs, dist/build/CLaSH/Signal/Types.o ) [ 6 of 16] Compiling CLaSH.Class.Num ( src/CLaSH/Class/Num.hs, dist/build/CLaSH/Class/Num.o ) [ 7 of 16] Compiling CLaSH.Sized.Vector ( src/CLaSH/Sized/Vector.hs, dist/build/CLaSH/Sized/Vector.o ) [ 8 of 16] Compiling CLaSH.Bit ( src/CLaSH/Bit.hs, dist/build/CLaSH/Bit.o ) [ 9 of 16] Compiling CLaSH.Class.BitVector ( src/CLaSH/Class/BitVector.hs, dist/build/CLaSH/Class/BitVector.o ) [10 of 16] Compiling CLaSH.Sized.Signed ( src/CLaSH/Sized/Signed.hs, dist/build/CLaSH/Sized/Signed.o ) [11 of 16] Compiling CLaSH.Sized.Unsigned ( src/CLaSH/Sized/Unsigned.hs, dist/build/CLaSH/Sized/Unsigned.o ) [12 of 16] Compiling CLaSH.Signal.Implicit ( src/CLaSH/Signal/Implicit.hs, dist/build/CLaSH/Signal/Implicit.o ) compile: input file src/CLaSH/Sized/Fixed.hs *** Checking old interface for clash-prelude-0.5:CLaSH.Sized.Fixed: [13 of 16] Compiling CLaSH.Sized.Fixed ( src/CLaSH/Sized/Fixed.hs, dist/build/CLaSH/Sized/Fixed.o ) *** Parser: *** Renamer/typechecker: *** Desugar: ==================== Desugar (after optimization) ==================== Result size of Desugar (after optimization) = {terms: 2,082, types: 11,982, coercions: 377} CLaSH.Sized.Fixed.fLit :: forall (frac_auFI :: GHC.TypeLits.Nat) (rep_auFJ :: GHC.TypeLits.Nat -> *) (size_auFK :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_auFI, GHC.Num.Num (rep_auFJ size_auFK), GHC.Enum.Bounded (rep_auFJ size_auFK), GHC.Real.Integral (rep_auFJ size_auFK)) => GHC.Types.Double -> Language.Haskell.TH.Syntax.Q (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_auFI rep_auFJ size_auFK)) [LclIdX, Str=DmdType] CLaSH.Sized.Fixed.fLit = \ (@ (frac_avhM :: GHC.TypeLits.Nat)) (@ (rep_avhN :: GHC.TypeLits.Nat -> *)) (@ (size_avhO :: GHC.TypeLits.Nat)) ($dKnownNat_avlM :: GHC.TypeLits.KnownNat frac_avhM) _ [Occ=Dead] ($dBounded_avlO :: GHC.Enum.Bounded (rep_avhN size_avhO)) ($dIntegral_avlP :: GHC.Real.Integral (rep_avhN size_avhO)) (a_auGC :: GHC.Types.Double) -> let { truncated_auGG :: GHC.Integer.Type.Integer [LclId, Str=DmdType] truncated_auGG = GHC.Real.truncate @ GHC.Types.Double GHC.Float.$fRealFracDouble @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger (GHC.Num.* @ GHC.Types.Double GHC.Float.$fNumDouble a_auGC (GHC.Real.^ @ GHC.Types.Double @ GHC.Integer.Type.Integer GHC.Float.$fNumDouble GHC.Real.$fIntegralInteger (GHC.Types.D# 2.0) (GHC.TypeLits.natVal @ frac_avhM @ Data.Proxy.Proxy $dKnownNat_avlM (Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac_avhM)))) } in let { rMin_auGE :: GHC.Integer.Type.Integer [LclId, Str=DmdType] rMin_auGE = GHC.Real.toInteger @ (rep_avhN size_avhO) $dIntegral_avlP (GHC.Enum.minBound @ (rep_avhN size_avhO) $dBounded_avlO) } in let { rMax_auGD :: GHC.Integer.Type.Integer [LclId, Str=DmdType] rMax_auGD = GHC.Real.toInteger @ (rep_avhN size_avhO) $dIntegral_avlP (GHC.Enum.maxBound @ (rep_avhN size_avhO) $dBounded_avlO) } in Language.Haskell.TH.Syntax.unsafeTExpCoerce @ (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO) (Language.Haskell.TH.Lib.appE (Language.Haskell.TH.Lib.conE (Language.Haskell.TH.Syntax.mkNameG_d (GHC.CString.unpackCString# "clash-prelude-0.5"#) (GHC.CString.unpackCString# "CLaSH.Sized.Fixed"#) (GHC.CString.unpackCString# "Fixed"#))) (Language.Haskell.TH.Lib.appE (Language.Haskell.TH.Lib.varE (Language.Haskell.TH.Syntax.mkNameG_v (GHC.CString.unpackCString# "base"#) (GHC.CString.unpackCString# "GHC.Num"#) (GHC.CString.unpackCString# "fromInteger"#))) (Language.Haskell.TH.Syntax.lift @ GHC.Integer.Type.Integer Language.Haskell.TH.Syntax.$fLiftInteger (case GHC.Classes.> @ GHC.Integer.Type.Integer GHC.Integer.Type.$fOrdInteger truncated_auGG rMax_auGD of _ [Occ=Dead] { GHC.Types.False -> case GHC.Classes.< @ GHC.Integer.Type.Integer GHC.Integer.Type.$fOrdInteger truncated_auGG rMin_auGE of _ [Occ=Dead] { GHC.Types.False -> truncated_auGG; GHC.Types.True -> rMin_auGE }; GHC.Types.True -> rMax_auGD })))) CLaSH.Sized.Fixed.satN2 :: forall (rep_auFL :: GHC.TypeLits.Nat -> *) (n_auFM :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.SatN2C rep_auFL n_auFM) => rep_auFL (n_auFM GHC.TypeLits.+ 2) -> rep_auFL n_auFM [LclIdX, Str=DmdType] CLaSH.Sized.Fixed.satN2 = \ (@ (rep_aviy :: GHC.TypeLits.Nat -> *)) (@ (n_aviz :: GHC.TypeLits.Nat)) (tup_avmQ :: CLaSH.Sized.Fixed.SatN2C rep_aviy n_aviz) -> let { $dBounded_avIX :: GHC.Enum.Bounded (rep_aviy n_aviz) [LclId, Str=DmdType] $dBounded_avIX = case tup_avmQ of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B9, _ [Occ=Dead]) -> tpl_B9 } } in let { $dKnownNat_avIV :: GHC.TypeLits.KnownNat n_aviz [LclId, Str=DmdType] $dKnownNat_avIV = case tup_avmQ of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B7, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B7 } } in let { cobox_avIU :: CLaSH.Class.BitVector.BitSize (rep_aviy (n_aviz GHC.TypeLits.+ 2)) ~ (n_aviz GHC.TypeLits.+ 2) [LclId, Str=DmdType] cobox_avIU = case tup_avmQ of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B6, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B6 } } in let { cobox_avIT :: CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz) ~ n_aviz [LclId, Str=DmdType] cobox_avIT = case tup_avmQ of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B5, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B5 } } in let { $dBitVector_avIR :: CLaSH.Class.BitVector.BitVector (rep_aviy n_aviz) [LclId, Str=DmdType] $dBitVector_avIR = case tup_avmQ of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], tpl_B3, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B3 } } in let { cobox_avIQ :: ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (n_aviz GHC.TypeLits.+ 2) [LclId, Str=DmdType] cobox_avIQ = case tup_avmQ of _ [Occ=Dead] { (_ [Occ=Dead], tpl_B2, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B2 } } in let { cobox_avnI :: n_aviz ~ CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz) [LclId, Str=DmdType] cobox_avnI = case cobox_avIT of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7c -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ n_aviz @ (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) @~ (Sym cobox_dw7c) } } in let { $dKnownNat_avnH :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) [LclId, Str=DmdType] $dKnownNat_avnH = case cobox_avIT of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7b -> $dKnownNat_avIV `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw7b))_R :: GHC.TypeLits.KnownNat n_aviz ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz))) } } in let { cobox_avnx :: n_aviz ~ CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz) [LclId, Str=DmdType] cobox_avnx = case case cobox_avIT of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7m -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) @ n_aviz @~ cobox_dw7m } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7a -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ n_aviz @ (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) @~ (Sym cobox_dw7a) } } in let { $dKnownNat_avnw :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) [LclId, Str=DmdType] $dKnownNat_avnw = case cobox_avIT of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw79 -> $dKnownNat_avIV `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw79))_R :: GHC.TypeLits.KnownNat n_aviz ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz))) } } in let { $dBits_avnl :: Data.Bits.Bits (rep_aviy (n_aviz GHC.TypeLits.+ 2)) [LclId, Str=DmdType] $dBits_avnl = case tup_avmQ of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_Ba) -> tpl_Ba } } in let { cobox_avnj :: (1 GHC.TypeLits.<=? n_aviz) ~ 'GHC.Types.True [LclId, Str=DmdType] cobox_avnj = case case tup_avmQ of _ [Occ=Dead] { (tpl_B1, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B1 } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw77 -> GHC.Types.Eq# @ GHC.Types.Bool @ (1 GHC.TypeLits.<=? n_aviz) @ 'GHC.Types.True @~ cobox_dw77 } } in let { cobox_avnf :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~ CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit [LclId, Str=DmdType] cobox_avnf = case case case cobox_avIQ of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7e -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) @ (n_aviz GHC.TypeLits.+ 2) @~ cobox_dw7e } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7d -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ (n_aviz GHC.TypeLits.+ 2) @ ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) @~ (Sym cobox_dw7d) } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw75 -> GHC.Types.Eq# @ * @ (CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit) @ (CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit) @~ (CLaSH.Sized.Vector.Vec cobox_dw75 _N)_N } } in let { cobox_avn8 :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~ CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit [LclId, Str=DmdType] cobox_avn8 = case case case cobox_avIQ of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7h -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) @ (n_aviz GHC.TypeLits.+ 2) @~ cobox_dw7h } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7g -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ (n_aviz GHC.TypeLits.+ 2) @ ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) @~ (Sym cobox_dw7g) } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw73 -> GHC.Types.Eq# @ * @ (CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit) @ (CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit) @~ (CLaSH.Sized.Vector.Vec cobox_dw73 _N)_N } } in let { cobox_avn1 :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~ CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit [LclId, Str=DmdType] cobox_avn1 = case case case cobox_avIQ of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7k -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) @ (n_aviz GHC.TypeLits.+ 2) @~ cobox_dw7k } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7j -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ (n_aviz GHC.TypeLits.+ 2) @ ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) @~ (Sym cobox_dw7j) } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw71 -> GHC.Types.Eq# @ * @ (CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit) @ (CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit) @~ (CLaSH.Sized.Vector.Vec cobox_dw71 _N)_N } } in let { cobox_avmW :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy (n_aviz GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~ CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit [LclId, Str=DmdType] cobox_avmW = case case cobox_avIU of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7o -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ (CLaSH.Class.BitVector.BitSize (rep_aviy (n_aviz GHC.TypeLits.+ 2))) @ (n_aviz GHC.TypeLits.+ 2) @~ cobox_dw7o } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6Z -> GHC.Types.Eq# @ * @ (CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy (n_aviz GHC.TypeLits.+ 2))) CLaSH.Bit.Bit) @ (CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit) @~ (CLaSH.Sized.Vector.Vec cobox_dw6Z _N)_N } } in let { $dKnownNat_avmV :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy (n_aviz GHC.TypeLits.+ 2))) [LclId, Str=DmdType] $dKnownNat_avmV = case cobox_avIU of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6Y -> (case tup_avmQ of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B8, _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B8 }) `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw6Y))_R :: GHC.TypeLits.KnownNat (n_aviz GHC.TypeLits.+ 2) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy (n_aviz GHC.TypeLits.+ 2)))) } } in let { $dBitVector_avmU :: CLaSH.Class.BitVector.BitVector (rep_aviy (n_aviz GHC.TypeLits.+ 2)) [LclId, Str=DmdType] $dBitVector_avmU = case tup_avmQ of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B4, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B4 } } in \ (rep_auGw :: rep_aviy (n_aviz GHC.TypeLits.+ 2)) -> let { repBV_auGx :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit [LclId, Str=DmdType] repBV_auGx = case cobox_avmW of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6X -> (CLaSH.Class.BitVector.toBV @ (rep_aviy (n_aviz GHC.TypeLits.+ 2)) $dBitVector_avmU $dKnownNat_avmV rep_auGw) `cast` (Sub cobox_dw6X :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy (n_aviz GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit) } } in let { cS_auGy :: CLaSH.Bit.Bit [LclId, Str=DmdType] cS_auGy = CLaSH.Sized.Vector.vhead @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (case cobox_avn1 of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6W -> repBV_auGx `cast` (Sub cobox_dw6W :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit) }) } in let { s_auGA :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit [LclId, Str=DmdType] s_auGA = CLaSH.Sized.Vector.vtail @ n_aviz @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (case cobox_avnf of _ [Occ=Dead] { GHC.Types.Eq# cobox_dvY9 -> repBV_auGx `cast` (Sub cobox_dvY9 :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit) })) } in case Data.Bits.isSigned @ (rep_aviy (n_aviz GHC.TypeLits.+ 2)) $dBits_avnl rep_auGw of _ [Occ=Dead] { GHC.Types.False -> let { fail_dvY5 :: GHC.Prim.Void# -> rep_aviy n_aviz [LclId, Str=DmdType] fail_dvY5 = \ _ [Occ=Dead, OS=OneShot] -> CLaSH.Class.BitVector.fromBV @ (rep_aviy n_aviz) $dBitVector_avIR $dKnownNat_avnH (case cobox_avnI of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6T -> s_auGA `cast` ((CLaSH.Sized.Vector.Vec cobox_dw6T _R)_R :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) CLaSH.Bit.Bit) }) } in let { ds_dvY4 :: CLaSH.Bit.Bit [LclId, Str=DmdType] ds_dvY4 = CLaSH.Sized.Vector.vhead @ n_aviz @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (case cobox_avn8 of _ [Occ=Dead] { GHC.Types.Eq# cobox_dvYc -> repBV_auGx `cast` (Sub cobox_dvYc :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit) })) } in case cS_auGy of _ [Occ=Dead] { CLaSH.Bit.H -> case ds_dvY4 of _ [Occ=Dead] { __DEFAULT -> fail_dvY5 GHC.Prim.void#; CLaSH.Bit.H -> GHC.Enum.minBound @ (rep_aviy n_aviz) $dBounded_avIX }; CLaSH.Bit.L -> case ds_dvY4 of _ [Occ=Dead] { __DEFAULT -> fail_dvY5 GHC.Prim.void#; CLaSH.Bit.H -> GHC.Enum.maxBound @ (rep_aviy n_aviz) $dBounded_avIX } }; GHC.Types.True -> let { fail_dvXZ :: GHC.Prim.Void# -> rep_aviy n_aviz [LclId, Str=DmdType] fail_dvXZ = \ _ [Occ=Dead, OS=OneShot] -> CLaSH.Class.BitVector.fromBV @ (rep_aviy n_aviz) $dBitVector_avIR $dKnownNat_avnw (case cobox_avnx of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6S -> s_auGA `cast` ((CLaSH.Sized.Vector.Vec cobox_dw6S _R)_R :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) CLaSH.Bit.Bit) }) } in let { ds_dvXY :: CLaSH.Bit.Bit [LclId, Str=DmdType] ds_dvXY = CLaSH.Sized.Vector.vhead' @ n_aviz @ CLaSH.Bit.Bit cobox_avnj s_auGA } in case cS_auGy of _ [Occ=Dead] { CLaSH.Bit.H -> case ds_dvXY of _ [Occ=Dead] { __DEFAULT -> fail_dvXZ GHC.Prim.void#; CLaSH.Bit.L -> GHC.Enum.minBound @ (rep_aviy n_aviz) $dBounded_avIX }; CLaSH.Bit.L -> case ds_dvXY of _ [Occ=Dead] { __DEFAULT -> fail_dvXZ GHC.Prim.void#; CLaSH.Bit.H -> GHC.Enum.maxBound @ (rep_aviy n_aviz) $dBounded_avIX } } } CLaSH.Sized.Fixed.resizeF :: forall (frac1_auFN :: GHC.TypeLits.Nat) (frac2_auFO :: GHC.TypeLits.Nat) (rep_auFP :: GHC.TypeLits.Nat -> *) (size1_auFQ :: GHC.TypeLits.Nat) (size2_auFR :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.ResizeFC rep_auFP frac1_auFN frac2_auFO size1_auFQ size2_auFR) => CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ -> CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR [LclIdX, Str=DmdType] CLaSH.Sized.Fixed.resizeF = \ (@ (frac1_avjq :: GHC.TypeLits.Nat)) (@ (frac2_avjr :: GHC.TypeLits.Nat)) (@ (rep_avjs :: GHC.TypeLits.Nat -> *)) (@ (size1_avjt :: GHC.TypeLits.Nat)) (@ (size2_avju :: GHC.TypeLits.Nat)) (tup_avnK :: CLaSH.Sized.Fixed.ResizeFC rep_avjs frac1_avjq frac2_avjr size1_avjt size2_avju) -> let { $dBits_avJC :: Data.Bits.Bits (rep_avjs size2_avju) [LclId, Str=DmdType] $dBits_avJC = case tup_avnK of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B9, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B9 } } in let { $dKnownNat_avJB :: GHC.TypeLits.KnownNat size1_avjt [LclId, Str=DmdType] $dKnownNat_avJB = case tup_avnK of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B8, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B8 } } in let { $dKnownNat_avJA :: GHC.TypeLits.KnownNat size2_avju [LclId, Str=DmdType] $dKnownNat_avJA = case tup_avnK of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B7, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B7 } } in let { $dResize_avJz :: CLaSH.Class.Num.Resize rep_avjs [LclId, Str=DmdType] $dResize_avJz = case tup_avnK of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B6, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B6 } } in let { $dBits_avJy :: Data.Bits.Bits (rep_avjs size1_avjt) [LclId, Str=DmdType] $dBits_avJy = case tup_avnK of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B5, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B5 } } in let { $dEq_avJH :: GHC.Classes.Eq (rep_avjs size1_avjt) [LclId, Str=DmdType] $dEq_avJH = Data.Bits.$p1Bits @ (rep_avjs size1_avjt) $dBits_avJy } in let { $dNum_avJx :: GHC.Num.Num (rep_avjs size1_avjt) [LclId, Str=DmdType] $dNum_avJx = case tup_avnK of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B4, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B4 } } in let { $dOrd_avJw :: GHC.Classes.Ord (rep_avjs size1_avjt) [LclId, Str=DmdType] $dOrd_avJw = case tup_avnK of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], tpl_B3, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B3 } } in let { $dBounded_avJu :: GHC.Enum.Bounded (rep_avjs size2_avju) [LclId, Str=DmdType] $dBounded_avJu = case tup_avnK of _ [Occ=Dead] { (tpl_B1, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B1 } } in let { $dKnownNat_avo2 :: GHC.TypeLits.KnownNat frac1_avjq [LclId, Str=DmdType] $dKnownNat_avo2 = case tup_avnK of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_Bb, _ [Occ=Dead]) -> tpl_Bb } } in let { $dKnownNat_avnR :: GHC.TypeLits.KnownNat frac2_avjr [LclId, Str=DmdType] $dKnownNat_avnR = case tup_avnK of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_Ba, _ [Occ=Dead], _ [Occ=Dead]) -> tpl_Ba } } in \ (ds_dvYW :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt) -> let { resFracSZ_auGl :: GHC.Types.Int [LclId, Str=DmdType] resFracSZ_auGl = GHC.Num.fromInteger @ GHC.Types.Int GHC.Num.$fNumInt (GHC.TypeLits.natVal @ frac2_avjr @ Data.Proxy.Proxy $dKnownNat_avnR (Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac2_avjr)) } in let { argFracSZ_auGk :: GHC.Types.Int [LclId, Str=DmdType] argFracSZ_auGk = GHC.Num.fromInteger @ GHC.Types.Int GHC.Num.$fNumInt (GHC.TypeLits.natVal @ frac1_avjq @ Data.Proxy.Proxy $dKnownNat_avo2 (Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac1_avjq)) } in CLaSH.Sized.Fixed.Fixed @ frac2_avjr @ rep_avjs @ size2_avju (case GHC.Classes.<= @ GHC.Integer.Type.Integer GHC.Integer.Type.$fOrdInteger (GHC.TypeLits.natVal @ size1_avjt @ Data.Proxy.Proxy $dKnownNat_avJB (Data.Proxy.Proxy @ GHC.TypeLits.Nat @ size1_avjt)) (GHC.TypeLits.natVal @ size2_avju @ Data.Proxy.Proxy $dKnownNat_avJA (Data.Proxy.Proxy @ GHC.TypeLits.Nat @ size2_avju)) of _ [Occ=Dead] { GHC.Types.False -> let { fMin_auGo :: rep_avjs size2_avju [LclId, Str=DmdType] fMin_auGo = GHC.Enum.minBound @ (rep_avjs size2_avju) $dBounded_avJu } in let { fMax_auGn :: rep_avjs size2_avju [LclId, Str=DmdType] fMax_auGn = GHC.Enum.maxBound @ (rep_avjs size2_avju) $dBounded_avJu } in let { mask_auGp :: rep_avjs size1_avjt [LclId, Str=DmdType] mask_auGp = Data.Bits.complement @ (rep_avjs size1_avjt) $dBits_avJy (CLaSH.Class.Num.resize @ rep_avjs $dResize_avJz @ size2_avju @ size1_avjt $dKnownNat_avJA $dKnownNat_avJB fMax_auGn) } in case GHC.Classes.<= @ GHC.Types.Int GHC.Classes.$fOrdInt argFracSZ_auGk resFracSZ_auGl of _ [Occ=Dead] { GHC.Types.False -> let { shiftedR_auGt :: rep_avjs size1_avjt [LclId, Str=DmdType] shiftedR_auGt = Data.Bits.shiftR @ (rep_avjs size1_avjt) $dBits_avJy (ds_dvYW `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt)) (GHC.Num.- @ GHC.Types.Int GHC.Num.$fNumInt argFracSZ_auGk resFracSZ_auGl) } in let { shiftedR_masked_auGu :: rep_avjs size1_avjt [LclId, Str=DmdType] shiftedR_masked_auGu = Data.Bits..&. @ (rep_avjs size1_avjt) $dBits_avJy shiftedR_auGt mask_auGp } in let { shiftedR_resized_auGv :: rep_avjs size2_avju [LclId, Str=DmdType] shiftedR_resized_auGv = CLaSH.Class.Num.resize @ rep_avjs $dResize_avJz @ size1_avjt @ size2_avju $dKnownNat_avJB $dKnownNat_avJA shiftedR_auGt } in case GHC.Classes.>= @ (rep_avjs size1_avjt) $dOrd_avJw (ds_dvYW `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt)) (GHC.Num.fromInteger @ (rep_avjs size1_avjt) $dNum_avJx (__integer 0)) of _ [Occ=Dead] { GHC.Types.False -> case GHC.Classes.== @ (rep_avjs size1_avjt) $dEq_avJH shiftedR_masked_auGu mask_auGp of _ [Occ=Dead] { GHC.Types.False -> fMin_auGo; GHC.Types.True -> shiftedR_resized_auGv }; GHC.Types.True -> case GHC.Classes.== @ (rep_avjs size1_avjt) $dEq_avJH shiftedR_masked_auGu (GHC.Num.fromInteger @ (rep_avjs size1_avjt) $dNum_avJx (__integer 0)) of _ [Occ=Dead] { GHC.Types.False -> fMax_auGn; GHC.Types.True -> shiftedR_resized_auGv } }; GHC.Types.True -> let { shiftedL_auGq :: rep_avjs size1_avjt [LclId, Str=DmdType] shiftedL_auGq = Data.Bits.shiftL @ (rep_avjs size1_avjt) $dBits_avJy (ds_dvYW `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt)) (GHC.Num.- @ GHC.Types.Int GHC.Num.$fNumInt resFracSZ_auGl argFracSZ_auGk) } in let { shiftedL_masked_auGr :: rep_avjs size1_avjt [LclId, Str=DmdType] shiftedL_masked_auGr = Data.Bits..&. @ (rep_avjs size1_avjt) $dBits_avJy shiftedL_auGq mask_auGp } in let { shiftedL_resized_auGs :: rep_avjs size2_avju [LclId, Str=DmdType] shiftedL_resized_auGs = CLaSH.Class.Num.resize @ rep_avjs $dResize_avJz @ size1_avjt @ size2_avju $dKnownNat_avJB $dKnownNat_avJA shiftedL_auGq } in case GHC.Classes.>= @ (rep_avjs size1_avjt) $dOrd_avJw (ds_dvYW `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt)) (GHC.Num.fromInteger @ (rep_avjs size1_avjt) $dNum_avJx (__integer 0)) of _ [Occ=Dead] { GHC.Types.False -> case GHC.Classes.== @ (rep_avjs size1_avjt) $dEq_avJH shiftedL_masked_auGr mask_auGp of _ [Occ=Dead] { GHC.Types.False -> fMin_auGo; GHC.Types.True -> shiftedL_resized_auGs }; GHC.Types.True -> case GHC.Classes.== @ (rep_avjs size1_avjt) $dEq_avJH shiftedL_masked_auGr (GHC.Num.fromInteger @ (rep_avjs size1_avjt) $dNum_avJx (__integer 0)) of _ [Occ=Dead] { GHC.Types.False -> fMax_auGn; GHC.Types.True -> shiftedL_resized_auGs } } }; GHC.Types.True -> case GHC.Classes.<= @ GHC.Types.Int GHC.Classes.$fOrdInt argFracSZ_auGk resFracSZ_auGl of _ [Occ=Dead] { GHC.Types.False -> Data.Bits.shiftR @ (rep_avjs size2_avju) $dBits_avJC (CLaSH.Class.Num.resize @ rep_avjs $dResize_avJz @ size1_avjt @ size2_avju $dKnownNat_avJB $dKnownNat_avJA (ds_dvYW `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt))) (GHC.Num.- @ GHC.Types.Int GHC.Num.$fNumInt argFracSZ_auGk resFracSZ_auGl); GHC.Types.True -> Data.Bits.shiftL @ (rep_avjs size2_avju) $dBits_avJC (CLaSH.Class.Num.resize @ rep_avjs $dResize_avJz @ size1_avjt @ size2_avju $dKnownNat_avJB $dKnownNat_avJA (ds_dvYW `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt))) (GHC.Num.- @ GHC.Types.Int GHC.Num.$fNumInt resFracSZ_auGl argFracSZ_auGk) } }) CLaSH.Sized.Fixed.asRepProxy :: forall (frac_auFV :: GHC.TypeLits.Nat) (rep_auFW :: GHC.TypeLits.Nat -> *) (size_auFX :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFV rep_auFW size_auFX -> Data.Proxy.Proxy rep_auFW [LclIdX, Str=DmdType] CLaSH.Sized.Fixed.asRepProxy = \ (@ (frac_avk6 :: GHC.TypeLits.Nat)) (@ (rep_avk7 :: GHC.TypeLits.Nat -> *)) (@ (size_avk8 :: GHC.TypeLits.Nat)) _ [Occ=Dead] -> Data.Proxy.Proxy @ (GHC.TypeLits.Nat -> *) @ rep_avk7 CLaSH.Sized.Fixed.asFracProxy :: forall (frac_auFY :: GHC.TypeLits.Nat) (rep_auFZ :: GHC.TypeLits.Nat -> *) (size_auG0 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFY rep_auFZ size_auG0 -> Data.Proxy.Proxy frac_auFY [LclIdX, Str=DmdType] CLaSH.Sized.Fixed.asFracProxy = \ (@ (frac_avkp :: GHC.TypeLits.Nat)) (@ (rep_avkq :: GHC.TypeLits.Nat -> *)) (@ (size_avkr :: GHC.TypeLits.Nat)) _ [Occ=Dead] -> Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac_avkp CLaSH.Sized.Fixed.fracShift :: forall (frac_auFS :: GHC.TypeLits.Nat) (rep_auFT :: GHC.TypeLits.Nat -> *) (size_auFU :: GHC.TypeLits.Nat). GHC.TypeLits.KnownNat frac_auFS => CLaSH.Sized.Fixed.Fixed frac_auFS rep_auFT size_auFU -> GHC.Types.Int [LclIdX, Str=DmdType] CLaSH.Sized.Fixed.fracShift = \ (@ (frac_avjN :: GHC.TypeLits.Nat)) (@ (rep_avjO :: GHC.TypeLits.Nat -> *)) (@ (size_avjP :: GHC.TypeLits.Nat)) ($dKnownNat_avxa :: GHC.TypeLits.KnownNat frac_avjN) (f_auGd :: CLaSH.Sized.Fixed.Fixed frac_avjN rep_avjO size_avjP) -> GHC.Num.fromInteger @ GHC.Types.Int GHC.Num.$fNumInt (GHC.TypeLits.natVal @ frac_avjN @ Data.Proxy.Proxy $dKnownNat_avxa (CLaSH.Sized.Fixed.asFracProxy @ frac_avjN @ rep_avjO @ size_avjP f_auGd)) CLaSH.Sized.Fixed.unUF :: forall (int_auG1 :: GHC.TypeLits.Nat) (frac_auG2 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.UFixed int_auG1 frac_auG2 -> CLaSH.Sized.Unsigned.Unsigned (int_auG1 GHC.TypeLits.+ frac_auG2) [LclIdX, Str=DmdType] CLaSH.Sized.Fixed.unUF = \ (@ (int_avkK :: GHC.TypeLits.Nat)) (@ (frac_avkL :: GHC.TypeLits.Nat)) (ds_dvZi :: CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL)) -> ds_dvZi `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) ~# CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL)) CLaSH.Sized.Fixed.uf :: forall (frac_auG3 :: GHC.TypeLits.Nat) (int_auG4 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_auG3 -> CLaSH.Sized.Unsigned.Unsigned (int_auG4 GHC.TypeLits.+ frac_auG3) -> CLaSH.Sized.Fixed.UFixed int_auG4 frac_auG3 [LclIdX, Str=DmdType] CLaSH.Sized.Fixed.uf = \ (@ (frac_avl5 :: GHC.TypeLits.Nat)) (@ (int_avl6 :: GHC.TypeLits.Nat)) _ [Occ=Dead] (fRep_auGb :: CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) -> CLaSH.Sized.Fixed.Fixed @ frac_avl5 @ CLaSH.Sized.Unsigned.Unsigned @ (int_avl6 GHC.TypeLits.+ frac_avl5) fRep_auGb CLaSH.Sized.Fixed.unSF :: forall (int_auG5 :: GHC.TypeLits.Nat) (frac_auG6 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.SFixed int_auG5 frac_auG6 -> CLaSH.Sized.Signed.Signed (int_auG5 GHC.TypeLits.+ frac_auG6) [LclIdX, Str=DmdType] CLaSH.Sized.Fixed.unSF = \ (@ (int_avlp :: GHC.TypeLits.Nat)) (@ (frac_avlq :: GHC.TypeLits.Nat)) (ds_dvZu :: CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq)) -> ds_dvZu `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) ~# CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq)) CLaSH.Sized.Fixed.sf :: forall (frac_auG7 :: GHC.TypeLits.Nat) (int_auG8 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_auG7 -> CLaSH.Sized.Signed.Signed (int_auG8 GHC.TypeLits.+ frac_auG7) -> CLaSH.Sized.Fixed.SFixed int_auG8 frac_auG7 [LclIdX, Str=DmdType] CLaSH.Sized.Fixed.sf = \ (@ (frac_avlK :: GHC.TypeLits.Nat)) (@ (int_avlL :: GHC.TypeLits.Nat)) _ [Occ=Dead] (fRep_auG9 :: CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) -> CLaSH.Sized.Fixed.Fixed @ frac_avlK @ CLaSH.Sized.Signed.Signed @ (int_avlL GHC.TypeLits.+ frac_avlK) fRep_auG9 CLaSH.Sized.Fixed.unFixed :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> rep_auFG size_auFH [LclIdX[[RecSel]], Str=DmdType] CLaSH.Sized.Fixed.unFixed = \ (@ (frac_auI2 :: GHC.TypeLits.Nat)) (@ (rep_auI3 :: GHC.TypeLits.Nat -> *)) (@ (size_auI4 :: GHC.TypeLits.Nat)) (ds_dvZF :: CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4) -> ds_dvZF `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 ~# rep_auI3 size_auI4) $cshow_avFD :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> GHC.Base.String [LclId, Str=DmdType] $cshow_avFD = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) _ [Occ=Dead] _ [Occ=Dead] ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) -> let { $dNum_avIp :: GHC.Num.Num (GHC.Real.Ratio GHC.Integer.Type.Integer) [LclId, Str=DmdType] $dNum_avIp = GHC.Real.$fNumRatio @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger } in \ (f_auHA :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) -> let { fRepI_auHE :: GHC.Integer.Type.Integer [LclId, Str=DmdType] fRepI_auHE = GHC.Real.toInteger @ (rep_auHy size_auHz) $dIntegral_avFy (f_auHA `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz ~# rep_auHy size_auHz)) } in let { fRepI_abs_auHF :: GHC.Integer.Type.Integer [LclId, Str=DmdType] fRepI_abs_auHF = GHC.Num.abs @ GHC.Integer.Type.Integer GHC.Num.$fNumInteger fRepI_auHE } in let { nF_auHD :: GHC.Types.Int [LclId, Str=DmdType] nF_auHD = CLaSH.Sized.Fixed.fracShift @ frac_auHx @ rep_auHy @ size_auHz $dKnownNat_avFx f_auHA } in GHC.Base.++ @ GHC.Types.Char (case GHC.Classes.< @ GHC.Integer.Type.Integer GHC.Integer.Type.$fOrdInteger fRepI_auHE (__integer 0) of _ [Occ=Dead] { GHC.Types.False -> GHC.Show.show @ GHC.Integer.Type.Integer GHC.Show.$fShowInteger (Data.Bits.shiftR @ GHC.Integer.Type.Integer Data.Bits.$fBitsInteger fRepI_auHE nF_auHD); GHC.Types.True -> GHC.Types.: @ GHC.Types.Char (GHC.Types.C# '-') (GHC.Show.show @ GHC.Integer.Type.Integer GHC.Show.$fShowInteger (Data.Bits.shiftR @ GHC.Integer.Type.Integer Data.Bits.$fBitsInteger fRepI_abs_auHF nF_auHD)) }) (GHC.Base.++ @ GHC.Types.Char (GHC.Types.: @ GHC.Types.Char (GHC.Types.C# '.') (GHC.Types.[] @ GHC.Types.Char)) (GHC.Base.$ @ (GHC.Real.Ratio GHC.Integer.Type.Integer) @ [GHC.Types.Char] (GHC.Base.. @ (GHC.Types.Int, [GHC.Types.Char]) @ [GHC.Types.Char] @ (GHC.Real.Ratio GHC.Integer.Type.Integer) (Data.Tuple.uncurry @ GHC.Types.Int @ [GHC.Types.Char] @ [GHC.Types.Char] (\ (n_auHJ :: GHC.Types.Int) (str_auHK :: [GHC.Types.Char]) -> GHC.Base.++ @ GHC.Types.Char (GHC.List.replicate @ GHC.Types.Char (GHC.Num.- @ GHC.Types.Int GHC.Num.$fNumInt n_auHJ (GHC.List.length @ GHC.Types.Char str_auHK)) (GHC.Types.C# '0')) str_auHK)) (GHC.Base.. @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) @ (GHC.Types.Int, [GHC.Types.Char]) @ (GHC.Real.Ratio GHC.Integer.Type.Integer) (Control.Arrow.second @ (->) Control.Arrow.$fArrow(->) @ (GHC.Real.Ratio GHC.Integer.Type.Integer) @ [GHC.Types.Char] @ GHC.Types.Int (GHC.Base.. @ GHC.Integer.Type.Integer @ GHC.Base.String @ (GHC.Real.Ratio GHC.Integer.Type.Integer) (GHC.Show.show @ GHC.Integer.Type.Integer GHC.Show.$fShowInteger) (GHC.Real.numerator @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger))) (GHC.Base.. @ (Data.Maybe.Maybe (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) @ (GHC.Real.Ratio GHC.Integer.Type.Integer) (Data.Maybe.fromJust @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) (GHC.Base.. @ [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)] @ (Data.Maybe.Maybe (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) @ (GHC.Real.Ratio GHC.Integer.Type.Integer) (Data.List.find @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) (GHC.Base.. @ GHC.Integer.Type.Integer @ GHC.Types.Bool @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) (let { ds_dw45 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] ds_dw45 = __integer 1 } in \ (ds_dw44 [OS=ProbOneShot] :: GHC.Integer.Type.Integer) -> GHC.Classes.== @ GHC.Integer.Type.Integer GHC.Integer.Type.$fEqInteger ds_dw44 ds_dw45) (GHC.Base.. @ (GHC.Real.Ratio GHC.Integer.Type.Integer) @ GHC.Integer.Type.Integer @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) (GHC.Real.denominator @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger) (Data.Tuple.snd @ GHC.Types.Int @ (GHC.Real.Ratio GHC.Integer.Type.Integer))))) (GHC.Base.. @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) @ [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)] @ (GHC.Real.Ratio GHC.Integer.Type.Integer) (GHC.List.iterate @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) (Control.Arrow.*** @ (->) Control.Arrow.$fArrow(->) @ GHC.Types.Int @ GHC.Types.Int @ (GHC.Real.Ratio GHC.Integer.Type.Integer) @ (GHC.Real.Ratio GHC.Integer.Type.Integer) (GHC.Enum.succ @ GHC.Types.Int GHC.Enum.$fEnumInt) (let { ds_dw48 :: GHC.Real.Ratio GHC.Integer.Type.Integer [LclId, Str=DmdType] ds_dw48 = GHC.Num.fromInteger @ (GHC.Real.Ratio GHC.Integer.Type.Integer) $dNum_avIp (__integer 10) } in \ (ds_dw47 :: GHC.Real.Ratio GHC.Integer.Type.Integer) -> GHC.Num.* @ (GHC.Real.Ratio GHC.Integer.Type.Integer) $dNum_avIp ds_dw47 ds_dw48))) (GHC.Tuple.(,) @ GHC.Types.Int @ (GHC.Real.Ratio GHC.Integer.Type.Integer) (GHC.Types.I# 0))))))) (GHC.Real.% @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger (case GHC.Classes.< @ GHC.Integer.Type.Integer GHC.Integer.Type.$fOrdInteger fRepI_auHE (__integer 0) of _ [Occ=Dead] { GHC.Types.False -> Data.Bits..&. @ GHC.Integer.Type.Integer Data.Bits.$fBitsInteger fRepI_auHE (GHC.Num.- @ GHC.Integer.Type.Integer GHC.Num.$fNumInteger (GHC.Real.^ @ GHC.Integer.Type.Integer @ GHC.Types.Int GHC.Num.$fNumInteger GHC.Real.$fIntegralInt (__integer 2) nF_auHD) (__integer 1)); GHC.Types.True -> Data.Bits..&. @ GHC.Integer.Type.Integer Data.Bits.$fBitsInteger fRepI_abs_auHF (GHC.Num.- @ GHC.Integer.Type.Integer GHC.Num.$fNumInteger (GHC.Real.^ @ GHC.Integer.Type.Integer @ GHC.Types.Int GHC.Num.$fNumInteger GHC.Real.$fIntegralInt (__integer 2) nF_auHD) (__integer 1)) }) (GHC.Real.^ @ GHC.Integer.Type.Integer @ GHC.Types.Int GHC.Num.$fNumInteger GHC.Real.$fIntegralInt (__integer 2) nF_auHD)))) Rec { CLaSH.Sized.Fixed.$fShowFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => GHC.Show.Show (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) [LclIdX[DFunId], Str=DmdType, Unf=DFun: \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) -> GHC.Show.D:Show TYPE CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz $cshowsPrec_avFB @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy $cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy $cshowList_avIE @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy] CLaSH.Sized.Fixed.$fShowFixed = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) -> GHC.Show.D:Show @ (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) ($cshowsPrec_avFB @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy) ($cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy) ($cshowList_avIE @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy) $cshowList_avIE [Occ=LoopBreaker] :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz] -> GHC.Show.ShowS [LclId, Str=DmdType] $cshowList_avIE = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) -> let { $dShow_avID :: GHC.Show.Show (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) [LclId, Str=DmdType] $dShow_avID = CLaSH.Sized.Fixed.$fShowFixed @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy } in GHC.Show.$dmshowList @ (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) $dShow_avID $cshowsPrec_avFB [Occ=LoopBreaker] :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => GHC.Types.Int -> CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> GHC.Show.ShowS [LclId, Str=DmdType] $cshowsPrec_avFB = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) -> let { $dShow_avFA :: GHC.Show.Show (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) [LclId, Str=DmdType] $dShow_avFA = CLaSH.Sized.Fixed.$fShowFixed @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy } in GHC.Show.$dmshowsPrec @ (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) $dShow_avFA end Rec } $cmult_avFi :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) [LclId, Str=DmdType] $cmult_avFi = \ (@ (frac1_auHq :: GHC.TypeLits.Nat)) (@ (rep_auHr :: GHC.TypeLits.Nat -> *)) (@ (size1_auHs :: GHC.TypeLits.Nat)) (@ (frac2_auHt :: GHC.TypeLits.Nat)) (@ (size2_auHu :: GHC.TypeLits.Nat)) (tup_avFg :: CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) -> let { cobox_avFs :: CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~ rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu) [LclId, Str=DmdType] cobox_avFs = case case tup_avFg of _ [Occ=Dead] { (_ [Occ=Dead], tpl_B2) -> tpl_B2 } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6C -> GHC.Types.Eq# @ * @ (CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu)) @ (rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) @~ cobox_dw6C } } in let { $dMult_avFr :: CLaSH.Class.Num.Mult (rep_auHr size1_auHs) (rep_auHr size2_auHu) [LclId, Str=DmdType] $dMult_avFr = case tup_avFg of _ [Occ=Dead] { (tpl_B1, _ [Occ=Dead]) -> tpl_B1 } } in \ (ds_dw3N :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (ds_dw3O :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) -> (CLaSH.Sized.Fixed.Fixed @ (frac1_auHq GHC.TypeLits.+ frac2_auHt) @ rep_auHr @ (size1_auHs GHC.TypeLits.+ size2_auHu) (case cobox_avFs of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw3M -> (CLaSH.Class.Num.mult @ (rep_auHr size1_auHs) @ (rep_auHr size2_auHu) $dMult_avFr (ds_dw3N `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs ~# rep_auHr size1_auHs)) (ds_dw3O `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu ~# rep_auHr size2_auHu))) `cast` (Sub cobox_dw3M :: CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) })) `cast` (Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:MResultFixedFixed[0] _N _N _N _N _N)) :: CLaSH.Sized.Fixed.Fixed (frac1_auHq GHC.TypeLits.+ frac2_auHt) rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu) ~# CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu)) CLaSH.Sized.Fixed.$fMultFixedFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) [LclIdX[DFunId(nt)], Str=DmdType, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=False) Tmpl= \ (@ (frac1_auHq :: GHC.TypeLits.Nat)) (@ (rep_auHr :: GHC.TypeLits.Nat -> *)) (@ (size1_auHs :: GHC.TypeLits.Nat)) (@ (frac2_auHt :: GHC.TypeLits.Nat)) (@ (size2_auHu :: GHC.TypeLits.Nat)) (tup_avFg [Occ=Once] :: CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) -> CLaSH.Class.Num.D:Mult @ (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) @ (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) ($cmult_avFi @ frac1_auHq @ rep_auHr @ size1_auHs @ frac2_auHt @ size2_auHu tup_avFg)}] CLaSH.Sized.Fixed.$fMultFixedFixed = \ (@ (frac1_auHq :: GHC.TypeLits.Nat)) (@ (rep_auHr :: GHC.TypeLits.Nat -> *)) (@ (size1_auHs :: GHC.TypeLits.Nat)) (@ (frac2_auHt :: GHC.TypeLits.Nat)) (@ (size2_auHu :: GHC.TypeLits.Nat)) (tup_avFg :: CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) -> CLaSH.Class.Num.D:Mult @ (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) @ (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) ($cmult_avFi @ frac1_auHq @ rep_auHr @ size1_auHs @ frac2_auHt @ size2_auHu tup_avFg) $cminus_avEx :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclId, Str=DmdType] $cminus_avEx = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) -> let { tup_avU6 :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] tup_avU6 = case tup_avDN of _ [Occ=Dead] { (_ [Occ=Dead], tpl_B2, _ [Occ=Dead]) -> tpl_B2 } } in let { $dBounded_avUu :: GHC.Enum.Bounded (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType] $dBounded_avUu = case tup_avU6 of _ [Occ=Dead] { (tpl_B1, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B1 } } in let { $dOrd_avV9 :: GHC.Classes.Ord (rep_auHe size2_auHh) [LclId, Str=DmdType] $dOrd_avV9 = case tup_avU6 of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], tpl_B3, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B3 } } in let { $dNum_avVa :: GHC.Num.Num (rep_auHe size2_auHh) [LclId, Str=DmdType] $dNum_avVa = case tup_avU6 of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B4, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B4 } } in let { $dBits_avUy :: Data.Bits.Bits (rep_auHe size2_auHh) [LclId, Str=DmdType] $dBits_avUy = case tup_avU6 of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B5, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B5 } } in let { $dEq_avV8 :: GHC.Classes.Eq (rep_auHe size2_auHh) [LclId, Str=DmdType] $dEq_avV8 = Data.Bits.$p1Bits @ (rep_auHe size2_auHh) $dBits_avUy } in let { $dResize_avUz :: CLaSH.Class.Num.Resize rep_auHe [LclId, Str=DmdType] $dResize_avUz = case tup_avU6 of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B6, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B6 } } in let { $dKnownNat_avUA :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] $dKnownNat_avUA = case tup_avU6 of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B7, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B7 } } in let { $dKnownNat_avVe :: GHC.TypeLits.KnownNat size2_auHh [LclId, Str=DmdType] $dKnownNat_avVe = case tup_avU6 of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B8, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B8 } } in let { $dBits_avUC :: Data.Bits.Bits (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType] $dBits_avUC = case tup_avU6 of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B9, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B9 } } in let { $dKnownNat_avUD :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) [LclId, Str=DmdType] $dKnownNat_avUD = case tup_avU6 of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_Ba, _ [Occ=Dead], _ [Occ=Dead]) -> tpl_Ba } } in let { $dKnownNat_avVh :: GHC.TypeLits.KnownNat frac2_auHg [LclId, Str=DmdType] $dKnownNat_avVh = case tup_avU6 of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_Bb, _ [Occ=Dead]) -> tpl_Bb } } in let { $dBounded_avVi :: GHC.Enum.Bounded (rep_auHe size2_auHh) [LclId, Str=DmdType] $dBounded_avVi = case tup_avU6 of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_Bc) -> tpl_Bc } } in let { tup_avU5 :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] tup_avU5 = case tup_avDN of _ [Occ=Dead] { (tpl_B1, _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B1 } } in let { $dOrd_avVl :: GHC.Classes.Ord (rep_auHe size1_auHf) [LclId, Str=DmdType] $dOrd_avVl = case tup_avU5 of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], tpl_B3, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B3 } } in let { $dNum_avVm :: GHC.Num.Num (rep_auHe size1_auHf) [LclId, Str=DmdType] $dNum_avVm = case tup_avU5 of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B4, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B4 } } in let { $dBits_avUc :: Data.Bits.Bits (rep_auHe size1_auHf) [LclId, Str=DmdType] $dBits_avUc = case tup_avU5 of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B5, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B5 } } in let { $dEq_avVk :: GHC.Classes.Eq (rep_auHe size1_auHf) [LclId, Str=DmdType] $dEq_avVk = Data.Bits.$p1Bits @ (rep_auHe size1_auHf) $dBits_avUc } in let { $dKnownNat_avVq :: GHC.TypeLits.KnownNat size1_auHf [LclId, Str=DmdType] $dKnownNat_avVq = case tup_avU5 of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B8, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B8 } } in let { $dKnownNat_avVt :: GHC.TypeLits.KnownNat frac1_auHd [LclId, Str=DmdType] $dKnownNat_avVt = case tup_avU5 of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_Bb, _ [Occ=Dead]) -> tpl_Bb } } in let { $dBounded_avVu :: GHC.Enum.Bounded (rep_auHe size1_auHf) [LclId, Str=DmdType] $dBounded_avVu = case tup_avU5 of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_Bc) -> tpl_Bc } } in let { $dNum_avFd :: GHC.Num.Num (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType] $dNum_avFd = case tup_avDN of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], tpl_B3) -> tpl_B3 } } in let { tup_avF3 :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] tup_avF3 = ($dBounded_avUu, $dEq_avVk, $dOrd_avVl, $dNum_avVm, $dBits_avUc, $dResize_avUz, $dKnownNat_avUA, $dKnownNat_avVq, $dBits_avUC, $dKnownNat_avUD, $dKnownNat_avVt, $dBounded_avVu) } in let { tup_avEM :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] tup_avEM = ($dBounded_avUu, $dEq_avV8, $dOrd_avV9, $dNum_avVa, $dBits_avUy, $dResize_avUz, $dKnownNat_avUA, $dKnownNat_avVe, $dBits_avUC, $dKnownNat_avUD, $dKnownNat_avVh, $dBounded_avVi) } in \ (f1_auHm :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (f2_auHn :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> let { ds_dw39 :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] ds_dw39 = CLaSH.Sized.Fixed.resizeF @ frac2_auHg @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size2_auHh @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) tup_avEM f2_auHn } in let { ds_dw34 :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] ds_dw34 = CLaSH.Sized.Fixed.resizeF @ frac1_auHd @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size1_auHf @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) tup_avF3 f1_auHm } in (CLaSH.Sized.Fixed.Fixed @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) (GHC.Num.- @ (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) $dNum_avFd (ds_dw34 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1))) (ds_dw39 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1))))) `cast` (Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:AResultFixedFixed[0] _N _N _N _N _N)) :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh)) $cplus_avDP :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclId, Str=DmdType] $cplus_avDP = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) -> let { tup_avSG :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] tup_avSG = case tup_avDN of _ [Occ=Dead] { (_ [Occ=Dead], tpl_B2, _ [Occ=Dead]) -> tpl_B2 } } in let { $dBounded_avT4 :: GHC.Enum.Bounded (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType] $dBounded_avT4 = case tup_avSG of _ [Occ=Dead] { (tpl_B1, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B1 } } in let { $dOrd_avTJ :: GHC.Classes.Ord (rep_auHe size2_auHh) [LclId, Str=DmdType] $dOrd_avTJ = case tup_avSG of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], tpl_B3, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B3 } } in let { $dNum_avTK :: GHC.Num.Num (rep_auHe size2_auHh) [LclId, Str=DmdType] $dNum_avTK = case tup_avSG of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B4, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B4 } } in let { $dBits_avT8 :: Data.Bits.Bits (rep_auHe size2_auHh) [LclId, Str=DmdType] $dBits_avT8 = case tup_avSG of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B5, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B5 } } in let { $dEq_avTI :: GHC.Classes.Eq (rep_auHe size2_auHh) [LclId, Str=DmdType] $dEq_avTI = Data.Bits.$p1Bits @ (rep_auHe size2_auHh) $dBits_avT8 } in let { $dResize_avT9 :: CLaSH.Class.Num.Resize rep_auHe [LclId, Str=DmdType] $dResize_avT9 = case tup_avSG of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B6, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B6 } } in let { $dKnownNat_avTa :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] $dKnownNat_avTa = case tup_avSG of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B7, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B7 } } in let { $dKnownNat_avTO :: GHC.TypeLits.KnownNat size2_auHh [LclId, Str=DmdType] $dKnownNat_avTO = case tup_avSG of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B8, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B8 } } in let { $dBits_avTc :: Data.Bits.Bits (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType] $dBits_avTc = case tup_avSG of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B9, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B9 } } in let { $dKnownNat_avTd :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) [LclId, Str=DmdType] $dKnownNat_avTd = case tup_avSG of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_Ba, _ [Occ=Dead], _ [Occ=Dead]) -> tpl_Ba } } in let { $dKnownNat_avTR :: GHC.TypeLits.KnownNat frac2_auHg [LclId, Str=DmdType] $dKnownNat_avTR = case tup_avSG of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_Bb, _ [Occ=Dead]) -> tpl_Bb } } in let { $dBounded_avTS :: GHC.Enum.Bounded (rep_auHe size2_auHh) [LclId, Str=DmdType] $dBounded_avTS = case tup_avSG of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_Bc) -> tpl_Bc } } in let { tup_avSF :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] tup_avSF = case tup_avDN of _ [Occ=Dead] { (tpl_B1, _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B1 } } in let { $dOrd_avTV :: GHC.Classes.Ord (rep_auHe size1_auHf) [LclId, Str=DmdType] $dOrd_avTV = case tup_avSF of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], tpl_B3, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B3 } } in let { $dNum_avTW :: GHC.Num.Num (rep_auHe size1_auHf) [LclId, Str=DmdType] $dNum_avTW = case tup_avSF of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B4, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B4 } } in let { $dBits_avSM :: Data.Bits.Bits (rep_auHe size1_auHf) [LclId, Str=DmdType] $dBits_avSM = case tup_avSF of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B5, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B5 } } in let { $dEq_avTU :: GHC.Classes.Eq (rep_auHe size1_auHf) [LclId, Str=DmdType] $dEq_avTU = Data.Bits.$p1Bits @ (rep_auHe size1_auHf) $dBits_avSM } in let { $dKnownNat_avU0 :: GHC.TypeLits.KnownNat size1_auHf [LclId, Str=DmdType] $dKnownNat_avU0 = case tup_avSF of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B8, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B8 } } in let { $dKnownNat_avU3 :: GHC.TypeLits.KnownNat frac1_auHd [LclId, Str=DmdType] $dKnownNat_avU3 = case tup_avSF of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_Bb, _ [Occ=Dead]) -> tpl_Bb } } in let { $dBounded_avU4 :: GHC.Enum.Bounded (rep_auHe size1_auHf) [LclId, Str=DmdType] $dBounded_avU4 = case tup_avSF of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_Bc) -> tpl_Bc } } in let { $dNum_avEv :: GHC.Num.Num (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType] $dNum_avEv = case tup_avDN of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], tpl_B3) -> tpl_B3 } } in let { tup_avEl :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] tup_avEl = ($dBounded_avT4, $dEq_avTU, $dOrd_avTV, $dNum_avTW, $dBits_avSM, $dResize_avT9, $dKnownNat_avTa, $dKnownNat_avU0, $dBits_avTc, $dKnownNat_avTd, $dKnownNat_avU3, $dBounded_avU4) } in let { tup_avE4 :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] tup_avE4 = ($dBounded_avT4, $dEq_avTI, $dOrd_avTJ, $dNum_avTK, $dBits_avT8, $dResize_avT9, $dKnownNat_avTa, $dKnownNat_avTO, $dBits_avTc, $dKnownNat_avTd, $dKnownNat_avTR, $dBounded_avTS) } in \ (f1_auHi :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (f2_auHj :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> let { ds_dw2p :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] ds_dw2p = CLaSH.Sized.Fixed.resizeF @ frac2_auHg @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size2_auHh @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) tup_avE4 f2_auHj } in let { ds_dw2k :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] ds_dw2k = CLaSH.Sized.Fixed.resizeF @ frac1_auHd @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size1_auHf @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) tup_avEl f1_auHi } in (CLaSH.Sized.Fixed.Fixed @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) (GHC.Num.+ @ (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) $dNum_avEv (ds_dw2k `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1))) (ds_dw2p `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1))))) `cast` (Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:AResultFixedFixed[0] _N _N _N _N _N)) :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh)) CLaSH.Sized.Fixed.$fAddFixedFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Class.Num.Add (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclIdX[DFunId], Str=DmdType, Unf=DFun: \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) -> CLaSH.Class.Num.D:Add TYPE CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf TYPE CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh $cplus_avDP @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN $cminus_avEx @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN] CLaSH.Sized.Fixed.$fAddFixedFixed = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) -> CLaSH.Class.Num.D:Add @ (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) @ (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) ($cplus_avDP @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN) ($cminus_avEx @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN) $cfromInteger_avDp :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => GHC.Integer.Type.Integer -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Str=DmdType] $cfromInteger_avDp = \ (@ (frac_auGY :: GHC.TypeLits.Nat)) (@ (rep_auGZ :: GHC.TypeLits.Nat -> *)) (@ (size_auH0 :: GHC.TypeLits.Nat)) (tup_avBm :: CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) -> let { tup_avRs :: CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0 [LclId, Str=DmdType] tup_avRs = case tup_avBm of _ [Occ=Dead] { (_ [Occ=Dead], tpl_B2, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B2 } } in let { $dNum_avDK :: GHC.Num.Num (rep_auGZ size_auH0) [LclId, Str=DmdType] $dNum_avDK = case tup_avBm of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], tpl_B3, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B3 } } in let { $dBits_avDI :: Data.Bits.Bits (rep_auGZ size_auH0) [LclId, Str=DmdType] $dBits_avDI = case tup_avRs of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B9, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B9 } } in let { $dKnownNat_avDx :: GHC.TypeLits.KnownNat frac_auGY [LclId, Str=DmdType] $dKnownNat_avDx = case tup_avRs of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_Ba, _ [Occ=Dead], _ [Occ=Dead]) -> tpl_Ba } } in \ (i_auHa :: GHC.Integer.Type.Integer) -> CLaSH.Sized.Fixed.Fixed @ frac_auGY @ rep_auGZ @ size_auH0 (Data.Bits.shiftL @ (rep_auGZ size_auH0) $dBits_avDI (GHC.Num.fromInteger @ (rep_auGZ size_auH0) $dNum_avDK i_auHa) (GHC.Num.fromInteger @ GHC.Types.Int GHC.Num.$fNumInt (GHC.TypeLits.natVal @ frac_auGY @ Data.Proxy.Proxy $dKnownNat_avDx (Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac_auGY)))) $csignum_avDg :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Str=DmdType] $csignum_avDg = \ (@ (frac_auGY :: GHC.TypeLits.Nat)) (@ (rep_auGZ :: GHC.TypeLits.Nat -> *)) (@ (size_auH0 :: GHC.TypeLits.Nat)) (tup_avBm :: CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) -> let { $dNum_avDn :: GHC.Num.Num (rep_auGZ size_auH0) [LclId, Str=DmdType] $dNum_avDn = case tup_avBm of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], tpl_B3, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B3 } } in \ (ds_dw2d :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) -> CLaSH.Sized.Fixed.Fixed @ frac_auGY @ rep_auGZ @ size_auH0 (GHC.Num.signum @ (rep_auGZ size_auH0) $dNum_avDn (ds_dw2d `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 ~# rep_auGZ size_auH0))) $cabs_avCW :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Str=DmdType] $cabs_avCW = \ (@ (frac_auGY :: GHC.TypeLits.Nat)) (@ (rep_auGZ :: GHC.TypeLits.Nat -> *)) (@ (size_auH0 :: GHC.TypeLits.Nat)) (tup_avBm :: CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) -> let { tup_avQ0 :: CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0 [LclId, Str=DmdType] tup_avQ0 = case tup_avBm of _ [Occ=Dead] { (_ [Occ=Dead], tpl_B2, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B2 } } in let { $dBounded_avQL :: GHC.Enum.Bounded (rep_auGZ size_auH0) [LclId, Str=DmdType] $dBounded_avQL = case tup_avQ0 of _ [Occ=Dead] { (tpl_B1, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B1 } } in let { $dKnownNat_avQp :: GHC.TypeLits.KnownNat size_auH0 [LclId, Str=DmdType] $dKnownNat_avQp = case tup_avQ0 of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B7, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B7 } } in let { tup_avPZ :: CLaSH.Sized.Fixed.SatN2C rep_auGZ size_auH0 [LclId, Str=DmdType] tup_avPZ = case tup_avBm of _ [Occ=Dead] { (tpl_B1, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B1 } } in let { cobox_avQD :: 1 GHC.TypeLits.<= size_auH0 [LclId, Str=DmdType] cobox_avQD = case case tup_avPZ of _ [Occ=Dead] { (tpl_B1, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B1 } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6f -> GHC.Types.Eq# @ GHC.Types.Bool @ (1 GHC.TypeLits.<=? size_auH0) @ 'GHC.Types.True @~ cobox_dw6f } } in let { cobox_avQE :: ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_auH0 GHC.TypeLits.+ 2) [LclId, Str=DmdType] cobox_avQE = case case tup_avPZ of _ [Occ=Dead] { (_ [Occ=Dead], tpl_B2, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B2 } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6d -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) @ (size_auH0 GHC.TypeLits.+ 2) @~ cobox_dw6d } } in let { $dBitVector_avQF :: CLaSH.Class.BitVector.BitVector (rep_auGZ size_auH0) [LclId, Str=DmdType] $dBitVector_avQF = case tup_avPZ of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], tpl_B3, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B3 } } in let { $dBitVector_avQG :: CLaSH.Class.BitVector.BitVector (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) [LclId, Str=DmdType] $dBitVector_avQG = case tup_avPZ of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B4, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B4 } } in let { cobox_avQH :: CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0) ~ size_auH0 [LclId, Str=DmdType] cobox_avQH = case case tup_avPZ of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B5, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B5 } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6b -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ (CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0)) @ size_auH0 @~ cobox_dw6b } } in let { cobox_avQI :: CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) ~ (size_auH0 GHC.TypeLits.+ 2) [LclId, Str=DmdType] cobox_avQI = case case tup_avPZ of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B6, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B6 } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw69 -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ (CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) @ (size_auH0 GHC.TypeLits.+ 2) @~ cobox_dw69 } } in let { $dKnownNat_avQc :: GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ 2) [LclId, Str=DmdType] $dKnownNat_avQc = case tup_avPZ of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B8, _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B8 } } in let { $dBits_avQM :: Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) [LclId, Str=DmdType] $dBits_avQM = case tup_avPZ of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_Ba) -> tpl_Ba } } in let { $dResize_avD9 :: CLaSH.Class.Num.Resize rep_auGZ [LclId, Str=DmdType] $dResize_avD9 = case tup_avQ0 of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B6, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B6 } } in let { $dNum_avD6 :: GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) [LclId, Str=DmdType] $dNum_avD6 = case tup_avBm of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B4, _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B4 } } in let { tup_avD4 :: CLaSH.Sized.Fixed.SatN2C rep_auGZ size_auH0 [LclId, Str=DmdType] tup_avD4 = (cobox_avQD, cobox_avQE, $dBitVector_avQF, $dBitVector_avQG, cobox_avQH, cobox_avQI, $dKnownNat_avQp, $dKnownNat_avQc, $dBounded_avQL, $dBits_avQM) } in \ (ds_dw1Z :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) -> CLaSH.Sized.Fixed.Fixed @ frac_auGY @ rep_auGZ @ size_auH0 (CLaSH.Sized.Fixed.satN2 @ rep_auGZ @ size_auH0 tup_avD4 (GHC.Num.abs @ (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) $dNum_avD6 (CLaSH.Class.Num.resize @ rep_auGZ $dResize_avD9 @ size_auH0 @ (size_auH0 GHC.TypeLits.+ 2) $dKnownNat_avQp $dKnownNat_avQc (ds_dw1Z `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 ~# rep_auGZ size_auH0))))) $cnegate_avCC :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Str=DmdType] $cnegate_avCC = \ (@ (frac_auGY :: GHC.TypeLits.Nat)) (@ (rep_auGZ :: GHC.TypeLits.Nat -> *)) (@ (size_auH0 :: GHC.TypeLits.Nat)) (tup_avBm :: CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) -> let { tup_avP8 :: CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0 [LclId, Str=DmdType] tup_avP8 = case tup_avBm of _ [Occ=Dead] { (_ [Occ=Dead], tpl_B2, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B2 } } in let { $dBounded_avPT :: GHC.Enum.Bounded (rep_auGZ size_auH0) [LclId, Str=DmdType] $dBounded_avPT = case tup_avP8 of _ [Occ=Dead] { (tpl_B1, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B1 } } in let { $dKnownNat_avPx :: GHC.TypeLits.KnownNat size_auH0 [LclId, Str=DmdType] $dKnownNat_avPx = case tup_avP8 of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B7, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B7 } } in let { tup_avP7 :: CLaSH.Sized.Fixed.SatN2C rep_auGZ size_auH0 [LclId, Str=DmdType] tup_avP7 = case tup_avBm of _ [Occ=Dead] { (tpl_B1, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B1 } } in let { cobox_avPL :: 1 GHC.TypeLits.<= size_auH0 [LclId, Str=DmdType] cobox_avPL = case case tup_avP7 of _ [Occ=Dead] { (tpl_B1, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B1 } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw66 -> GHC.Types.Eq# @ GHC.Types.Bool @ (1 GHC.TypeLits.<=? size_auH0) @ 'GHC.Types.True @~ cobox_dw66 } } in let { cobox_avPM :: ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_auH0 GHC.TypeLits.+ 2) [LclId, Str=DmdType] cobox_avPM = case case tup_avP7 of _ [Occ=Dead] { (_ [Occ=Dead], tpl_B2, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B2 } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw64 -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) @ (size_auH0 GHC.TypeLits.+ 2) @~ cobox_dw64 } } in let { $dBitVector_avPN :: CLaSH.Class.BitVector.BitVector (rep_auGZ size_auH0) [LclId, Str=DmdType] $dBitVector_avPN = case tup_avP7 of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], tpl_B3, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B3 } } in let { $dBitVector_avPO :: CLaSH.Class.BitVector.BitVector (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) [LclId, Str=DmdType] $dBitVector_avPO = case tup_avP7 of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B4, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B4 } } in let { cobox_avPP :: CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0) ~ size_auH0 [LclId, Str=DmdType] cobox_avPP = case case tup_avP7 of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B5, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B5 } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw62 -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ (CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0)) @ size_auH0 @~ cobox_dw62 } } in let { cobox_avPQ :: CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) ~ (size_auH0 GHC.TypeLits.+ 2) [LclId, Str=DmdType] cobox_avPQ = case case tup_avP7 of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B6, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B6 } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw60 -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ (CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) @ (size_auH0 GHC.TypeLits.+ 2) @~ cobox_dw60 } } in let { $dKnownNat_avPk :: GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ 2) [LclId, Str=DmdType] $dKnownNat_avPk = case tup_avP7 of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B8, _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B8 } } in let { $dBits_avPU :: Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) [LclId, Str=DmdType] $dBits_avPU = case tup_avP7 of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_Ba) -> tpl_Ba } } in let { $dResize_avCP :: CLaSH.Class.Num.Resize rep_auGZ [LclId, Str=DmdType] $dResize_avCP = case tup_avP8 of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B6, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B6 } } in let { $dNum_avCM :: GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) [LclId, Str=DmdType] $dNum_avCM = case tup_avBm of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B4, _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B4 } } in let { tup_avCK :: CLaSH.Sized.Fixed.SatN2C rep_auGZ size_auH0 [LclId, Str=DmdType] tup_avCK = (cobox_avPL, cobox_avPM, $dBitVector_avPN, $dBitVector_avPO, cobox_avPP, cobox_avPQ, $dKnownNat_avPx, $dKnownNat_avPk, $dBounded_avPT, $dBits_avPU) } in \ (ds_dw1K :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) -> CLaSH.Sized.Fixed.Fixed @ frac_auGY @ rep_auGZ @ size_auH0 (CLaSH.Sized.Fixed.satN2 @ rep_auGZ @ size_auH0 tup_avCK (GHC.Num.negate @ (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) $dNum_avCM (CLaSH.Class.Num.resize @ rep_auGZ $dResize_avCP @ size_auH0 @ (size_auH0 GHC.TypeLits.+ 2) $dKnownNat_avPx $dKnownNat_avPk (ds_dw1K `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 ~# rep_auGZ size_auH0))))) $c-_avCb :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Str=DmdType] $c-_avCb = \ (@ (frac_auGY :: GHC.TypeLits.Nat)) (@ (rep_auGZ :: GHC.TypeLits.Nat -> *)) (@ (size_auH0 :: GHC.TypeLits.Nat)) (tup_avBm :: CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) -> let { tup_avOg :: CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0 [LclId, Str=DmdType] tup_avOg = case tup_avBm of _ [Occ=Dead] { (_ [Occ=Dead], tpl_B2, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B2 } } in let { $dBounded_avP1 :: GHC.Enum.Bounded (rep_auGZ size_auH0) [LclId, Str=DmdType] $dBounded_avP1 = case tup_avOg of _ [Occ=Dead] { (tpl_B1, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B1 } } in let { $dResize_avOE :: CLaSH.Class.Num.Resize rep_auGZ [LclId, Str=DmdType] $dResize_avOE = case tup_avOg of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B6, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B6 } } in let { $dKnownNat_avOF :: GHC.TypeLits.KnownNat size_auH0 [LclId, Str=DmdType] $dKnownNat_avOF = case tup_avOg of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B7, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B7 } } in let { tup_avOf :: CLaSH.Sized.Fixed.SatN2C rep_auGZ size_auH0 [LclId, Str=DmdType] tup_avOf = case tup_avBm of _ [Occ=Dead] { (tpl_B1, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B1 } } in let { cobox_avOT :: 1 GHC.TypeLits.<= size_auH0 [LclId, Str=DmdType] cobox_avOT = case case tup_avOf of _ [Occ=Dead] { (tpl_B1, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B1 } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw5X -> GHC.Types.Eq# @ GHC.Types.Bool @ (1 GHC.TypeLits.<=? size_auH0) @ 'GHC.Types.True @~ cobox_dw5X } } in let { cobox_avOU :: ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_auH0 GHC.TypeLits.+ 2) [LclId, Str=DmdType] cobox_avOU = case case tup_avOf of _ [Occ=Dead] { (_ [Occ=Dead], tpl_B2, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B2 } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw5V -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) @ (size_auH0 GHC.TypeLits.+ 2) @~ cobox_dw5V } } in let { $dBitVector_avOV :: CLaSH.Class.BitVector.BitVector (rep_auGZ size_auH0) [LclId, Str=DmdType] $dBitVector_avOV = case tup_avOf of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], tpl_B3, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B3 } } in let { $dBitVector_avOW :: CLaSH.Class.BitVector.BitVector (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) [LclId, Str=DmdType] $dBitVector_avOW = case tup_avOf of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B4, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B4 } } in let { cobox_avOX :: CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0) ~ size_auH0 [LclId, Str=DmdType] cobox_avOX = case case tup_avOf of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B5, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B5 } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw5T -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ (CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0)) @ size_auH0 @~ cobox_dw5T } } in let { cobox_avOY :: CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) ~ (size_auH0 GHC.TypeLits.+ 2) [LclId, Str=DmdType] cobox_avOY = case case tup_avOf of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B6, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B6 } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw5R -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ (CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) @ (size_auH0 GHC.TypeLits.+ 2) @~ cobox_dw5R } } in let { $dKnownNat_avOs :: GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ 2) [LclId, Str=DmdType] $dKnownNat_avOs = case tup_avOf of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B8, _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B8 } } in let { $dBits_avP2 :: Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) [LclId, Str=DmdType] $dBits_avP2 = case tup_avOf of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_Ba) -> tpl_Ba } } in let { $dNum_avCl :: GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) [LclId, Str=DmdType] $dNum_avCl = case tup_avBm of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B4, _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B4 } } in let { tup_avCj :: CLaSH.Sized.Fixed.SatN2C rep_auGZ size_auH0 [LclId, Str=DmdType] tup_avCj = (cobox_avOT, cobox_avOU, $dBitVector_avOV, $dBitVector_avOW, cobox_avOX, cobox_avOY, $dKnownNat_avOF, $dKnownNat_avOs, $dBounded_avP1, $dBits_avP2) } in \ (ds_dw1u :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) (ds_dw1v :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) -> CLaSH.Sized.Fixed.Fixed @ frac_auGY @ rep_auGZ @ size_auH0 (CLaSH.Sized.Fixed.satN2 @ rep_auGZ @ size_auH0 tup_avCj (GHC.Num.- @ (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) $dNum_avCl (CLaSH.Class.Num.resize @ rep_auGZ $dResize_avOE @ size_auH0 @ (size_auH0 GHC.TypeLits.+ 2) $dKnownNat_avOF $dKnownNat_avOs (ds_dw1u `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 ~# rep_auGZ size_auH0))) (CLaSH.Class.Num.resize @ rep_auGZ $dResize_avOE @ size_auH0 @ (size_auH0 GHC.TypeLits.+ 2) $dKnownNat_avOF $dKnownNat_avOs (ds_dw1v `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 ~# rep_auGZ size_auH0))))) $c*_avBP :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Str=DmdType] $c*_avBP = \ (@ (frac_auGY :: GHC.TypeLits.Nat)) (@ (rep_auGZ :: GHC.TypeLits.Nat -> *)) (@ (size_auH0 :: GHC.TypeLits.Nat)) (tup_avBm :: CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) -> let { tup_avNl :: CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0 [LclId, Str=DmdType] tup_avNl = case tup_avBm of _ [Occ=Dead] { (_ [Occ=Dead], tpl_B2, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B2 } } in let { $dBounded_avO3 :: GHC.Enum.Bounded (rep_auGZ size_auH0) [LclId, Str=DmdType] $dBounded_avO3 = case tup_avNl of _ [Occ=Dead] { (tpl_B1, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B1 } } in let { $dOrd_avO5 :: GHC.Classes.Ord (rep_auGZ (size_auH0 GHC.TypeLits.+ size_auH0)) [LclId, Str=DmdType] $dOrd_avO5 = case tup_avNl of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], tpl_B3, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B3 } } in let { $dNum_avO6 :: GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ size_auH0)) [LclId, Str=DmdType] $dNum_avO6 = case tup_avNl of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B4, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B4 } } in let { $dBits_avNI :: Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ size_auH0)) [LclId, Str=DmdType] $dBits_avNI = case tup_avNl of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B5, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B5 } } in let { $dEq_avO4 :: GHC.Classes.Eq (rep_auGZ (size_auH0 GHC.TypeLits.+ size_auH0)) [LclId, Str=DmdType] $dEq_avO4 = Data.Bits.$p1Bits @ (rep_auGZ (size_auH0 GHC.TypeLits.+ size_auH0)) $dBits_avNI } in let { $dResize_avO8 :: CLaSH.Class.Num.Resize rep_auGZ [LclId, Str=DmdType] $dResize_avO8 = case tup_avNl of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B6, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B6 } } in let { $dKnownNat_avO9 :: GHC.TypeLits.KnownNat size_auH0 [LclId, Str=DmdType] $dKnownNat_avO9 = case tup_avNl of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B7, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B7 } } in let { $dKnownNat_avOa :: GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ size_auH0) [LclId, Str=DmdType] $dKnownNat_avOa = case tup_avNl of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B8, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B8 } } in let { $dBits_avOb :: Data.Bits.Bits (rep_auGZ size_auH0) [LclId, Str=DmdType] $dBits_avOb = case tup_avNl of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B9, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B9 } } in let { $dKnownNat_avOc :: GHC.TypeLits.KnownNat frac_auGY [LclId, Str=DmdType] $dKnownNat_avOc = case tup_avNl of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_Ba, _ [Occ=Dead], _ [Occ=Dead]) -> tpl_Ba } } in let { $dKnownNat_avOd :: GHC.TypeLits.KnownNat (frac_auGY GHC.TypeLits.+ frac_auGY) [LclId, Str=DmdType] $dKnownNat_avOd = case tup_avNl of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_Bb, _ [Occ=Dead]) -> tpl_Bb } } in let { $dBounded_avOe :: GHC.Enum.Bounded (rep_auGZ (size_auH0 GHC.TypeLits.+ size_auH0)) [LclId, Str=DmdType] $dBounded_avOe = case tup_avNl of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_Bc) -> tpl_Bc } } in let { cobox_avC7 :: CLaSH.Class.Num.MResult (rep_auGZ size_auH0) (rep_auGZ size_auH0) ~ rep_auGZ (size_auH0 GHC.TypeLits.+ size_auH0) [LclId, Str=DmdType] cobox_avC7 = case case tup_avBm of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B6) -> tpl_B6 } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw5O -> GHC.Types.Eq# @ * @ (CLaSH.Class.Num.MResult (rep_auGZ size_auH0) (rep_auGZ size_auH0)) @ (rep_auGZ (size_auH0 GHC.TypeLits.+ size_auH0)) @~ cobox_dw5O } } in let { $dMult_avC6 :: CLaSH.Class.Num.Mult (rep_auGZ size_auH0) (rep_auGZ size_auH0) [LclId, Str=DmdType] $dMult_avC6 = case tup_avBm of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B5, _ [Occ=Dead]) -> tpl_B5 } } in let { tup_avBX :: CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0 [LclId, Str=DmdType] tup_avBX = ($dBounded_avO3, $dEq_avO4, $dOrd_avO5, $dNum_avO6, $dBits_avNI, $dResize_avO8, $dKnownNat_avO9, $dKnownNat_avOa, $dBits_avOb, $dKnownNat_avOc, $dKnownNat_avOd, $dBounded_avOe) } in \ (ds_dw1d :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) (ds_dw1e :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) -> CLaSH.Sized.Fixed.resizeF @ (frac_auGY GHC.TypeLits.+ frac_auGY) @ frac_auGY @ rep_auGZ @ (size_auH0 GHC.TypeLits.+ size_auH0) @ size_auH0 tup_avBX (CLaSH.Sized.Fixed.Fixed @ (frac_auGY GHC.TypeLits.+ frac_auGY) @ rep_auGZ @ (size_auH0 GHC.TypeLits.+ size_auH0) (case cobox_avC7 of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw1a -> (CLaSH.Class.Num.mult @ (rep_auGZ size_auH0) @ (rep_auGZ size_auH0) $dMult_avC6 (ds_dw1d `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 ~# rep_auGZ size_auH0)) (ds_dw1e `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 ~# rep_auGZ size_auH0))) `cast` (Sub cobox_dw1a :: CLaSH.Class.Num.MResult (rep_auGZ size_auH0) (rep_auGZ size_auH0) ~# rep_auGZ (size_auH0 GHC.TypeLits.+ size_auH0)) })) $c+_avBo :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Str=DmdType] $c+_avBo = \ (@ (frac_auGY :: GHC.TypeLits.Nat)) (@ (rep_auGZ :: GHC.TypeLits.Nat -> *)) (@ (size_auH0 :: GHC.TypeLits.Nat)) (tup_avBm :: CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) -> let { tup_avMt :: CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0 [LclId, Str=DmdType] tup_avMt = case tup_avBm of _ [Occ=Dead] { (_ [Occ=Dead], tpl_B2, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B2 } } in let { $dBounded_avNe :: GHC.Enum.Bounded (rep_auGZ size_auH0) [LclId, Str=DmdType] $dBounded_avNe = case tup_avMt of _ [Occ=Dead] { (tpl_B1, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B1 } } in let { $dResize_avMR :: CLaSH.Class.Num.Resize rep_auGZ [LclId, Str=DmdType] $dResize_avMR = case tup_avMt of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B6, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B6 } } in let { $dKnownNat_avMS :: GHC.TypeLits.KnownNat size_auH0 [LclId, Str=DmdType] $dKnownNat_avMS = case tup_avMt of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B7, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B7 } } in let { tup_avMs :: CLaSH.Sized.Fixed.SatN2C rep_auGZ size_auH0 [LclId, Str=DmdType] tup_avMs = case tup_avBm of _ [Occ=Dead] { (tpl_B1, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B1 } } in let { cobox_avN6 :: 1 GHC.TypeLits.<= size_auH0 [LclId, Str=DmdType] cobox_avN6 = case case tup_avMs of _ [Occ=Dead] { (tpl_B1, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B1 } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw5J -> GHC.Types.Eq# @ GHC.Types.Bool @ (1 GHC.TypeLits.<=? size_auH0) @ 'GHC.Types.True @~ cobox_dw5J } } in let { cobox_avN7 :: ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_auH0 GHC.TypeLits.+ 2) [LclId, Str=DmdType] cobox_avN7 = case case tup_avMs of _ [Occ=Dead] { (_ [Occ=Dead], tpl_B2, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B2 } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw5H -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) @ (size_auH0 GHC.TypeLits.+ 2) @~ cobox_dw5H } } in let { $dBitVector_avN8 :: CLaSH.Class.BitVector.BitVector (rep_auGZ size_auH0) [LclId, Str=DmdType] $dBitVector_avN8 = case tup_avMs of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], tpl_B3, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B3 } } in let { $dBitVector_avN9 :: CLaSH.Class.BitVector.BitVector (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) [LclId, Str=DmdType] $dBitVector_avN9 = case tup_avMs of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B4, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B4 } } in let { cobox_avNa :: CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0) ~ size_auH0 [LclId, Str=DmdType] cobox_avNa = case case tup_avMs of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B5, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B5 } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw5F -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ (CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0)) @ size_auH0 @~ cobox_dw5F } } in let { cobox_avNb :: CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) ~ (size_auH0 GHC.TypeLits.+ 2) [LclId, Str=DmdType] cobox_avNb = case case tup_avMs of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B6, _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B6 } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw5D -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ (CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) @ (size_auH0 GHC.TypeLits.+ 2) @~ cobox_dw5D } } in let { $dKnownNat_avMF :: GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ 2) [LclId, Str=DmdType] $dKnownNat_avMF = case tup_avMs of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B8, _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B8 } } in let { $dBits_avNf :: Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) [LclId, Str=DmdType] $dBits_avNf = case tup_avMs of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_Ba) -> tpl_Ba } } in let { $dNum_avBy :: GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) [LclId, Str=DmdType] $dNum_avBy = case tup_avBm of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl_B4, _ [Occ=Dead], _ [Occ=Dead]) -> tpl_B4 } } in let { tup_avBw :: CLaSH.Sized.Fixed.SatN2C rep_auGZ size_auH0 [LclId, Str=DmdType] tup_avBw = (cobox_avN6, cobox_avN7, $dBitVector_avN8, $dBitVector_avN9, cobox_avNa, cobox_avNb, $dKnownNat_avMS, $dKnownNat_avMF, $dBounded_avNe, $dBits_avNf) } in \ (ds_dw0T :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) (ds_dw0U :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) -> CLaSH.Sized.Fixed.Fixed @ frac_auGY @ rep_auGZ @ size_auH0 (CLaSH.Sized.Fixed.satN2 @ rep_auGZ @ size_auH0 tup_avBw (GHC.Num.+ @ (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) $dNum_avBy (CLaSH.Class.Num.resize @ rep_auGZ $dResize_avMR @ size_auH0 @ (size_auH0 GHC.TypeLits.+ 2) $dKnownNat_avMS $dKnownNat_avMF (ds_dw0T `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 ~# rep_auGZ size_auH0))) (CLaSH.Class.Num.resize @ rep_auGZ $dResize_avMR @ size_auH0 @ (size_auH0 GHC.TypeLits.+ 2) $dKnownNat_avMS $dKnownNat_avMF (ds_dw0U `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 ~# rep_auGZ size_auH0))))) CLaSH.Sized.Fixed.$fNumFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => GHC.Num.Num (CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) [LclIdX[DFunId], Str=DmdType, Unf=DFun: \ (@ (frac_auGY :: GHC.TypeLits.Nat)) (@ (rep_auGZ :: GHC.TypeLits.Nat -> *)) (@ (size_auH0 :: GHC.TypeLits.Nat)) (tup_avBm :: CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) -> GHC.Num.D:Num TYPE CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 $c+_avBo @ frac_auGY @ rep_auGZ @ size_auH0 tup_avBm $c*_avBP @ frac_auGY @ rep_auGZ @ size_auH0 tup_avBm $c-_avCb @ frac_auGY @ rep_auGZ @ size_auH0 tup_avBm $cnegate_avCC @ frac_auGY @ rep_auGZ @ size_auH0 tup_avBm $cabs_avCW @ frac_auGY @ rep_auGZ @ size_auH0 tup_avBm $csignum_avDg @ frac_auGY @ rep_auGZ @ size_auH0 tup_avBm $cfromInteger_avDp @ frac_auGY @ rep_auGZ @ size_auH0 tup_avBm] CLaSH.Sized.Fixed.$fNumFixed = \ (@ (frac_auGY :: GHC.TypeLits.Nat)) (@ (rep_auGZ :: GHC.TypeLits.Nat -> *)) (@ (size_auH0 :: GHC.TypeLits.Nat)) (tup_avBm :: CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) -> GHC.Num.D:Num @ (CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) ($c+_avBo @ frac_auGY @ rep_auGZ @ size_auH0 tup_avBm) ($c*_avBP @ frac_auGY @ rep_auGZ @ size_auH0 tup_avBm) ($c-_avCb @ frac_auGY @ rep_auGZ @ size_auH0 tup_avBm) ($cnegate_avCC @ frac_auGY @ rep_auGZ @ size_auH0 tup_avBm) ($cabs_avCW @ frac_auGY @ rep_auGZ @ size_auH0 tup_avBm) ($csignum_avDg @ frac_auGY @ rep_auGZ @ size_auH0 tup_avBm) ($cfromInteger_avDp @ frac_auGY @ rep_auGZ @ size_auH0 tup_avBm) $cfromBV_avB8 :: forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). (CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV), GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV))) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) CLaSH.Bit.Bit -> CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV [LclId, Str=DmdType] $cfromBV_avB8 = \ (@ (frac_auGT :: GHC.TypeLits.Nat)) (@ (rep_auGU :: GHC.TypeLits.Nat -> *)) (@ (size_auGV :: GHC.TypeLits.Nat)) ($dBitVector_avAW :: CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV)) ($dKnownNat_avBa :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV))) (bv_auGX :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) CLaSH.Bit.Bit) -> CLaSH.Sized.Fixed.Fixed @ frac_auGT @ rep_auGU @ size_auGV (CLaSH.Class.BitVector.fromBV @ (rep_auGU size_auGV) $dBitVector_avAW ($dKnownNat_avBa `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auGU size_auGV)))) (bv_auGX `cast` ((CLaSH.Sized.Vector.Vec (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auGU size_auGV)) CLaSH.Bit.Bit))) $ctoBV_avAY :: forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). (CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV), GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV))) => CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) CLaSH.Bit.Bit [LclId, Str=DmdType] $ctoBV_avAY = \ (@ (frac_auGT :: GHC.TypeLits.Nat)) (@ (rep_auGU :: GHC.TypeLits.Nat -> *)) (@ (size_auGV :: GHC.TypeLits.Nat)) ($dBitVector_avAW :: CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV)) ($dKnownNat_avB0 :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV))) (ds_dw0H :: CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV) -> (CLaSH.Class.BitVector.toBV @ (rep_auGU size_auGV) $dBitVector_avAW ($dKnownNat_avB0 `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auGU size_auGV)))) (ds_dw0H `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV ~# rep_auGU size_auGV))) `cast` ((CLaSH.Sized.Vector.Vec (Sym (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N)) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auGU size_auGV)) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) CLaSH.Bit.Bit) CLaSH.Sized.Fixed.$fBitVectorFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV) => CLaSH.Class.BitVector.BitVector (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV) [LclIdX[DFunId], Str=DmdType, Unf=DFun: \ (@ (frac_auGT :: GHC.TypeLits.Nat)) (@ (rep_auGU :: GHC.TypeLits.Nat -> *)) (@ (size_auGV :: GHC.TypeLits.Nat)) ($dBitVector_avAW :: CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV)) -> CLaSH.Class.BitVector.D:BitVector TYPE CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV $ctoBV_avAY @ frac_auGT @ rep_auGU @ size_auGV $dBitVector_avAW $cfromBV_avB8 @ frac_auGT @ rep_auGU @ size_auGV $dBitVector_avAW] CLaSH.Sized.Fixed.$fBitVectorFixed = \ (@ (frac_auGT :: GHC.TypeLits.Nat)) (@ (rep_auGU :: GHC.TypeLits.Nat -> *)) (@ (size_auGV :: GHC.TypeLits.Nat)) ($dBitVector_avAW :: CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV)) -> CLaSH.Class.BitVector.D:BitVector @ (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV) ($ctoBV_avAY @ frac_auGT @ rep_auGU @ size_auGV $dBitVector_avAW) ($cfromBV_avB8 @ frac_auGT @ rep_auGU @ size_auGV $dBitVector_avAW) $cdef_avAg :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => CLaSH.Sized.Fixed.Fixed frac_auGL rep_auGM size_auGN [LclId, Str=DmdType] $cdef_avAg = \ (@ (frac_auGL :: GHC.TypeLits.Nat)) (@ (rep_auGM :: GHC.TypeLits.Nat -> *)) (@ (size_auGN :: GHC.TypeLits.Nat)) ($dDefault_avAe :: Data.Default.Class.Default (rep_auGM size_auGN)) -> CLaSH.Sized.Fixed.Fixed @ frac_auGL @ rep_auGM @ size_auGN (Data.Default.Class.def @ (rep_auGM size_auGN) $dDefault_avAe) CLaSH.Sized.Fixed.$fDefaultFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_auGL rep_auGM size_auGN) [LclIdX[DFunId(nt)], Str=DmdType, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=False) Tmpl= \ (@ (frac_auGL :: GHC.TypeLits.Nat)) (@ (rep_auGM :: GHC.TypeLits.Nat -> *)) (@ (size_auGN :: GHC.TypeLits.Nat)) ($dDefault_avAe [Occ=Once] :: Data.Default.Class.Default (rep_auGM size_auGN)) -> Data.Default.Class.D:Default @ (CLaSH.Sized.Fixed.Fixed frac_auGL rep_auGM size_auGN) ($cdef_avAg @ frac_auGL @ rep_auGM @ size_auGN $dDefault_avAe)}] CLaSH.Sized.Fixed.$fDefaultFixed = \ (@ (frac_auGL :: GHC.TypeLits.Nat)) (@ (rep_auGM :: GHC.TypeLits.Nat -> *)) (@ (size_auGN :: GHC.TypeLits.Nat)) ($dDefault_avAe :: Data.Default.Class.Default (rep_auGM size_auGN)) -> Data.Default.Class.D:Default @ (CLaSH.Sized.Fixed.Fixed frac_auGL rep_auGM size_auGN) ($cdef_avAg @ frac_auGL @ rep_auGM @ size_auGN $dDefault_avAe) $cmaxBound_avA4 :: forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_auGJ size_auGK) => CLaSH.Sized.Fixed.Fixed frac_auGI rep_auGJ size_auGK [LclId, Str=DmdType] $cmaxBound_avA4 = \ (@ (frac_auGI :: GHC.TypeLits.Nat)) (@ (rep_auGJ :: GHC.TypeLits.Nat -> *)) (@ (size_auGK :: GHC.TypeLits.Nat)) ($dBounded_avzT :: GHC.Enum.Bounded (rep_auGJ size_auGK)) -> CLaSH.Sized.Fixed.Fixed @ frac_auGI @ rep_auGJ @ size_auGK (GHC.Enum.maxBound @ (rep_auGJ size_auGK) $dBounded_avzT) $cminBound_avzV :: forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_auGJ size_auGK) => CLaSH.Sized.Fixed.Fixed frac_auGI rep_auGJ size_auGK [LclId, Str=DmdType] $cminBound_avzV = \ (@ (frac_auGI :: GHC.TypeLits.Nat)) (@ (rep_auGJ :: GHC.TypeLits.Nat -> *)) (@ (size_auGK :: GHC.TypeLits.Nat)) ($dBounded_avzT :: GHC.Enum.Bounded (rep_auGJ size_auGK)) -> CLaSH.Sized.Fixed.Fixed @ frac_auGI @ rep_auGJ @ size_auGK (GHC.Enum.minBound @ (rep_auGJ size_auGK) $dBounded_avzT) CLaSH.Sized.Fixed.$fBoundedFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_auGJ size_auGK) => GHC.Enum.Bounded (CLaSH.Sized.Fixed.Fixed frac_auGI rep_auGJ size_auGK) [LclIdX[DFunId], Str=DmdType, Unf=DFun: \ (@ (frac_auGI :: GHC.TypeLits.Nat)) (@ (rep_auGJ :: GHC.TypeLits.Nat -> *)) (@ (size_auGK :: GHC.TypeLits.Nat)) ($dBounded_avzT :: GHC.Enum.Bounded (rep_auGJ size_auGK)) -> GHC.Enum.D:Bounded TYPE CLaSH.Sized.Fixed.Fixed frac_auGI rep_auGJ size_auGK $cminBound_avzV @ frac_auGI @ rep_auGJ @ size_auGK $dBounded_avzT $cmaxBound_avA4 @ frac_auGI @ rep_auGJ @ size_auGK $dBounded_avzT] CLaSH.Sized.Fixed.$fBoundedFixed = \ (@ (frac_auGI :: GHC.TypeLits.Nat)) (@ (rep_auGJ :: GHC.TypeLits.Nat -> *)) (@ (size_auGK :: GHC.TypeLits.Nat)) ($dBounded_avzT :: GHC.Enum.Bounded (rep_auGJ size_auGK)) -> GHC.Enum.D:Bounded @ (CLaSH.Sized.Fixed.Fixed frac_auGI rep_auGJ size_auGK) ($cminBound_avzV @ frac_auGI @ rep_auGJ @ size_auGK $dBounded_avzT) ($cmaxBound_avA4 @ frac_auGI @ rep_auGJ @ size_auGK $dBounded_avzT) $cmin_avzC :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH [LclId, Str=DmdType] $cmin_avzC = \ (@ (frac_auFF :: GHC.TypeLits.Nat)) (@ (rep_auFG :: GHC.TypeLits.Nat -> *)) (@ (size_auFH :: GHC.TypeLits.Nat)) _ [Occ=Dead] ($dOrd_avyb :: GHC.Classes.Ord (rep_auFG size_auFH)) -> let { $dCoercible_avLF :: GHC.Types.Coercible (rep_auFG size_auFH) (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) [LclId, Str=DmdType] $dCoercible_avLF = GHC.Types.MkCoercible @ * @ (rep_auFG size_auFH) @ (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) @~ (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N) } in GHC.Prim.coerce @ * @ (rep_auFG size_auFH -> rep_auFG size_auFH -> rep_auFG size_auFH) @ (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) (case case $dCoercible_avLF of _ [Occ=Dead] { GHC.Types.MkCoercible $dCoercible_dw5s -> case $dCoercible_avLF of _ [Occ=Dead] { GHC.Types.MkCoercible $dCoercible_dw5t -> GHC.Types.MkCoercible @ * @ (rep_auFG size_auFH -> rep_auFG size_auFH) @ (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) @~ (($dCoercible_dw5s) -> ($dCoercible_dw5t)) } } of _ [Occ=Dead] { GHC.Types.MkCoercible $dCoercible_dw5r -> GHC.Types.MkCoercible @ * @ (rep_auFG size_auFH -> rep_auFG size_auFH -> rep_auFG size_auFH) @ (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) @~ (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> ($dCoercible_dw5r)) }) (GHC.Classes.min @ (rep_auFG size_auFH) $dOrd_avyb) $cmax_avzm :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH [LclId, Str=DmdType] $cmax_avzm = \ (@ (frac_auFF :: GHC.TypeLits.Nat)) (@ (rep_auFG :: GHC.TypeLits.Nat -> *)) (@ (size_auFH :: GHC.TypeLits.Nat)) _ [Occ=Dead] ($dOrd_avyb :: GHC.Classes.Ord (rep_auFG size_auFH)) -> let { $dCoercible_avLs :: GHC.Types.Coercible (rep_auFG size_auFH) (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) [LclId, Str=DmdType] $dCoercible_avLs = GHC.Types.MkCoercible @ * @ (rep_auFG size_auFH) @ (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) @~ (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N) } in GHC.Prim.coerce @ * @ (rep_auFG size_auFH -> rep_auFG size_auFH -> rep_auFG size_auFH) @ (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) (case case $dCoercible_avLs of _ [Occ=Dead] { GHC.Types.MkCoercible $dCoercible_dw5o -> case $dCoercible_avLs of _ [Occ=Dead] { GHC.Types.MkCoercible $dCoercible_dw5p -> GHC.Types.MkCoercible @ * @ (rep_auFG size_auFH -> rep_auFG size_auFH) @ (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) @~ (($dCoercible_dw5o) -> ($dCoercible_dw5p)) } } of _ [Occ=Dead] { GHC.Types.MkCoercible $dCoercible_dw5n -> GHC.Types.MkCoercible @ * @ (rep_auFG size_auFH -> rep_auFG size_auFH -> rep_auFG size_auFH) @ (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) @~ (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> ($dCoercible_dw5n)) }) (GHC.Classes.max @ (rep_auFG size_auFH) $dOrd_avyb) $c<=_avz8 :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Bool [LclId, Str=DmdType] $c<=_avz8 = \ (@ (frac_auFF :: GHC.TypeLits.Nat)) (@ (rep_auFG :: GHC.TypeLits.Nat -> *)) (@ (size_auFH :: GHC.TypeLits.Nat)) _ [Occ=Dead] ($dOrd_avyb :: GHC.Classes.Ord (rep_auFG size_auFH)) -> GHC.Prim.coerce @ * @ (rep_auFG size_auFH -> rep_auFG size_auFH -> GHC.Types.Bool) @ (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Bool) (GHC.Types.MkCoercible @ * @ (rep_auFG size_auFH -> rep_auFG size_auFH -> GHC.Types.Bool) @ (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Bool) @~ (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R)) (GHC.Classes.<= @ (rep_auFG size_auFH) $dOrd_avyb) $c>_avyU :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Bool [LclId, Str=DmdType] $c>_avyU = \ (@ (frac_auFF :: GHC.TypeLits.Nat)) (@ (rep_auFG :: GHC.TypeLits.Nat -> *)) (@ (size_auFH :: GHC.TypeLits.Nat)) _ [Occ=Dead] ($dOrd_avyb :: GHC.Classes.Ord (rep_auFG size_auFH)) -> GHC.Prim.coerce @ * @ (rep_auFG size_auFH -> rep_auFG size_auFH -> GHC.Types.Bool) @ (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Bool) (GHC.Types.MkCoercible @ * @ (rep_auFG size_auFH -> rep_auFG size_auFH -> GHC.Types.Bool) @ (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Bool) @~ (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R)) (GHC.Classes.> @ (rep_auFG size_auFH) $dOrd_avyb) $c>=_avyG :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Bool [LclId, Str=DmdType] $c>=_avyG = \ (@ (frac_auFF :: GHC.TypeLits.Nat)) (@ (rep_auFG :: GHC.TypeLits.Nat -> *)) (@ (size_auFH :: GHC.TypeLits.Nat)) _ [Occ=Dead] ($dOrd_avyb :: GHC.Classes.Ord (rep_auFG size_auFH)) -> GHC.Prim.coerce @ * @ (rep_auFG size_auFH -> rep_auFG size_auFH -> GHC.Types.Bool) @ (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Bool) (GHC.Types.MkCoercible @ * @ (rep_auFG size_auFH -> rep_auFG size_auFH -> GHC.Types.Bool) @ (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Bool) @~ (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R)) (GHC.Classes.>= @ (rep_auFG size_auFH) $dOrd_avyb) $c<_avys :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Bool [LclId, Str=DmdType] $c<_avys = \ (@ (frac_auFF :: GHC.TypeLits.Nat)) (@ (rep_auFG :: GHC.TypeLits.Nat -> *)) (@ (size_auFH :: GHC.TypeLits.Nat)) _ [Occ=Dead] ($dOrd_avyb :: GHC.Classes.Ord (rep_auFG size_auFH)) -> GHC.Prim.coerce @ * @ (rep_auFG size_auFH -> rep_auFG size_auFH -> GHC.Types.Bool) @ (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Bool) (GHC.Types.MkCoercible @ * @ (rep_auFG size_auFH -> rep_auFG size_auFH -> GHC.Types.Bool) @ (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Bool) @~ (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R)) (GHC.Classes.< @ (rep_auFG size_auFH) $dOrd_avyb) $ccompare_avye :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Ordering [LclId, Str=DmdType] $ccompare_avye = \ (@ (frac_auFF :: GHC.TypeLits.Nat)) (@ (rep_auFG :: GHC.TypeLits.Nat -> *)) (@ (size_auFH :: GHC.TypeLits.Nat)) _ [Occ=Dead] ($dOrd_avyb :: GHC.Classes.Ord (rep_auFG size_auFH)) -> GHC.Prim.coerce @ * @ (rep_auFG size_auFH -> rep_auFG size_auFH -> GHC.Types.Ordering) @ (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Ordering) (GHC.Types.MkCoercible @ * @ (rep_auFG size_auFH -> rep_auFG size_auFH -> GHC.Types.Ordering) @ (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Ordering) @~ (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R)) (GHC.Classes.compare @ (rep_auFG size_auFH) $dOrd_avyb) CLaSH.Sized.Fixed.$fOrdFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => GHC.Classes.Ord (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) [LclIdX[DFunId[1]], Str=DmdType, Unf=DFun: \ (@ (frac_auFF :: GHC.TypeLits.Nat)) (@ (rep_auFG :: GHC.TypeLits.Nat -> *)) (@ (size_auFH :: GHC.TypeLits.Nat)) ($dEq_avya :: GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH)) ($dOrd_avyb :: GHC.Classes.Ord (rep_auFG size_auFH)) -> GHC.Classes.D:Ord TYPE CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH $dEq_avya $ccompare_avye @ frac_auFF @ rep_auFG @ size_auFH $dEq_avya $dOrd_avyb $c<_avys @ frac_auFF @ rep_auFG @ size_auFH $dEq_avya $dOrd_avyb $c>=_avyG @ frac_auFF @ rep_auFG @ size_auFH $dEq_avya $dOrd_avyb $c>_avyU @ frac_auFF @ rep_auFG @ size_auFH $dEq_avya $dOrd_avyb $c<=_avz8 @ frac_auFF @ rep_auFG @ size_auFH $dEq_avya $dOrd_avyb $cmax_avzm @ frac_auFF @ rep_auFG @ size_auFH $dEq_avya $dOrd_avyb $cmin_avzC @ frac_auFF @ rep_auFG @ size_auFH $dEq_avya $dOrd_avyb] CLaSH.Sized.Fixed.$fOrdFixed = \ (@ (frac_auFF :: GHC.TypeLits.Nat)) (@ (rep_auFG :: GHC.TypeLits.Nat -> *)) (@ (size_auFH :: GHC.TypeLits.Nat)) ($dEq_avya :: GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH)) ($dOrd_avyb :: GHC.Classes.Ord (rep_auFG size_auFH)) -> GHC.Classes.D:Ord @ (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) $dEq_avya ($ccompare_avye @ frac_auFF @ rep_auFG @ size_auFH $dEq_avya $dOrd_avyb) ($c<_avys @ frac_auFF @ rep_auFG @ size_auFH $dEq_avya $dOrd_avyb) ($c>=_avyG @ frac_auFF @ rep_auFG @ size_auFH $dEq_avya $dOrd_avyb) ($c>_avyU @ frac_auFF @ rep_auFG @ size_auFH $dEq_avya $dOrd_avyb) ($c<=_avz8 @ frac_auFF @ rep_auFG @ size_auFH $dEq_avya $dOrd_avyb) ($cmax_avzm @ frac_auFF @ rep_auFG @ size_auFH $dEq_avya $dOrd_avyb) ($cmin_avzC @ frac_auFF @ rep_auFG @ size_auFH $dEq_avya $dOrd_avyb) $c/=_avxV :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_auFG size_auFH) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Bool [LclId, Str=DmdType] $c/=_avxV = \ (@ (frac_auFF :: GHC.TypeLits.Nat)) (@ (rep_auFG :: GHC.TypeLits.Nat -> *)) (@ (size_auFH :: GHC.TypeLits.Nat)) ($dEq_avxF :: GHC.Classes.Eq (rep_auFG size_auFH)) -> GHC.Prim.coerce @ * @ (rep_auFG size_auFH -> rep_auFG size_auFH -> GHC.Types.Bool) @ (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Bool) (GHC.Types.MkCoercible @ * @ (rep_auFG size_auFH -> rep_auFG size_auFH -> GHC.Types.Bool) @ (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Bool) @~ (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R)) (GHC.Classes./= @ (rep_auFG size_auFH) $dEq_avxF) $c==_avxH :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_auFG size_auFH) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Bool [LclId, Str=DmdType] $c==_avxH = \ (@ (frac_auFF :: GHC.TypeLits.Nat)) (@ (rep_auFG :: GHC.TypeLits.Nat -> *)) (@ (size_auFH :: GHC.TypeLits.Nat)) ($dEq_avxF :: GHC.Classes.Eq (rep_auFG size_auFH)) -> GHC.Prim.coerce @ * @ (rep_auFG size_auFH -> rep_auFG size_auFH -> GHC.Types.Bool) @ (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Bool) (GHC.Types.MkCoercible @ * @ (rep_auFG size_auFH -> rep_auFG size_auFH -> GHC.Types.Bool) @ (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Bool) @~ (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R)) (GHC.Classes.== @ (rep_auFG size_auFH) $dEq_avxF) CLaSH.Sized.Fixed.$fEqFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_auFG size_auFH) => GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) [LclIdX[DFunId], Str=DmdType, Unf=DFun: \ (@ (frac_auFF :: GHC.TypeLits.Nat)) (@ (rep_auFG :: GHC.TypeLits.Nat -> *)) (@ (size_auFH :: GHC.TypeLits.Nat)) ($dEq_avxF :: GHC.Classes.Eq (rep_auFG size_auFH)) -> GHC.Classes.D:Eq TYPE CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH $c==_avxH @ frac_auFF @ rep_auFG @ size_auFH $dEq_avxF $c/=_avxV @ frac_auFF @ rep_auFG @ size_auFH $dEq_avxF] CLaSH.Sized.Fixed.$fEqFixed = \ (@ (frac_auFF :: GHC.TypeLits.Nat)) (@ (rep_auFG :: GHC.TypeLits.Nat -> *)) (@ (size_auFH :: GHC.TypeLits.Nat)) ($dEq_avxF :: GHC.Classes.Eq (rep_auFG size_auFH)) -> GHC.Classes.D:Eq @ (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) ($c==_avxH @ frac_auFF @ rep_auFG @ size_auFH $dEq_avxF) ($c/=_avxV @ frac_auFF @ rep_auFG @ size_auFH $dEq_avxF) CLaSH.Sized.Fixed.decFixed :: GHC.Integer.Type.Integer -> Data.Typeable.Internal.TypeRep -> GHC.Integer.Type.Integer -> Language.Haskell.TH.Lib.TypeQ [LclId, Str=DmdType] CLaSH.Sized.Fixed.decFixed = \ (f_auGe :: GHC.Integer.Type.Integer) (r_auGf :: Data.Typeable.Internal.TypeRep) (s_auGg :: GHC.Integer.Type.Integer) -> GHC.List.foldl @ Language.Haskell.TH.Lib.TypeQ @ Language.Haskell.TH.Lib.TypeQ Language.Haskell.TH.Lib.appT (Language.Haskell.TH.Lib.conT (Language.Haskell.TH.Syntax.mkNameG_tc (GHC.CString.unpackCString# "clash-prelude-0.5"#) (GHC.CString.unpackCString# "CLaSH.Sized.Fixed"#) (GHC.CString.unpackCString# "Fixed"#))) (GHC.Base.build @ Language.Haskell.TH.Lib.TypeQ (\ (@ a_dvZ6) (c_dvZ7 [OS=OneShot] :: Language.Haskell.TH.Lib.TypeQ -> a_dvZ6 -> a_dvZ6) (n_dvZ8 [OS=OneShot] :: a_dvZ6) -> c_dvZ7 (Language.Haskell.TH.Lib.litT (Language.Haskell.TH.Lib.numTyLit f_auGe)) (c_dvZ7 (Language.Haskell.TH.Lib.conT (Language.Haskell.TH.Syntax.mkName (GHC.Show.show @ Data.Typeable.Internal.TypeRep Data.Typeable.Internal.$fShowTypeRep r_auGf))) (c_dvZ7 (Language.Haskell.TH.Lib.litT (Language.Haskell.TH.Lib.numTyLit s_auGg)) (GHC.Base.foldr @ Language.Haskell.TH.Lib.TypeQ @ a_dvZ6 c_dvZ7 n_dvZ8 (GHC.Types.[] @ Language.Haskell.TH.Lib.TypeQ)))))) $clift_avAv :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] $clift_avAv = \ (@ (frac_auGO :: GHC.TypeLits.Nat)) (@ (rep_auGP :: GHC.TypeLits.Nat -> *)) (@ (size_auGQ :: GHC.TypeLits.Nat)) ($dLift_avAq :: Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ)) ($dKnownNat_avAr :: GHC.TypeLits.KnownNat frac_auGO) ($dKnownNat_avAs :: GHC.TypeLits.KnownNat size_auGQ) ($dTypeable_avAt :: Data.Typeable.Internal.Typeable rep_auGP) (f_auGR :: CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ) -> Language.Haskell.TH.Lib.sigE (Language.Haskell.TH.Lib.appE (Language.Haskell.TH.Lib.conE (Language.Haskell.TH.Syntax.mkNameG_d (GHC.CString.unpackCString# "clash-prelude-0.5"#) (GHC.CString.unpackCString# "CLaSH.Sized.Fixed"#) (GHC.CString.unpackCString# "Fixed"#))) (Language.Haskell.TH.Syntax.lift @ (rep_auGP size_auGQ) $dLift_avAq (f_auGR `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ ~# rep_auGP size_auGQ)))) (CLaSH.Sized.Fixed.decFixed (GHC.TypeLits.natVal @ frac_auGO @ Data.Proxy.Proxy $dKnownNat_avAr (CLaSH.Sized.Fixed.asFracProxy @ frac_auGO @ rep_auGP @ size_auGQ f_auGR)) (Data.Typeable.Internal.typeRep @ (GHC.TypeLits.Nat -> *) @ Data.Proxy.Proxy @ rep_auGP $dTypeable_avAt (CLaSH.Sized.Fixed.asRepProxy @ frac_auGO @ rep_auGP @ size_auGQ f_auGR)) (GHC.TypeLits.natVal @ size_auGQ @ (CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP) $dKnownNat_avAs f_auGR)) CLaSH.Sized.Fixed.$fLiftFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ) [LclIdX[DFunId(nt)], Str=DmdType, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=4, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=False) Tmpl= \ (@ (frac_auGO :: GHC.TypeLits.Nat)) (@ (rep_auGP :: GHC.TypeLits.Nat -> *)) (@ (size_auGQ :: GHC.TypeLits.Nat)) ($dLift_avAq [Occ=Once] :: Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ)) ($dKnownNat_avAr [Occ=Once] :: GHC.TypeLits.KnownNat frac_auGO) ($dKnownNat_avAs [Occ=Once] :: GHC.TypeLits.KnownNat size_auGQ) ($dTypeable_avAt [Occ=Once] :: Data.Typeable.Internal.Typeable rep_auGP) -> Language.Haskell.TH.Syntax.D:Lift @ (CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ) ($clift_avAv @ frac_auGO @ rep_auGP @ size_auGQ $dLift_avAq $dKnownNat_avAr $dKnownNat_avAs $dTypeable_avAt)}] CLaSH.Sized.Fixed.$fLiftFixed = \ (@ (frac_auGO :: GHC.TypeLits.Nat)) (@ (rep_auGP :: GHC.TypeLits.Nat -> *)) (@ (size_auGQ :: GHC.TypeLits.Nat)) ($dLift_avAq :: Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ)) ($dKnownNat_avAr :: GHC.TypeLits.KnownNat frac_auGO) ($dKnownNat_avAs :: GHC.TypeLits.KnownNat size_auGQ) ($dTypeable_avAt :: Data.Typeable.Internal.Typeable rep_auGP) -> Language.Haskell.TH.Syntax.D:Lift @ (CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ) ($clift_avAv @ frac_auGO @ rep_auGP @ size_auGQ $dLift_avAq $dKnownNat_avAr $dKnownNat_avAs $dTypeable_avAt) *** Simplifier: SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.fLit{v ruEL} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.satN2{v ruEK} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.resizeF{v ruEJ} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.asRepProxy{v ruEG} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.asFracProxy{v ruEF} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.fracShift{v ruEH} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unUF{v ruEE} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.uf{v ruED} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unSF{v ruEC} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.sf{v ruEB} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unFixed{v ruEA} [lidx[[RecSel]]]] SimplBind [$cshow{v avFD} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fShowFixed{v ruTI} [lidx[DFunId]], $cshowList{v avIE} [lid], $cshowsPrec{v avFB} [lid]] SimplBind [$cmult{v avFi} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fMultFixedFixed{v ruTC} [lidx[DFunId(nt)]]] SimplBind [$cminus{v avEx} [lid]] SimplBind [$cplus{v avDP} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fAddFixedFixed{v ruSO} [lidx[DFunId]]] SimplBind [$cfromInteger{v avDp} [lid]] SimplBind [$csignum{v avDg} [lid]] SimplBind [$cabs{v avCW} [lid]] SimplBind [$cnegate{v avCC} [lid]] SimplBind [$c-{v avCb} [lid]] SimplBind [$c*{v avBP} [lid]] SimplBind [$c+{v avBo} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fNumFixed{v ruPB} [lidx[DFunId]]] SimplBind [$cfromBV{v avB8} [lid]] SimplBind [$ctoBV{v avAY} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fBitVectorFixed{v ruPx} [lidx[DFunId]]] SimplBind [$cdef{v avAg} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fDefaultFixed{v ruO2} [lidx[DFunId(nt)]]] SimplBind [$cmaxBound{v avA4} [lid]] SimplBind [$cminBound{v avzV} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fBoundedFixed{v ruHR} [lidx[DFunId]]] SimplBind [$cmin{v avzC} [lid]] SimplBind [$cmax{v avzm} [lid]] SimplBind [$c<={v avz8} [lid]] SimplBind [$c>{v avyU} [lid]] SimplBind [$c>={v avyG} [lid]] SimplBind [$c<{v avys} [lid]] SimplBind [$ccompare{v avye} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fOrdFixed{v ruUw} [lidx[DFunId[1]]]] SimplBind [$c/={v avxV} [lid]] SimplBind [$c=={v avxH} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fEqFixed{v ruUr} [lidx[DFunId]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.decFixed{v ruEI} [lid]] SimplBind [$clift{v avAv} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fLiftFixed{v ruOs} [lidx[DFunId(nt)]]] Result size of Simplifier iteration=1 = {terms: 2,013, types: 11,377, coercions: 858} SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.fLit{v ruEL} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.satN2{v ruEK} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.resizeF{v ruEJ} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.asRepProxy{v ruEG} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.asFracProxy{v ruEF} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.fracShift{v ruEH} [lidx]] SimplBind [a_swaI{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unUF{v ruEE} [lidx]] SimplBind [a_swaJ{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.uf{v ruED} [lidx]] SimplBind [a_swaK{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unSF{v ruEC} [lidx]] SimplBind [a_swaL{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.sf{v ruEB} [lidx]] SimplBind [a_swaM{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unFixed{v ruEA} [lidx[[RecSel]]]] SimplBind [$cshow{v avFD} [lid]] SimplBind [$cshowsPrec{v avFB} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fShowFixed{v ruTI} [lidx[DFunId]], $cshowList{v avIE} [lid]] SimplBind [$cmult{v avFi} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fMultFixedFixed{v ruTC} [lidx[DFunId(nt)]]] SimplBind [$cminus{v avEx} [lid]] SimplBind [$cplus{v avDP} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fAddFixedFixed{v ruSO} [lidx[DFunId]]] SimplBind [$cfromInteger{v avDp} [lid]] SimplBind [$csignum{v avDg} [lid]] SimplBind [$cabs{v avCW} [lid]] SimplBind [$cnegate{v avCC} [lid]] SimplBind [$c-{v avCb} [lid]] SimplBind [$c*{v avBP} [lid]] SimplBind [$c+{v avBo} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fNumFixed{v ruPB} [lidx[DFunId]]] SimplBind [a_swhq{v} [lid]] SimplBind [$cfromBV{v avB8} [lid]] SimplBind [a_swhr{v} [lid]] SimplBind [$ctoBV{v avAY} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fBitVectorFixed{v ruPx} [lidx[DFunId]]] SimplBind [a_swhs{v} [lid]] SimplBind [$cdef{v avAg} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fDefaultFixed{v ruO2} [lidx[DFunId(nt)]]] SimplBind [a_swht{v} [lid]] SimplBind [$cmaxBound{v avA4} [lid]] SimplBind [a_swhu{v} [lid]] SimplBind [$cminBound{v avzV} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fBoundedFixed{v ruHR} [lidx[DFunId]]] SimplBind [$cmin{v avzC} [lid]] SimplBind [$cmax{v avzm} [lid]] SimplBind [a_swhz{v} [lid]] SimplBind [$c<={v avz8} [lid]] SimplBind [a_swhA{v} [lid]] SimplBind [$c>{v avyU} [lid]] SimplBind [a_swhB{v} [lid]] SimplBind [$c>={v avyG} [lid]] SimplBind [a_swhC{v} [lid]] SimplBind [$c<{v avys} [lid]] SimplBind [a_swhD{v} [lid]] SimplBind [$ccompare{v avye} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fOrdFixed{v ruUw} [lidx[DFunId[1]]]] SimplBind [a_swhE{v} [lid]] SimplBind [$c/={v avxV} [lid]] SimplBind [a_swhF{v} [lid]] SimplBind [$c=={v avxH} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fEqFixed{v ruUr} [lidx[DFunId]]] SimplBind [$clift{v avAv} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fLiftFixed{v ruOs} [lidx[DFunId(nt)]]] Result size of Simplifier iteration=2 = {terms: 1,801, types: 11,176, coercions: 925} SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.fLit{v ruEL} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.satN2{v ruEK} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.resizeF{v ruEJ} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.asRepProxy{v ruEG} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.asFracProxy{v ruEF} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.fracShift{v ruEH} [lidx]] SimplBind [a_swaI{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unUF{v ruEE} [lidx]] SimplBind [a_swaJ{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.uf{v ruED} [lidx]] SimplBind [a_swaK{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unSF{v ruEC} [lidx]] SimplBind [a_swaL{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.sf{v ruEB} [lidx]] SimplBind [a_swaM{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unFixed{v ruEA} [lidx[[RecSel]]]] SimplBind [$cshow{v avFD} [lid]] SimplBind [$cshowsPrec{v avFB} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fShowFixed{v ruTI} [lidx[DFunId]], $cshowList{v avIE} [lid]] SimplBind [a_swjx{v} [lid]] SimplBind [$cmult{v avFi} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fMultFixedFixed{v ruTC} [lidx[DFunId(nt)]]] SimplBind [$cminus{v avEx} [lid]] SimplBind [$cplus{v avDP} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fAddFixedFixed{v ruSO} [lidx[DFunId]]] SimplBind [$cfromInteger{v avDp} [lid]] SimplBind [a_swkh{v} [lid]] SimplBind [$csignum{v avDg} [lid]] SimplBind [$cabs{v avCW} [lid]] SimplBind [$cnegate{v avCC} [lid]] SimplBind [$c-{v avCb} [lid]] SimplBind [$c*{v avBP} [lid]] SimplBind [$c+{v avBo} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fNumFixed{v ruPB} [lidx[DFunId]]] SimplBind [a_swhq{v} [lid]] SimplBind [$cfromBV{v avB8} [lid]] SimplBind [a_swhr{v} [lid]] SimplBind [$ctoBV{v avAY} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fBitVectorFixed{v ruPx} [lidx[DFunId]]] SimplBind [a_swhs{v} [lid]] SimplBind [$cdef{v avAg} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fDefaultFixed{v ruO2} [lidx[DFunId(nt)]]] SimplBind [a_swht{v} [lid]] SimplBind [$cmaxBound{v avA4} [lid]] SimplBind [a_swhu{v} [lid]] SimplBind [$cminBound{v avzV} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fBoundedFixed{v ruHR} [lidx[DFunId]]] SimplBind [a_swlr{v} [lid]] SimplBind [$cmin{v avzC} [lid]] SimplBind [a_swls{v} [lid]] SimplBind [$cmax{v avzm} [lid]] SimplBind [a_swhz{v} [lid]] SimplBind [$c<={v avz8} [lid]] SimplBind [a_swhA{v} [lid]] SimplBind [$c>{v avyU} [lid]] SimplBind [a_swhB{v} [lid]] SimplBind [$c>={v avyG} [lid]] SimplBind [a_swhC{v} [lid]] SimplBind [$c<{v avys} [lid]] SimplBind [a_swhD{v} [lid]] SimplBind [$ccompare{v avye} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fOrdFixed{v ruUw} [lidx[DFunId[1]]]] SimplBind [a_swhE{v} [lid]] SimplBind [$c/={v avxV} [lid]] SimplBind [a_swhF{v} [lid]] SimplBind [$c=={v avxH} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fEqFixed{v ruUr} [lidx[DFunId]]] SimplBind [$clift{v avAv} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fLiftFixed{v ruOs} [lidx[DFunId(nt)]]] Result size of Simplifier iteration=3 = {terms: 1,808, types: 11,336, coercions: 844} SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.fLit{v ruEL} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.satN2{v ruEK} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.resizeF{v ruEJ} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.asRepProxy{v ruEG} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.asFracProxy{v ruEF} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.fracShift{v ruEH} [lidx]] SimplBind [a_swaI{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unUF{v ruEE} [lidx]] SimplBind [a_swaJ{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.uf{v ruED} [lidx]] SimplBind [a_swaK{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unSF{v ruEC} [lidx]] SimplBind [a_swaL{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.sf{v ruEB} [lidx]] SimplBind [a_swaM{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unFixed{v ruEA} [lidx[[RecSel]]]] SimplBind [$cshow{v avFD} [lid]] SimplBind [$cshowsPrec{v avFB} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fShowFixed{v ruTI} [lidx[DFunId]], $cshowList{v avIE} [lid]] SimplBind [a_swjx{v} [lid]] SimplBind [$cmult{v avFi} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fMultFixedFixed{v ruTC} [lidx[DFunId(nt)]]] SimplBind [$cminus{v avEx} [lid]] SimplBind [$cplus{v avDP} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fAddFixedFixed{v ruSO} [lidx[DFunId]]] SimplBind [$cfromInteger{v avDp} [lid]] SimplBind [a_swkh{v} [lid]] SimplBind [$csignum{v avDg} [lid]] SimplBind [$cabs{v avCW} [lid]] SimplBind [$cnegate{v avCC} [lid]] SimplBind [$c-{v avCb} [lid]] SimplBind [$c*{v avBP} [lid]] SimplBind [$c+{v avBo} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fNumFixed{v ruPB} [lidx[DFunId]]] SimplBind [a_swhq{v} [lid]] SimplBind [$cfromBV{v avB8} [lid]] SimplBind [a_swhr{v} [lid]] SimplBind [$ctoBV{v avAY} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fBitVectorFixed{v ruPx} [lidx[DFunId]]] SimplBind [a_swhs{v} [lid]] SimplBind [$cdef{v avAg} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fDefaultFixed{v ruO2} [lidx[DFunId(nt)]]] SimplBind [a_swht{v} [lid]] SimplBind [$cmaxBound{v avA4} [lid]] SimplBind [a_swhu{v} [lid]] SimplBind [$cminBound{v avzV} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fBoundedFixed{v ruHR} [lidx[DFunId]]] SimplBind [a_swlr{v} [lid]] SimplBind [$cmin{v avzC} [lid]] SimplBind [a_swls{v} [lid]] SimplBind [$cmax{v avzm} [lid]] SimplBind [a_swhz{v} [lid]] SimplBind [$c<={v avz8} [lid]] SimplBind [a_swhA{v} [lid]] SimplBind [$c>{v avyU} [lid]] SimplBind [a_swhB{v} [lid]] SimplBind [$c>={v avyG} [lid]] SimplBind [a_swhC{v} [lid]] SimplBind [$c<{v avys} [lid]] SimplBind [a_swhD{v} [lid]] SimplBind [$ccompare{v avye} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fOrdFixed{v ruUw} [lidx[DFunId[1]]]] SimplBind [a_swhE{v} [lid]] SimplBind [$c/={v avxV} [lid]] SimplBind [a_swhF{v} [lid]] SimplBind [$c=={v avxH} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fEqFixed{v ruUr} [lidx[DFunId]]] SimplBind [$clift{v avAv} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fLiftFixed{v ruOs} [lidx[DFunId(nt)]]] ==================== Simplifier ==================== Max iterations = 4 SimplMode {Phase = InitialPhase [Gentle], no inline, rules, eta-expand, no case-of-case} Result size of Simplifier = {terms: 1,808, types: 11,336, coercions: 844} CLaSH.Sized.Fixed.fLit :: forall (frac_auFI :: GHC.TypeLits.Nat) (rep_auFJ :: GHC.TypeLits.Nat -> *) (size_auFK :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_auFI, GHC.Num.Num (rep_auFJ size_auFK), GHC.Enum.Bounded (rep_auFJ size_auFK), GHC.Real.Integral (rep_auFJ size_auFK)) => GHC.Types.Double -> Language.Haskell.TH.Syntax.Q (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_auFI rep_auFJ size_auFK)) [LclIdX, Arity=5, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] CLaSH.Sized.Fixed.fLit = \ (@ (frac_avhM :: GHC.TypeLits.Nat)) (@ (rep_avhN :: GHC.TypeLits.Nat -> *)) (@ (size_avhO :: GHC.TypeLits.Nat)) ($dKnownNat_avlM :: GHC.TypeLits.KnownNat frac_avhM) _ [Occ=Dead] ($dBounded_avlO :: GHC.Enum.Bounded (rep_avhN size_avhO)) ($dIntegral_avlP :: GHC.Real.Integral (rep_avhN size_avhO)) (a_auGC :: GHC.Types.Double) -> let { truncated_auGG :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 140 0}] truncated_auGG = GHC.Float.RealFracMethods.truncateDoubleInteger (GHC.Float.timesDouble a_auGC (GHC.Real.^ @ GHC.Types.Double @ GHC.Integer.Type.Integer GHC.Float.$fNumDouble GHC.Real.$fIntegralInteger (GHC.Types.D# 2.0) (GHC.TypeLits.natVal @ frac_avhM @ Data.Proxy.Proxy $dKnownNat_avlM (Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac_avhM)))) } in let { rMin_auGE :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] rMin_auGE = GHC.Real.toInteger @ (rep_avhN size_avhO) $dIntegral_avlP (GHC.Enum.minBound @ (rep_avhN size_avhO) $dBounded_avlO) } in let { rMax_auGD :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] rMax_auGD = GHC.Real.toInteger @ (rep_avhN size_avhO) $dIntegral_avlP (GHC.Enum.maxBound @ (rep_avhN size_avhO) $dBounded_avlO) } in Language.Haskell.TH.Syntax.unsafeTExpCoerce @ (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO) (Language.Haskell.TH.Lib.appE (Language.Haskell.TH.Lib.conE (Language.Haskell.TH.Syntax.mkNameG_d (GHC.Base.build @ GHC.Types.Char (\ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "clash-prelude-0.5"#)) (GHC.Base.build @ GHC.Types.Char (\ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "CLaSH.Sized.Fixed"#)) (GHC.Base.build @ GHC.Types.Char (\ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "Fixed"#)))) (Language.Haskell.TH.Lib.appE (Language.Haskell.TH.Lib.varE (Language.Haskell.TH.Syntax.mkNameG_v (GHC.Base.build @ GHC.Types.Char (\ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "base"#)) (GHC.Base.build @ GHC.Types.Char (\ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "GHC.Num"#)) (GHC.Base.build @ GHC.Types.Char (\ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "fromInteger"#)))) (Language.Haskell.TH.Syntax.lift @ GHC.Integer.Type.Integer Language.Haskell.TH.Syntax.$fLiftInteger (case GHC.Integer.Type.gtInteger truncated_auGG rMax_auGD of _ [Occ=Dead] { GHC.Types.False -> case GHC.Integer.Type.ltInteger truncated_auGG rMin_auGE of _ [Occ=Dead] { GHC.Types.False -> truncated_auGG; GHC.Types.True -> rMin_auGE }; GHC.Types.True -> rMax_auGD })))) CLaSH.Sized.Fixed.satN2 :: forall (rep_auFL :: GHC.TypeLits.Nat -> *) (n_auFM :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.SatN2C rep_auFL n_auFM) => rep_auFL (n_auFM GHC.TypeLits.+ 2) -> rep_auFL n_auFM [LclIdX, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] CLaSH.Sized.Fixed.satN2 = \ (@ (rep_aviy :: GHC.TypeLits.Nat -> *)) (@ (n_aviz :: GHC.TypeLits.Nat)) (tup_avmQ :: CLaSH.Sized.Fixed.SatN2C rep_aviy n_aviz) (eta_B1 :: rep_aviy (n_aviz GHC.TypeLits.+ 2)) -> let { cobox_avIU :: CLaSH.Class.BitVector.BitSize (rep_aviy (n_aviz GHC.TypeLits.+ 2)) ~ (n_aviz GHC.TypeLits.+ 2) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] cobox_avIU = case tup_avmQ of _ [Occ=Dead] { (tpl_X1g, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B6 } } in let { cobox_avIT :: CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz) ~ n_aviz [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] cobox_avIT = case tup_avmQ of _ [Occ=Dead] { (tpl_X1i, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B5 } } in let { cobox_avIQ :: ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (n_aviz GHC.TypeLits.+ 2) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] cobox_avIQ = case tup_avmQ of _ [Occ=Dead] { (tpl_X1l, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B2 } } in let { repBV_auGx :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 90 0}] repBV_auGx = case case cobox_avIU of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6Z -> GHC.Types.Eq# @ * @ (CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy (n_aviz GHC.TypeLits.+ 2))) CLaSH.Bit.Bit) @ (CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit) @~ (CLaSH.Sized.Vector.Vec cobox_dw6Z _N)_N } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6X -> (CLaSH.Class.BitVector.toBV @ (rep_aviy (n_aviz GHC.TypeLits.+ 2)) (case tup_avmQ of _ [Occ=Dead] { (tpl_X1t, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B4 }) (case cobox_avIU of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6Y -> (case tup_avmQ of _ [Occ=Dead] { (tpl_X1x, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B8 }) `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw6Y))_R :: GHC.TypeLits.KnownNat (n_aviz GHC.TypeLits.+ 2) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy (n_aviz GHC.TypeLits.+ 2)))) }) eta_B1) `cast` (Sub cobox_dw6X :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy (n_aviz GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit) } } in let { s_auGA :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 70 0}] s_auGA = CLaSH.Sized.Vector.vtail @ n_aviz @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (case case case cobox_avIQ of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7d -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ (n_aviz GHC.TypeLits.+ 2) @ ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) @~ (Sym cobox_dw7d) } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw75 -> GHC.Types.Eq# @ * @ (CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit) @ (CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit) @~ (CLaSH.Sized.Vector.Vec cobox_dw75 _N)_N } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dvY9 -> repBV_auGx `cast` (Sub cobox_dvY9 :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit) })) } in case Data.Bits.isSigned @ (rep_aviy (n_aviz GHC.TypeLits.+ 2)) (case tup_avmQ of _ [Occ=Dead] { (tpl_X1t, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_Ba }) eta_B1 of _ [Occ=Dead] { GHC.Types.False -> let { ds_dvY4 :: CLaSH.Bit.Bit [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 70 0}] ds_dvY4 = CLaSH.Sized.Vector.vhead @ n_aviz @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (case case case cobox_avIQ of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7g -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ (n_aviz GHC.TypeLits.+ 2) @ ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) @~ (Sym cobox_dw7g) } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw73 -> GHC.Types.Eq# @ * @ (CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit) @ (CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit) @~ (CLaSH.Sized.Vector.Vec cobox_dw73 _N)_N } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dvYc -> repBV_auGx `cast` (Sub cobox_dvYc :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit) })) } in case CLaSH.Sized.Vector.vhead @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (case case case cobox_avIQ of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7j -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ (n_aviz GHC.TypeLits.+ 2) @ ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) @~ (Sym cobox_dw7j) } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw71 -> GHC.Types.Eq# @ * @ (CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit) @ (CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit) @~ (CLaSH.Sized.Vector.Vec cobox_dw71 _N)_N } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6W -> repBV_auGx `cast` (Sub cobox_dw6W :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit) }) of _ [Occ=Dead] { CLaSH.Bit.H -> case ds_dvY4 of _ [Occ=Dead] { CLaSH.Bit.H -> GHC.Enum.minBound @ (rep_aviy n_aviz) (case tup_avmQ of _ [Occ=Dead] { (tpl_X1d, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B9 }); CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_aviy n_aviz) (case tup_avmQ of _ [Occ=Dead] { (tpl_X1k, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B3 }) (case cobox_avIT of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7b -> (case tup_avmQ of _ [Occ=Dead] { (tpl_X1e, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B7 }) `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw7b))_R :: GHC.TypeLits.KnownNat n_aviz ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz))) }) (case case cobox_avIT of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7c -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ n_aviz @ (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) @~ (Sym cobox_dw7c) } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6T -> s_auGA `cast` ((CLaSH.Sized.Vector.Vec cobox_dw6T _R)_R :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) CLaSH.Bit.Bit) }) }; CLaSH.Bit.L -> case ds_dvY4 of _ [Occ=Dead] { CLaSH.Bit.H -> GHC.Enum.maxBound @ (rep_aviy n_aviz) (case tup_avmQ of _ [Occ=Dead] { (tpl_X1d, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B9 }); CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_aviy n_aviz) (case tup_avmQ of _ [Occ=Dead] { (tpl_X1k, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B3 }) (case cobox_avIT of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7b -> (case tup_avmQ of _ [Occ=Dead] { (tpl_X1e, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B7 }) `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw7b))_R :: GHC.TypeLits.KnownNat n_aviz ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz))) }) (case case cobox_avIT of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7c -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ n_aviz @ (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) @~ (Sym cobox_dw7c) } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6T -> s_auGA `cast` ((CLaSH.Sized.Vector.Vec cobox_dw6T _R)_R :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) CLaSH.Bit.Bit) }) } }; GHC.Types.True -> case CLaSH.Sized.Vector.vhead @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (case case case cobox_avIQ of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7j -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ (n_aviz GHC.TypeLits.+ 2) @ ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) @~ (Sym cobox_dw7j) } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw71 -> GHC.Types.Eq# @ * @ (CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit) @ (CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit) @~ (CLaSH.Sized.Vector.Vec cobox_dw71 _N)_N } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6W -> repBV_auGx `cast` (Sub cobox_dw6W :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit) }) of _ [Occ=Dead] { CLaSH.Bit.H -> case CLaSH.Sized.Vector.vhead' @ n_aviz @ CLaSH.Bit.Bit (case tup_avmQ of _ [Occ=Dead] { (tpl_X1p, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X1p }) s_auGA of _ [Occ=Dead] { CLaSH.Bit.H -> CLaSH.Class.BitVector.fromBV @ (rep_aviy n_aviz) (case tup_avmQ of _ [Occ=Dead] { (tpl_X1k, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B3 }) (case cobox_avIT of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw79 -> (case tup_avmQ of _ [Occ=Dead] { (tpl_X1e, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B7 }) `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw79))_R :: GHC.TypeLits.KnownNat n_aviz ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz))) }) (case case cobox_avIT of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7a -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ n_aviz @ (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) @~ (Sym cobox_dw7a) } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6S -> s_auGA `cast` ((CLaSH.Sized.Vector.Vec cobox_dw6S _R)_R :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) CLaSH.Bit.Bit) }); CLaSH.Bit.L -> GHC.Enum.minBound @ (rep_aviy n_aviz) (case tup_avmQ of _ [Occ=Dead] { (tpl_X1d, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B9 }) }; CLaSH.Bit.L -> case CLaSH.Sized.Vector.vhead' @ n_aviz @ CLaSH.Bit.Bit (case tup_avmQ of _ [Occ=Dead] { (tpl_X1p, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X1p }) s_auGA of _ [Occ=Dead] { CLaSH.Bit.H -> GHC.Enum.maxBound @ (rep_aviy n_aviz) (case tup_avmQ of _ [Occ=Dead] { (tpl_X1d, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B9 }); CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_aviy n_aviz) (case tup_avmQ of _ [Occ=Dead] { (tpl_X1k, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B3 }) (case cobox_avIT of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw79 -> (case tup_avmQ of _ [Occ=Dead] { (tpl_X1e, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B7 }) `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw79))_R :: GHC.TypeLits.KnownNat n_aviz ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz))) }) (case case cobox_avIT of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7a -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ n_aviz @ (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) @~ (Sym cobox_dw7a) } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6S -> s_auGA `cast` ((CLaSH.Sized.Vector.Vec cobox_dw6S _R)_R :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) CLaSH.Bit.Bit) }) } } } CLaSH.Sized.Fixed.resizeF :: forall (frac1_auFN :: GHC.TypeLits.Nat) (frac2_auFO :: GHC.TypeLits.Nat) (rep_auFP :: GHC.TypeLits.Nat -> *) (size1_auFQ :: GHC.TypeLits.Nat) (size2_auFR :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.ResizeFC rep_auFP frac1_auFN frac2_auFO size1_auFQ size2_auFR) => CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ -> CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR [LclIdX, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] CLaSH.Sized.Fixed.resizeF = \ (@ (frac1_avjq :: GHC.TypeLits.Nat)) (@ (frac2_avjr :: GHC.TypeLits.Nat)) (@ (rep_avjs :: GHC.TypeLits.Nat -> *)) (@ (size1_avjt :: GHC.TypeLits.Nat)) (@ (size2_avju :: GHC.TypeLits.Nat)) (tup_avnK :: CLaSH.Sized.Fixed.ResizeFC rep_avjs frac1_avjq frac2_avjr size1_avjt size2_avju) (eta_B1 :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt) -> let { $dKnownNat_avJB :: GHC.TypeLits.KnownNat size1_avjt [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_avJB = case tup_avnK of _ [Occ=Dead] { (tpl_X1i, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B8 } } in let { $dKnownNat_avJA :: GHC.TypeLits.KnownNat size2_avju [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_avJA = case tup_avnK of _ [Occ=Dead] { (tpl_X1k, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 } } in let { $dResize_avJz :: CLaSH.Class.Num.Resize rep_avjs [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dResize_avJz = case tup_avnK of _ [Occ=Dead] { (tpl_X1m, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B6 } } in let { $dBits_avJy :: Data.Bits.Bits (rep_avjs size1_avjt) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_avJy = case tup_avnK of _ [Occ=Dead] { (tpl_X1o, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B5 } } in let { $dNum_avJx :: GHC.Num.Num (rep_avjs size1_avjt) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dNum_avJx = case tup_avnK of _ [Occ=Dead] { (tpl_X1r, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B4 } } in let { $dBounded_avJu :: GHC.Enum.Bounded (rep_avjs size2_avju) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBounded_avJu = case tup_avnK of _ [Occ=Dead] { (tpl_X1u, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X1u } } in let { resFracSZ_auGl :: GHC.Types.Int [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 0}] resFracSZ_auGl = GHC.Num.$fNumInt_$cfromInteger (GHC.TypeLits.natVal @ frac2_avjr @ Data.Proxy.Proxy (case tup_avnK of _ [Occ=Dead] { (tpl_X1w, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Ba }) (Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac2_avjr)) } in let { argFracSZ_auGk :: GHC.Types.Int [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 0}] argFracSZ_auGk = GHC.Num.$fNumInt_$cfromInteger (GHC.TypeLits.natVal @ frac1_avjq @ Data.Proxy.Proxy (case tup_avnK of _ [Occ=Dead] { (tpl_X1y, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bb }) (Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac1_avjq)) } in case GHC.Integer.Type.leInteger (GHC.TypeLits.natVal @ size1_avjt @ Data.Proxy.Proxy $dKnownNat_avJB (Data.Proxy.Proxy @ GHC.TypeLits.Nat @ size1_avjt)) (GHC.TypeLits.natVal @ size2_avju @ Data.Proxy.Proxy $dKnownNat_avJA (Data.Proxy.Proxy @ GHC.TypeLits.Nat @ size2_avju)) of _ [Occ=Dead] { GHC.Types.False -> let { fMax_auGn :: rep_avjs size2_avju [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 20 0}] fMax_auGn = GHC.Enum.maxBound @ (rep_avjs size2_avju) $dBounded_avJu } in let { mask_auGp :: rep_avjs size1_avjt [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 0}] mask_auGp = Data.Bits.complement @ (rep_avjs size1_avjt) $dBits_avJy (CLaSH.Class.Num.resize @ rep_avjs $dResize_avJz @ size2_avju @ size1_avjt $dKnownNat_avJA $dKnownNat_avJB fMax_auGn) } in case GHC.Classes.leInt argFracSZ_auGk resFracSZ_auGl of _ [Occ=Dead] { GHC.Types.False -> let { shiftedR_auGt :: rep_avjs size1_avjt [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 70 0}] shiftedR_auGt = Data.Bits.shiftR @ (rep_avjs size1_avjt) $dBits_avJy (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt)) (GHC.Num.$fNumInt_$c- argFracSZ_auGk resFracSZ_auGl) } in case GHC.Classes.>= @ (rep_avjs size1_avjt) (case tup_avnK of _ [Occ=Dead] { (tpl_X1t, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B3 }) (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt)) (GHC.Num.fromInteger @ (rep_avjs size1_avjt) $dNum_avJx (__integer 0)) of _ [Occ=Dead] { GHC.Types.False -> case GHC.Classes.== @ (rep_avjs size1_avjt) (Data.Bits.$p1Bits @ (rep_avjs size1_avjt) $dBits_avJy) (Data.Bits..&. @ (rep_avjs size1_avjt) $dBits_avJy shiftedR_auGt mask_auGp) mask_auGp of _ [Occ=Dead] { GHC.Types.False -> (GHC.Enum.minBound @ (rep_avjs size2_avju) $dBounded_avJu) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> (CLaSH.Class.Num.resize @ rep_avjs $dResize_avJz @ size1_avjt @ size2_avju $dKnownNat_avJB $dKnownNat_avJA shiftedR_auGt) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) }; GHC.Types.True -> case GHC.Classes.== @ (rep_avjs size1_avjt) (Data.Bits.$p1Bits @ (rep_avjs size1_avjt) $dBits_avJy) (Data.Bits..&. @ (rep_avjs size1_avjt) $dBits_avJy shiftedR_auGt mask_auGp) (GHC.Num.fromInteger @ (rep_avjs size1_avjt) $dNum_avJx (__integer 0)) of _ [Occ=Dead] { GHC.Types.False -> fMax_auGn `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> (CLaSH.Class.Num.resize @ rep_avjs $dResize_avJz @ size1_avjt @ size2_avju $dKnownNat_avJB $dKnownNat_avJA shiftedR_auGt) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) } }; GHC.Types.True -> let { shiftedL_auGq :: rep_avjs size1_avjt [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 70 0}] shiftedL_auGq = Data.Bits.shiftL @ (rep_avjs size1_avjt) $dBits_avJy (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt)) (GHC.Num.$fNumInt_$c- resFracSZ_auGl argFracSZ_auGk) } in case GHC.Classes.>= @ (rep_avjs size1_avjt) (case tup_avnK of _ [Occ=Dead] { (tpl_X1t, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B3 }) (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt)) (GHC.Num.fromInteger @ (rep_avjs size1_avjt) $dNum_avJx (__integer 0)) of _ [Occ=Dead] { GHC.Types.False -> case GHC.Classes.== @ (rep_avjs size1_avjt) (Data.Bits.$p1Bits @ (rep_avjs size1_avjt) $dBits_avJy) (Data.Bits..&. @ (rep_avjs size1_avjt) $dBits_avJy shiftedL_auGq mask_auGp) mask_auGp of _ [Occ=Dead] { GHC.Types.False -> (GHC.Enum.minBound @ (rep_avjs size2_avju) $dBounded_avJu) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> (CLaSH.Class.Num.resize @ rep_avjs $dResize_avJz @ size1_avjt @ size2_avju $dKnownNat_avJB $dKnownNat_avJA shiftedL_auGq) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) }; GHC.Types.True -> case GHC.Classes.== @ (rep_avjs size1_avjt) (Data.Bits.$p1Bits @ (rep_avjs size1_avjt) $dBits_avJy) (Data.Bits..&. @ (rep_avjs size1_avjt) $dBits_avJy shiftedL_auGq mask_auGp) (GHC.Num.fromInteger @ (rep_avjs size1_avjt) $dNum_avJx (__integer 0)) of _ [Occ=Dead] { GHC.Types.False -> fMax_auGn `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> (CLaSH.Class.Num.resize @ rep_avjs $dResize_avJz @ size1_avjt @ size2_avju $dKnownNat_avJB $dKnownNat_avJA shiftedL_auGq) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) } } }; GHC.Types.True -> case GHC.Classes.leInt argFracSZ_auGk resFracSZ_auGl of _ [Occ=Dead] { GHC.Types.False -> (Data.Bits.shiftR @ (rep_avjs size2_avju) (case tup_avnK of _ [Occ=Dead] { (tpl_X1h, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B9 }) (CLaSH.Class.Num.resize @ rep_avjs $dResize_avJz @ size1_avjt @ size2_avju $dKnownNat_avJB $dKnownNat_avJA (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt))) (GHC.Num.$fNumInt_$c- argFracSZ_auGk resFracSZ_auGl)) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> (Data.Bits.shiftL @ (rep_avjs size2_avju) (case tup_avnK of _ [Occ=Dead] { (tpl_X1h, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B9 }) (CLaSH.Class.Num.resize @ rep_avjs $dResize_avJz @ size1_avjt @ size2_avju $dKnownNat_avJB $dKnownNat_avJA (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt))) (GHC.Num.$fNumInt_$c- resFracSZ_auGl argFracSZ_auGk)) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) } } CLaSH.Sized.Fixed.asRepProxy :: forall (frac_auFV :: GHC.TypeLits.Nat) (rep_auFW :: GHC.TypeLits.Nat -> *) (size_auFX :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFV rep_auFW size_auFX -> Data.Proxy.Proxy rep_auFW [LclIdX, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.asRepProxy = \ (@ (frac_avk6 :: GHC.TypeLits.Nat)) (@ (rep_avk7 :: GHC.TypeLits.Nat -> *)) (@ (size_avk8 :: GHC.TypeLits.Nat)) _ [Occ=Dead] -> Data.Proxy.Proxy @ (GHC.TypeLits.Nat -> *) @ rep_avk7 CLaSH.Sized.Fixed.asFracProxy :: forall (frac_auFY :: GHC.TypeLits.Nat) (rep_auFZ :: GHC.TypeLits.Nat -> *) (size_auG0 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFY rep_auFZ size_auG0 -> Data.Proxy.Proxy frac_auFY [LclIdX, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.asFracProxy = \ (@ (frac_avkp :: GHC.TypeLits.Nat)) (@ (rep_avkq :: GHC.TypeLits.Nat -> *)) (@ (size_avkr :: GHC.TypeLits.Nat)) _ [Occ=Dead] -> Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac_avkp CLaSH.Sized.Fixed.fracShift :: forall (frac_auFS :: GHC.TypeLits.Nat) (rep_auFT :: GHC.TypeLits.Nat -> *) (size_auFU :: GHC.TypeLits.Nat). GHC.TypeLits.KnownNat frac_auFS => CLaSH.Sized.Fixed.Fixed frac_auFS rep_auFT size_auFU -> GHC.Types.Int [LclIdX, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0] 70 0}] CLaSH.Sized.Fixed.fracShift = \ (@ (frac_avjN :: GHC.TypeLits.Nat)) (@ (rep_avjO :: GHC.TypeLits.Nat -> *)) (@ (size_avjP :: GHC.TypeLits.Nat)) ($dKnownNat_avxa :: GHC.TypeLits.KnownNat frac_avjN) (f_auGd :: CLaSH.Sized.Fixed.Fixed frac_avjN rep_avjO size_avjP) -> GHC.Num.$fNumInt_$cfromInteger (GHC.TypeLits.natVal @ frac_avjN @ Data.Proxy.Proxy $dKnownNat_avxa (CLaSH.Sized.Fixed.asFracProxy @ frac_avjN @ rep_avjO @ size_avjP f_auGd)) a_swaI :: forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaI = \ (@ (int_avkK :: GHC.TypeLits.Nat)) (@ (frac_avkL :: GHC.TypeLits.Nat)) (ds_dvZi :: CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL)) -> ds_dvZi CLaSH.Sized.Fixed.unUF :: forall (int_auG1 :: GHC.TypeLits.Nat) (frac_auG2 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.UFixed int_auG1 frac_auG2 -> CLaSH.Sized.Unsigned.Unsigned (int_auG1 GHC.TypeLits.+ frac_auG2) [LclIdX, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.unUF = a_swaI `cast` (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL)) ~# (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL))) a_swaJ :: forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaJ = \ (@ (frac_avl5 :: GHC.TypeLits.Nat)) (@ (int_avl6 :: GHC.TypeLits.Nat)) _ [Occ=Dead] (fRep_auGb :: CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) -> fRep_auGb CLaSH.Sized.Fixed.uf :: forall (frac_auG3 :: GHC.TypeLits.Nat) (int_auG4 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_auG3 -> CLaSH.Sized.Unsigned.Unsigned (int_auG4 GHC.TypeLits.+ frac_auG3) -> CLaSH.Sized.Fixed.UFixed int_auG4 frac_auG3 [LclIdX, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.uf = a_swaJ `cast` (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) ~# (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Fixed.Fixed frac_avl5 CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5))) a_swaK :: forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaK = \ (@ (int_avlp :: GHC.TypeLits.Nat)) (@ (frac_avlq :: GHC.TypeLits.Nat)) (ds_dvZu :: CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq)) -> ds_dvZu CLaSH.Sized.Fixed.unSF :: forall (int_auG5 :: GHC.TypeLits.Nat) (frac_auG6 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.SFixed int_auG5 frac_auG6 -> CLaSH.Sized.Signed.Signed (int_auG5 GHC.TypeLits.+ frac_auG6) [LclIdX, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.unSF = a_swaK `cast` (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq)) ~# (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq))) a_swaL :: forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaL = \ (@ (frac_avlK :: GHC.TypeLits.Nat)) (@ (int_avlL :: GHC.TypeLits.Nat)) _ [Occ=Dead] (fRep_auG9 :: CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) -> fRep_auG9 CLaSH.Sized.Fixed.sf :: forall (frac_auG7 :: GHC.TypeLits.Nat) (int_auG8 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_auG7 -> CLaSH.Sized.Signed.Signed (int_auG8 GHC.TypeLits.+ frac_auG7) -> CLaSH.Sized.Fixed.SFixed int_auG8 frac_auG7 [LclIdX, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.sf = a_swaL `cast` (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) ~# (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Fixed.Fixed frac_avlK CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK))) a_swaM :: forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaM = \ (@ (frac_auI2 :: GHC.TypeLits.Nat)) (@ (rep_auI3 :: GHC.TypeLits.Nat -> *)) (@ (size_auI4 :: GHC.TypeLits.Nat)) (ds_dvZF :: CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4) -> ds_dvZF CLaSH.Sized.Fixed.unFixed :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> rep_auFG size_auFH [LclIdX[[RecSel]], Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.unFixed = a_swaM `cast` (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4) ~# (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> rep_auI3 size_auI4)) $cshow_avFD :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> GHC.Base.String [LclId, Arity=5, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] $cshow_avFD = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) _ [Occ=Dead] _ [Occ=Dead] ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) (f_auHA :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) -> let { fRepI_auHE :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 30 0}] fRepI_auHE = GHC.Real.toInteger @ (rep_auHy size_auHz) $dIntegral_avFy (f_auHA `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz ~# rep_auHy size_auHz)) } in let { fRepI_abs_auHF :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 20 0}] fRepI_abs_auHF = GHC.Integer.Type.absInteger fRepI_auHE } in let { nF_auHD :: GHC.Types.Int [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 30 0}] nF_auHD = CLaSH.Sized.Fixed.fracShift @ frac_auHx @ rep_auHy @ size_auHz $dKnownNat_avFx f_auHA } in GHC.Base.augment @ GHC.Types.Char (\ (@ b_a4II) (c_a4IJ [OS=OneShot] :: GHC.Types.Char -> b_a4II -> b_a4II) (n_a4IK [OS=OneShot] :: b_a4II) -> GHC.Base.foldr @ GHC.Types.Char @ b_a4II c_a4IJ n_a4IK (case GHC.Integer.Type.ltInteger fRepI_auHE (__integer 0) of _ [Occ=Dead] { GHC.Types.False -> GHC.Show.$fShowInteger_$cshow (Data.Bits.$fBitsInteger_$cshiftR fRepI_auHE nF_auHD); GHC.Types.True -> GHC.Types.: @ GHC.Types.Char (GHC.Types.C# '-') (GHC.Show.$fShowInteger_$cshow (Data.Bits.$fBitsInteger_$cshiftR fRepI_abs_auHF nF_auHD)) })) (GHC.Base.augment @ GHC.Types.Char (\ (@ b_X4Kn) (c_X4Kp [OS=OneShot] :: GHC.Types.Char -> b_X4Kn -> b_X4Kn) (n_X4Kr [OS=OneShot] :: b_X4Kn) -> c_X4Kp (GHC.Types.C# '.') n_X4Kr) (GHC.Base.$ @ (GHC.Real.Ratio GHC.Integer.Type.Integer) @ [GHC.Types.Char] (GHC.Base.. @ (GHC.Types.Int, [GHC.Types.Char]) @ [GHC.Types.Char] @ (GHC.Real.Ratio GHC.Integer.Type.Integer) (Data.Tuple.uncurry @ GHC.Types.Int @ [GHC.Types.Char] @ [GHC.Types.Char] (\ (n_auHJ [OS=ProbOneShot] :: GHC.Types.Int) (str_auHK [OS=ProbOneShot] :: [GHC.Types.Char]) -> GHC.Base.augment @ GHC.Types.Char (\ (@ b_X4M9) (c_X4Mc [OS=OneShot] :: GHC.Types.Char -> b_X4M9 -> b_X4M9) (n_X4Kt [OS=OneShot] :: b_X4M9) -> GHC.Base.foldr @ GHC.Types.Char @ b_X4M9 c_X4Mc n_X4Kt (GHC.List.replicate @ GHC.Types.Char (GHC.Num.$fNumInt_$c- n_auHJ (GHC.Base.foldr @ GHC.Types.Char @ (GHC.Prim.Int# -> GHC.Types.Int) (GHC.List.incLen @ GHC.Types.Char) GHC.Types.I# str_auHK 0)) (GHC.Types.C# '0'))) str_auHK)) (GHC.Base.. @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) @ (GHC.Types.Int, [GHC.Types.Char]) @ (GHC.Real.Ratio GHC.Integer.Type.Integer) (Control.Arrow.$fArrow(->)_$csecond @ (GHC.Real.Ratio GHC.Integer.Type.Integer) @ [GHC.Types.Char] @ GHC.Types.Int (GHC.Base.. @ GHC.Integer.Type.Integer @ GHC.Base.String @ (GHC.Real.Ratio GHC.Integer.Type.Integer) GHC.Show.$fShowInteger_$cshow (GHC.Real.numerator @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger))) (GHC.Base.. @ (Data.Maybe.Maybe (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) @ (GHC.Real.Ratio GHC.Integer.Type.Integer) (Data.Maybe.fromJust @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) (GHC.Base.. @ [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)] @ (Data.Maybe.Maybe (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) @ (GHC.Real.Ratio GHC.Integer.Type.Integer) (Data.List.find @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) (GHC.Base.. @ GHC.Integer.Type.Integer @ GHC.Types.Bool @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) (let { ds_dw45 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] ds_dw45 = __integer 1 } in \ (ds_dw44 [OS=ProbOneShot] :: GHC.Integer.Type.Integer) -> GHC.Integer.Type.eqInteger ds_dw44 ds_dw45) (GHC.Base.. @ (GHC.Real.Ratio GHC.Integer.Type.Integer) @ GHC.Integer.Type.Integer @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) (GHC.Real.denominator @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger) (Data.Tuple.snd @ GHC.Types.Int @ (GHC.Real.Ratio GHC.Integer.Type.Integer))))) (GHC.Base.. @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) @ [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)] @ (GHC.Real.Ratio GHC.Integer.Type.Integer) (GHC.List.iterate @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) (Control.Arrow.$fArrow(->)_$c*** @ GHC.Types.Int @ GHC.Types.Int @ (GHC.Real.Ratio GHC.Integer.Type.Integer) @ (GHC.Real.Ratio GHC.Integer.Type.Integer) GHC.Enum.$fEnumInt_$csucc (let { ds_dw48 :: GHC.Real.Ratio GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 120 0}] ds_dw48 = GHC.Real.$fNumRatio_$s$cfromInteger (__integer 10) } in \ (ds_dw47 [OS=ProbOneShot] :: GHC.Real.Ratio GHC.Integer.Type.Integer) -> GHC.Real.$fNumRatio_$s$c* ds_dw47 ds_dw48))) (GHC.Tuple.(,) @ GHC.Types.Int @ (GHC.Real.Ratio GHC.Integer.Type.Integer) (GHC.Types.I# 0))))))) (GHC.Real.%_$s% (case GHC.Integer.Type.ltInteger fRepI_auHE (__integer 0) of _ [Occ=Dead] { GHC.Types.False -> GHC.Integer.Type.andInteger fRepI_auHE (GHC.Integer.Type.minusInteger (GHC.Real.^ @ GHC.Integer.Type.Integer @ GHC.Types.Int GHC.Num.$fNumInteger GHC.Real.$fIntegralInt (__integer 2) nF_auHD) (__integer 1)); GHC.Types.True -> GHC.Integer.Type.andInteger fRepI_abs_auHF (GHC.Integer.Type.minusInteger (GHC.Real.^ @ GHC.Integer.Type.Integer @ GHC.Types.Int GHC.Num.$fNumInteger GHC.Real.$fIntegralInt (__integer 2) nF_auHD) (__integer 1)) }) (GHC.Real.^ @ GHC.Integer.Type.Integer @ GHC.Types.Int GHC.Num.$fNumInteger GHC.Real.$fIntegralInt (__integer 2) nF_auHD)))) $cshowsPrec_avFB :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => GHC.Types.Int -> CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> GHC.Show.ShowS [LclId, Arity=7, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=7, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0 0 0 0 0 0] 120 40}] $cshowsPrec_avFB = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) _ [Occ=Dead] (x_a2fY :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (s_a2fZ :: GHC.Base.String) -> GHC.Base.augment @ GHC.Types.Char (\ (@ b_a2g3) (c_a2g4 [OS=OneShot] :: GHC.Types.Char -> b_a2g3 -> b_a2g3) (n_a2g5 [OS=OneShot] :: b_a2g3) -> GHC.Base.foldr @ GHC.Types.Char @ b_a2g3 c_a2g4 n_a2g5 ($cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy x_a2fY)) s_a2fZ Rec { CLaSH.Sized.Fixed.$fShowFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => GHC.Show.Show (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) [LclIdX[DFunId], Arity=4, Str=DmdType, Unf=DFun: \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) -> GHC.Show.D:Show TYPE CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz $cshowsPrec_avFB @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy $cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy $cshowList_avIE @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy] CLaSH.Sized.Fixed.$fShowFixed = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) -> GHC.Show.D:Show @ (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) ($cshowsPrec_avFB @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy) ($cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy) ($cshowList_avIE @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy) $cshowList_avIE [Occ=LoopBreaker] :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz] -> GHC.Show.ShowS [LclId, Arity=4, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=4, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0 0 0] 140 60}] $cshowList_avIE = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) -> let { $dShow_a2fj :: GHC.Show.Show (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=True, WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 50 0}] $dShow_a2fj = CLaSH.Sized.Fixed.$fShowFixed @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy } in \ (ls_a2fk :: [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz]) (s_a2fl :: GHC.Base.String) -> GHC.Show.showList__ @ (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (GHC.Show.shows @ (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) $dShow_a2fj) ls_a2fk s_a2fl end Rec } a_swjx :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu) [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [40 0 0] 70 0}] a_swjx = \ (@ (frac1_auHq :: GHC.TypeLits.Nat)) (@ (rep_auHr :: GHC.TypeLits.Nat -> *)) (@ (size1_auHs :: GHC.TypeLits.Nat)) (@ (frac2_auHt :: GHC.TypeLits.Nat)) (@ (size2_auHu :: GHC.TypeLits.Nat)) (tup_avFg :: CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) (eta_B2 :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (eta_B1 :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) -> case case tup_avFg of _ [Occ=Dead] { (tpl_X1z, tpl_X1B) -> tpl_X1B } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw3M -> (CLaSH.Class.Num.mult @ (rep_auHr size1_auHs) @ (rep_auHr size2_auHu) (case tup_avFg of _ [Occ=Dead] { (tpl_X1C, tpl_X1E) -> tpl_X1C }) (eta_B2 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs ~# rep_auHr size1_auHs)) (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu ~# rep_auHr size2_auHu))) `cast` (Sub cobox_dw3M :: CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) } $cmult_avFi :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $cmult_avFi = a_swjx `cast` (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). _R -> _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:MResultFixedFixed[0] _N _N _N _N _N)) :: (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) ~# (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu))) CLaSH.Sized.Fixed.$fMultFixedFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) [LclIdX[DFunId(nt)], Arity=3, Str=DmdType, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= $cmult_avFi `cast` (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). _R -> Sym (CLaSH.Class.Num.NTCo:Mult[0] _N _N) :: (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_XuJ1 frac1_XuIZ frac2_XuJ5 size1_XuJ3 size2_XuJ7) => CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3 -> CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7 -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3) (CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7)) ~# (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_XuJ1 frac1_XuIZ frac2_XuJ5 size1_XuJ3 size2_XuJ7) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3) (CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7)))}] CLaSH.Sized.Fixed.$fMultFixedFixed = $cmult_avFi `cast` (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). _R -> Sym (CLaSH.Class.Num.NTCo:Mult[0] _N _N) :: (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_XuJ1 frac1_XuIZ frac2_XuJ5 size1_XuJ3 size2_XuJ7) => CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3 -> CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7 -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3) (CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7)) ~# (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_XuJ1 frac1_XuIZ frac2_XuJ5 size1_XuJ3 size2_XuJ7) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3) (CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7))) $cminus_avEx :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0 0] 450 0}] $cminus_avEx = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (eta_X1I :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (eta_X3p :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> let { tup_avU6 :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_avU6 = case tup_avDN of _ [Occ=Dead] { (tpl_X1L, tpl_X1N, tpl_B3) -> tpl_X1N } } in let { $dBounded_avUu :: GHC.Enum.Bounded (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBounded_avUu = case tup_avU6 of _ [Occ=Dead] { (tpl_X1N, tpl_X1P, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X1N } } in let { $dBits_avUy :: Data.Bits.Bits (rep_auHe size2_auHh) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_avUy = case tup_avU6 of _ [Occ=Dead] { (tpl_X1P, tpl_X1R, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B5 } } in let { $dResize_avUz :: CLaSH.Class.Num.Resize rep_auHe [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dResize_avUz = case tup_avU6 of _ [Occ=Dead] { (tpl_X1R, tpl_X1T, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B6 } } in let { $dKnownNat_avUA :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_avUA = case tup_avU6 of _ [Occ=Dead] { (tpl_X1T, tpl_X1V, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 } } in let { $dBits_avUC :: Data.Bits.Bits (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_avUC = case tup_avU6 of _ [Occ=Dead] { (tpl_X1V, tpl_X1X, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B9 } } in let { $dKnownNat_avUD :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_avUD = case tup_avU6 of _ [Occ=Dead] { (tpl_X1X, tpl_X1Z, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Ba } } in let { tup_avU5 :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_avU5 = case tup_avDN of _ [Occ=Dead] { (tpl_X1Z, tpl_X21, tpl_B3) -> tpl_X1Z } } in let { $dBits_avUc :: Data.Bits.Bits (rep_auHe size1_auHf) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_avUc = case tup_avU5 of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B5 } } in (GHC.Num.- @ (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (case tup_avDN of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3) -> tpl_B3 }) ((CLaSH.Sized.Fixed.resizeF @ frac1_auHd @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size1_auHf @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ($dBounded_avUu, Data.Bits.$p1Bits @ (rep_auHe size1_auHf) $dBits_avUc, case tup_avU5 of _ [Occ=Dead] { (tpl_X43, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B3 }, case tup_avU5 of _ [Occ=Dead] { (tpl_X22, tpl_X46, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B4 }, $dBits_avUc, $dResize_avUz, $dKnownNat_avUA, case tup_avU5 of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B8 }, $dBits_avUC, $dKnownNat_avUD, case tup_avU5 of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bb }, case tup_avU5 of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bc }) eta_X1I) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1))) ((CLaSH.Sized.Fixed.resizeF @ frac2_auHg @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size2_auHh @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ($dBounded_avUu, Data.Bits.$p1Bits @ (rep_auHe size2_auHh) $dBits_avUy, case tup_avU6 of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B3 }, case tup_avU6 of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B4 }, $dBits_avUy, $dResize_avUz, $dKnownNat_avUA, case tup_avU6 of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B8 }, $dBits_avUC, $dKnownNat_avUD, case tup_avU6 of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bb }, case tup_avU6 of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bc }) eta_X3p) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:AResultFixedFixed[0] _N _N _N _N _N)) :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh)) $cplus_avDP :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0 0] 450 0}] $cplus_avDP = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (eta_X1J :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (eta_X3r :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> let { tup_avSG :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_avSG = case tup_avDN of _ [Occ=Dead] { (tpl_X1M, tpl_X1O, tpl_B3) -> tpl_X1O } } in let { $dBounded_avT4 :: GHC.Enum.Bounded (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBounded_avT4 = case tup_avSG of _ [Occ=Dead] { (tpl_X1O, tpl_X1Q, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X1O } } in let { $dBits_avT8 :: Data.Bits.Bits (rep_auHe size2_auHh) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_avT8 = case tup_avSG of _ [Occ=Dead] { (tpl_X1Q, tpl_X1S, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B5 } } in let { $dResize_avT9 :: CLaSH.Class.Num.Resize rep_auHe [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dResize_avT9 = case tup_avSG of _ [Occ=Dead] { (tpl_X1S, tpl_X1U, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B6 } } in let { $dKnownNat_avTa :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_avTa = case tup_avSG of _ [Occ=Dead] { (tpl_X1U, tpl_X1W, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 } } in let { $dBits_avTc :: Data.Bits.Bits (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_avTc = case tup_avSG of _ [Occ=Dead] { (tpl_X1W, tpl_X1Y, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B9 } } in let { $dKnownNat_avTd :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_avTd = case tup_avSG of _ [Occ=Dead] { (tpl_X1Y, tpl_X20, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Ba } } in let { tup_avSF :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_avSF = case tup_avDN of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3) -> tpl_X20 } } in let { $dBits_avSM :: Data.Bits.Bits (rep_auHe size1_auHf) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_avSM = case tup_avSF of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B5 } } in (GHC.Num.+ @ (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (case tup_avDN of _ [Occ=Dead] { (tpl_X23, tpl_X25, tpl_B3) -> tpl_B3 }) ((CLaSH.Sized.Fixed.resizeF @ frac1_auHd @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size1_auHf @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ($dBounded_avT4, Data.Bits.$p1Bits @ (rep_auHe size1_auHf) $dBits_avSM, case tup_avSF of _ [Occ=Dead] { (tpl_X45, tpl_X25, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B3 }, case tup_avSF of _ [Occ=Dead] { (tpl_X23, tpl_X48, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B4 }, $dBits_avSM, $dResize_avT9, $dKnownNat_avTa, case tup_avSF of _ [Occ=Dead] { (tpl_X23, tpl_X25, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B8 }, $dBits_avTc, $dKnownNat_avTd, case tup_avSF of _ [Occ=Dead] { (tpl_X23, tpl_X25, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bb }, case tup_avSF of _ [Occ=Dead] { (tpl_X23, tpl_X25, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bc }) eta_X1J) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1))) ((CLaSH.Sized.Fixed.resizeF @ frac2_auHg @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size2_auHh @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ($dBounded_avT4, Data.Bits.$p1Bits @ (rep_auHe size2_auHh) $dBits_avT8, case tup_avSG of _ [Occ=Dead] { (tpl_X23, tpl_X25, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B3 }, case tup_avSG of _ [Occ=Dead] { (tpl_X23, tpl_X25, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B4 }, $dBits_avT8, $dResize_avT9, $dKnownNat_avTa, case tup_avSG of _ [Occ=Dead] { (tpl_X23, tpl_X25, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B8 }, $dBits_avTc, $dKnownNat_avTd, case tup_avSG of _ [Occ=Dead] { (tpl_X23, tpl_X25, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bb }, case tup_avSG of _ [Occ=Dead] { (tpl_X23, tpl_X25, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bc }) eta_X3r) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:AResultFixedFixed[0] _N _N _N _N _N)) :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh)) CLaSH.Sized.Fixed.$fAddFixedFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Class.Num.Add (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclIdX[DFunId], Arity=1, Str=DmdType, Unf=DFun: \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) -> CLaSH.Class.Num.D:Add TYPE CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf TYPE CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh $cplus_avDP @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN $cminus_avEx @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN] CLaSH.Sized.Fixed.$fAddFixedFixed = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) -> CLaSH.Class.Num.D:Add @ (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) @ (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) ($cplus_avDP @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN) ($cminus_avEx @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN) $cfromInteger_avDp :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => GHC.Integer.Type.Integer -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [40 0] 170 0}] $cfromInteger_avDp = \ (@ (frac_auGY :: GHC.TypeLits.Nat)) (@ (rep_auGZ :: GHC.TypeLits.Nat -> *)) (@ (size_auH0 :: GHC.TypeLits.Nat)) (tup_avBm :: CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) (eta_X1I :: GHC.Integer.Type.Integer) -> let { tup_avRs :: CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0 [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_avRs = case tup_avBm of _ [Occ=Dead] { (tpl_X1L, tpl_X1N, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X1N } } in (Data.Bits.shiftL @ (rep_auGZ size_auH0) (case tup_avRs of _ [Occ=Dead] { (tpl_X1M, tpl_X1O, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B9 }) (GHC.Num.fromInteger @ (rep_auGZ size_auH0) (case tup_avBm of _ [Occ=Dead] { (tpl_X1M, tpl_X1O, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_B3 }) eta_X1I) (GHC.Num.$fNumInt_$cfromInteger (GHC.TypeLits.natVal @ frac_auGY @ Data.Proxy.Proxy (case tup_avRs of _ [Occ=Dead] { (tpl_X1M, tpl_X1O, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Ba }) (Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac_auGY)))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auGZ size_auH0 ~# CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) a_swkh :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [20 0] 40 0}] a_swkh = \ (@ (frac_auGY :: GHC.TypeLits.Nat)) (@ (rep_auGZ :: GHC.TypeLits.Nat -> *)) (@ (size_auH0 :: GHC.TypeLits.Nat)) (tup_avBm :: CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) (eta_X1J :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) -> GHC.Num.signum @ (rep_auGZ size_auH0) (case tup_avBm of _ [Occ=Dead] { (tpl_X1L, tpl_X1N, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_B3 }) (eta_X1J `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 ~# rep_auGZ size_auH0)) $csignum_avDg :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $csignum_avDg = a_swkh `cast` (forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> rep_auGZ size_auH0) ~# (forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0)) $cabs_avCW :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0] 300 0}] $cabs_avCW = \ (@ (frac_XuIJ :: GHC.TypeLits.Nat)) (@ (rep_XuIL :: GHC.TypeLits.Nat -> *)) (@ (size_XuIN :: GHC.TypeLits.Nat)) (tup_XvDa :: CLaSH.Sized.Fixed.NumFixed frac_XuIJ rep_XuIL size_XuIN) (eta_X1Q :: CLaSH.Sized.Fixed.Fixed frac_XuIJ rep_XuIL size_XuIN) -> let { tup_avQ0 :: CLaSH.Sized.Fixed.ResizeFC rep_XuIL (frac_XuIJ GHC.TypeLits.+ frac_XuIJ) frac_XuIJ (size_XuIN GHC.TypeLits.+ size_XuIN) size_XuIN [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_avQ0 = case tup_XvDa of _ [Occ=Dead] { (tpl_X1T, tpl_X1V, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X1V } } in let { $dKnownNat_avQp :: GHC.TypeLits.KnownNat size_XuIN [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_avQp = case tup_avQ0 of _ [Occ=Dead] { (tpl_X1V, tpl_X1X, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 } } in let { tup_avPZ :: CLaSH.Sized.Fixed.SatN2C rep_XuIL size_XuIN [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_avPZ = case tup_XvDa of _ [Occ=Dead] { (tpl_X1X, tpl_X1Z, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X1X } } in let { $dKnownNat_avQc :: GHC.TypeLits.KnownNat (size_XuIN GHC.TypeLits.+ 2) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_avQc = case tup_avPZ of _ [Occ=Dead] { (tpl_X1Z, tpl_X21, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B8 } } in (CLaSH.Sized.Fixed.satN2 @ rep_XuIL @ size_XuIN (case tup_avPZ of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X20 }, case tup_avPZ of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X22 }, case tup_avPZ of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B3 }, case tup_avPZ of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B4 }, case tup_avPZ of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B5 }, case tup_avPZ of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B6 }, $dKnownNat_avQp, $dKnownNat_avQc, case tup_avQ0 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X20 }, case tup_avPZ of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_Ba }) (GHC.Num.abs @ (rep_XuIL (size_XuIN GHC.TypeLits.+ 2)) (case tup_XvDa of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_B4 }) (CLaSH.Class.Num.resize @ rep_XuIL (case tup_avQ0 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B6 }) @ size_XuIN @ (size_XuIN GHC.TypeLits.+ 2) $dKnownNat_avQp $dKnownNat_avQc (eta_X1Q `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIJ rep_XuIL size_XuIN ~# rep_XuIL size_XuIN))))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIL size_XuIN ~# CLaSH.Sized.Fixed.Fixed frac_XuIJ rep_XuIL size_XuIN) $cnegate_avCC :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0] 300 0}] $cnegate_avCC = \ (@ (frac_XuIK :: GHC.TypeLits.Nat)) (@ (rep_XuIM :: GHC.TypeLits.Nat -> *)) (@ (size_XuIO :: GHC.TypeLits.Nat)) (tup_XvDb :: CLaSH.Sized.Fixed.NumFixed frac_XuIK rep_XuIM size_XuIO) (eta_X1R :: CLaSH.Sized.Fixed.Fixed frac_XuIK rep_XuIM size_XuIO) -> let { tup_avP8 :: CLaSH.Sized.Fixed.ResizeFC rep_XuIM (frac_XuIK GHC.TypeLits.+ frac_XuIK) frac_XuIK (size_XuIO GHC.TypeLits.+ size_XuIO) size_XuIO [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_avP8 = case tup_XvDb of _ [Occ=Dead] { (tpl_X1U, tpl_X1W, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X1W } } in let { $dKnownNat_avPx :: GHC.TypeLits.KnownNat size_XuIO [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_avPx = case tup_avP8 of _ [Occ=Dead] { (tpl_X1W, tpl_X1Y, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 } } in let { tup_avP7 :: CLaSH.Sized.Fixed.SatN2C rep_XuIM size_XuIO [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_avP7 = case tup_XvDb of _ [Occ=Dead] { (tpl_X1Y, tpl_X20, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X1Y } } in let { $dKnownNat_avPk :: GHC.TypeLits.KnownNat (size_XuIO GHC.TypeLits.+ 2) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_avPk = case tup_avP7 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B8 } } in (CLaSH.Sized.Fixed.satN2 @ rep_XuIM @ size_XuIO (case tup_avP7 of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X21 }, case tup_avP7 of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X23 }, case tup_avP7 of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B3 }, case tup_avP7 of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B4 }, case tup_avP7 of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B5 }, case tup_avP7 of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B6 }, $dKnownNat_avPx, $dKnownNat_avPk, case tup_avP8 of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X21 }, case tup_avP7 of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_Ba }) (GHC.Num.negate @ (rep_XuIM (size_XuIO GHC.TypeLits.+ 2)) (case tup_XvDb of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_B4 }) (CLaSH.Class.Num.resize @ rep_XuIM (case tup_avP8 of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B6 }) @ size_XuIO @ (size_XuIO GHC.TypeLits.+ 2) $dKnownNat_avPx $dKnownNat_avPk (eta_X1R `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIK rep_XuIM size_XuIO ~# rep_XuIM size_XuIO))))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIM size_XuIO ~# CLaSH.Sized.Fixed.Fixed frac_XuIK rep_XuIM size_XuIO) $c-_avCb :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0 0] 370 0}] $c-_avCb = \ (@ (frac_XuIL :: GHC.TypeLits.Nat)) (@ (rep_XuIN :: GHC.TypeLits.Nat -> *)) (@ (size_XuIP :: GHC.TypeLits.Nat)) (tup_XvDc :: CLaSH.Sized.Fixed.NumFixed frac_XuIL rep_XuIN size_XuIP) (eta_X1T :: CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP) (eta_X3L :: CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP) -> let { tup_avOg :: CLaSH.Sized.Fixed.ResizeFC rep_XuIN (frac_XuIL GHC.TypeLits.+ frac_XuIL) frac_XuIL (size_XuIP GHC.TypeLits.+ size_XuIP) size_XuIP [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_avOg = case tup_XvDc of _ [Occ=Dead] { (tpl_X1W, tpl_X1Y, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X1Y } } in let { $dResize_avOE :: CLaSH.Class.Num.Resize rep_XuIN [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dResize_avOE = case tup_avOg of _ [Occ=Dead] { (tpl_X1Y, tpl_X20, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B6 } } in let { $dKnownNat_avOF :: GHC.TypeLits.KnownNat size_XuIP [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_avOF = case tup_avOg of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 } } in let { tup_avOf :: CLaSH.Sized.Fixed.SatN2C rep_XuIN size_XuIP [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_avOf = case tup_XvDc of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X22 } } in let { $dKnownNat_avOs :: GHC.TypeLits.KnownNat (size_XuIP GHC.TypeLits.+ 2) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_avOs = case tup_avOf of _ [Occ=Dead] { (tpl_X24, tpl_X26, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B8 } } in (CLaSH.Sized.Fixed.satN2 @ rep_XuIN @ size_XuIP (case tup_avOf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X25 }, case tup_avOf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X27 }, case tup_avOf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B3 }, case tup_avOf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B4 }, case tup_avOf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B5 }, case tup_avOf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B6 }, $dKnownNat_avOF, $dKnownNat_avOs, case tup_avOg of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X25 }, case tup_avOf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_Ba }) (GHC.Num.- @ (rep_XuIN (size_XuIP GHC.TypeLits.+ 2)) (case tup_XvDc of _ [Occ=Dead] { (tpl_X49, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_B4 }) (CLaSH.Class.Num.resize @ rep_XuIN $dResize_avOE @ size_XuIP @ (size_XuIP GHC.TypeLits.+ 2) $dKnownNat_avOF $dKnownNat_avOs (eta_X1T `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP ~# rep_XuIN size_XuIP))) (CLaSH.Class.Num.resize @ rep_XuIN $dResize_avOE @ size_XuIP @ (size_XuIP GHC.TypeLits.+ 2) $dKnownNat_avOF $dKnownNat_avOs (eta_X3L `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP ~# rep_XuIN size_XuIP))))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIN size_XuIP ~# CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP) $c*_avBP :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0 0] 270 0}] $c*_avBP = \ (@ (frac_XuIM :: GHC.TypeLits.Nat)) (@ (rep_XuIO :: GHC.TypeLits.Nat -> *)) (@ (size_XuIQ :: GHC.TypeLits.Nat)) (tup_XvDd :: CLaSH.Sized.Fixed.NumFixed frac_XuIM rep_XuIO size_XuIQ) (eta_X1U :: CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ) (eta_X3N :: CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ) -> let { tup_avNl :: CLaSH.Sized.Fixed.ResizeFC rep_XuIO (frac_XuIM GHC.TypeLits.+ frac_XuIM) frac_XuIM (size_XuIQ GHC.TypeLits.+ size_XuIQ) size_XuIQ [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_avNl = case tup_XvDd of _ [Occ=Dead] { (tpl_X1X, tpl_X1Z, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X1Z } } in let { $dBits_avNI :: Data.Bits.Bits (rep_XuIO (size_XuIQ GHC.TypeLits.+ size_XuIQ)) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_avNI = case tup_avNl of _ [Occ=Dead] { (tpl_X1Z, tpl_X21, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B5 } } in CLaSH.Sized.Fixed.resizeF @ (frac_XuIM GHC.TypeLits.+ frac_XuIM) @ frac_XuIM @ rep_XuIO @ (size_XuIQ GHC.TypeLits.+ size_XuIQ) @ size_XuIQ (case tup_avNl of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X20 }, Data.Bits.$p1Bits @ (rep_XuIO (size_XuIQ GHC.TypeLits.+ size_XuIQ)) $dBits_avNI, case tup_avNl of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B3 }, case tup_avNl of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B4 }, $dBits_avNI, case tup_avNl of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B6 }, case tup_avNl of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 }, case tup_avNl of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B8 }, case tup_avNl of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B9 }, case tup_avNl of _ [Occ=Dead] { (tpl_X3Z, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Ba }, case tup_avNl of _ [Occ=Dead] { (tpl_X20, tpl_X42, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bb }, case tup_avNl of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bc }) ((case case tup_XvDd of _ [Occ=Dead] { (tpl_Xk, tpl_Xm, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_B6 } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw1a -> (CLaSH.Class.Num.mult @ (rep_XuIO size_XuIQ) @ (rep_XuIO size_XuIQ) (case tup_XvDd of _ [Occ=Dead] { (tpl_X23, tpl_X25, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_B5 }) (eta_X1U `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ ~# rep_XuIO size_XuIQ)) (eta_X3N `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ ~# rep_XuIO size_XuIQ))) `cast` (Sub cobox_dw1a :: CLaSH.Class.Num.MResult (rep_XuIO size_XuIQ) (rep_XuIO size_XuIQ) ~# rep_XuIO (size_XuIQ GHC.TypeLits.+ size_XuIQ)) }) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIO (size_XuIQ GHC.TypeLits.+ size_XuIQ) ~# CLaSH.Sized.Fixed.Fixed (frac_XuIM GHC.TypeLits.+ frac_XuIM) rep_XuIO (size_XuIQ GHC.TypeLits.+ size_XuIQ))) $c+_avBo :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0 0] 370 0}] $c+_avBo = \ (@ (frac_XuIN :: GHC.TypeLits.Nat)) (@ (rep_XuIP :: GHC.TypeLits.Nat -> *)) (@ (size_XuIR :: GHC.TypeLits.Nat)) (tup_XvDe :: CLaSH.Sized.Fixed.NumFixed frac_XuIN rep_XuIP size_XuIR) (eta_X1V :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) (eta_X3P :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) -> let { tup_avMt :: CLaSH.Sized.Fixed.ResizeFC rep_XuIP (frac_XuIN GHC.TypeLits.+ frac_XuIN) frac_XuIN (size_XuIR GHC.TypeLits.+ size_XuIR) size_XuIR [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_avMt = case tup_XvDe of _ [Occ=Dead] { (tpl_X1Y, tpl_X20, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X20 } } in let { $dResize_avMR :: CLaSH.Class.Num.Resize rep_XuIP [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dResize_avMR = case tup_avMt of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B6 } } in let { $dKnownNat_avMS :: GHC.TypeLits.KnownNat size_XuIR [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_avMS = case tup_avMt of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 } } in let { tup_avMs :: CLaSH.Sized.Fixed.SatN2C rep_XuIP size_XuIR [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_avMs = case tup_XvDe of _ [Occ=Dead] { (tpl_X24, tpl_X26, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X24 } } in let { $dKnownNat_avMF :: GHC.TypeLits.KnownNat (size_XuIR GHC.TypeLits.+ 2) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_avMF = case tup_avMs of _ [Occ=Dead] { (tpl_X26, tpl_X28, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B8 } } in (CLaSH.Sized.Fixed.satN2 @ rep_XuIP @ size_XuIR (case tup_avMs of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X27 }, case tup_avMs of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X29 }, case tup_avMs of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B3 }, case tup_avMs of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B4 }, case tup_avMs of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B5 }, case tup_avMs of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B6 }, $dKnownNat_avMS, $dKnownNat_avMF, case tup_avMt of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X27 }, case tup_avMs of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_Ba }) (GHC.Num.+ @ (rep_XuIP (size_XuIR GHC.TypeLits.+ 2)) (case tup_XvDe of _ [Occ=Dead] { (tpl_X4d, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_B4 }) (CLaSH.Class.Num.resize @ rep_XuIP $dResize_avMR @ size_XuIR @ (size_XuIR GHC.TypeLits.+ 2) $dKnownNat_avMS $dKnownNat_avMF (eta_X1V `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR ~# rep_XuIP size_XuIR))) (CLaSH.Class.Num.resize @ rep_XuIP $dResize_avMR @ size_XuIR @ (size_XuIR GHC.TypeLits.+ 2) $dKnownNat_avMS $dKnownNat_avMF (eta_X3P `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR ~# rep_XuIP size_XuIR))))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIP size_XuIR ~# CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) CLaSH.Sized.Fixed.$fNumFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => GHC.Num.Num (CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) [LclIdX[DFunId], Arity=1, Str=DmdType, Unf=DFun: \ (@ (frac_XuIO :: GHC.TypeLits.Nat)) (@ (rep_XuIQ :: GHC.TypeLits.Nat -> *)) (@ (size_XuIS :: GHC.TypeLits.Nat)) (tup_XvDf :: CLaSH.Sized.Fixed.NumFixed frac_XuIO rep_XuIQ size_XuIS) -> GHC.Num.D:Num TYPE CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS $c+_avBo @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $c*_avBP @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $c-_avCb @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $cnegate_avCC @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $cabs_avCW @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $csignum_avDg @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $cfromInteger_avDp @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf] CLaSH.Sized.Fixed.$fNumFixed = \ (@ (frac_XuIO :: GHC.TypeLits.Nat)) (@ (rep_XuIQ :: GHC.TypeLits.Nat -> *)) (@ (size_XuIS :: GHC.TypeLits.Nat)) (tup_XvDf :: CLaSH.Sized.Fixed.NumFixed frac_XuIO rep_XuIQ size_XuIS) -> GHC.Num.D:Num @ (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS) ($c+_avBo @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($c*_avBP @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($c-_avCb @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($cnegate_avCC @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($cabs_avCW @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($csignum_avDg @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($cfromInteger_avDp @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) a_swhq :: forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). (CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV), GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV))) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) CLaSH.Bit.Bit -> rep_auGU size_auGV [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swhq = \ (@ (frac_auGT :: GHC.TypeLits.Nat)) (@ (rep_auGU :: GHC.TypeLits.Nat -> *)) (@ (size_auGV :: GHC.TypeLits.Nat)) ($dBitVector_avAW :: CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV)) ($dKnownNat_avBa :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV))) (bv_auGX :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) CLaSH.Bit.Bit) -> CLaSH.Class.BitVector.fromBV @ (rep_auGU size_auGV) $dBitVector_avAW ($dKnownNat_avBa `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auGU size_auGV)))) (bv_auGX `cast` ((CLaSH.Sized.Vector.Vec (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auGU size_auGV)) CLaSH.Bit.Bit)) $cfromBV_avB8 :: forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). (CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV), GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV))) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) CLaSH.Bit.Bit -> CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $cfromBV_avB8 = a_swhq `cast` (forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). _R -> _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). (CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV), GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV))) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) CLaSH.Bit.Bit -> rep_auGU size_auGV) ~# (forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). (CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV), GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV))) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) CLaSH.Bit.Bit -> CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) a_swhr :: forall (frac_XuIF :: GHC.TypeLits.Nat) (rep_XuIH :: GHC.TypeLits.Nat -> *) (size_XuIJ :: GHC.TypeLits.Nat). (CLaSH.Class.BitVector.BitVector (rep_XuIH size_XuIJ), GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ))) => CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIH size_XuIJ)) CLaSH.Bit.Bit [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swhr = \ (@ (frac_XuIF :: GHC.TypeLits.Nat)) (@ (rep_XuIH :: GHC.TypeLits.Nat -> *)) (@ (size_XuIJ :: GHC.TypeLits.Nat)) ($dBitVector_XvCL :: CLaSH.Class.BitVector.BitVector (rep_XuIH size_XuIJ)) ($dKnownNat_avB0 :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ))) (ds_dw0H :: CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ) -> CLaSH.Class.BitVector.toBV @ (rep_XuIH size_XuIJ) $dBitVector_XvCL ($dKnownNat_avB0 `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIH size_XuIJ)))) (ds_dw0H `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ ~# rep_XuIH size_XuIJ)) $ctoBV_avAY :: forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). (CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV), GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV))) => CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) CLaSH.Bit.Bit [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $ctoBV_avAY = a_swhr `cast` (forall (frac_XuIF :: GHC.TypeLits.Nat) (rep_XuIH :: GHC.TypeLits.Nat -> *) (size_XuIJ :: GHC.TypeLits.Nat). _R -> _R -> _R -> (CLaSH.Sized.Vector.Vec (Sym (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N)) _R)_R :: (forall (frac_XuIF :: GHC.TypeLits.Nat) (rep_XuIH :: GHC.TypeLits.Nat -> *) (size_XuIJ :: GHC.TypeLits.Nat). (CLaSH.Class.BitVector.BitVector (rep_XuIH size_XuIJ), GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ))) => CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIH size_XuIJ)) CLaSH.Bit.Bit) ~# (forall (frac_XuIF :: GHC.TypeLits.Nat) (rep_XuIH :: GHC.TypeLits.Nat -> *) (size_XuIJ :: GHC.TypeLits.Nat). (CLaSH.Class.BitVector.BitVector (rep_XuIH size_XuIJ), GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ))) => CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ)) CLaSH.Bit.Bit)) CLaSH.Sized.Fixed.$fBitVectorFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV) => CLaSH.Class.BitVector.BitVector (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV) [LclIdX[DFunId], Arity=1, Str=DmdType, Unf=DFun: \ (@ (frac_XuIN :: GHC.TypeLits.Nat)) (@ (rep_XuIP :: GHC.TypeLits.Nat -> *)) (@ (size_XuIR :: GHC.TypeLits.Nat)) ($dBitVector_XvCT :: CLaSH.Class.BitVector.BitVector (rep_XuIP size_XuIR)) -> CLaSH.Class.BitVector.D:BitVector TYPE CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR $ctoBV_avAY @ frac_XuIN @ rep_XuIP @ size_XuIR $dBitVector_XvCT $cfromBV_avB8 @ frac_XuIN @ rep_XuIP @ size_XuIR $dBitVector_XvCT] CLaSH.Sized.Fixed.$fBitVectorFixed = \ (@ (frac_XuIN :: GHC.TypeLits.Nat)) (@ (rep_XuIP :: GHC.TypeLits.Nat -> *)) (@ (size_XuIR :: GHC.TypeLits.Nat)) ($dBitVector_XvCT :: CLaSH.Class.BitVector.BitVector (rep_XuIP size_XuIR)) -> CLaSH.Class.BitVector.D:BitVector @ (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) ($ctoBV_avAY @ frac_XuIN @ rep_XuIP @ size_XuIR $dBitVector_XvCT) ($cfromBV_avB8 @ frac_XuIN @ rep_XuIP @ size_XuIR $dBitVector_XvCT) a_swhs :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => rep_auGM size_auGN [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swhs = \ (@ (frac_auGL :: GHC.TypeLits.Nat)) (@ (rep_auGM :: GHC.TypeLits.Nat -> *)) (@ (size_auGN :: GHC.TypeLits.Nat)) ($dDefault_avAe :: Data.Default.Class.Default (rep_auGM size_auGN)) -> Data.Default.Class.def @ (rep_auGM size_auGN) $dDefault_avAe $cdef_avAg :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => CLaSH.Sized.Fixed.Fixed frac_auGL rep_auGM size_auGN [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $cdef_avAg = a_swhs `cast` (forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => rep_auGM size_auGN) ~# (forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => CLaSH.Sized.Fixed.Fixed frac_auGL rep_auGM size_auGN)) CLaSH.Sized.Fixed.$fDefaultFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_auGL rep_auGM size_auGN) [LclIdX[DFunId(nt)], Arity=1, Str=DmdType, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= $cdef_avAg `cast` (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). _R -> Sym (Data.Default.Class.NTCo:Default[0] _N) :: (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuIO size_XuIQ) => CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ) ~# (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuIO size_XuIQ) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ)))}] CLaSH.Sized.Fixed.$fDefaultFixed = $cdef_avAg `cast` (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). _R -> Sym (Data.Default.Class.NTCo:Default[0] _N) :: (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuIO size_XuIQ) => CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ) ~# (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuIO size_XuIQ) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ))) a_swht :: forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_auGJ size_auGK) => rep_auGJ size_auGK [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swht = \ (@ (frac_auGI :: GHC.TypeLits.Nat)) (@ (rep_auGJ :: GHC.TypeLits.Nat -> *)) (@ (size_auGK :: GHC.TypeLits.Nat)) ($dBounded_avzT :: GHC.Enum.Bounded (rep_auGJ size_auGK)) -> GHC.Enum.maxBound @ (rep_auGJ size_auGK) $dBounded_avzT $cmaxBound_avA4 :: forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_auGJ size_auGK) => CLaSH.Sized.Fixed.Fixed frac_auGI rep_auGJ size_auGK [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $cmaxBound_avA4 = a_swht `cast` (forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_auGJ size_auGK) => rep_auGJ size_auGK) ~# (forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_auGJ size_auGK) => CLaSH.Sized.Fixed.Fixed frac_auGI rep_auGJ size_auGK)) a_swhu :: forall (frac_XuIQ :: GHC.TypeLits.Nat) (rep_XuIS :: GHC.TypeLits.Nat -> *) (size_XuIU :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_XuIS size_XuIU) => rep_XuIS size_XuIU [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swhu = \ (@ (frac_XuIQ :: GHC.TypeLits.Nat)) (@ (rep_XuIS :: GHC.TypeLits.Nat -> *)) (@ (size_XuIU :: GHC.TypeLits.Nat)) ($dBounded_XvC4 :: GHC.Enum.Bounded (rep_XuIS size_XuIU)) -> GHC.Enum.minBound @ (rep_XuIS size_XuIU) $dBounded_XvC4 $cminBound_avzV :: forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_auGJ size_auGK) => CLaSH.Sized.Fixed.Fixed frac_auGI rep_auGJ size_auGK [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $cminBound_avzV = a_swhu `cast` (forall (frac_XuIQ :: GHC.TypeLits.Nat) (rep_XuIS :: GHC.TypeLits.Nat -> *) (size_XuIU :: GHC.TypeLits.Nat). _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_XuIQ :: GHC.TypeLits.Nat) (rep_XuIS :: GHC.TypeLits.Nat -> *) (size_XuIU :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_XuIS size_XuIU) => rep_XuIS size_XuIU) ~# (forall (frac_XuIQ :: GHC.TypeLits.Nat) (rep_XuIS :: GHC.TypeLits.Nat -> *) (size_XuIU :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_XuIS size_XuIU) => CLaSH.Sized.Fixed.Fixed frac_XuIQ rep_XuIS size_XuIU)) CLaSH.Sized.Fixed.$fBoundedFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_auGJ size_auGK) => GHC.Enum.Bounded (CLaSH.Sized.Fixed.Fixed frac_auGI rep_auGJ size_auGK) [LclIdX[DFunId], Arity=1, Str=DmdType, Unf=DFun: \ (@ (frac_XuIW :: GHC.TypeLits.Nat)) (@ (rep_XuIY :: GHC.TypeLits.Nat -> *)) (@ (size_XuJ0 :: GHC.TypeLits.Nat)) ($dBounded_XvCa :: GHC.Enum.Bounded (rep_XuIY size_XuJ0)) -> GHC.Enum.D:Bounded TYPE CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0 $cminBound_avzV @ frac_XuIW @ rep_XuIY @ size_XuJ0 $dBounded_XvCa $cmaxBound_avA4 @ frac_XuIW @ rep_XuIY @ size_XuJ0 $dBounded_XvCa] CLaSH.Sized.Fixed.$fBoundedFixed = \ (@ (frac_XuIW :: GHC.TypeLits.Nat)) (@ (rep_XuIY :: GHC.TypeLits.Nat -> *)) (@ (size_XuJ0 :: GHC.TypeLits.Nat)) ($dBounded_XvCa :: GHC.Enum.Bounded (rep_XuIY size_XuJ0)) -> GHC.Enum.D:Bounded @ (CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0) ($cminBound_avzV @ frac_XuIW @ rep_XuIY @ size_XuJ0 $dBounded_XvCa) ($cmaxBound_avA4 @ frac_XuIW @ rep_XuIY @ size_XuJ0 $dBounded_XvCa) a_swlr :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => rep_auFG size_auFH -> rep_auFG size_auFH -> rep_auFG size_auFH [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swlr = \ (@ (frac_auFF :: GHC.TypeLits.Nat)) (@ (rep_auFG :: GHC.TypeLits.Nat -> *)) (@ (size_auFH :: GHC.TypeLits.Nat)) _ [Occ=Dead] ($dOrd_avyb :: GHC.Classes.Ord (rep_auFG size_auFH)) -> GHC.Classes.min @ (rep_auFG size_auFH) $dOrd_avyb $cmin_avzC :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $cmin_avzC = a_swlr `cast` (forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => rep_auFG size_auFH -> rep_auFG size_auFH -> rep_auFG size_auFH) ~# (forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH)) a_swls :: forall (frac_XuHQ :: GHC.TypeLits.Nat) (rep_XuHS :: GHC.TypeLits.Nat -> *) (size_XuHU :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuHQ rep_XuHS size_XuHU), GHC.Classes.Ord (rep_XuHS size_XuHU)) => rep_XuHS size_XuHU -> rep_XuHS size_XuHU -> rep_XuHS size_XuHU [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swls = \ (@ (frac_XuHQ :: GHC.TypeLits.Nat)) (@ (rep_XuHS :: GHC.TypeLits.Nat -> *)) (@ (size_XuHU :: GHC.TypeLits.Nat)) _ [Occ=Dead] ($dOrd_XvAq :: GHC.Classes.Ord (rep_XuHS size_XuHU)) -> GHC.Classes.max @ (rep_XuHS size_XuHU) $dOrd_XvAq $cmax_avzm :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $cmax_avzm = a_swls `cast` (forall (frac_XuHQ :: GHC.TypeLits.Nat) (rep_XuHS :: GHC.TypeLits.Nat -> *) (size_XuHU :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_XuHQ :: GHC.TypeLits.Nat) (rep_XuHS :: GHC.TypeLits.Nat -> *) (size_XuHU :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuHQ rep_XuHS size_XuHU), GHC.Classes.Ord (rep_XuHS size_XuHU)) => rep_XuHS size_XuHU -> rep_XuHS size_XuHU -> rep_XuHS size_XuHU) ~# (forall (frac_XuHQ :: GHC.TypeLits.Nat) (rep_XuHS :: GHC.TypeLits.Nat -> *) (size_XuHU :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuHQ rep_XuHS size_XuHU), GHC.Classes.Ord (rep_XuHS size_XuHU)) => CLaSH.Sized.Fixed.Fixed frac_XuHQ rep_XuHS size_XuHU -> CLaSH.Sized.Fixed.Fixed frac_XuHQ rep_XuHS size_XuHU -> CLaSH.Sized.Fixed.Fixed frac_XuHQ rep_XuHS size_XuHU)) a_swhz :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => rep_auFG size_auFH -> rep_auFG size_auFH -> GHC.Types.Bool [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swhz = \ (@ (frac_XuHX :: GHC.TypeLits.Nat)) (@ (rep_XuHZ :: GHC.TypeLits.Nat -> *)) (@ (size_XuI1 :: GHC.TypeLits.Nat)) _ [Occ=Dead] ($dOrd_XvAx :: GHC.Classes.Ord (rep_XuHZ size_XuI1)) -> GHC.Classes.<= @ (rep_XuHZ size_XuI1) $dOrd_XvAx $c<=_avz8 :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Bool [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $c<=_avz8 = a_swhz `cast` (forall (frac_XuHY :: GHC.TypeLits.Nat) (rep_XuI0 :: GHC.TypeLits.Nat -> *) (size_XuI2 :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (forall (frac_XuHY :: GHC.TypeLits.Nat) (rep_XuI0 :: GHC.TypeLits.Nat -> *) (size_XuI2 :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuHY rep_XuI0 size_XuI2), GHC.Classes.Ord (rep_XuI0 size_XuI2)) => rep_XuI0 size_XuI2 -> rep_XuI0 size_XuI2 -> GHC.Types.Bool) ~# (forall (frac_XuHY :: GHC.TypeLits.Nat) (rep_XuI0 :: GHC.TypeLits.Nat -> *) (size_XuI2 :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuHY rep_XuI0 size_XuI2), GHC.Classes.Ord (rep_XuI0 size_XuI2)) => CLaSH.Sized.Fixed.Fixed frac_XuHY rep_XuI0 size_XuI2 -> CLaSH.Sized.Fixed.Fixed frac_XuHY rep_XuI0 size_XuI2 -> GHC.Types.Bool)) a_swhA :: forall (frac_XuI3 :: GHC.TypeLits.Nat) (rep_XuI5 :: GHC.TypeLits.Nat -> *) (size_XuI7 :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuI3 rep_XuI5 size_XuI7), GHC.Classes.Ord (rep_XuI5 size_XuI7)) => rep_XuI5 size_XuI7 -> rep_XuI5 size_XuI7 -> GHC.Types.Bool [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swhA = \ (@ (frac_XuI3 :: GHC.TypeLits.Nat)) (@ (rep_XuI5 :: GHC.TypeLits.Nat -> *)) (@ (size_XuI7 :: GHC.TypeLits.Nat)) _ [Occ=Dead] ($dOrd_XvAD :: GHC.Classes.Ord (rep_XuI5 size_XuI7)) -> GHC.Classes.> @ (rep_XuI5 size_XuI7) $dOrd_XvAD $c>_avyU :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Bool [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $c>_avyU = a_swhA `cast` (forall (frac_XuI3 :: GHC.TypeLits.Nat) (rep_XuI5 :: GHC.TypeLits.Nat -> *) (size_XuI7 :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (forall (frac_XuI3 :: GHC.TypeLits.Nat) (rep_XuI5 :: GHC.TypeLits.Nat -> *) (size_XuI7 :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuI3 rep_XuI5 size_XuI7), GHC.Classes.Ord (rep_XuI5 size_XuI7)) => rep_XuI5 size_XuI7 -> rep_XuI5 size_XuI7 -> GHC.Types.Bool) ~# (forall (frac_XuI3 :: GHC.TypeLits.Nat) (rep_XuI5 :: GHC.TypeLits.Nat -> *) (size_XuI7 :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuI3 rep_XuI5 size_XuI7), GHC.Classes.Ord (rep_XuI5 size_XuI7)) => CLaSH.Sized.Fixed.Fixed frac_XuI3 rep_XuI5 size_XuI7 -> CLaSH.Sized.Fixed.Fixed frac_XuI3 rep_XuI5 size_XuI7 -> GHC.Types.Bool)) a_swhB :: forall (frac_XuIa :: GHC.TypeLits.Nat) (rep_XuIc :: GHC.TypeLits.Nat -> *) (size_XuIe :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIa rep_XuIc size_XuIe), GHC.Classes.Ord (rep_XuIc size_XuIe)) => rep_XuIc size_XuIe -> rep_XuIc size_XuIe -> GHC.Types.Bool [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swhB = \ (@ (frac_XuIa :: GHC.TypeLits.Nat)) (@ (rep_XuIc :: GHC.TypeLits.Nat -> *)) (@ (size_XuIe :: GHC.TypeLits.Nat)) _ [Occ=Dead] ($dOrd_XvAK :: GHC.Classes.Ord (rep_XuIc size_XuIe)) -> GHC.Classes.>= @ (rep_XuIc size_XuIe) $dOrd_XvAK $c>=_avyG :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Bool [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $c>=_avyG = a_swhB `cast` (forall (frac_XuIa :: GHC.TypeLits.Nat) (rep_XuIc :: GHC.TypeLits.Nat -> *) (size_XuIe :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (forall (frac_XuIa :: GHC.TypeLits.Nat) (rep_XuIc :: GHC.TypeLits.Nat -> *) (size_XuIe :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIa rep_XuIc size_XuIe), GHC.Classes.Ord (rep_XuIc size_XuIe)) => rep_XuIc size_XuIe -> rep_XuIc size_XuIe -> GHC.Types.Bool) ~# (forall (frac_XuIa :: GHC.TypeLits.Nat) (rep_XuIc :: GHC.TypeLits.Nat -> *) (size_XuIe :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIa rep_XuIc size_XuIe), GHC.Classes.Ord (rep_XuIc size_XuIe)) => CLaSH.Sized.Fixed.Fixed frac_XuIa rep_XuIc size_XuIe -> CLaSH.Sized.Fixed.Fixed frac_XuIa rep_XuIc size_XuIe -> GHC.Types.Bool)) a_swhC :: forall (frac_XuIh :: GHC.TypeLits.Nat) (rep_XuIj :: GHC.TypeLits.Nat -> *) (size_XuIl :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIh rep_XuIj size_XuIl), GHC.Classes.Ord (rep_XuIj size_XuIl)) => rep_XuIj size_XuIl -> rep_XuIj size_XuIl -> GHC.Types.Bool [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swhC = \ (@ (frac_XuIh :: GHC.TypeLits.Nat)) (@ (rep_XuIj :: GHC.TypeLits.Nat -> *)) (@ (size_XuIl :: GHC.TypeLits.Nat)) _ [Occ=Dead] ($dOrd_XvAR :: GHC.Classes.Ord (rep_XuIj size_XuIl)) -> GHC.Classes.< @ (rep_XuIj size_XuIl) $dOrd_XvAR $c<_avys :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Bool [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $c<_avys = a_swhC `cast` (forall (frac_XuIh :: GHC.TypeLits.Nat) (rep_XuIj :: GHC.TypeLits.Nat -> *) (size_XuIl :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (forall (frac_XuIh :: GHC.TypeLits.Nat) (rep_XuIj :: GHC.TypeLits.Nat -> *) (size_XuIl :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIh rep_XuIj size_XuIl), GHC.Classes.Ord (rep_XuIj size_XuIl)) => rep_XuIj size_XuIl -> rep_XuIj size_XuIl -> GHC.Types.Bool) ~# (forall (frac_XuIh :: GHC.TypeLits.Nat) (rep_XuIj :: GHC.TypeLits.Nat -> *) (size_XuIl :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIh rep_XuIj size_XuIl), GHC.Classes.Ord (rep_XuIj size_XuIl)) => CLaSH.Sized.Fixed.Fixed frac_XuIh rep_XuIj size_XuIl -> CLaSH.Sized.Fixed.Fixed frac_XuIh rep_XuIj size_XuIl -> GHC.Types.Bool)) a_swhD :: forall (frac_XuIo :: GHC.TypeLits.Nat) (rep_XuIq :: GHC.TypeLits.Nat -> *) (size_XuIs :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIo rep_XuIq size_XuIs), GHC.Classes.Ord (rep_XuIq size_XuIs)) => rep_XuIq size_XuIs -> rep_XuIq size_XuIs -> GHC.Types.Ordering [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swhD = \ (@ (frac_XuIo :: GHC.TypeLits.Nat)) (@ (rep_XuIq :: GHC.TypeLits.Nat -> *)) (@ (size_XuIs :: GHC.TypeLits.Nat)) _ [Occ=Dead] ($dOrd_XvAY :: GHC.Classes.Ord (rep_XuIq size_XuIs)) -> GHC.Classes.compare @ (rep_XuIq size_XuIs) $dOrd_XvAY $ccompare_avye :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Ordering [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $ccompare_avye = a_swhD `cast` (forall (frac_XuIo :: GHC.TypeLits.Nat) (rep_XuIq :: GHC.TypeLits.Nat -> *) (size_XuIs :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (forall (frac_XuIo :: GHC.TypeLits.Nat) (rep_XuIq :: GHC.TypeLits.Nat -> *) (size_XuIs :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIo rep_XuIq size_XuIs), GHC.Classes.Ord (rep_XuIq size_XuIs)) => rep_XuIq size_XuIs -> rep_XuIq size_XuIs -> GHC.Types.Ordering) ~# (forall (frac_XuIo :: GHC.TypeLits.Nat) (rep_XuIq :: GHC.TypeLits.Nat -> *) (size_XuIs :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIo rep_XuIq size_XuIs), GHC.Classes.Ord (rep_XuIq size_XuIs)) => CLaSH.Sized.Fixed.Fixed frac_XuIo rep_XuIq size_XuIs -> CLaSH.Sized.Fixed.Fixed frac_XuIo rep_XuIq size_XuIs -> GHC.Types.Ordering)) CLaSH.Sized.Fixed.$fOrdFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => GHC.Classes.Ord (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) [LclIdX[DFunId[1]], Arity=2, Str=DmdType, Unf=DFun: \ (@ (frac_XuIv :: GHC.TypeLits.Nat)) (@ (rep_XuIx :: GHC.TypeLits.Nat -> *)) (@ (size_XuIz :: GHC.TypeLits.Nat)) ($dEq_XvB3 :: GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) ($dOrd_XvB5 :: GHC.Classes.Ord (rep_XuIx size_XuIz)) -> GHC.Classes.D:Ord TYPE CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz $dEq_XvB3 $ccompare_avye @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5 $c<_avys @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5 $c>=_avyG @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5 $c>_avyU @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5 $c<=_avz8 @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5 $cmax_avzm @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5 $cmin_avzC @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5] CLaSH.Sized.Fixed.$fOrdFixed = \ (@ (frac_XuIv :: GHC.TypeLits.Nat)) (@ (rep_XuIx :: GHC.TypeLits.Nat -> *)) (@ (size_XuIz :: GHC.TypeLits.Nat)) ($dEq_XvB3 :: GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) ($dOrd_XvB5 :: GHC.Classes.Ord (rep_XuIx size_XuIz)) -> GHC.Classes.D:Ord @ (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz) $dEq_XvB3 ($ccompare_avye @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5) ($c<_avys @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5) ($c>=_avyG @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5) ($c>_avyU @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5) ($c<=_avz8 @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5) ($cmax_avzm @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5) ($cmin_avzC @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5) a_swhE :: forall (frac_XuIw :: GHC.TypeLits.Nat) (rep_XuIy :: GHC.TypeLits.Nat -> *) (size_XuIA :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_XuIy size_XuIA) => rep_XuIy size_XuIA -> rep_XuIy size_XuIA -> GHC.Types.Bool [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swhE = \ (@ (frac_XuIw :: GHC.TypeLits.Nat)) (@ (rep_XuIy :: GHC.TypeLits.Nat -> *)) (@ (size_XuIA :: GHC.TypeLits.Nat)) ($dEq_avxF :: GHC.Classes.Eq (rep_XuIy size_XuIA)) -> GHC.Classes./= @ (rep_XuIy size_XuIA) $dEq_avxF $c/=_avxV :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_auFG size_auFH) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Bool [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $c/=_avxV = a_swhE `cast` (forall (frac_XuIw :: GHC.TypeLits.Nat) (rep_XuIy :: GHC.TypeLits.Nat -> *) (size_XuIA :: GHC.TypeLits.Nat). _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (forall (frac_XuIw :: GHC.TypeLits.Nat) (rep_XuIy :: GHC.TypeLits.Nat -> *) (size_XuIA :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_XuIy size_XuIA) => rep_XuIy size_XuIA -> rep_XuIy size_XuIA -> GHC.Types.Bool) ~# (forall (frac_XuIw :: GHC.TypeLits.Nat) (rep_XuIy :: GHC.TypeLits.Nat -> *) (size_XuIA :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_XuIy size_XuIA) => CLaSH.Sized.Fixed.Fixed frac_XuIw rep_XuIy size_XuIA -> CLaSH.Sized.Fixed.Fixed frac_XuIw rep_XuIy size_XuIA -> GHC.Types.Bool)) a_swhF :: forall (frac_XuIC :: GHC.TypeLits.Nat) (rep_XuIE :: GHC.TypeLits.Nat -> *) (size_XuIG :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_XuIE size_XuIG) => rep_XuIE size_XuIG -> rep_XuIE size_XuIG -> GHC.Types.Bool [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swhF = \ (@ (frac_XuIC :: GHC.TypeLits.Nat)) (@ (rep_XuIE :: GHC.TypeLits.Nat -> *)) (@ (size_XuIG :: GHC.TypeLits.Nat)) ($dEq_XvAF :: GHC.Classes.Eq (rep_XuIE size_XuIG)) -> GHC.Classes.== @ (rep_XuIE size_XuIG) $dEq_XvAF $c==_avxH :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_auFG size_auFH) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Bool [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $c==_avxH = a_swhF `cast` (forall (frac_XuIC :: GHC.TypeLits.Nat) (rep_XuIE :: GHC.TypeLits.Nat -> *) (size_XuIG :: GHC.TypeLits.Nat). _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (forall (frac_XuIC :: GHC.TypeLits.Nat) (rep_XuIE :: GHC.TypeLits.Nat -> *) (size_XuIG :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_XuIE size_XuIG) => rep_XuIE size_XuIG -> rep_XuIE size_XuIG -> GHC.Types.Bool) ~# (forall (frac_XuIC :: GHC.TypeLits.Nat) (rep_XuIE :: GHC.TypeLits.Nat -> *) (size_XuIG :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_XuIE size_XuIG) => CLaSH.Sized.Fixed.Fixed frac_XuIC rep_XuIE size_XuIG -> CLaSH.Sized.Fixed.Fixed frac_XuIC rep_XuIE size_XuIG -> GHC.Types.Bool)) CLaSH.Sized.Fixed.$fEqFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_auFG size_auFH) => GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) [LclIdX[DFunId], Arity=1, Str=DmdType, Unf=DFun: \ (@ (frac_XuII :: GHC.TypeLits.Nat)) (@ (rep_XuIK :: GHC.TypeLits.Nat -> *)) (@ (size_XuIM :: GHC.TypeLits.Nat)) ($dEq_XvAL :: GHC.Classes.Eq (rep_XuIK size_XuIM)) -> GHC.Classes.D:Eq TYPE CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM $c==_avxH @ frac_XuII @ rep_XuIK @ size_XuIM $dEq_XvAL $c/=_avxV @ frac_XuII @ rep_XuIK @ size_XuIM $dEq_XvAL] CLaSH.Sized.Fixed.$fEqFixed = \ (@ (frac_XuII :: GHC.TypeLits.Nat)) (@ (rep_XuIK :: GHC.TypeLits.Nat -> *)) (@ (size_XuIM :: GHC.TypeLits.Nat)) ($dEq_XvAL :: GHC.Classes.Eq (rep_XuIK size_XuIM)) -> GHC.Classes.D:Eq @ (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM) ($c==_avxH @ frac_XuII @ rep_XuIK @ size_XuIM $dEq_XvAL) ($c/=_avxV @ frac_XuII @ rep_XuIK @ size_XuIM $dEq_XvAL) $clift_avAv :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp [LclId, Arity=5, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] $clift_avAv = \ (@ (frac_auGO :: GHC.TypeLits.Nat)) (@ (rep_auGP :: GHC.TypeLits.Nat -> *)) (@ (size_auGQ :: GHC.TypeLits.Nat)) ($dLift_avAq :: Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ)) ($dKnownNat_avAr :: GHC.TypeLits.KnownNat frac_auGO) ($dKnownNat_avAs :: GHC.TypeLits.KnownNat size_auGQ) ($dTypeable_avAt :: Data.Typeable.Internal.Typeable rep_auGP) (f_auGR :: CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ) -> Language.Haskell.TH.Lib.sigE (Language.Haskell.TH.Lib.appE (Language.Haskell.TH.Lib.conE (Language.Haskell.TH.Syntax.mkNameG_d (GHC.Base.build @ GHC.Types.Char (\ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "clash-prelude-0.5"#)) (GHC.Base.build @ GHC.Types.Char (\ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "CLaSH.Sized.Fixed"#)) (GHC.Base.build @ GHC.Types.Char (\ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "Fixed"#)))) (Language.Haskell.TH.Syntax.lift @ (rep_auGP size_auGQ) $dLift_avAq (f_auGR `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ ~# rep_auGP size_auGQ)))) (GHC.List.foldl @ Language.Haskell.TH.Lib.TypeQ @ Language.Haskell.TH.Lib.TypeQ Language.Haskell.TH.Lib.appT (Language.Haskell.TH.Lib.conT (Language.Haskell.TH.Syntax.mkNameG_tc (GHC.Base.build @ GHC.Types.Char (\ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "clash-prelude-0.5"#)) (GHC.Base.build @ GHC.Types.Char (\ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "CLaSH.Sized.Fixed"#)) (GHC.Base.build @ GHC.Types.Char (\ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "Fixed"#)))) (GHC.Base.build @ Language.Haskell.TH.Lib.TypeQ (\ (@ a_dvZ6) (c_dvZ7 [OS=OneShot] :: Language.Haskell.TH.Lib.TypeQ -> a_dvZ6 -> a_dvZ6) (n_dvZ8 [OS=OneShot] :: a_dvZ6) -> c_dvZ7 (Language.Haskell.TH.Lib.litT (Language.Haskell.TH.Lib.numTyLit (GHC.TypeLits.natVal @ frac_auGO @ Data.Proxy.Proxy $dKnownNat_avAr (CLaSH.Sized.Fixed.asFracProxy @ frac_auGO @ rep_auGP @ size_auGQ f_auGR)))) (c_dvZ7 (Language.Haskell.TH.Lib.conT (Language.Haskell.TH.Syntax.mkName (Data.Typeable.Internal.$fShowTypeRep_$cshow (Data.Typeable.Internal.typeRep @ (GHC.TypeLits.Nat -> *) @ Data.Proxy.Proxy @ rep_auGP $dTypeable_avAt (CLaSH.Sized.Fixed.asRepProxy @ frac_auGO @ rep_auGP @ size_auGQ f_auGR))))) (c_dvZ7 (Language.Haskell.TH.Lib.litT (Language.Haskell.TH.Lib.numTyLit (GHC.TypeLits.natVal @ size_auGQ @ (CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP) $dKnownNat_avAs f_auGR))) n_dvZ8))))) CLaSH.Sized.Fixed.$fLiftFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ) [LclIdX[DFunId(nt)], Arity=5, Str=DmdType, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=4, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= $clift_avAv `cast` (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N) :: (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ)))}] CLaSH.Sized.Fixed.$fLiftFixed = $clift_avAv `cast` (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N) :: (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ))) *** Specialise: ==================== Specialise ==================== Result size of Specialise = {terms: 1,974, types: 11,423, coercions: 844} Rec { $s^_swu6 [InlPrag=[1]] :: GHC.Types.Double -> GHC.Integer.Type.Integer -> GHC.Types.Double [LclId, Arity=2, Str=DmdType] $s^_swu6 = \ (eta_akDk [Occ=Once] :: GHC.Types.Double) (eta1_akDl :: GHC.Integer.Type.Integer) -> let { $dReal_swui :: GHC.Real.Real GHC.Integer.Type.Integer [LclId, Str=DmdType] $dReal_swui = GHC.Real.$p1Integral @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger } in let { $dNum1_swuh :: GHC.Num.Num GHC.Integer.Type.Integer [LclId, Str=DmdType] $dNum1_swuh = GHC.Real.$p1Real @ GHC.Integer.Type.Integer $dReal_swui } in let { $dOrd_swug :: GHC.Classes.Ord GHC.Integer.Type.Integer [LclId, Str=DmdType] $dOrd_swug = GHC.Real.$p2Real @ GHC.Integer.Type.Integer $dReal_swui } in case GHC.Classes.< @ GHC.Integer.Type.Integer $dOrd_swug eta1_akDl (GHC.Num.fromInteger @ GHC.Integer.Type.Integer $dNum1_swuh (__integer 0)) of _ [Occ=Dead] { GHC.Types.False -> case GHC.Classes.== @ GHC.Integer.Type.Integer (GHC.Classes.$p1Ord @ GHC.Integer.Type.Integer $dOrd_swug) eta1_akDl (GHC.Num.fromInteger @ GHC.Integer.Type.Integer $dNum1_swuh (__integer 0)) of _ [Occ=Dead] { GHC.Types.False -> let { $dReal1_swus :: GHC.Real.Real GHC.Integer.Type.Integer [LclId, Str=DmdType] $dReal1_swus = GHC.Real.$p1Integral @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger } in let { a1_swur :: GHC.Classes.Ord GHC.Integer.Type.Integer [LclId, Str=DmdType] a1_swur = GHC.Real.$p2Real @ GHC.Integer.Type.Integer $dReal1_swus } in let { $dEq_swuq [Occ=OnceL] :: GHC.Classes.Eq GHC.Integer.Type.Integer [LclId, Str=DmdType] $dEq_swuq = GHC.Classes.$p1Ord @ GHC.Integer.Type.Integer a1_swur } in let { $dNum2_swup :: GHC.Num.Num GHC.Integer.Type.Integer [LclId, Str=DmdType] $dNum2_swup = GHC.Real.$p1Real @ GHC.Integer.Type.Integer $dReal1_swus } in letrec { f_swuf [Occ=LoopBreaker] :: GHC.Types.Double -> GHC.Integer.Type.Integer -> GHC.Types.Double [LclId, Arity=2, Str=DmdType] f_swuf = \ (x_akDA :: GHC.Types.Double) (y_akDB :: GHC.Integer.Type.Integer) -> case GHC.Real.even @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger y_akDB of _ [Occ=Dead] { GHC.Types.False -> case GHC.Classes.== @ GHC.Integer.Type.Integer $dEq_swuq y_akDB (GHC.Num.fromInteger @ GHC.Integer.Type.Integer $dNum2_swup (__integer 1)) of _ [Occ=Dead] { GHC.Types.False -> let { $dReal2_swuw :: GHC.Real.Real GHC.Integer.Type.Integer [LclId, Str=DmdType] $dReal2_swuw = GHC.Real.$p1Integral @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger } in let { a2_swuv :: GHC.Classes.Ord GHC.Integer.Type.Integer [LclId, Str=DmdType] a2_swuv = GHC.Real.$p2Real @ GHC.Integer.Type.Integer $dReal2_swuw } in let { $dEq1_swuu [Occ=OnceL] :: GHC.Classes.Eq GHC.Integer.Type.Integer [LclId, Str=DmdType] $dEq1_swuu = GHC.Classes.$p1Ord @ GHC.Integer.Type.Integer a2_swuv } in let { $dNum3_swut :: GHC.Num.Num GHC.Integer.Type.Integer [LclId, Str=DmdType] $dNum3_swut = GHC.Real.$p1Real @ GHC.Integer.Type.Integer $dReal2_swuw } in letrec { g1_swuo [Occ=LoopBreaker] :: GHC.Types.Double -> GHC.Integer.Type.Integer -> GHC.Types.Double -> GHC.Types.Double [LclId, Arity=3, Str=DmdType] g1_swuo = \ (x1_akDN :: GHC.Types.Double) (y1_akDO :: GHC.Integer.Type.Integer) (z_akDP [Occ=Once*] :: GHC.Types.Double) -> case GHC.Real.even @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger y1_akDO of _ [Occ=Dead] { GHC.Types.False -> case GHC.Classes.== @ GHC.Integer.Type.Integer $dEq1_swuu y1_akDO (GHC.Num.fromInteger @ GHC.Integer.Type.Integer $dNum3_swut (__integer 1)) of _ [Occ=Dead] { GHC.Types.False -> g1_swuo (GHC.Num.* @ GHC.Types.Double GHC.Float.$fNumDouble x1_akDN x1_akDN) (GHC.Real.quot @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger (GHC.Num.- @ GHC.Integer.Type.Integer $dNum3_swut y1_akDO (GHC.Num.fromInteger @ GHC.Integer.Type.Integer $dNum3_swut (__integer 1))) (GHC.Num.fromInteger @ GHC.Integer.Type.Integer $dNum3_swut (__integer 2))) (GHC.Num.* @ GHC.Types.Double GHC.Float.$fNumDouble x1_akDN z_akDP); GHC.Types.True -> GHC.Num.* @ GHC.Types.Double GHC.Float.$fNumDouble x1_akDN z_akDP }; GHC.Types.True -> g1_swuo (GHC.Num.* @ GHC.Types.Double GHC.Float.$fNumDouble x1_akDN x1_akDN) (GHC.Real.quot @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger y1_akDO (GHC.Num.fromInteger @ GHC.Integer.Type.Integer $dNum3_swut (__integer 2))) z_akDP }; } in g1_swuo (GHC.Num.* @ GHC.Types.Double GHC.Float.$fNumDouble x_akDA x_akDA) (GHC.Real.quot @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger (GHC.Num.- @ GHC.Integer.Type.Integer $dNum2_swup y_akDB (GHC.Num.fromInteger @ GHC.Integer.Type.Integer $dNum2_swup (__integer 1))) (GHC.Num.fromInteger @ GHC.Integer.Type.Integer $dNum2_swup (__integer 2))) x_akDA; GHC.Types.True -> x_akDA }; GHC.Types.True -> f_swuf (GHC.Num.* @ GHC.Types.Double GHC.Float.$fNumDouble x_akDA x_akDA) (GHC.Real.quot @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger y_akDB (GHC.Num.fromInteger @ GHC.Integer.Type.Integer $dNum2_swup (__integer 2))) }; } in f_swuf eta_akDk eta1_akDl; GHC.Types.True -> GHC.Num.fromInteger @ GHC.Types.Double GHC.Float.$fNumDouble (__integer 1) }; GHC.Types.True -> GHC.Err.error @ GHC.Types.Double (GHC.CString.unpackCString# "Negative exponent"#) } end Rec } CLaSH.Sized.Fixed.fLit :: forall (frac_auFI :: GHC.TypeLits.Nat) (rep_auFJ :: GHC.TypeLits.Nat -> *) (size_auFK :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_auFI, GHC.Num.Num (rep_auFJ size_auFK), GHC.Enum.Bounded (rep_auFJ size_auFK), GHC.Real.Integral (rep_auFJ size_auFK)) => GHC.Types.Double -> Language.Haskell.TH.Syntax.Q (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_auFI rep_auFJ size_auFK)) [LclIdX, Arity=5, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] CLaSH.Sized.Fixed.fLit = \ (@ (frac_avhM :: GHC.TypeLits.Nat)) (@ (rep_avhN :: GHC.TypeLits.Nat -> *)) (@ (size_avhO :: GHC.TypeLits.Nat)) ($dKnownNat_avlM :: GHC.TypeLits.KnownNat frac_avhM) _ [Occ=Dead] ($dBounded_avlO :: GHC.Enum.Bounded (rep_avhN size_avhO)) ($dIntegral_avlP :: GHC.Real.Integral (rep_avhN size_avhO)) (a_auGC :: GHC.Types.Double) -> let { truncated_swu2 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] truncated_swu2 = GHC.Float.RealFracMethods.truncateDoubleInteger (GHC.Float.timesDouble a_auGC (GHC.Real.^ @ GHC.Types.Double @ GHC.Integer.Type.Integer GHC.Float.$fNumDouble GHC.Real.$fIntegralInteger (GHC.Types.D# 2.0) (GHC.TypeLits.natVal @ frac_avhM @ Data.Proxy.Proxy $dKnownNat_avlM (Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac_avhM)))) } in let { rMin_swu1 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] rMin_swu1 = GHC.Real.toInteger @ (rep_avhN size_avhO) $dIntegral_avlP (GHC.Enum.minBound @ (rep_avhN size_avhO) $dBounded_avlO) } in let { rMax_swu0 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] rMax_swu0 = GHC.Real.toInteger @ (rep_avhN size_avhO) $dIntegral_avlP (GHC.Enum.maxBound @ (rep_avhN size_avhO) $dBounded_avlO) } in Language.Haskell.TH.Syntax.unsafeTExpCoerce @ (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO) (Language.Haskell.TH.Lib.appE (Language.Haskell.TH.Lib.conE (Language.Haskell.TH.Syntax.mkNameG_d (GHC.Base.build @ GHC.Types.Char (\ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "clash-prelude-0.5"#)) (GHC.Base.build @ GHC.Types.Char (\ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "CLaSH.Sized.Fixed"#)) (GHC.Base.build @ GHC.Types.Char (\ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "Fixed"#)))) (Language.Haskell.TH.Lib.appE (Language.Haskell.TH.Lib.varE (Language.Haskell.TH.Syntax.mkNameG_v (GHC.Base.build @ GHC.Types.Char (\ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "base"#)) (GHC.Base.build @ GHC.Types.Char (\ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "GHC.Num"#)) (GHC.Base.build @ GHC.Types.Char (\ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "fromInteger"#)))) (Language.Haskell.TH.Syntax.lift @ GHC.Integer.Type.Integer Language.Haskell.TH.Syntax.$fLiftInteger (case GHC.Integer.Type.gtInteger truncated_swu2 rMax_swu0 of _ [Occ=Dead] { GHC.Types.False -> case GHC.Integer.Type.ltInteger truncated_swu2 rMin_swu1 of _ [Occ=Dead] { GHC.Types.False -> truncated_swu2; GHC.Types.True -> rMin_swu1 }; GHC.Types.True -> rMax_swu0 })))) CLaSH.Sized.Fixed.satN2 :: forall (rep_auFL :: GHC.TypeLits.Nat -> *) (n_auFM :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.SatN2C rep_auFL n_auFM) => rep_auFL (n_auFM GHC.TypeLits.+ 2) -> rep_auFL n_auFM [LclIdX, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] CLaSH.Sized.Fixed.satN2 = \ (@ (rep_aviy :: GHC.TypeLits.Nat -> *)) (@ (n_aviz :: GHC.TypeLits.Nat)) (tup_avmQ :: CLaSH.Sized.Fixed.SatN2C rep_aviy n_aviz) (eta_B1 :: rep_aviy (n_aviz GHC.TypeLits.+ 2)) -> let { cobox_swtW :: CLaSH.Class.BitVector.BitSize (rep_aviy (n_aviz GHC.TypeLits.+ 2)) ~ (n_aviz GHC.TypeLits.+ 2) [LclId, Str=DmdType] cobox_swtW = case tup_avmQ of _ [Occ=Dead] { (tpl_X1g, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B6 } } in let { cobox_swtV :: CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz) ~ n_aviz [LclId, Str=DmdType] cobox_swtV = case tup_avmQ of _ [Occ=Dead] { (tpl_X1i, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B5 } } in let { cobox_swtU :: ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (n_aviz GHC.TypeLits.+ 2) [LclId, Str=DmdType] cobox_swtU = case tup_avmQ of _ [Occ=Dead] { (tpl_X1l, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B2 } } in let { repBV_swtT :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit [LclId, Str=DmdType] repBV_swtT = case case cobox_swtW of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6Z -> GHC.Types.Eq# @ * @ (CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy (n_aviz GHC.TypeLits.+ 2))) CLaSH.Bit.Bit) @ (CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit) @~ (CLaSH.Sized.Vector.Vec cobox_dw6Z _N)_N } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6X -> (CLaSH.Class.BitVector.toBV @ (rep_aviy (n_aviz GHC.TypeLits.+ 2)) (case tup_avmQ of _ [Occ=Dead] { (tpl_X1t, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B4 }) (case cobox_swtW of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6Y -> (case tup_avmQ of _ [Occ=Dead] { (tpl_X1x, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B8 }) `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw6Y))_R :: GHC.TypeLits.KnownNat (n_aviz GHC.TypeLits.+ 2) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy (n_aviz GHC.TypeLits.+ 2)))) }) eta_B1) `cast` (Sub cobox_dw6X :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy (n_aviz GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit) } } in let { s_swtS :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit [LclId, Str=DmdType] s_swtS = CLaSH.Sized.Vector.vtail @ n_aviz @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (case case case cobox_swtU of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7d -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ (n_aviz GHC.TypeLits.+ 2) @ ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) @~ (Sym cobox_dw7d) } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw75 -> GHC.Types.Eq# @ * @ (CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit) @ (CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit) @~ (CLaSH.Sized.Vector.Vec cobox_dw75 _N)_N } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dvY9 -> repBV_swtT `cast` (Sub cobox_dvY9 :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit) })) } in case Data.Bits.isSigned @ (rep_aviy (n_aviz GHC.TypeLits.+ 2)) (case tup_avmQ of _ [Occ=Dead] { (tpl_X1t, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_Ba }) eta_B1 of _ [Occ=Dead] { GHC.Types.False -> let { ds_swtR :: CLaSH.Bit.Bit [LclId, Str=DmdType] ds_swtR = CLaSH.Sized.Vector.vhead @ n_aviz @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (case case case cobox_swtU of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7g -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ (n_aviz GHC.TypeLits.+ 2) @ ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) @~ (Sym cobox_dw7g) } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw73 -> GHC.Types.Eq# @ * @ (CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit) @ (CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit) @~ (CLaSH.Sized.Vector.Vec cobox_dw73 _N)_N } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dvYc -> repBV_swtT `cast` (Sub cobox_dvYc :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit) })) } in case CLaSH.Sized.Vector.vhead @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (case case case cobox_swtU of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7j -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ (n_aviz GHC.TypeLits.+ 2) @ ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) @~ (Sym cobox_dw7j) } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw71 -> GHC.Types.Eq# @ * @ (CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit) @ (CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit) @~ (CLaSH.Sized.Vector.Vec cobox_dw71 _N)_N } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6W -> repBV_swtT `cast` (Sub cobox_dw6W :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit) }) of _ [Occ=Dead] { CLaSH.Bit.H -> case ds_swtR of _ [Occ=Dead] { CLaSH.Bit.H -> GHC.Enum.minBound @ (rep_aviy n_aviz) (case tup_avmQ of _ [Occ=Dead] { (tpl_X1d, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B9 }); CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_aviy n_aviz) (case tup_avmQ of _ [Occ=Dead] { (tpl_X1k, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B3 }) (case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7b -> (case tup_avmQ of _ [Occ=Dead] { (tpl_X1e, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B7 }) `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw7b))_R :: GHC.TypeLits.KnownNat n_aviz ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz))) }) (case case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7c -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ n_aviz @ (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) @~ (Sym cobox_dw7c) } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6T -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec cobox_dw6T _R)_R :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) CLaSH.Bit.Bit) }) }; CLaSH.Bit.L -> case ds_swtR of _ [Occ=Dead] { CLaSH.Bit.H -> GHC.Enum.maxBound @ (rep_aviy n_aviz) (case tup_avmQ of _ [Occ=Dead] { (tpl_X1d, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B9 }); CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_aviy n_aviz) (case tup_avmQ of _ [Occ=Dead] { (tpl_X1k, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B3 }) (case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7b -> (case tup_avmQ of _ [Occ=Dead] { (tpl_X1e, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B7 }) `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw7b))_R :: GHC.TypeLits.KnownNat n_aviz ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz))) }) (case case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7c -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ n_aviz @ (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) @~ (Sym cobox_dw7c) } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6T -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec cobox_dw6T _R)_R :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) CLaSH.Bit.Bit) }) } }; GHC.Types.True -> case CLaSH.Sized.Vector.vhead @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (case case case cobox_swtU of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7j -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ (n_aviz GHC.TypeLits.+ 2) @ ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) @~ (Sym cobox_dw7j) } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw71 -> GHC.Types.Eq# @ * @ (CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit) @ (CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit) @~ (CLaSH.Sized.Vector.Vec cobox_dw71 _N)_N } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6W -> repBV_swtT `cast` (Sub cobox_dw6W :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit) }) of _ [Occ=Dead] { CLaSH.Bit.H -> case CLaSH.Sized.Vector.vhead' @ n_aviz @ CLaSH.Bit.Bit (case tup_avmQ of _ [Occ=Dead] { (tpl_X1p, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X1p }) s_swtS of _ [Occ=Dead] { CLaSH.Bit.H -> CLaSH.Class.BitVector.fromBV @ (rep_aviy n_aviz) (case tup_avmQ of _ [Occ=Dead] { (tpl_X1k, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B3 }) (case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw79 -> (case tup_avmQ of _ [Occ=Dead] { (tpl_X1e, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B7 }) `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw79))_R :: GHC.TypeLits.KnownNat n_aviz ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz))) }) (case case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7a -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ n_aviz @ (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) @~ (Sym cobox_dw7a) } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6S -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec cobox_dw6S _R)_R :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) CLaSH.Bit.Bit) }); CLaSH.Bit.L -> GHC.Enum.minBound @ (rep_aviy n_aviz) (case tup_avmQ of _ [Occ=Dead] { (tpl_X1d, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B9 }) }; CLaSH.Bit.L -> case CLaSH.Sized.Vector.vhead' @ n_aviz @ CLaSH.Bit.Bit (case tup_avmQ of _ [Occ=Dead] { (tpl_X1p, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X1p }) s_swtS of _ [Occ=Dead] { CLaSH.Bit.H -> GHC.Enum.maxBound @ (rep_aviy n_aviz) (case tup_avmQ of _ [Occ=Dead] { (tpl_X1d, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B9 }); CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_aviy n_aviz) (case tup_avmQ of _ [Occ=Dead] { (tpl_X1k, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B3 }) (case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw79 -> (case tup_avmQ of _ [Occ=Dead] { (tpl_X1e, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B7 }) `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw79))_R :: GHC.TypeLits.KnownNat n_aviz ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz))) }) (case case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7a -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ n_aviz @ (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) @~ (Sym cobox_dw7a) } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6S -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec cobox_dw6S _R)_R :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) CLaSH.Bit.Bit) }) } } } CLaSH.Sized.Fixed.resizeF :: forall (frac1_auFN :: GHC.TypeLits.Nat) (frac2_auFO :: GHC.TypeLits.Nat) (rep_auFP :: GHC.TypeLits.Nat -> *) (size1_auFQ :: GHC.TypeLits.Nat) (size2_auFR :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.ResizeFC rep_auFP frac1_auFN frac2_auFO size1_auFQ size2_auFR) => CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ -> CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR [LclIdX, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] CLaSH.Sized.Fixed.resizeF = \ (@ (frac1_avjq :: GHC.TypeLits.Nat)) (@ (frac2_avjr :: GHC.TypeLits.Nat)) (@ (rep_avjs :: GHC.TypeLits.Nat -> *)) (@ (size1_avjt :: GHC.TypeLits.Nat)) (@ (size2_avju :: GHC.TypeLits.Nat)) (tup_avnK :: CLaSH.Sized.Fixed.ResizeFC rep_avjs frac1_avjq frac2_avjr size1_avjt size2_avju) (eta_B1 :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt) -> let { $dKnownNat_swtI :: GHC.TypeLits.KnownNat size1_avjt [LclId, Str=DmdType] $dKnownNat_swtI = case tup_avnK of _ [Occ=Dead] { (tpl_X1i, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B8 } } in let { $dKnownNat_swtH :: GHC.TypeLits.KnownNat size2_avju [LclId, Str=DmdType] $dKnownNat_swtH = case tup_avnK of _ [Occ=Dead] { (tpl_X1k, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 } } in let { $dResize_swtG :: CLaSH.Class.Num.Resize rep_avjs [LclId, Str=DmdType] $dResize_swtG = case tup_avnK of _ [Occ=Dead] { (tpl_X1m, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B6 } } in let { $dBits_swtF :: Data.Bits.Bits (rep_avjs size1_avjt) [LclId, Str=DmdType] $dBits_swtF = case tup_avnK of _ [Occ=Dead] { (tpl_X1o, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B5 } } in let { $dNum_swtE :: GHC.Num.Num (rep_avjs size1_avjt) [LclId, Str=DmdType] $dNum_swtE = case tup_avnK of _ [Occ=Dead] { (tpl_X1r, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B4 } } in let { $dBounded_swtD :: GHC.Enum.Bounded (rep_avjs size2_avju) [LclId, Str=DmdType] $dBounded_swtD = case tup_avnK of _ [Occ=Dead] { (tpl_X1u, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X1u } } in let { resFracSZ_swtC :: GHC.Types.Int [LclId, Str=DmdType] resFracSZ_swtC = GHC.Num.$fNumInt_$cfromInteger (GHC.TypeLits.natVal @ frac2_avjr @ Data.Proxy.Proxy (case tup_avnK of _ [Occ=Dead] { (tpl_X1w, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Ba }) (Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac2_avjr)) } in let { argFracSZ_swtB :: GHC.Types.Int [LclId, Str=DmdType] argFracSZ_swtB = GHC.Num.$fNumInt_$cfromInteger (GHC.TypeLits.natVal @ frac1_avjq @ Data.Proxy.Proxy (case tup_avnK of _ [Occ=Dead] { (tpl_X1y, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bb }) (Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac1_avjq)) } in case GHC.Integer.Type.leInteger (GHC.TypeLits.natVal @ size1_avjt @ Data.Proxy.Proxy $dKnownNat_swtI (Data.Proxy.Proxy @ GHC.TypeLits.Nat @ size1_avjt)) (GHC.TypeLits.natVal @ size2_avju @ Data.Proxy.Proxy $dKnownNat_swtH (Data.Proxy.Proxy @ GHC.TypeLits.Nat @ size2_avju)) of _ [Occ=Dead] { GHC.Types.False -> let { fMax_swtA :: rep_avjs size2_avju [LclId, Str=DmdType] fMax_swtA = GHC.Enum.maxBound @ (rep_avjs size2_avju) $dBounded_swtD } in let { mask_swtz :: rep_avjs size1_avjt [LclId, Str=DmdType] mask_swtz = Data.Bits.complement @ (rep_avjs size1_avjt) $dBits_swtF (CLaSH.Class.Num.resize @ rep_avjs $dResize_swtG @ size2_avju @ size1_avjt $dKnownNat_swtH $dKnownNat_swtI fMax_swtA) } in case GHC.Classes.leInt argFracSZ_swtB resFracSZ_swtC of _ [Occ=Dead] { GHC.Types.False -> let { shiftedR_swty :: rep_avjs size1_avjt [LclId, Str=DmdType] shiftedR_swty = Data.Bits.shiftR @ (rep_avjs size1_avjt) $dBits_swtF (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt)) (GHC.Num.$fNumInt_$c- argFracSZ_swtB resFracSZ_swtC) } in case GHC.Classes.>= @ (rep_avjs size1_avjt) (case tup_avnK of _ [Occ=Dead] { (tpl_X1t, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B3 }) (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt)) (GHC.Num.fromInteger @ (rep_avjs size1_avjt) $dNum_swtE (__integer 0)) of _ [Occ=Dead] { GHC.Types.False -> case GHC.Classes.== @ (rep_avjs size1_avjt) (Data.Bits.$p1Bits @ (rep_avjs size1_avjt) $dBits_swtF) (Data.Bits..&. @ (rep_avjs size1_avjt) $dBits_swtF shiftedR_swty mask_swtz) mask_swtz of _ [Occ=Dead] { GHC.Types.False -> (GHC.Enum.minBound @ (rep_avjs size2_avju) $dBounded_swtD) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> (CLaSH.Class.Num.resize @ rep_avjs $dResize_swtG @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH shiftedR_swty) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) }; GHC.Types.True -> case GHC.Classes.== @ (rep_avjs size1_avjt) (Data.Bits.$p1Bits @ (rep_avjs size1_avjt) $dBits_swtF) (Data.Bits..&. @ (rep_avjs size1_avjt) $dBits_swtF shiftedR_swty mask_swtz) (GHC.Num.fromInteger @ (rep_avjs size1_avjt) $dNum_swtE (__integer 0)) of _ [Occ=Dead] { GHC.Types.False -> fMax_swtA `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> (CLaSH.Class.Num.resize @ rep_avjs $dResize_swtG @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH shiftedR_swty) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) } }; GHC.Types.True -> let { shiftedL_swtK :: rep_avjs size1_avjt [LclId, Str=DmdType] shiftedL_swtK = Data.Bits.shiftL @ (rep_avjs size1_avjt) $dBits_swtF (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt)) (GHC.Num.$fNumInt_$c- resFracSZ_swtC argFracSZ_swtB) } in case GHC.Classes.>= @ (rep_avjs size1_avjt) (case tup_avnK of _ [Occ=Dead] { (tpl_X1t, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B3 }) (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt)) (GHC.Num.fromInteger @ (rep_avjs size1_avjt) $dNum_swtE (__integer 0)) of _ [Occ=Dead] { GHC.Types.False -> case GHC.Classes.== @ (rep_avjs size1_avjt) (Data.Bits.$p1Bits @ (rep_avjs size1_avjt) $dBits_swtF) (Data.Bits..&. @ (rep_avjs size1_avjt) $dBits_swtF shiftedL_swtK mask_swtz) mask_swtz of _ [Occ=Dead] { GHC.Types.False -> (GHC.Enum.minBound @ (rep_avjs size2_avju) $dBounded_swtD) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> (CLaSH.Class.Num.resize @ rep_avjs $dResize_swtG @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH shiftedL_swtK) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) }; GHC.Types.True -> case GHC.Classes.== @ (rep_avjs size1_avjt) (Data.Bits.$p1Bits @ (rep_avjs size1_avjt) $dBits_swtF) (Data.Bits..&. @ (rep_avjs size1_avjt) $dBits_swtF shiftedL_swtK mask_swtz) (GHC.Num.fromInteger @ (rep_avjs size1_avjt) $dNum_swtE (__integer 0)) of _ [Occ=Dead] { GHC.Types.False -> fMax_swtA `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> (CLaSH.Class.Num.resize @ rep_avjs $dResize_swtG @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH shiftedL_swtK) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) } } }; GHC.Types.True -> case GHC.Classes.leInt argFracSZ_swtB resFracSZ_swtC of _ [Occ=Dead] { GHC.Types.False -> (Data.Bits.shiftR @ (rep_avjs size2_avju) (case tup_avnK of _ [Occ=Dead] { (tpl_X1h, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B9 }) (CLaSH.Class.Num.resize @ rep_avjs $dResize_swtG @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt))) (GHC.Num.$fNumInt_$c- argFracSZ_swtB resFracSZ_swtC)) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> (Data.Bits.shiftL @ (rep_avjs size2_avju) (case tup_avnK of _ [Occ=Dead] { (tpl_X1h, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B9 }) (CLaSH.Class.Num.resize @ rep_avjs $dResize_swtG @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt))) (GHC.Num.$fNumInt_$c- resFracSZ_swtC argFracSZ_swtB)) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) } } CLaSH.Sized.Fixed.asRepProxy :: forall (frac_auFV :: GHC.TypeLits.Nat) (rep_auFW :: GHC.TypeLits.Nat -> *) (size_auFX :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFV rep_auFW size_auFX -> Data.Proxy.Proxy rep_auFW [LclIdX, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.asRepProxy = \ (@ (frac_avk6 :: GHC.TypeLits.Nat)) (@ (rep_avk7 :: GHC.TypeLits.Nat -> *)) (@ (size_avk8 :: GHC.TypeLits.Nat)) _ [Occ=Dead] -> Data.Proxy.Proxy @ (GHC.TypeLits.Nat -> *) @ rep_avk7 CLaSH.Sized.Fixed.asFracProxy :: forall (frac_auFY :: GHC.TypeLits.Nat) (rep_auFZ :: GHC.TypeLits.Nat -> *) (size_auG0 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFY rep_auFZ size_auG0 -> Data.Proxy.Proxy frac_auFY [LclIdX, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.asFracProxy = \ (@ (frac_avkp :: GHC.TypeLits.Nat)) (@ (rep_avkq :: GHC.TypeLits.Nat -> *)) (@ (size_avkr :: GHC.TypeLits.Nat)) _ [Occ=Dead] -> Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac_avkp CLaSH.Sized.Fixed.fracShift :: forall (frac_auFS :: GHC.TypeLits.Nat) (rep_auFT :: GHC.TypeLits.Nat -> *) (size_auFU :: GHC.TypeLits.Nat). GHC.TypeLits.KnownNat frac_auFS => CLaSH.Sized.Fixed.Fixed frac_auFS rep_auFT size_auFU -> GHC.Types.Int [LclIdX, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0] 70 0}] CLaSH.Sized.Fixed.fracShift = \ (@ (frac_avjN :: GHC.TypeLits.Nat)) (@ (rep_avjO :: GHC.TypeLits.Nat -> *)) (@ (size_avjP :: GHC.TypeLits.Nat)) ($dKnownNat_avxa :: GHC.TypeLits.KnownNat frac_avjN) (f_auGd :: CLaSH.Sized.Fixed.Fixed frac_avjN rep_avjO size_avjP) -> GHC.Num.$fNumInt_$cfromInteger (GHC.TypeLits.natVal @ frac_avjN @ Data.Proxy.Proxy $dKnownNat_avxa (CLaSH.Sized.Fixed.asFracProxy @ frac_avjN @ rep_avjO @ size_avjP f_auGd)) a_swaI :: forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaI = \ (@ (int_avkK :: GHC.TypeLits.Nat)) (@ (frac_avkL :: GHC.TypeLits.Nat)) (ds_dvZi :: CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL)) -> ds_dvZi CLaSH.Sized.Fixed.unUF :: forall (int_auG1 :: GHC.TypeLits.Nat) (frac_auG2 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.UFixed int_auG1 frac_auG2 -> CLaSH.Sized.Unsigned.Unsigned (int_auG1 GHC.TypeLits.+ frac_auG2) [LclIdX, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.unUF = a_swaI `cast` (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL)) ~# (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL))) a_swaJ :: forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaJ = \ (@ (frac_avl5 :: GHC.TypeLits.Nat)) (@ (int_avl6 :: GHC.TypeLits.Nat)) _ [Occ=Dead] (fRep_auGb :: CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) -> fRep_auGb CLaSH.Sized.Fixed.uf :: forall (frac_auG3 :: GHC.TypeLits.Nat) (int_auG4 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_auG3 -> CLaSH.Sized.Unsigned.Unsigned (int_auG4 GHC.TypeLits.+ frac_auG3) -> CLaSH.Sized.Fixed.UFixed int_auG4 frac_auG3 [LclIdX, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.uf = a_swaJ `cast` (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) ~# (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Fixed.Fixed frac_avl5 CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5))) a_swaK :: forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaK = \ (@ (int_avlp :: GHC.TypeLits.Nat)) (@ (frac_avlq :: GHC.TypeLits.Nat)) (ds_dvZu :: CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq)) -> ds_dvZu CLaSH.Sized.Fixed.unSF :: forall (int_auG5 :: GHC.TypeLits.Nat) (frac_auG6 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.SFixed int_auG5 frac_auG6 -> CLaSH.Sized.Signed.Signed (int_auG5 GHC.TypeLits.+ frac_auG6) [LclIdX, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.unSF = a_swaK `cast` (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq)) ~# (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq))) a_swaL :: forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaL = \ (@ (frac_avlK :: GHC.TypeLits.Nat)) (@ (int_avlL :: GHC.TypeLits.Nat)) _ [Occ=Dead] (fRep_auG9 :: CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) -> fRep_auG9 CLaSH.Sized.Fixed.sf :: forall (frac_auG7 :: GHC.TypeLits.Nat) (int_auG8 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_auG7 -> CLaSH.Sized.Signed.Signed (int_auG8 GHC.TypeLits.+ frac_auG7) -> CLaSH.Sized.Fixed.SFixed int_auG8 frac_auG7 [LclIdX, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.sf = a_swaL `cast` (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) ~# (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Fixed.Fixed frac_avlK CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK))) a_swaM :: forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaM = \ (@ (frac_auI2 :: GHC.TypeLits.Nat)) (@ (rep_auI3 :: GHC.TypeLits.Nat -> *)) (@ (size_auI4 :: GHC.TypeLits.Nat)) (ds_dvZF :: CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4) -> ds_dvZF CLaSH.Sized.Fixed.unFixed :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> rep_auFG size_auFH [LclIdX[[RecSel]], Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.unFixed = a_swaM `cast` (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4) ~# (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> rep_auI3 size_auI4)) $cshow_avFD :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> GHC.Base.String [LclId, Arity=5, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] $cshow_avFD = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) _ [Occ=Dead] _ [Occ=Dead] ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) (f_auHA :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) -> let { fRepI_swtk :: GHC.Integer.Type.Integer [LclId, Str=DmdType] fRepI_swtk = GHC.Real.toInteger @ (rep_auHy size_auHz) $dIntegral_avFy (f_auHA `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz ~# rep_auHy size_auHz)) } in let { fRepI_abs_swtj :: GHC.Integer.Type.Integer [LclId, Str=DmdType] fRepI_abs_swtj = GHC.Integer.Type.absInteger fRepI_swtk } in let { nF_swti :: GHC.Types.Int [LclId, Str=DmdType] nF_swti = CLaSH.Sized.Fixed.fracShift @ frac_auHx @ rep_auHy @ size_auHz $dKnownNat_avFx f_auHA } in GHC.Base.augment @ GHC.Types.Char (\ (@ b_a4II) (c_a4IJ [OS=OneShot] :: GHC.Types.Char -> b_a4II -> b_a4II) (n_a4IK [OS=OneShot] :: b_a4II) -> GHC.Base.foldr @ GHC.Types.Char @ b_a4II c_a4IJ n_a4IK (case GHC.Integer.Type.ltInteger fRepI_swtk (__integer 0) of _ [Occ=Dead] { GHC.Types.False -> GHC.Show.$fShowInteger_$cshow (Data.Bits.$fBitsInteger_$cshiftR fRepI_swtk nF_swti); GHC.Types.True -> GHC.Types.: @ GHC.Types.Char (GHC.Types.C# '-') (GHC.Show.$fShowInteger_$cshow (Data.Bits.$fBitsInteger_$cshiftR fRepI_abs_swtj nF_swti)) })) (GHC.Base.augment @ GHC.Types.Char (\ (@ b_X4Kn) (c_X4Kp [OS=OneShot] :: GHC.Types.Char -> b_X4Kn -> b_X4Kn) (n_X4Kr [OS=OneShot] :: b_X4Kn) -> c_X4Kp (GHC.Types.C# '.') n_X4Kr) (GHC.Base.$ @ (GHC.Real.Ratio GHC.Integer.Type.Integer) @ [GHC.Types.Char] (GHC.Base.. @ (GHC.Types.Int, [GHC.Types.Char]) @ [GHC.Types.Char] @ (GHC.Real.Ratio GHC.Integer.Type.Integer) (Data.Tuple.uncurry @ GHC.Types.Int @ [GHC.Types.Char] @ [GHC.Types.Char] (\ (n_auHJ [OS=ProbOneShot] :: GHC.Types.Int) (str_auHK [OS=ProbOneShot] :: [GHC.Types.Char]) -> GHC.Base.augment @ GHC.Types.Char (\ (@ b_X4M9) (c_X4Mc [OS=OneShot] :: GHC.Types.Char -> b_X4M9 -> b_X4M9) (n_X4Kt [OS=OneShot] :: b_X4M9) -> GHC.Base.foldr @ GHC.Types.Char @ b_X4M9 c_X4Mc n_X4Kt (GHC.List.replicate @ GHC.Types.Char (GHC.Num.$fNumInt_$c- n_auHJ (GHC.Base.foldr @ GHC.Types.Char @ (GHC.Prim.Int# -> GHC.Types.Int) (GHC.List.incLen @ GHC.Types.Char) GHC.Types.I# str_auHK 0)) (GHC.Types.C# '0'))) str_auHK)) (GHC.Base.. @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) @ (GHC.Types.Int, [GHC.Types.Char]) @ (GHC.Real.Ratio GHC.Integer.Type.Integer) (Control.Arrow.$fArrow(->)_$csecond @ (GHC.Real.Ratio GHC.Integer.Type.Integer) @ [GHC.Types.Char] @ GHC.Types.Int (GHC.Base.. @ GHC.Integer.Type.Integer @ GHC.Base.String @ (GHC.Real.Ratio GHC.Integer.Type.Integer) GHC.Show.$fShowInteger_$cshow (GHC.Real.numerator @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger))) (GHC.Base.. @ (Data.Maybe.Maybe (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) @ (GHC.Real.Ratio GHC.Integer.Type.Integer) (Data.Maybe.fromJust @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) (GHC.Base.. @ [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)] @ (Data.Maybe.Maybe (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) @ (GHC.Real.Ratio GHC.Integer.Type.Integer) (Data.List.find @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) (GHC.Base.. @ GHC.Integer.Type.Integer @ GHC.Types.Bool @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) (let { ds_swtm :: GHC.Integer.Type.Integer [LclId, Str=DmdType] ds_swtm = __integer 1 } in \ (ds_dw44 [OS=ProbOneShot] :: GHC.Integer.Type.Integer) -> GHC.Integer.Type.eqInteger ds_dw44 ds_swtm) (GHC.Base.. @ (GHC.Real.Ratio GHC.Integer.Type.Integer) @ GHC.Integer.Type.Integer @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) (GHC.Real.denominator @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger) (Data.Tuple.snd @ GHC.Types.Int @ (GHC.Real.Ratio GHC.Integer.Type.Integer))))) (GHC.Base.. @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) @ [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)] @ (GHC.Real.Ratio GHC.Integer.Type.Integer) (GHC.List.iterate @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) (Control.Arrow.$fArrow(->)_$c*** @ GHC.Types.Int @ GHC.Types.Int @ (GHC.Real.Ratio GHC.Integer.Type.Integer) @ (GHC.Real.Ratio GHC.Integer.Type.Integer) GHC.Enum.$fEnumInt_$csucc (let { ds_swth :: GHC.Real.Ratio GHC.Integer.Type.Integer [LclId, Str=DmdType] ds_swth = GHC.Real.$fNumRatio_$s$cfromInteger (__integer 10) } in \ (ds_dw47 [OS=ProbOneShot] :: GHC.Real.Ratio GHC.Integer.Type.Integer) -> GHC.Real.$fNumRatio_$s$c* ds_dw47 ds_swth))) (GHC.Tuple.(,) @ GHC.Types.Int @ (GHC.Real.Ratio GHC.Integer.Type.Integer) (GHC.Types.I# 0))))))) (GHC.Real.%_$s% (case GHC.Integer.Type.ltInteger fRepI_swtk (__integer 0) of _ [Occ=Dead] { GHC.Types.False -> GHC.Integer.Type.andInteger fRepI_swtk (GHC.Integer.Type.minusInteger (GHC.Real.^ @ GHC.Integer.Type.Integer @ GHC.Types.Int GHC.Num.$fNumInteger GHC.Real.$fIntegralInt (__integer 2) nF_swti) (__integer 1)); GHC.Types.True -> GHC.Integer.Type.andInteger fRepI_abs_swtj (GHC.Integer.Type.minusInteger (GHC.Real.^ @ GHC.Integer.Type.Integer @ GHC.Types.Int GHC.Num.$fNumInteger GHC.Real.$fIntegralInt (__integer 2) nF_swti) (__integer 1)) }) (GHC.Real.^ @ GHC.Integer.Type.Integer @ GHC.Types.Int GHC.Num.$fNumInteger GHC.Real.$fIntegralInt (__integer 2) nF_swti)))) $cshowsPrec_avFB :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => GHC.Types.Int -> CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> GHC.Show.ShowS [LclId, Arity=7, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=7, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0 0 0 0 0 0] 120 40}] $cshowsPrec_avFB = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) _ [Occ=Dead] (x_a2fY :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (s_a2fZ :: GHC.Base.String) -> GHC.Base.augment @ GHC.Types.Char (\ (@ b_a2g3) (c_a2g4 [OS=OneShot] :: GHC.Types.Char -> b_a2g3 -> b_a2g3) (n_a2g5 [OS=OneShot] :: b_a2g3) -> GHC.Base.foldr @ GHC.Types.Char @ b_a2g3 c_a2g4 n_a2g5 ($cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy x_a2fY)) s_a2fZ Rec { CLaSH.Sized.Fixed.$fShowFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => GHC.Show.Show (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) [LclIdX[DFunId], Arity=4, Str=DmdType, Unf=DFun: \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) -> GHC.Show.D:Show TYPE CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz $cshowsPrec_avFB @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy $cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy $cshowList_avIE @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy] CLaSH.Sized.Fixed.$fShowFixed = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) -> GHC.Show.D:Show @ (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) ($cshowsPrec_avFB @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy) ($cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy) ($cshowList_avIE @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy) $cshowList_avIE [Occ=LoopBreaker] :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz] -> GHC.Show.ShowS [LclId, Arity=4, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=4, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0 0 0] 140 60}] $cshowList_avIE = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) -> let { $dShow_swtc :: GHC.Show.Show (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) [LclId, Str=DmdType] $dShow_swtc = CLaSH.Sized.Fixed.$fShowFixed @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy } in \ (ls_a2fk :: [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz]) (s_a2fl :: GHC.Base.String) -> GHC.Show.showList__ @ (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (GHC.Show.shows @ (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) $dShow_swtc) ls_a2fk s_a2fl end Rec } a_swjx :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu) [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [40 0 0] 70 0}] a_swjx = \ (@ (frac1_auHq :: GHC.TypeLits.Nat)) (@ (rep_auHr :: GHC.TypeLits.Nat -> *)) (@ (size1_auHs :: GHC.TypeLits.Nat)) (@ (frac2_auHt :: GHC.TypeLits.Nat)) (@ (size2_auHu :: GHC.TypeLits.Nat)) (tup_avFg :: CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) (eta_B2 :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (eta_B1 :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) -> case case tup_avFg of _ [Occ=Dead] { (tpl_X1z, tpl_X1B) -> tpl_X1B } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw3M -> (CLaSH.Class.Num.mult @ (rep_auHr size1_auHs) @ (rep_auHr size2_auHu) (case tup_avFg of _ [Occ=Dead] { (tpl_X1C, tpl_X1E) -> tpl_X1C }) (eta_B2 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs ~# rep_auHr size1_auHs)) (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu ~# rep_auHr size2_auHu))) `cast` (Sub cobox_dw3M :: CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) } $cmult_avFi :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $cmult_avFi = a_swjx `cast` (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). _R -> _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:MResultFixedFixed[0] _N _N _N _N _N)) :: (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) ~# (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu))) CLaSH.Sized.Fixed.$fMultFixedFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) [LclIdX[DFunId(nt)], Arity=3, Str=DmdType, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= $cmult_avFi `cast` (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). _R -> Sym (CLaSH.Class.Num.NTCo:Mult[0] _N _N) :: (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_XuJ1 frac1_XuIZ frac2_XuJ5 size1_XuJ3 size2_XuJ7) => CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3 -> CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7 -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3) (CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7)) ~# (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_XuJ1 frac1_XuIZ frac2_XuJ5 size1_XuJ3 size2_XuJ7) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3) (CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7)))}] CLaSH.Sized.Fixed.$fMultFixedFixed = $cmult_avFi `cast` (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). _R -> Sym (CLaSH.Class.Num.NTCo:Mult[0] _N _N) :: (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_XuJ1 frac1_XuIZ frac2_XuJ5 size1_XuJ3 size2_XuJ7) => CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3 -> CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7 -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3) (CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7)) ~# (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_XuJ1 frac1_XuIZ frac2_XuJ5 size1_XuJ3 size2_XuJ7) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3) (CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7))) $cminus_avEx :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0 0] 450 0}] $cminus_avEx = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (eta_X1I :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (eta_X3p :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> letrec { $dBits_swt2 :: Data.Bits.Bits (rep_auHe size1_auHf) [LclId, Str=DmdType] $dBits_swt2 = case tup_swt3 of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B5 }; tup_swt3 :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] tup_swt3 = case tup_avDN of _ [Occ=Dead] { (tpl_X1Z, tpl_X21, tpl_B3) -> tpl_X1Z }; } in letrec { $dKnownNat_swt4 :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) [LclId, Str=DmdType] $dKnownNat_swt4 = case tup_swta of _ [Occ=Dead] { (tpl_X1X, tpl_X1Z, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Ba }; $dBits_swt5 :: Data.Bits.Bits (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType] $dBits_swt5 = case tup_swta of _ [Occ=Dead] { (tpl_X1V, tpl_X1X, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B9 }; $dKnownNat_swt6 :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] $dKnownNat_swt6 = case tup_swta of _ [Occ=Dead] { (tpl_X1T, tpl_X1V, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 }; $dResize_swt7 :: CLaSH.Class.Num.Resize rep_auHe [LclId, Str=DmdType] $dResize_swt7 = case tup_swta of _ [Occ=Dead] { (tpl_X1R, tpl_X1T, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B6 }; $dBits_swt8 :: Data.Bits.Bits (rep_auHe size2_auHh) [LclId, Str=DmdType] $dBits_swt8 = case tup_swta of _ [Occ=Dead] { (tpl_X1P, tpl_X1R, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B5 }; $dBounded_swt9 :: GHC.Enum.Bounded (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType] $dBounded_swt9 = case tup_swta of _ [Occ=Dead] { (tpl_X1N, tpl_X1P, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X1N }; tup_swta :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] tup_swta = case tup_avDN of _ [Occ=Dead] { (tpl_X1L, tpl_X1N, tpl_B3) -> tpl_X1N }; } in (GHC.Num.- @ (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (case tup_avDN of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3) -> tpl_B3 }) ((CLaSH.Sized.Fixed.resizeF @ frac1_auHd @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size1_auHf @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ($dBounded_swt9, Data.Bits.$p1Bits @ (rep_auHe size1_auHf) $dBits_swt2, case tup_swt3 of _ [Occ=Dead] { (tpl_X43, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B3 }, case tup_swt3 of _ [Occ=Dead] { (tpl_X22, tpl_X46, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B4 }, $dBits_swt2, $dResize_swt7, $dKnownNat_swt6, case tup_swt3 of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B8 }, $dBits_swt5, $dKnownNat_swt4, case tup_swt3 of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bb }, case tup_swt3 of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bc }) eta_X1I) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1))) ((CLaSH.Sized.Fixed.resizeF @ frac2_auHg @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size2_auHh @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ($dBounded_swt9, Data.Bits.$p1Bits @ (rep_auHe size2_auHh) $dBits_swt8, case tup_swta of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B3 }, case tup_swta of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B4 }, $dBits_swt8, $dResize_swt7, $dKnownNat_swt6, case tup_swta of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B8 }, $dBits_swt5, $dKnownNat_swt4, case tup_swta of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bb }, case tup_swta of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bc }) eta_X3p) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:AResultFixedFixed[0] _N _N _N _N _N)) :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh)) $cplus_avDP :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0 0] 450 0}] $cplus_avDP = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (eta_X1J :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (eta_X3r :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> letrec { $dBits_swsK :: Data.Bits.Bits (rep_auHe size1_auHf) [LclId, Str=DmdType] $dBits_swsK = case tup_swsL of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B5 }; tup_swsL :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] tup_swsL = case tup_avDN of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3) -> tpl_X20 }; } in letrec { $dKnownNat_swsM :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) [LclId, Str=DmdType] $dKnownNat_swsM = case tup_swsS of _ [Occ=Dead] { (tpl_X1Y, tpl_X20, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Ba }; $dBits_swsN :: Data.Bits.Bits (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType] $dBits_swsN = case tup_swsS of _ [Occ=Dead] { (tpl_X1W, tpl_X1Y, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B9 }; $dKnownNat_swsO :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] $dKnownNat_swsO = case tup_swsS of _ [Occ=Dead] { (tpl_X1U, tpl_X1W, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 }; $dResize_swsP :: CLaSH.Class.Num.Resize rep_auHe [LclId, Str=DmdType] $dResize_swsP = case tup_swsS of _ [Occ=Dead] { (tpl_X1S, tpl_X1U, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B6 }; $dBits_swsQ :: Data.Bits.Bits (rep_auHe size2_auHh) [LclId, Str=DmdType] $dBits_swsQ = case tup_swsS of _ [Occ=Dead] { (tpl_X1Q, tpl_X1S, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B5 }; $dBounded_swsR :: GHC.Enum.Bounded (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType] $dBounded_swsR = case tup_swsS of _ [Occ=Dead] { (tpl_X1O, tpl_X1Q, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X1O }; tup_swsS :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] tup_swsS = case tup_avDN of _ [Occ=Dead] { (tpl_X1M, tpl_X1O, tpl_B3) -> tpl_X1O }; } in (GHC.Num.+ @ (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (case tup_avDN of _ [Occ=Dead] { (tpl_X23, tpl_X25, tpl_B3) -> tpl_B3 }) ((CLaSH.Sized.Fixed.resizeF @ frac1_auHd @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size1_auHf @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ($dBounded_swsR, Data.Bits.$p1Bits @ (rep_auHe size1_auHf) $dBits_swsK, case tup_swsL of _ [Occ=Dead] { (tpl_X45, tpl_X25, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B3 }, case tup_swsL of _ [Occ=Dead] { (tpl_X23, tpl_X48, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B4 }, $dBits_swsK, $dResize_swsP, $dKnownNat_swsO, case tup_swsL of _ [Occ=Dead] { (tpl_X23, tpl_X25, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B8 }, $dBits_swsN, $dKnownNat_swsM, case tup_swsL of _ [Occ=Dead] { (tpl_X23, tpl_X25, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bb }, case tup_swsL of _ [Occ=Dead] { (tpl_X23, tpl_X25, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bc }) eta_X1J) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1))) ((CLaSH.Sized.Fixed.resizeF @ frac2_auHg @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size2_auHh @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ($dBounded_swsR, Data.Bits.$p1Bits @ (rep_auHe size2_auHh) $dBits_swsQ, case tup_swsS of _ [Occ=Dead] { (tpl_X23, tpl_X25, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B3 }, case tup_swsS of _ [Occ=Dead] { (tpl_X23, tpl_X25, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B4 }, $dBits_swsQ, $dResize_swsP, $dKnownNat_swsO, case tup_swsS of _ [Occ=Dead] { (tpl_X23, tpl_X25, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B8 }, $dBits_swsN, $dKnownNat_swsM, case tup_swsS of _ [Occ=Dead] { (tpl_X23, tpl_X25, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bb }, case tup_swsS of _ [Occ=Dead] { (tpl_X23, tpl_X25, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bc }) eta_X3r) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:AResultFixedFixed[0] _N _N _N _N _N)) :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh)) CLaSH.Sized.Fixed.$fAddFixedFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Class.Num.Add (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclIdX[DFunId], Arity=1, Str=DmdType, Unf=DFun: \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) -> CLaSH.Class.Num.D:Add TYPE CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf TYPE CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh $cplus_avDP @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN $cminus_avEx @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN] CLaSH.Sized.Fixed.$fAddFixedFixed = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) -> CLaSH.Class.Num.D:Add @ (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) @ (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) ($cplus_avDP @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN) ($cminus_avEx @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN) $cfromInteger_avDp :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => GHC.Integer.Type.Integer -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [40 0] 170 0}] $cfromInteger_avDp = \ (@ (frac_auGY :: GHC.TypeLits.Nat)) (@ (rep_auGZ :: GHC.TypeLits.Nat -> *)) (@ (size_auH0 :: GHC.TypeLits.Nat)) (tup_avBm :: CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) (eta_X1I :: GHC.Integer.Type.Integer) -> let { tup_swsA :: CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0 [LclId, Str=DmdType] tup_swsA = case tup_avBm of _ [Occ=Dead] { (tpl_X1L, tpl_X1N, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X1N } } in (Data.Bits.shiftL @ (rep_auGZ size_auH0) (case tup_swsA of _ [Occ=Dead] { (tpl_X1M, tpl_X1O, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B9 }) (GHC.Num.fromInteger @ (rep_auGZ size_auH0) (case tup_avBm of _ [Occ=Dead] { (tpl_X1M, tpl_X1O, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_B3 }) eta_X1I) (GHC.Num.$fNumInt_$cfromInteger (GHC.TypeLits.natVal @ frac_auGY @ Data.Proxy.Proxy (case tup_swsA of _ [Occ=Dead] { (tpl_X1M, tpl_X1O, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Ba }) (Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac_auGY)))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auGZ size_auH0 ~# CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) a_swkh :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [20 0] 40 0}] a_swkh = \ (@ (frac_auGY :: GHC.TypeLits.Nat)) (@ (rep_auGZ :: GHC.TypeLits.Nat -> *)) (@ (size_auH0 :: GHC.TypeLits.Nat)) (tup_avBm :: CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) (eta_X1J :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) -> GHC.Num.signum @ (rep_auGZ size_auH0) (case tup_avBm of _ [Occ=Dead] { (tpl_X1L, tpl_X1N, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_B3 }) (eta_X1J `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 ~# rep_auGZ size_auH0)) $csignum_avDg :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $csignum_avDg = a_swkh `cast` (forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> rep_auGZ size_auH0) ~# (forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0)) $cabs_avCW :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0] 300 0}] $cabs_avCW = \ (@ (frac_XuIJ :: GHC.TypeLits.Nat)) (@ (rep_XuIL :: GHC.TypeLits.Nat -> *)) (@ (size_XuIN :: GHC.TypeLits.Nat)) (tup_XvDa :: CLaSH.Sized.Fixed.NumFixed frac_XuIJ rep_XuIL size_XuIN) (eta_X1Q :: CLaSH.Sized.Fixed.Fixed frac_XuIJ rep_XuIL size_XuIN) -> letrec { $dKnownNat_swsv :: GHC.TypeLits.KnownNat (size_XuIN GHC.TypeLits.+ 2) [LclId, Str=DmdType] $dKnownNat_swsv = case tup_swsw of _ [Occ=Dead] { (tpl_X1Z, tpl_X21, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B8 }; tup_swsw :: CLaSH.Sized.Fixed.SatN2C rep_XuIL size_XuIN [LclId, Str=DmdType] tup_swsw = case tup_XvDa of _ [Occ=Dead] { (tpl_X1X, tpl_X1Z, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X1X }; } in letrec { $dKnownNat_swsx :: GHC.TypeLits.KnownNat size_XuIN [LclId, Str=DmdType] $dKnownNat_swsx = case tup_swsy of _ [Occ=Dead] { (tpl_X1V, tpl_X1X, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 }; tup_swsy :: CLaSH.Sized.Fixed.ResizeFC rep_XuIL (frac_XuIJ GHC.TypeLits.+ frac_XuIJ) frac_XuIJ (size_XuIN GHC.TypeLits.+ size_XuIN) size_XuIN [LclId, Str=DmdType] tup_swsy = case tup_XvDa of _ [Occ=Dead] { (tpl_X1T, tpl_X1V, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X1V }; } in (CLaSH.Sized.Fixed.satN2 @ rep_XuIL @ size_XuIN (case tup_swsw of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X20 }, case tup_swsw of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X22 }, case tup_swsw of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B3 }, case tup_swsw of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B4 }, case tup_swsw of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B5 }, case tup_swsw of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B6 }, $dKnownNat_swsx, $dKnownNat_swsv, case tup_swsy of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X20 }, case tup_swsw of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_Ba }) (GHC.Num.abs @ (rep_XuIL (size_XuIN GHC.TypeLits.+ 2)) (case tup_XvDa of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_B4 }) (CLaSH.Class.Num.resize @ rep_XuIL (case tup_swsy of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B6 }) @ size_XuIN @ (size_XuIN GHC.TypeLits.+ 2) $dKnownNat_swsx $dKnownNat_swsv (eta_X1Q `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIJ rep_XuIL size_XuIN ~# rep_XuIL size_XuIN))))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIL size_XuIN ~# CLaSH.Sized.Fixed.Fixed frac_XuIJ rep_XuIL size_XuIN) $cnegate_avCC :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0] 300 0}] $cnegate_avCC = \ (@ (frac_XuIK :: GHC.TypeLits.Nat)) (@ (rep_XuIM :: GHC.TypeLits.Nat -> *)) (@ (size_XuIO :: GHC.TypeLits.Nat)) (tup_XvDb :: CLaSH.Sized.Fixed.NumFixed frac_XuIK rep_XuIM size_XuIO) (eta_X1R :: CLaSH.Sized.Fixed.Fixed frac_XuIK rep_XuIM size_XuIO) -> letrec { $dKnownNat_swsn :: GHC.TypeLits.KnownNat (size_XuIO GHC.TypeLits.+ 2) [LclId, Str=DmdType] $dKnownNat_swsn = case tup_swso of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B8 }; tup_swso :: CLaSH.Sized.Fixed.SatN2C rep_XuIM size_XuIO [LclId, Str=DmdType] tup_swso = case tup_XvDb of _ [Occ=Dead] { (tpl_X1Y, tpl_X20, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X1Y }; } in letrec { $dKnownNat_swsp :: GHC.TypeLits.KnownNat size_XuIO [LclId, Str=DmdType] $dKnownNat_swsp = case tup_swsq of _ [Occ=Dead] { (tpl_X1W, tpl_X1Y, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 }; tup_swsq :: CLaSH.Sized.Fixed.ResizeFC rep_XuIM (frac_XuIK GHC.TypeLits.+ frac_XuIK) frac_XuIK (size_XuIO GHC.TypeLits.+ size_XuIO) size_XuIO [LclId, Str=DmdType] tup_swsq = case tup_XvDb of _ [Occ=Dead] { (tpl_X1U, tpl_X1W, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X1W }; } in (CLaSH.Sized.Fixed.satN2 @ rep_XuIM @ size_XuIO (case tup_swso of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X21 }, case tup_swso of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X23 }, case tup_swso of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B3 }, case tup_swso of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B4 }, case tup_swso of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B5 }, case tup_swso of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B6 }, $dKnownNat_swsp, $dKnownNat_swsn, case tup_swsq of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X21 }, case tup_swso of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_Ba }) (GHC.Num.negate @ (rep_XuIM (size_XuIO GHC.TypeLits.+ 2)) (case tup_XvDb of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_B4 }) (CLaSH.Class.Num.resize @ rep_XuIM (case tup_swsq of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B6 }) @ size_XuIO @ (size_XuIO GHC.TypeLits.+ 2) $dKnownNat_swsp $dKnownNat_swsn (eta_X1R `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIK rep_XuIM size_XuIO ~# rep_XuIM size_XuIO))))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIM size_XuIO ~# CLaSH.Sized.Fixed.Fixed frac_XuIK rep_XuIM size_XuIO) $c-_avCb :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0 0] 370 0}] $c-_avCb = \ (@ (frac_XuIL :: GHC.TypeLits.Nat)) (@ (rep_XuIN :: GHC.TypeLits.Nat -> *)) (@ (size_XuIP :: GHC.TypeLits.Nat)) (tup_XvDc :: CLaSH.Sized.Fixed.NumFixed frac_XuIL rep_XuIN size_XuIP) (eta_X1T :: CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP) (eta_X3L :: CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP) -> letrec { $dKnownNat_swse :: GHC.TypeLits.KnownNat (size_XuIP GHC.TypeLits.+ 2) [LclId, Str=DmdType] $dKnownNat_swse = case tup_swsf of _ [Occ=Dead] { (tpl_X24, tpl_X26, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B8 }; tup_swsf :: CLaSH.Sized.Fixed.SatN2C rep_XuIN size_XuIP [LclId, Str=DmdType] tup_swsf = case tup_XvDc of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X22 }; } in letrec { $dKnownNat_swsg :: GHC.TypeLits.KnownNat size_XuIP [LclId, Str=DmdType] $dKnownNat_swsg = case tup_swsi of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 }; tup_swsi :: CLaSH.Sized.Fixed.ResizeFC rep_XuIN (frac_XuIL GHC.TypeLits.+ frac_XuIL) frac_XuIL (size_XuIP GHC.TypeLits.+ size_XuIP) size_XuIP [LclId, Str=DmdType] tup_swsi = case tup_XvDc of _ [Occ=Dead] { (tpl_X1W, tpl_X1Y, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X1Y }; } in let { $dResize_swsh :: CLaSH.Class.Num.Resize rep_XuIN [LclId, Str=DmdType] $dResize_swsh = case tup_swsi of _ [Occ=Dead] { (tpl_X1Y, tpl_X20, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B6 } } in (CLaSH.Sized.Fixed.satN2 @ rep_XuIN @ size_XuIP (case tup_swsf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X25 }, case tup_swsf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X27 }, case tup_swsf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B3 }, case tup_swsf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B4 }, case tup_swsf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B5 }, case tup_swsf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B6 }, $dKnownNat_swsg, $dKnownNat_swse, case tup_swsi of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X25 }, case tup_swsf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_Ba }) (GHC.Num.- @ (rep_XuIN (size_XuIP GHC.TypeLits.+ 2)) (case tup_XvDc of _ [Occ=Dead] { (tpl_X49, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_B4 }) (CLaSH.Class.Num.resize @ rep_XuIN $dResize_swsh @ size_XuIP @ (size_XuIP GHC.TypeLits.+ 2) $dKnownNat_swsg $dKnownNat_swse (eta_X1T `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP ~# rep_XuIN size_XuIP))) (CLaSH.Class.Num.resize @ rep_XuIN $dResize_swsh @ size_XuIP @ (size_XuIP GHC.TypeLits.+ 2) $dKnownNat_swsg $dKnownNat_swse (eta_X3L `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP ~# rep_XuIN size_XuIP))))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIN size_XuIP ~# CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP) $c*_avBP :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0 0] 270 0}] $c*_avBP = \ (@ (frac_XuIM :: GHC.TypeLits.Nat)) (@ (rep_XuIO :: GHC.TypeLits.Nat -> *)) (@ (size_XuIQ :: GHC.TypeLits.Nat)) (tup_XvDd :: CLaSH.Sized.Fixed.NumFixed frac_XuIM rep_XuIO size_XuIQ) (eta_X1U :: CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ) (eta_X3N :: CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ) -> letrec { $dBits_sws7 :: Data.Bits.Bits (rep_XuIO (size_XuIQ GHC.TypeLits.+ size_XuIQ)) [LclId, Str=DmdType] $dBits_sws7 = case tup_sws8 of _ [Occ=Dead] { (tpl_X1Z, tpl_X21, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B5 }; tup_sws8 :: CLaSH.Sized.Fixed.ResizeFC rep_XuIO (frac_XuIM GHC.TypeLits.+ frac_XuIM) frac_XuIM (size_XuIQ GHC.TypeLits.+ size_XuIQ) size_XuIQ [LclId, Str=DmdType] tup_sws8 = case tup_XvDd of _ [Occ=Dead] { (tpl_X1X, tpl_X1Z, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X1Z }; } in CLaSH.Sized.Fixed.resizeF @ (frac_XuIM GHC.TypeLits.+ frac_XuIM) @ frac_XuIM @ rep_XuIO @ (size_XuIQ GHC.TypeLits.+ size_XuIQ) @ size_XuIQ (case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X20 }, Data.Bits.$p1Bits @ (rep_XuIO (size_XuIQ GHC.TypeLits.+ size_XuIQ)) $dBits_sws7, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B3 }, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B4 }, $dBits_sws7, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B6 }, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 }, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B8 }, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B9 }, case tup_sws8 of _ [Occ=Dead] { (tpl_X3Z, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Ba }, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X42, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bb }, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bc }) ((case case tup_XvDd of _ [Occ=Dead] { (tpl_Xk, tpl_Xm, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_B6 } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw1a -> (CLaSH.Class.Num.mult @ (rep_XuIO size_XuIQ) @ (rep_XuIO size_XuIQ) (case tup_XvDd of _ [Occ=Dead] { (tpl_X23, tpl_X25, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_B5 }) (eta_X1U `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ ~# rep_XuIO size_XuIQ)) (eta_X3N `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ ~# rep_XuIO size_XuIQ))) `cast` (Sub cobox_dw1a :: CLaSH.Class.Num.MResult (rep_XuIO size_XuIQ) (rep_XuIO size_XuIQ) ~# rep_XuIO (size_XuIQ GHC.TypeLits.+ size_XuIQ)) }) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIO (size_XuIQ GHC.TypeLits.+ size_XuIQ) ~# CLaSH.Sized.Fixed.Fixed (frac_XuIM GHC.TypeLits.+ frac_XuIM) rep_XuIO (size_XuIQ GHC.TypeLits.+ size_XuIQ))) $c+_avBo :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0 0] 370 0}] $c+_avBo = \ (@ (frac_XuIN :: GHC.TypeLits.Nat)) (@ (rep_XuIP :: GHC.TypeLits.Nat -> *)) (@ (size_XuIR :: GHC.TypeLits.Nat)) (tup_XvDe :: CLaSH.Sized.Fixed.NumFixed frac_XuIN rep_XuIP size_XuIR) (eta_X1V :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) (eta_X3P :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) -> letrec { $dKnownNat_sws0 :: GHC.TypeLits.KnownNat (size_XuIR GHC.TypeLits.+ 2) [LclId, Str=DmdType] $dKnownNat_sws0 = case tup_sws1 of _ [Occ=Dead] { (tpl_X26, tpl_X28, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B8 }; tup_sws1 :: CLaSH.Sized.Fixed.SatN2C rep_XuIP size_XuIR [LclId, Str=DmdType] tup_sws1 = case tup_XvDe of _ [Occ=Dead] { (tpl_X24, tpl_X26, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X24 }; } in letrec { $dKnownNat_sws2 :: GHC.TypeLits.KnownNat size_XuIR [LclId, Str=DmdType] $dKnownNat_sws2 = case tup_sws4 of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 }; tup_sws4 :: CLaSH.Sized.Fixed.ResizeFC rep_XuIP (frac_XuIN GHC.TypeLits.+ frac_XuIN) frac_XuIN (size_XuIR GHC.TypeLits.+ size_XuIR) size_XuIR [LclId, Str=DmdType] tup_sws4 = case tup_XvDe of _ [Occ=Dead] { (tpl_X1Y, tpl_X20, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X20 }; } in let { $dResize_sws3 :: CLaSH.Class.Num.Resize rep_XuIP [LclId, Str=DmdType] $dResize_sws3 = case tup_sws4 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B6 } } in (CLaSH.Sized.Fixed.satN2 @ rep_XuIP @ size_XuIR (case tup_sws1 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X27 }, case tup_sws1 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X29 }, case tup_sws1 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B3 }, case tup_sws1 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B4 }, case tup_sws1 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B5 }, case tup_sws1 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B6 }, $dKnownNat_sws2, $dKnownNat_sws0, case tup_sws4 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X27 }, case tup_sws1 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_Ba }) (GHC.Num.+ @ (rep_XuIP (size_XuIR GHC.TypeLits.+ 2)) (case tup_XvDe of _ [Occ=Dead] { (tpl_X4d, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_B4 }) (CLaSH.Class.Num.resize @ rep_XuIP $dResize_sws3 @ size_XuIR @ (size_XuIR GHC.TypeLits.+ 2) $dKnownNat_sws2 $dKnownNat_sws0 (eta_X1V `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR ~# rep_XuIP size_XuIR))) (CLaSH.Class.Num.resize @ rep_XuIP $dResize_sws3 @ size_XuIR @ (size_XuIR GHC.TypeLits.+ 2) $dKnownNat_sws2 $dKnownNat_sws0 (eta_X3P `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR ~# rep_XuIP size_XuIR))))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIP size_XuIR ~# CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) CLaSH.Sized.Fixed.$fNumFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => GHC.Num.Num (CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) [LclIdX[DFunId], Arity=1, Str=DmdType, Unf=DFun: \ (@ (frac_XuIO :: GHC.TypeLits.Nat)) (@ (rep_XuIQ :: GHC.TypeLits.Nat -> *)) (@ (size_XuIS :: GHC.TypeLits.Nat)) (tup_XvDf :: CLaSH.Sized.Fixed.NumFixed frac_XuIO rep_XuIQ size_XuIS) -> GHC.Num.D:Num TYPE CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS $c+_avBo @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $c*_avBP @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $c-_avCb @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $cnegate_avCC @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $cabs_avCW @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $csignum_avDg @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $cfromInteger_avDp @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf] CLaSH.Sized.Fixed.$fNumFixed = \ (@ (frac_XuIO :: GHC.TypeLits.Nat)) (@ (rep_XuIQ :: GHC.TypeLits.Nat -> *)) (@ (size_XuIS :: GHC.TypeLits.Nat)) (tup_XvDf :: CLaSH.Sized.Fixed.NumFixed frac_XuIO rep_XuIQ size_XuIS) -> GHC.Num.D:Num @ (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS) ($c+_avBo @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($c*_avBP @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($c-_avCb @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($cnegate_avCC @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($cabs_avCW @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($csignum_avDg @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($cfromInteger_avDp @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) a_swhq :: forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). (CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV), GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV))) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) CLaSH.Bit.Bit -> rep_auGU size_auGV [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swhq = \ (@ (frac_auGT :: GHC.TypeLits.Nat)) (@ (rep_auGU :: GHC.TypeLits.Nat -> *)) (@ (size_auGV :: GHC.TypeLits.Nat)) ($dBitVector_avAW :: CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV)) ($dKnownNat_avBa :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV))) (bv_auGX :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) CLaSH.Bit.Bit) -> CLaSH.Class.BitVector.fromBV @ (rep_auGU size_auGV) $dBitVector_avAW ($dKnownNat_avBa `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auGU size_auGV)))) (bv_auGX `cast` ((CLaSH.Sized.Vector.Vec (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auGU size_auGV)) CLaSH.Bit.Bit)) $cfromBV_avB8 :: forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). (CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV), GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV))) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) CLaSH.Bit.Bit -> CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $cfromBV_avB8 = a_swhq `cast` (forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). _R -> _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). (CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV), GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV))) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) CLaSH.Bit.Bit -> rep_auGU size_auGV) ~# (forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). (CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV), GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV))) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) CLaSH.Bit.Bit -> CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) a_swhr :: forall (frac_XuIF :: GHC.TypeLits.Nat) (rep_XuIH :: GHC.TypeLits.Nat -> *) (size_XuIJ :: GHC.TypeLits.Nat). (CLaSH.Class.BitVector.BitVector (rep_XuIH size_XuIJ), GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ))) => CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIH size_XuIJ)) CLaSH.Bit.Bit [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swhr = \ (@ (frac_XuIF :: GHC.TypeLits.Nat)) (@ (rep_XuIH :: GHC.TypeLits.Nat -> *)) (@ (size_XuIJ :: GHC.TypeLits.Nat)) ($dBitVector_XvCL :: CLaSH.Class.BitVector.BitVector (rep_XuIH size_XuIJ)) ($dKnownNat_avB0 :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ))) (ds_dw0H :: CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ) -> CLaSH.Class.BitVector.toBV @ (rep_XuIH size_XuIJ) $dBitVector_XvCL ($dKnownNat_avB0 `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIH size_XuIJ)))) (ds_dw0H `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ ~# rep_XuIH size_XuIJ)) $ctoBV_avAY :: forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). (CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV), GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV))) => CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) CLaSH.Bit.Bit [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $ctoBV_avAY = a_swhr `cast` (forall (frac_XuIF :: GHC.TypeLits.Nat) (rep_XuIH :: GHC.TypeLits.Nat -> *) (size_XuIJ :: GHC.TypeLits.Nat). _R -> _R -> _R -> (CLaSH.Sized.Vector.Vec (Sym (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N)) _R)_R :: (forall (frac_XuIF :: GHC.TypeLits.Nat) (rep_XuIH :: GHC.TypeLits.Nat -> *) (size_XuIJ :: GHC.TypeLits.Nat). (CLaSH.Class.BitVector.BitVector (rep_XuIH size_XuIJ), GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ))) => CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIH size_XuIJ)) CLaSH.Bit.Bit) ~# (forall (frac_XuIF :: GHC.TypeLits.Nat) (rep_XuIH :: GHC.TypeLits.Nat -> *) (size_XuIJ :: GHC.TypeLits.Nat). (CLaSH.Class.BitVector.BitVector (rep_XuIH size_XuIJ), GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ))) => CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ)) CLaSH.Bit.Bit)) CLaSH.Sized.Fixed.$fBitVectorFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV) => CLaSH.Class.BitVector.BitVector (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV) [LclIdX[DFunId], Arity=1, Str=DmdType, Unf=DFun: \ (@ (frac_XuIN :: GHC.TypeLits.Nat)) (@ (rep_XuIP :: GHC.TypeLits.Nat -> *)) (@ (size_XuIR :: GHC.TypeLits.Nat)) ($dBitVector_XvCT :: CLaSH.Class.BitVector.BitVector (rep_XuIP size_XuIR)) -> CLaSH.Class.BitVector.D:BitVector TYPE CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR $ctoBV_avAY @ frac_XuIN @ rep_XuIP @ size_XuIR $dBitVector_XvCT $cfromBV_avB8 @ frac_XuIN @ rep_XuIP @ size_XuIR $dBitVector_XvCT] CLaSH.Sized.Fixed.$fBitVectorFixed = \ (@ (frac_XuIN :: GHC.TypeLits.Nat)) (@ (rep_XuIP :: GHC.TypeLits.Nat -> *)) (@ (size_XuIR :: GHC.TypeLits.Nat)) ($dBitVector_XvCT :: CLaSH.Class.BitVector.BitVector (rep_XuIP size_XuIR)) -> CLaSH.Class.BitVector.D:BitVector @ (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) ($ctoBV_avAY @ frac_XuIN @ rep_XuIP @ size_XuIR $dBitVector_XvCT) ($cfromBV_avB8 @ frac_XuIN @ rep_XuIP @ size_XuIR $dBitVector_XvCT) a_swhs :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => rep_auGM size_auGN [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swhs = \ (@ (frac_auGL :: GHC.TypeLits.Nat)) (@ (rep_auGM :: GHC.TypeLits.Nat -> *)) (@ (size_auGN :: GHC.TypeLits.Nat)) ($dDefault_avAe :: Data.Default.Class.Default (rep_auGM size_auGN)) -> Data.Default.Class.def @ (rep_auGM size_auGN) $dDefault_avAe $cdef_avAg :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => CLaSH.Sized.Fixed.Fixed frac_auGL rep_auGM size_auGN [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $cdef_avAg = a_swhs `cast` (forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => rep_auGM size_auGN) ~# (forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => CLaSH.Sized.Fixed.Fixed frac_auGL rep_auGM size_auGN)) CLaSH.Sized.Fixed.$fDefaultFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_auGL rep_auGM size_auGN) [LclIdX[DFunId(nt)], Arity=1, Str=DmdType, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= $cdef_avAg `cast` (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). _R -> Sym (Data.Default.Class.NTCo:Default[0] _N) :: (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuIO size_XuIQ) => CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ) ~# (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuIO size_XuIQ) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ)))}] CLaSH.Sized.Fixed.$fDefaultFixed = $cdef_avAg `cast` (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). _R -> Sym (Data.Default.Class.NTCo:Default[0] _N) :: (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuIO size_XuIQ) => CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ) ~# (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuIO size_XuIQ) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ))) a_swht :: forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_auGJ size_auGK) => rep_auGJ size_auGK [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swht = \ (@ (frac_auGI :: GHC.TypeLits.Nat)) (@ (rep_auGJ :: GHC.TypeLits.Nat -> *)) (@ (size_auGK :: GHC.TypeLits.Nat)) ($dBounded_avzT :: GHC.Enum.Bounded (rep_auGJ size_auGK)) -> GHC.Enum.maxBound @ (rep_auGJ size_auGK) $dBounded_avzT $cmaxBound_avA4 :: forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_auGJ size_auGK) => CLaSH.Sized.Fixed.Fixed frac_auGI rep_auGJ size_auGK [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $cmaxBound_avA4 = a_swht `cast` (forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_auGJ size_auGK) => rep_auGJ size_auGK) ~# (forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_auGJ size_auGK) => CLaSH.Sized.Fixed.Fixed frac_auGI rep_auGJ size_auGK)) a_swhu :: forall (frac_XuIQ :: GHC.TypeLits.Nat) (rep_XuIS :: GHC.TypeLits.Nat -> *) (size_XuIU :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_XuIS size_XuIU) => rep_XuIS size_XuIU [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swhu = \ (@ (frac_XuIQ :: GHC.TypeLits.Nat)) (@ (rep_XuIS :: GHC.TypeLits.Nat -> *)) (@ (size_XuIU :: GHC.TypeLits.Nat)) ($dBounded_XvC4 :: GHC.Enum.Bounded (rep_XuIS size_XuIU)) -> GHC.Enum.minBound @ (rep_XuIS size_XuIU) $dBounded_XvC4 $cminBound_avzV :: forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_auGJ size_auGK) => CLaSH.Sized.Fixed.Fixed frac_auGI rep_auGJ size_auGK [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $cminBound_avzV = a_swhu `cast` (forall (frac_XuIQ :: GHC.TypeLits.Nat) (rep_XuIS :: GHC.TypeLits.Nat -> *) (size_XuIU :: GHC.TypeLits.Nat). _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_XuIQ :: GHC.TypeLits.Nat) (rep_XuIS :: GHC.TypeLits.Nat -> *) (size_XuIU :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_XuIS size_XuIU) => rep_XuIS size_XuIU) ~# (forall (frac_XuIQ :: GHC.TypeLits.Nat) (rep_XuIS :: GHC.TypeLits.Nat -> *) (size_XuIU :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_XuIS size_XuIU) => CLaSH.Sized.Fixed.Fixed frac_XuIQ rep_XuIS size_XuIU)) CLaSH.Sized.Fixed.$fBoundedFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_auGJ size_auGK) => GHC.Enum.Bounded (CLaSH.Sized.Fixed.Fixed frac_auGI rep_auGJ size_auGK) [LclIdX[DFunId], Arity=1, Str=DmdType, Unf=DFun: \ (@ (frac_XuIW :: GHC.TypeLits.Nat)) (@ (rep_XuIY :: GHC.TypeLits.Nat -> *)) (@ (size_XuJ0 :: GHC.TypeLits.Nat)) ($dBounded_XvCa :: GHC.Enum.Bounded (rep_XuIY size_XuJ0)) -> GHC.Enum.D:Bounded TYPE CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0 $cminBound_avzV @ frac_XuIW @ rep_XuIY @ size_XuJ0 $dBounded_XvCa $cmaxBound_avA4 @ frac_XuIW @ rep_XuIY @ size_XuJ0 $dBounded_XvCa] CLaSH.Sized.Fixed.$fBoundedFixed = \ (@ (frac_XuIW :: GHC.TypeLits.Nat)) (@ (rep_XuIY :: GHC.TypeLits.Nat -> *)) (@ (size_XuJ0 :: GHC.TypeLits.Nat)) ($dBounded_XvCa :: GHC.Enum.Bounded (rep_XuIY size_XuJ0)) -> GHC.Enum.D:Bounded @ (CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0) ($cminBound_avzV @ frac_XuIW @ rep_XuIY @ size_XuJ0 $dBounded_XvCa) ($cmaxBound_avA4 @ frac_XuIW @ rep_XuIY @ size_XuJ0 $dBounded_XvCa) a_swlr :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => rep_auFG size_auFH -> rep_auFG size_auFH -> rep_auFG size_auFH [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swlr = \ (@ (frac_auFF :: GHC.TypeLits.Nat)) (@ (rep_auFG :: GHC.TypeLits.Nat -> *)) (@ (size_auFH :: GHC.TypeLits.Nat)) _ [Occ=Dead] ($dOrd_avyb :: GHC.Classes.Ord (rep_auFG size_auFH)) -> GHC.Classes.min @ (rep_auFG size_auFH) $dOrd_avyb $cmin_avzC :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $cmin_avzC = a_swlr `cast` (forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => rep_auFG size_auFH -> rep_auFG size_auFH -> rep_auFG size_auFH) ~# (forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH)) a_swls :: forall (frac_XuHQ :: GHC.TypeLits.Nat) (rep_XuHS :: GHC.TypeLits.Nat -> *) (size_XuHU :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuHQ rep_XuHS size_XuHU), GHC.Classes.Ord (rep_XuHS size_XuHU)) => rep_XuHS size_XuHU -> rep_XuHS size_XuHU -> rep_XuHS size_XuHU [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swls = \ (@ (frac_XuHQ :: GHC.TypeLits.Nat)) (@ (rep_XuHS :: GHC.TypeLits.Nat -> *)) (@ (size_XuHU :: GHC.TypeLits.Nat)) _ [Occ=Dead] ($dOrd_XvAq :: GHC.Classes.Ord (rep_XuHS size_XuHU)) -> GHC.Classes.max @ (rep_XuHS size_XuHU) $dOrd_XvAq $cmax_avzm :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $cmax_avzm = a_swls `cast` (forall (frac_XuHQ :: GHC.TypeLits.Nat) (rep_XuHS :: GHC.TypeLits.Nat -> *) (size_XuHU :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_XuHQ :: GHC.TypeLits.Nat) (rep_XuHS :: GHC.TypeLits.Nat -> *) (size_XuHU :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuHQ rep_XuHS size_XuHU), GHC.Classes.Ord (rep_XuHS size_XuHU)) => rep_XuHS size_XuHU -> rep_XuHS size_XuHU -> rep_XuHS size_XuHU) ~# (forall (frac_XuHQ :: GHC.TypeLits.Nat) (rep_XuHS :: GHC.TypeLits.Nat -> *) (size_XuHU :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuHQ rep_XuHS size_XuHU), GHC.Classes.Ord (rep_XuHS size_XuHU)) => CLaSH.Sized.Fixed.Fixed frac_XuHQ rep_XuHS size_XuHU -> CLaSH.Sized.Fixed.Fixed frac_XuHQ rep_XuHS size_XuHU -> CLaSH.Sized.Fixed.Fixed frac_XuHQ rep_XuHS size_XuHU)) a_swhz :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => rep_auFG size_auFH -> rep_auFG size_auFH -> GHC.Types.Bool [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swhz = \ (@ (frac_XuHX :: GHC.TypeLits.Nat)) (@ (rep_XuHZ :: GHC.TypeLits.Nat -> *)) (@ (size_XuI1 :: GHC.TypeLits.Nat)) _ [Occ=Dead] ($dOrd_XvAx :: GHC.Classes.Ord (rep_XuHZ size_XuI1)) -> GHC.Classes.<= @ (rep_XuHZ size_XuI1) $dOrd_XvAx $c<=_avz8 :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Bool [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $c<=_avz8 = a_swhz `cast` (forall (frac_XuHY :: GHC.TypeLits.Nat) (rep_XuI0 :: GHC.TypeLits.Nat -> *) (size_XuI2 :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (forall (frac_XuHY :: GHC.TypeLits.Nat) (rep_XuI0 :: GHC.TypeLits.Nat -> *) (size_XuI2 :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuHY rep_XuI0 size_XuI2), GHC.Classes.Ord (rep_XuI0 size_XuI2)) => rep_XuI0 size_XuI2 -> rep_XuI0 size_XuI2 -> GHC.Types.Bool) ~# (forall (frac_XuHY :: GHC.TypeLits.Nat) (rep_XuI0 :: GHC.TypeLits.Nat -> *) (size_XuI2 :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuHY rep_XuI0 size_XuI2), GHC.Classes.Ord (rep_XuI0 size_XuI2)) => CLaSH.Sized.Fixed.Fixed frac_XuHY rep_XuI0 size_XuI2 -> CLaSH.Sized.Fixed.Fixed frac_XuHY rep_XuI0 size_XuI2 -> GHC.Types.Bool)) a_swhA :: forall (frac_XuI3 :: GHC.TypeLits.Nat) (rep_XuI5 :: GHC.TypeLits.Nat -> *) (size_XuI7 :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuI3 rep_XuI5 size_XuI7), GHC.Classes.Ord (rep_XuI5 size_XuI7)) => rep_XuI5 size_XuI7 -> rep_XuI5 size_XuI7 -> GHC.Types.Bool [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swhA = \ (@ (frac_XuI3 :: GHC.TypeLits.Nat)) (@ (rep_XuI5 :: GHC.TypeLits.Nat -> *)) (@ (size_XuI7 :: GHC.TypeLits.Nat)) _ [Occ=Dead] ($dOrd_XvAD :: GHC.Classes.Ord (rep_XuI5 size_XuI7)) -> GHC.Classes.> @ (rep_XuI5 size_XuI7) $dOrd_XvAD $c>_avyU :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Bool [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $c>_avyU = a_swhA `cast` (forall (frac_XuI3 :: GHC.TypeLits.Nat) (rep_XuI5 :: GHC.TypeLits.Nat -> *) (size_XuI7 :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (forall (frac_XuI3 :: GHC.TypeLits.Nat) (rep_XuI5 :: GHC.TypeLits.Nat -> *) (size_XuI7 :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuI3 rep_XuI5 size_XuI7), GHC.Classes.Ord (rep_XuI5 size_XuI7)) => rep_XuI5 size_XuI7 -> rep_XuI5 size_XuI7 -> GHC.Types.Bool) ~# (forall (frac_XuI3 :: GHC.TypeLits.Nat) (rep_XuI5 :: GHC.TypeLits.Nat -> *) (size_XuI7 :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuI3 rep_XuI5 size_XuI7), GHC.Classes.Ord (rep_XuI5 size_XuI7)) => CLaSH.Sized.Fixed.Fixed frac_XuI3 rep_XuI5 size_XuI7 -> CLaSH.Sized.Fixed.Fixed frac_XuI3 rep_XuI5 size_XuI7 -> GHC.Types.Bool)) a_swhB :: forall (frac_XuIa :: GHC.TypeLits.Nat) (rep_XuIc :: GHC.TypeLits.Nat -> *) (size_XuIe :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIa rep_XuIc size_XuIe), GHC.Classes.Ord (rep_XuIc size_XuIe)) => rep_XuIc size_XuIe -> rep_XuIc size_XuIe -> GHC.Types.Bool [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swhB = \ (@ (frac_XuIa :: GHC.TypeLits.Nat)) (@ (rep_XuIc :: GHC.TypeLits.Nat -> *)) (@ (size_XuIe :: GHC.TypeLits.Nat)) _ [Occ=Dead] ($dOrd_XvAK :: GHC.Classes.Ord (rep_XuIc size_XuIe)) -> GHC.Classes.>= @ (rep_XuIc size_XuIe) $dOrd_XvAK $c>=_avyG :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Bool [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $c>=_avyG = a_swhB `cast` (forall (frac_XuIa :: GHC.TypeLits.Nat) (rep_XuIc :: GHC.TypeLits.Nat -> *) (size_XuIe :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (forall (frac_XuIa :: GHC.TypeLits.Nat) (rep_XuIc :: GHC.TypeLits.Nat -> *) (size_XuIe :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIa rep_XuIc size_XuIe), GHC.Classes.Ord (rep_XuIc size_XuIe)) => rep_XuIc size_XuIe -> rep_XuIc size_XuIe -> GHC.Types.Bool) ~# (forall (frac_XuIa :: GHC.TypeLits.Nat) (rep_XuIc :: GHC.TypeLits.Nat -> *) (size_XuIe :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIa rep_XuIc size_XuIe), GHC.Classes.Ord (rep_XuIc size_XuIe)) => CLaSH.Sized.Fixed.Fixed frac_XuIa rep_XuIc size_XuIe -> CLaSH.Sized.Fixed.Fixed frac_XuIa rep_XuIc size_XuIe -> GHC.Types.Bool)) a_swhC :: forall (frac_XuIh :: GHC.TypeLits.Nat) (rep_XuIj :: GHC.TypeLits.Nat -> *) (size_XuIl :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIh rep_XuIj size_XuIl), GHC.Classes.Ord (rep_XuIj size_XuIl)) => rep_XuIj size_XuIl -> rep_XuIj size_XuIl -> GHC.Types.Bool [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swhC = \ (@ (frac_XuIh :: GHC.TypeLits.Nat)) (@ (rep_XuIj :: GHC.TypeLits.Nat -> *)) (@ (size_XuIl :: GHC.TypeLits.Nat)) _ [Occ=Dead] ($dOrd_XvAR :: GHC.Classes.Ord (rep_XuIj size_XuIl)) -> GHC.Classes.< @ (rep_XuIj size_XuIl) $dOrd_XvAR $c<_avys :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Bool [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $c<_avys = a_swhC `cast` (forall (frac_XuIh :: GHC.TypeLits.Nat) (rep_XuIj :: GHC.TypeLits.Nat -> *) (size_XuIl :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (forall (frac_XuIh :: GHC.TypeLits.Nat) (rep_XuIj :: GHC.TypeLits.Nat -> *) (size_XuIl :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIh rep_XuIj size_XuIl), GHC.Classes.Ord (rep_XuIj size_XuIl)) => rep_XuIj size_XuIl -> rep_XuIj size_XuIl -> GHC.Types.Bool) ~# (forall (frac_XuIh :: GHC.TypeLits.Nat) (rep_XuIj :: GHC.TypeLits.Nat -> *) (size_XuIl :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIh rep_XuIj size_XuIl), GHC.Classes.Ord (rep_XuIj size_XuIl)) => CLaSH.Sized.Fixed.Fixed frac_XuIh rep_XuIj size_XuIl -> CLaSH.Sized.Fixed.Fixed frac_XuIh rep_XuIj size_XuIl -> GHC.Types.Bool)) a_swhD :: forall (frac_XuIo :: GHC.TypeLits.Nat) (rep_XuIq :: GHC.TypeLits.Nat -> *) (size_XuIs :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIo rep_XuIq size_XuIs), GHC.Classes.Ord (rep_XuIq size_XuIs)) => rep_XuIq size_XuIs -> rep_XuIq size_XuIs -> GHC.Types.Ordering [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swhD = \ (@ (frac_XuIo :: GHC.TypeLits.Nat)) (@ (rep_XuIq :: GHC.TypeLits.Nat -> *)) (@ (size_XuIs :: GHC.TypeLits.Nat)) _ [Occ=Dead] ($dOrd_XvAY :: GHC.Classes.Ord (rep_XuIq size_XuIs)) -> GHC.Classes.compare @ (rep_XuIq size_XuIs) $dOrd_XvAY $ccompare_avye :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Ordering [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $ccompare_avye = a_swhD `cast` (forall (frac_XuIo :: GHC.TypeLits.Nat) (rep_XuIq :: GHC.TypeLits.Nat -> *) (size_XuIs :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (forall (frac_XuIo :: GHC.TypeLits.Nat) (rep_XuIq :: GHC.TypeLits.Nat -> *) (size_XuIs :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIo rep_XuIq size_XuIs), GHC.Classes.Ord (rep_XuIq size_XuIs)) => rep_XuIq size_XuIs -> rep_XuIq size_XuIs -> GHC.Types.Ordering) ~# (forall (frac_XuIo :: GHC.TypeLits.Nat) (rep_XuIq :: GHC.TypeLits.Nat -> *) (size_XuIs :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIo rep_XuIq size_XuIs), GHC.Classes.Ord (rep_XuIq size_XuIs)) => CLaSH.Sized.Fixed.Fixed frac_XuIo rep_XuIq size_XuIs -> CLaSH.Sized.Fixed.Fixed frac_XuIo rep_XuIq size_XuIs -> GHC.Types.Ordering)) CLaSH.Sized.Fixed.$fOrdFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => GHC.Classes.Ord (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) [LclIdX[DFunId[1]], Arity=2, Str=DmdType, Unf=DFun: \ (@ (frac_XuIv :: GHC.TypeLits.Nat)) (@ (rep_XuIx :: GHC.TypeLits.Nat -> *)) (@ (size_XuIz :: GHC.TypeLits.Nat)) ($dEq_XvB3 :: GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) ($dOrd_XvB5 :: GHC.Classes.Ord (rep_XuIx size_XuIz)) -> GHC.Classes.D:Ord TYPE CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz $dEq_XvB3 $ccompare_avye @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5 $c<_avys @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5 $c>=_avyG @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5 $c>_avyU @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5 $c<=_avz8 @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5 $cmax_avzm @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5 $cmin_avzC @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5] CLaSH.Sized.Fixed.$fOrdFixed = \ (@ (frac_XuIv :: GHC.TypeLits.Nat)) (@ (rep_XuIx :: GHC.TypeLits.Nat -> *)) (@ (size_XuIz :: GHC.TypeLits.Nat)) ($dEq_XvB3 :: GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) ($dOrd_XvB5 :: GHC.Classes.Ord (rep_XuIx size_XuIz)) -> GHC.Classes.D:Ord @ (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz) $dEq_XvB3 ($ccompare_avye @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5) ($c<_avys @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5) ($c>=_avyG @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5) ($c>_avyU @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5) ($c<=_avz8 @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5) ($cmax_avzm @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5) ($cmin_avzC @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5) a_swhE :: forall (frac_XuIw :: GHC.TypeLits.Nat) (rep_XuIy :: GHC.TypeLits.Nat -> *) (size_XuIA :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_XuIy size_XuIA) => rep_XuIy size_XuIA -> rep_XuIy size_XuIA -> GHC.Types.Bool [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swhE = \ (@ (frac_XuIw :: GHC.TypeLits.Nat)) (@ (rep_XuIy :: GHC.TypeLits.Nat -> *)) (@ (size_XuIA :: GHC.TypeLits.Nat)) ($dEq_avxF :: GHC.Classes.Eq (rep_XuIy size_XuIA)) -> GHC.Classes./= @ (rep_XuIy size_XuIA) $dEq_avxF $c/=_avxV :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_auFG size_auFH) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Bool [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $c/=_avxV = a_swhE `cast` (forall (frac_XuIw :: GHC.TypeLits.Nat) (rep_XuIy :: GHC.TypeLits.Nat -> *) (size_XuIA :: GHC.TypeLits.Nat). _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (forall (frac_XuIw :: GHC.TypeLits.Nat) (rep_XuIy :: GHC.TypeLits.Nat -> *) (size_XuIA :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_XuIy size_XuIA) => rep_XuIy size_XuIA -> rep_XuIy size_XuIA -> GHC.Types.Bool) ~# (forall (frac_XuIw :: GHC.TypeLits.Nat) (rep_XuIy :: GHC.TypeLits.Nat -> *) (size_XuIA :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_XuIy size_XuIA) => CLaSH.Sized.Fixed.Fixed frac_XuIw rep_XuIy size_XuIA -> CLaSH.Sized.Fixed.Fixed frac_XuIw rep_XuIy size_XuIA -> GHC.Types.Bool)) a_swhF :: forall (frac_XuIC :: GHC.TypeLits.Nat) (rep_XuIE :: GHC.TypeLits.Nat -> *) (size_XuIG :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_XuIE size_XuIG) => rep_XuIE size_XuIG -> rep_XuIE size_XuIG -> GHC.Types.Bool [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swhF = \ (@ (frac_XuIC :: GHC.TypeLits.Nat)) (@ (rep_XuIE :: GHC.TypeLits.Nat -> *)) (@ (size_XuIG :: GHC.TypeLits.Nat)) ($dEq_XvAF :: GHC.Classes.Eq (rep_XuIE size_XuIG)) -> GHC.Classes.== @ (rep_XuIE size_XuIG) $dEq_XvAF $c==_avxH :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_auFG size_auFH) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Bool [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $c==_avxH = a_swhF `cast` (forall (frac_XuIC :: GHC.TypeLits.Nat) (rep_XuIE :: GHC.TypeLits.Nat -> *) (size_XuIG :: GHC.TypeLits.Nat). _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (forall (frac_XuIC :: GHC.TypeLits.Nat) (rep_XuIE :: GHC.TypeLits.Nat -> *) (size_XuIG :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_XuIE size_XuIG) => rep_XuIE size_XuIG -> rep_XuIE size_XuIG -> GHC.Types.Bool) ~# (forall (frac_XuIC :: GHC.TypeLits.Nat) (rep_XuIE :: GHC.TypeLits.Nat -> *) (size_XuIG :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_XuIE size_XuIG) => CLaSH.Sized.Fixed.Fixed frac_XuIC rep_XuIE size_XuIG -> CLaSH.Sized.Fixed.Fixed frac_XuIC rep_XuIE size_XuIG -> GHC.Types.Bool)) CLaSH.Sized.Fixed.$fEqFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_auFG size_auFH) => GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) [LclIdX[DFunId], Arity=1, Str=DmdType, Unf=DFun: \ (@ (frac_XuII :: GHC.TypeLits.Nat)) (@ (rep_XuIK :: GHC.TypeLits.Nat -> *)) (@ (size_XuIM :: GHC.TypeLits.Nat)) ($dEq_XvAL :: GHC.Classes.Eq (rep_XuIK size_XuIM)) -> GHC.Classes.D:Eq TYPE CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM $c==_avxH @ frac_XuII @ rep_XuIK @ size_XuIM $dEq_XvAL $c/=_avxV @ frac_XuII @ rep_XuIK @ size_XuIM $dEq_XvAL] CLaSH.Sized.Fixed.$fEqFixed = \ (@ (frac_XuII :: GHC.TypeLits.Nat)) (@ (rep_XuIK :: GHC.TypeLits.Nat -> *)) (@ (size_XuIM :: GHC.TypeLits.Nat)) ($dEq_XvAL :: GHC.Classes.Eq (rep_XuIK size_XuIM)) -> GHC.Classes.D:Eq @ (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM) ($c==_avxH @ frac_XuII @ rep_XuIK @ size_XuIM $dEq_XvAL) ($c/=_avxV @ frac_XuII @ rep_XuIK @ size_XuIM $dEq_XvAL) $clift_avAv :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp [LclId, Arity=5, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] $clift_avAv = \ (@ (frac_auGO :: GHC.TypeLits.Nat)) (@ (rep_auGP :: GHC.TypeLits.Nat -> *)) (@ (size_auGQ :: GHC.TypeLits.Nat)) ($dLift_avAq :: Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ)) ($dKnownNat_avAr :: GHC.TypeLits.KnownNat frac_auGO) ($dKnownNat_avAs :: GHC.TypeLits.KnownNat size_auGQ) ($dTypeable_avAt :: Data.Typeable.Internal.Typeable rep_auGP) (f_auGR :: CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ) -> Language.Haskell.TH.Lib.sigE (Language.Haskell.TH.Lib.appE (Language.Haskell.TH.Lib.conE (Language.Haskell.TH.Syntax.mkNameG_d (GHC.Base.build @ GHC.Types.Char (\ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "clash-prelude-0.5"#)) (GHC.Base.build @ GHC.Types.Char (\ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "CLaSH.Sized.Fixed"#)) (GHC.Base.build @ GHC.Types.Char (\ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "Fixed"#)))) (Language.Haskell.TH.Syntax.lift @ (rep_auGP size_auGQ) $dLift_avAq (f_auGR `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ ~# rep_auGP size_auGQ)))) (GHC.List.foldl @ Language.Haskell.TH.Lib.TypeQ @ Language.Haskell.TH.Lib.TypeQ Language.Haskell.TH.Lib.appT (Language.Haskell.TH.Lib.conT (Language.Haskell.TH.Syntax.mkNameG_tc (GHC.Base.build @ GHC.Types.Char (\ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "clash-prelude-0.5"#)) (GHC.Base.build @ GHC.Types.Char (\ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "CLaSH.Sized.Fixed"#)) (GHC.Base.build @ GHC.Types.Char (\ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "Fixed"#)))) (GHC.Base.build @ Language.Haskell.TH.Lib.TypeQ (\ (@ a_dvZ6) (c_dvZ7 [OS=OneShot] :: Language.Haskell.TH.Lib.TypeQ -> a_dvZ6 -> a_dvZ6) (n_dvZ8 [OS=OneShot] :: a_dvZ6) -> c_dvZ7 (Language.Haskell.TH.Lib.litT (Language.Haskell.TH.Lib.numTyLit (GHC.TypeLits.natVal @ frac_auGO @ Data.Proxy.Proxy $dKnownNat_avAr (CLaSH.Sized.Fixed.asFracProxy @ frac_auGO @ rep_auGP @ size_auGQ f_auGR)))) (c_dvZ7 (Language.Haskell.TH.Lib.conT (Language.Haskell.TH.Syntax.mkName (Data.Typeable.Internal.$fShowTypeRep_$cshow (Data.Typeable.Internal.typeRep @ (GHC.TypeLits.Nat -> *) @ Data.Proxy.Proxy @ rep_auGP $dTypeable_avAt (CLaSH.Sized.Fixed.asRepProxy @ frac_auGO @ rep_auGP @ size_auGQ f_auGR))))) (c_dvZ7 (Language.Haskell.TH.Lib.litT (Language.Haskell.TH.Lib.numTyLit (GHC.TypeLits.natVal @ size_auGQ @ (CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP) $dKnownNat_avAs f_auGR))) n_dvZ8))))) CLaSH.Sized.Fixed.$fLiftFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ) [LclIdX[DFunId(nt)], Arity=5, Str=DmdType, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=4, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= $clift_avAv `cast` (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N) :: (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ)))}] CLaSH.Sized.Fixed.$fLiftFixed = $clift_avAv `cast` (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N) :: (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ))) ------ Local rules for imported ids -------- "SPEC GHC.Real.^ [GHC.Types.Double, GHC.Integer.Type.Integer]" [1] forall ($dNum_swu4 :: GHC.Num.Num GHC.Types.Double) ($dIntegral_swu5 :: GHC.Real.Integral GHC.Integer.Type.Integer). GHC.Real.^ @ GHC.Types.Double @ GHC.Integer.Type.Integer $dNum_swu4 $dIntegral_swu5 = $s^_swu6 *** Float out(FOS {Lam = Just 0, Consts = True, PAPs = False}): ==================== Levels added: ==================== <$s^_swu6,<0,0>> <$s^_swu6,<0,0>> = \ > > -> let { <$dReal_swuD,F<0,0>> <$dReal_swuD,F<0,0>> = GHC.Real.$p1Integral @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger } in let { <$dNum1_swuE,F<0,0>> <$dNum1_swuE,F<0,0>> = GHC.Real.$p1Real @ GHC.Integer.Type.Integer $dReal_swuD } in let { <$dOrd_swuF,F<0,0>> <$dOrd_swuF,F<0,0>> = GHC.Real.$p2Real @ GHC.Integer.Type.Integer $dReal_swuD } in case GHC.Classes.< @ GHC.Integer.Type.Integer $dOrd_swuF eta1_akDl (let { > > = GHC.Num.fromInteger @ GHC.Integer.Type.Integer $dNum1_swuE (let { > > = __integer 0 } in lvl_swuG) } in lvl_swuH) of > { GHC.Types.False -> case GHC.Classes.== @ GHC.Integer.Type.Integer (let { > > = GHC.Classes.$p1Ord @ GHC.Integer.Type.Integer $dOrd_swuF } in lvl_swuI) eta1_akDl (let { > > = GHC.Num.fromInteger @ GHC.Integer.Type.Integer $dNum1_swuE (let { > > = __integer 0 } in lvl_swuJ) } in lvl_swuK) of > { GHC.Types.False -> let { <$dReal1_swuL,F<0,0>> <$dReal1_swuL,F<0,0>> = GHC.Real.$p1Integral @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger } in let { > > = GHC.Real.$p2Real @ GHC.Integer.Type.Integer $dReal1_swuL } in let { <$dEq_swuN,F<0,0>> <$dEq_swuN,F<0,0>> = GHC.Classes.$p1Ord @ GHC.Integer.Type.Integer a1_swuM } in let { <$dNum2_swuO,F<0,0>> <$dNum2_swuO,F<0,0>> = GHC.Real.$p1Real @ GHC.Integer.Type.Integer $dReal1_swuL } in letrec { > > = \ > > -> case GHC.Real.even @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger y_akDB of > { GHC.Types.False -> case GHC.Classes.== @ GHC.Integer.Type.Integer $dEq_swuN y_akDB (let { > > = GHC.Num.fromInteger @ GHC.Integer.Type.Integer $dNum2_swuO (let { > > = __integer 1 } in lvl_swuR) } in lvl_swuS) of > { GHC.Types.False -> let { <$dReal2_swuT,F<0,0>> <$dReal2_swuT,F<0,0>> = GHC.Real.$p1Integral @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger } in let { > > = GHC.Real.$p2Real @ GHC.Integer.Type.Integer $dReal2_swuT } in let { <$dEq1_swuV,F<0,0>> <$dEq1_swuV,F<0,0>> = GHC.Classes.$p1Ord @ GHC.Integer.Type.Integer a2_swuU } in let { <$dNum3_swuW,F<0,0>> <$dNum3_swuW,F<0,0>> = GHC.Real.$p1Real @ GHC.Integer.Type.Integer $dReal2_swuT } in letrec { > > = \ > > > -> case GHC.Real.even @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger y1_akDO of > { GHC.Types.False -> case GHC.Classes.== @ GHC.Integer.Type.Integer $dEq1_swuV y1_akDO (let { > > = GHC.Num.fromInteger @ GHC.Integer.Type.Integer $dNum3_swuW (let { > > = __integer 1 } in lvl_swuZ) } in lvl_swv0) of > { GHC.Types.False -> g1_swuY (GHC.Num.* @ GHC.Types.Double GHC.Float.$fNumDouble x1_akDN x1_akDN) (GHC.Real.quot @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger (GHC.Num.- @ GHC.Integer.Type.Integer $dNum3_swuW y1_akDO (let { > > = GHC.Num.fromInteger @ GHC.Integer.Type.Integer $dNum3_swuW (let { > > = __integer 1 } in lvl_swv1) } in lvl_swv2)) (let { > > = GHC.Num.fromInteger @ GHC.Integer.Type.Integer $dNum3_swuW (let { > > = __integer 2 } in lvl_swv3) } in lvl_swv4)) (GHC.Num.* @ GHC.Types.Double GHC.Float.$fNumDouble x1_akDN z_akDP); GHC.Types.True -> GHC.Num.* @ GHC.Types.Double GHC.Float.$fNumDouble x1_akDN z_akDP }; GHC.Types.True -> g1_swuY (GHC.Num.* @ GHC.Types.Double GHC.Float.$fNumDouble x1_akDN x1_akDN) (GHC.Real.quot @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger y1_akDO (let { > > = GHC.Num.fromInteger @ GHC.Integer.Type.Integer $dNum3_swuW (let { > > = __integer 2 } in lvl_swv5) } in lvl_swv6)) z_akDP }; } in g1_swuY (GHC.Num.* @ GHC.Types.Double GHC.Float.$fNumDouble x_akDA x_akDA) (GHC.Real.quot @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger (GHC.Num.- @ GHC.Integer.Type.Integer $dNum2_swuO y_akDB (let { > > = GHC.Num.fromInteger @ GHC.Integer.Type.Integer $dNum2_swuO (let { > > = __integer 1 } in lvl_swv7) } in lvl_swv8)) (let { > > = GHC.Num.fromInteger @ GHC.Integer.Type.Integer $dNum2_swuO (let { > > = __integer 2 } in lvl_swv9) } in lvl_swva)) x_akDA; GHC.Types.True -> x_akDA }; GHC.Types.True -> f_swuQ (GHC.Num.* @ GHC.Types.Double GHC.Float.$fNumDouble x_akDA x_akDA) (GHC.Real.quot @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger y_akDB (let { > > = GHC.Num.fromInteger @ GHC.Integer.Type.Integer $dNum2_swuO (let { > > = __integer 2 } in lvl_swvb) } in lvl_swvc)) }; } in f_swuQ eta_akDk eta1_akDl; GHC.Types.True -> let { > > = GHC.Num.fromInteger @ GHC.Types.Double GHC.Float.$fNumDouble (let { > > = __integer 1 } in lvl_swvd) } in lvl_swve }; GHC.Types.True -> let { > > = GHC.Err.error @ GHC.Types.Double (let { > > = GHC.CString.unpackCString# "Negative exponent"# } in lvl_swvf) } in lvl_swvg }; > > = \ > > > <$dKnownNat_avlM,<1,0>> <$dNum_avlN,<1,0>> <$dBounded_avlO,<1,0>> <$dIntegral_avlP,<1,0>> > -> let { > > = GHC.Float.RealFracMethods.truncateDoubleInteger (GHC.Float.timesDouble a_auGC (GHC.Real.^ @ GHC.Types.Double @ GHC.Integer.Type.Integer GHC.Float.$fNumDouble GHC.Real.$fIntegralInteger (let { > > = GHC.Types.D# 2.0 } in lvl_swvh) (GHC.TypeLits.natVal @ frac_avhM @ Data.Proxy.Proxy $dKnownNat_avlM (Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac_avhM)))) } in let { > > = GHC.Real.toInteger @ (rep_avhN size_avhO) $dIntegral_avlP (GHC.Enum.minBound @ (rep_avhN size_avhO) $dBounded_avlO) } in let { > > = GHC.Real.toInteger @ (rep_avhN size_avhO) $dIntegral_avlP (GHC.Enum.maxBound @ (rep_avhN size_avhO) $dBounded_avlO) } in Language.Haskell.TH.Syntax.unsafeTExpCoerce @ (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO) (Language.Haskell.TH.Lib.appE (let { > > = Language.Haskell.TH.Lib.conE (let { > > = Language.Haskell.TH.Syntax.mkNameG_d (let { > > = GHC.Base.build @ GHC.Types.Char (let { > > = \ > -> GHC.CString.unpackFoldrCString# @ b_a4Iy "clash-prelude-0.5"# } in lvl_swvi) } in lvl_swvj) (let { > > = GHC.Base.build @ GHC.Types.Char (let { > > = \ > -> GHC.CString.unpackFoldrCString# @ b_a4Iy "CLaSH.Sized.Fixed"# } in lvl_swvk) } in lvl_swvl) (let { > > = GHC.Base.build @ GHC.Types.Char (let { > > = \ > -> GHC.CString.unpackFoldrCString# @ b_a4Iy "Fixed"# } in lvl_swvm) } in lvl_swvn) } in lvl_swvo) } in lvl_swvp) (Language.Haskell.TH.Lib.appE (let { > > = Language.Haskell.TH.Lib.varE (let { > > = Language.Haskell.TH.Syntax.mkNameG_v (let { > > = GHC.Base.build @ GHC.Types.Char (let { > > = \ > -> GHC.CString.unpackFoldrCString# @ b_a4Iy "base"# } in lvl_swvq) } in lvl_swvr) (let { > > = GHC.Base.build @ GHC.Types.Char (let { > > = \ > -> GHC.CString.unpackFoldrCString# @ b_a4Iy "GHC.Num"# } in lvl_swvs) } in lvl_swvt) (let { > > = GHC.Base.build @ GHC.Types.Char (let { > > = \ > -> GHC.CString.unpackFoldrCString# @ b_a4Iy "fromInteger"# } in lvl_swvu) } in lvl_swvv) } in lvl_swvw) } in lvl_swvx) (Language.Haskell.TH.Syntax.lift @ GHC.Integer.Type.Integer Language.Haskell.TH.Syntax.$fLiftInteger (case GHC.Integer.Type.gtInteger truncated_swu2 rMax_swu0 of > { GHC.Types.False -> case GHC.Integer.Type.ltInteger truncated_swu2 rMin_swu1 of > { GHC.Types.False -> truncated_swu2; GHC.Types.True -> rMin_swu1 }; GHC.Types.True -> rMax_swu0 })))) > > = \ > > > > -> let { > > = case tup_avmQ of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_B6 } } in let { > > = case tup_avmQ of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_B5 } } in let { > > = case tup_avmQ of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_B2 } } in let { > > = case case cobox_swtW of > { GHC.Types.Eq# > -> GHC.Types.Eq# @ * @ (CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy (n_aviz GHC.TypeLits.+ 2))) CLaSH.Bit.Bit) @ (CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit) @~ (CLaSH.Sized.Vector.Vec cobox_dw6Z _N)_N } of > { GHC.Types.Eq# > -> (CLaSH.Class.BitVector.toBV @ (rep_aviy (n_aviz GHC.TypeLits.+ 2)) (case tup_avmQ of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_B4 }) (case cobox_swtW of > { GHC.Types.Eq# > -> (case tup_avmQ of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_B8 }) `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw6Y))_R :: GHC.TypeLits.KnownNat (n_aviz GHC.TypeLits.+ 2) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy (n_aviz GHC.TypeLits.+ 2)))) }) eta_B1) `cast` (Sub cobox_dw6X :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy (n_aviz GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit) } } in let { > > = CLaSH.Sized.Vector.vtail @ n_aviz @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (case case case cobox_swtU of > { GHC.Types.Eq# > -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ (n_aviz GHC.TypeLits.+ 2) @ ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) @~ (Sym cobox_dw7d) } of > { GHC.Types.Eq# > -> GHC.Types.Eq# @ * @ (CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit) @ (CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit) @~ (CLaSH.Sized.Vector.Vec cobox_dw75 _N)_N } of > { GHC.Types.Eq# > -> repBV_swtT `cast` (Sub cobox_dvY9 :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit) })) } in case Data.Bits.isSigned @ (rep_aviy (n_aviz GHC.TypeLits.+ 2)) (case tup_avmQ of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_Ba }) eta_B1 of > { GHC.Types.False -> let { > > = CLaSH.Sized.Vector.vhead @ n_aviz @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (case case case cobox_swtU of > { GHC.Types.Eq# > -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ (n_aviz GHC.TypeLits.+ 2) @ ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) @~ (Sym cobox_dw7g) } of > { GHC.Types.Eq# > -> GHC.Types.Eq# @ * @ (CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit) @ (CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit) @~ (CLaSH.Sized.Vector.Vec cobox_dw73 _N)_N } of > { GHC.Types.Eq# > -> repBV_swtT `cast` (Sub cobox_dvYc :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit) })) } in case CLaSH.Sized.Vector.vhead @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (case case case cobox_swtU of > { GHC.Types.Eq# > -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ (n_aviz GHC.TypeLits.+ 2) @ ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) @~ (Sym cobox_dw7j) } of > { GHC.Types.Eq# > -> GHC.Types.Eq# @ * @ (CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit) @ (CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit) @~ (CLaSH.Sized.Vector.Vec cobox_dw71 _N)_N } of > { GHC.Types.Eq# > -> repBV_swtT `cast` (Sub cobox_dw6W :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit) }) of > { CLaSH.Bit.H -> case ds_swtR of > { CLaSH.Bit.H -> GHC.Enum.minBound @ (rep_aviy n_aviz) (case tup_avmQ of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_B9 }); CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_aviy n_aviz) (case tup_avmQ of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_B3 }) (case cobox_swtV of > { GHC.Types.Eq# > -> (case tup_avmQ of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_B7 }) `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw7b))_R :: GHC.TypeLits.KnownNat n_aviz ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz))) }) (case case cobox_swtV of > { GHC.Types.Eq# > -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ n_aviz @ (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) @~ (Sym cobox_dw7c) } of > { GHC.Types.Eq# > -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec cobox_dw6T _R)_R :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) CLaSH.Bit.Bit) }) }; CLaSH.Bit.L -> case ds_swtR of > { CLaSH.Bit.H -> GHC.Enum.maxBound @ (rep_aviy n_aviz) (case tup_avmQ of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_B9 }); CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_aviy n_aviz) (case tup_avmQ of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_B3 }) (case cobox_swtV of > { GHC.Types.Eq# > -> (case tup_avmQ of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_B7 }) `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw7b))_R :: GHC.TypeLits.KnownNat n_aviz ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz))) }) (case case cobox_swtV of > { GHC.Types.Eq# > -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ n_aviz @ (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) @~ (Sym cobox_dw7c) } of > { GHC.Types.Eq# > -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec cobox_dw6T _R)_R :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) CLaSH.Bit.Bit) }) } }; GHC.Types.True -> case CLaSH.Sized.Vector.vhead @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (case case case cobox_swtU of > { GHC.Types.Eq# > -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ (n_aviz GHC.TypeLits.+ 2) @ ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) @~ (Sym cobox_dw7j) } of > { GHC.Types.Eq# > -> GHC.Types.Eq# @ * @ (CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit) @ (CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit) @~ (CLaSH.Sized.Vector.Vec cobox_dw71 _N)_N } of > { GHC.Types.Eq# > -> repBV_swtT `cast` (Sub cobox_dw6W :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit) }) of > { CLaSH.Bit.H -> case CLaSH.Sized.Vector.vhead' @ n_aviz @ CLaSH.Bit.Bit (case tup_avmQ of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_X1p }) s_swtS of > { CLaSH.Bit.H -> CLaSH.Class.BitVector.fromBV @ (rep_aviy n_aviz) (case tup_avmQ of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_B3 }) (case cobox_swtV of > { GHC.Types.Eq# > -> (case tup_avmQ of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_B7 }) `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw79))_R :: GHC.TypeLits.KnownNat n_aviz ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz))) }) (case case cobox_swtV of > { GHC.Types.Eq# > -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ n_aviz @ (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) @~ (Sym cobox_dw7a) } of > { GHC.Types.Eq# > -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec cobox_dw6S _R)_R :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) CLaSH.Bit.Bit) }); CLaSH.Bit.L -> GHC.Enum.minBound @ (rep_aviy n_aviz) (case tup_avmQ of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_B9 }) }; CLaSH.Bit.L -> case CLaSH.Sized.Vector.vhead' @ n_aviz @ CLaSH.Bit.Bit (case tup_avmQ of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_X1p }) s_swtS of > { CLaSH.Bit.H -> GHC.Enum.maxBound @ (rep_aviy n_aviz) (case tup_avmQ of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_B9 }); CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_aviy n_aviz) (case tup_avmQ of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_B3 }) (case cobox_swtV of > { GHC.Types.Eq# > -> (case tup_avmQ of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_B7 }) `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw79))_R :: GHC.TypeLits.KnownNat n_aviz ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz))) }) (case case cobox_swtV of > { GHC.Types.Eq# > -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ n_aviz @ (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) @~ (Sym cobox_dw7a) } of > { GHC.Types.Eq# > -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec cobox_dw6S _R)_R :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) CLaSH.Bit.Bit) }) } } } > > = \ > > > > > > > -> let { <$dKnownNat_swtI,<1,1>> <$dKnownNat_swtI,<1,1>> = case tup_avnK of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B8 } } in let { <$dKnownNat_swtH,<1,2>> <$dKnownNat_swtH,<1,2>> = case tup_avnK of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B7 } } in let { <$dResize_swtG,<1,3>> <$dResize_swtG,<1,3>> = case tup_avnK of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B6 } } in let { <$dBits_swtF,<1,4>> <$dBits_swtF,<1,4>> = case tup_avnK of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B5 } } in let { <$dNum_swtE,<1,5>> <$dNum_swtE,<1,5>> = case tup_avnK of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B4 } } in let { <$dBounded_swtD,<1,6>> <$dBounded_swtD,<1,6>> = case tup_avnK of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_X1u } } in let { > > = GHC.Num.$fNumInt_$cfromInteger (GHC.TypeLits.natVal @ frac2_avjr @ Data.Proxy.Proxy (case tup_avnK of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_Ba }) (Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac2_avjr)) } in let { > > = GHC.Num.$fNumInt_$cfromInteger (GHC.TypeLits.natVal @ frac1_avjq @ Data.Proxy.Proxy (case tup_avnK of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_Bb }) (Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac1_avjq)) } in case GHC.Integer.Type.leInteger (GHC.TypeLits.natVal @ size1_avjt @ Data.Proxy.Proxy $dKnownNat_swtI (Data.Proxy.Proxy @ GHC.TypeLits.Nat @ size1_avjt)) (GHC.TypeLits.natVal @ size2_avju @ Data.Proxy.Proxy $dKnownNat_swtH (Data.Proxy.Proxy @ GHC.TypeLits.Nat @ size2_avju)) of > { GHC.Types.False -> let { > > = GHC.Enum.maxBound @ (rep_avjs size2_avju) $dBounded_swtD } in let { > > = Data.Bits.complement @ (rep_avjs size1_avjt) $dBits_swtF (CLaSH.Class.Num.resize @ rep_avjs $dResize_swtG @ size2_avju @ size1_avjt $dKnownNat_swtH $dKnownNat_swtI fMax_swtA) } in case GHC.Classes.leInt argFracSZ_swtB resFracSZ_swtC of > { GHC.Types.False -> let { > > = Data.Bits.shiftR @ (rep_avjs size1_avjt) $dBits_swtF (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt)) (GHC.Num.$fNumInt_$c- argFracSZ_swtB resFracSZ_swtC) } in case GHC.Classes.>= @ (rep_avjs size1_avjt) (case tup_avnK of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B3 }) (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt)) (GHC.Num.fromInteger @ (rep_avjs size1_avjt) $dNum_swtE (let { > > = __integer 0 } in lvl_swvy)) of > { GHC.Types.False -> case GHC.Classes.== @ (rep_avjs size1_avjt) (Data.Bits.$p1Bits @ (rep_avjs size1_avjt) $dBits_swtF) (Data.Bits..&. @ (rep_avjs size1_avjt) $dBits_swtF shiftedR_swty mask_swtz) mask_swtz of > { GHC.Types.False -> (GHC.Enum.minBound @ (rep_avjs size2_avju) $dBounded_swtD) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> (CLaSH.Class.Num.resize @ rep_avjs $dResize_swtG @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH shiftedR_swty) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) }; GHC.Types.True -> case GHC.Classes.== @ (rep_avjs size1_avjt) (Data.Bits.$p1Bits @ (rep_avjs size1_avjt) $dBits_swtF) (Data.Bits..&. @ (rep_avjs size1_avjt) $dBits_swtF shiftedR_swty mask_swtz) (GHC.Num.fromInteger @ (rep_avjs size1_avjt) $dNum_swtE (let { > > = __integer 0 } in lvl_swvz)) of > { GHC.Types.False -> fMax_swtA `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> (CLaSH.Class.Num.resize @ rep_avjs $dResize_swtG @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH shiftedR_swty) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) } }; GHC.Types.True -> let { > > = Data.Bits.shiftL @ (rep_avjs size1_avjt) $dBits_swtF (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt)) (GHC.Num.$fNumInt_$c- resFracSZ_swtC argFracSZ_swtB) } in case GHC.Classes.>= @ (rep_avjs size1_avjt) (case tup_avnK of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B3 }) (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt)) (GHC.Num.fromInteger @ (rep_avjs size1_avjt) $dNum_swtE (let { > > = __integer 0 } in lvl_swvA)) of > { GHC.Types.False -> case GHC.Classes.== @ (rep_avjs size1_avjt) (Data.Bits.$p1Bits @ (rep_avjs size1_avjt) $dBits_swtF) (Data.Bits..&. @ (rep_avjs size1_avjt) $dBits_swtF shiftedL_swtK mask_swtz) mask_swtz of > { GHC.Types.False -> (GHC.Enum.minBound @ (rep_avjs size2_avju) $dBounded_swtD) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> (CLaSH.Class.Num.resize @ rep_avjs $dResize_swtG @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH shiftedL_swtK) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) }; GHC.Types.True -> case GHC.Classes.== @ (rep_avjs size1_avjt) (Data.Bits.$p1Bits @ (rep_avjs size1_avjt) $dBits_swtF) (Data.Bits..&. @ (rep_avjs size1_avjt) $dBits_swtF shiftedL_swtK mask_swtz) (GHC.Num.fromInteger @ (rep_avjs size1_avjt) $dNum_swtE (let { > > = __integer 0 } in lvl_swvB)) of > { GHC.Types.False -> fMax_swtA `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> (CLaSH.Class.Num.resize @ rep_avjs $dResize_swtG @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH shiftedL_swtK) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) } } }; GHC.Types.True -> case GHC.Classes.leInt argFracSZ_swtB resFracSZ_swtC of > { GHC.Types.False -> (Data.Bits.shiftR @ (rep_avjs size2_avju) (case tup_avnK of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B9 }) (CLaSH.Class.Num.resize @ rep_avjs $dResize_swtG @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt))) (GHC.Num.$fNumInt_$c- argFracSZ_swtB resFracSZ_swtC)) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> (Data.Bits.shiftL @ (rep_avjs size2_avju) (case tup_avnK of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B9 }) (CLaSH.Class.Num.resize @ rep_avjs $dResize_swtG @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt))) (GHC.Num.$fNumInt_$c- resFracSZ_swtC argFracSZ_swtB)) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) } } > > = \ > > > > -> Data.Proxy.Proxy @ (GHC.TypeLits.Nat -> *) @ rep_avk7 > > = \ > > > > -> Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac_avkp > > = \ > > > <$dKnownNat_avxa,<1,0>> > -> GHC.Num.$fNumInt_$cfromInteger (GHC.TypeLits.natVal @ frac_avjN @ Data.Proxy.Proxy $dKnownNat_avxa (CLaSH.Sized.Fixed.asFracProxy @ frac_avjN @ rep_avjO @ size_avjP f_auGd)) > > = \ > > > -> ds_dvZi > > = a_swaI `cast` (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL)) ~# (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL))) > > = \ > > > > -> fRep_auGb > > = a_swaJ `cast` (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) ~# (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Fixed.Fixed frac_avl5 CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5))) > > = \ > > > -> ds_dvZu > > = a_swaK `cast` (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq)) ~# (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq))) > > = \ > > > > -> fRep_auG9 > > = a_swaL `cast` (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) ~# (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Fixed.Fixed frac_avlK CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK))) > > = \ > > > > -> ds_dvZF > > = a_swaM `cast` (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4) ~# (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> rep_auI3 size_auI4)) <$cshow_avFD,<0,0>> <$cshow_avFD,<0,0>> = \ > > > <$dShow_avFv,<1,0>> <$dBits_avFw,<1,0>> <$dKnownNat_avFx,<1,0>> <$dIntegral_avFy,<1,0>> > -> let { > > = GHC.Real.toInteger @ (rep_auHy size_auHz) $dIntegral_avFy (f_auHA `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz ~# rep_auHy size_auHz)) } in let { > > = GHC.Integer.Type.absInteger fRepI_swtk } in let { > > = CLaSH.Sized.Fixed.fracShift @ frac_auHx @ rep_auHy @ size_auHz $dKnownNat_avFx f_auHA } in GHC.Base.augment @ GHC.Types.Char (\ > > > -> GHC.Base.foldr @ GHC.Types.Char @ b_a4II c_a4IJ n_a4IK (case GHC.Integer.Type.ltInteger fRepI_swtk (let { > > = __integer 0 } in lvl_swvC) of > { GHC.Types.False -> GHC.Show.$fShowInteger_$cshow (Data.Bits.$fBitsInteger_$cshiftR fRepI_swtk nF_swti); GHC.Types.True -> GHC.Types.: @ GHC.Types.Char (let { > > = GHC.Types.C# '-' } in lvl_swvD) (GHC.Show.$fShowInteger_$cshow (Data.Bits.$fBitsInteger_$cshiftR fRepI_abs_swtj nF_swti)) })) (GHC.Base.augment @ GHC.Types.Char (let { > > = \ > > > -> c_X4Kp (let { > > = GHC.Types.C# '.' } in lvl_swvE) n_X4Kr } in lvl_swvF) (GHC.Base.$ @ (GHC.Real.Ratio GHC.Integer.Type.Integer) @ [GHC.Types.Char] (let { > > = GHC.Base.. @ (GHC.Types.Int, [GHC.Types.Char]) @ [GHC.Types.Char] @ (GHC.Real.Ratio GHC.Integer.Type.Integer) (let { > > = Data.Tuple.uncurry @ GHC.Types.Int @ [GHC.Types.Char] @ [GHC.Types.Char] (let { > > = \ > > -> GHC.Base.augment @ GHC.Types.Char (\ > > > -> GHC.Base.foldr @ GHC.Types.Char @ b_X4M9 c_X4Mc n_X4Kt (GHC.List.replicate @ GHC.Types.Char (GHC.Num.$fNumInt_$c- n_auHJ (GHC.Base.foldr @ GHC.Types.Char @ (GHC.Prim.Int# -> GHC.Types.Int) (GHC.List.incLen @ GHC.Types.Char) GHC.Types.I# str_auHK 0)) (let { > > = GHC.Types.C# '0' } in lvl_swvG))) str_auHK } in lvl_swvH) } in lvl_swvI) (let { > > = GHC.Base.. @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) @ (GHC.Types.Int, [GHC.Types.Char]) @ (GHC.Real.Ratio GHC.Integer.Type.Integer) (let { > > = Control.Arrow.$fArrow(->)_$csecond @ (GHC.Real.Ratio GHC.Integer.Type.Integer) @ [GHC.Types.Char] @ GHC.Types.Int (let { > > = GHC.Base.. @ GHC.Integer.Type.Integer @ GHC.Base.String @ (GHC.Real.Ratio GHC.Integer.Type.Integer) GHC.Show.$fShowInteger_$cshow (let { > > = GHC.Real.numerator @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger } in lvl_swvJ) } in lvl_swvK) } in lvl_swvL) (let { > > = GHC.Base.. @ (Data.Maybe.Maybe (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) @ (GHC.Real.Ratio GHC.Integer.Type.Integer) (Data.Maybe.fromJust @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) (let { > > = GHC.Base.. @ [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)] @ (Data.Maybe.Maybe (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) @ (GHC.Real.Ratio GHC.Integer.Type.Integer) (let { > > = Data.List.find @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) (let { > > = GHC.Base.. @ GHC.Integer.Type.Integer @ GHC.Types.Bool @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) (let { > > = let { > > = __integer 1 } in \ > -> GHC.Integer.Type.eqInteger ds_dw44 ds_swvM } in lvl_swvN) (let { > > = GHC.Base.. @ (GHC.Real.Ratio GHC.Integer.Type.Integer) @ GHC.Integer.Type.Integer @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) (let { > > = GHC.Real.denominator @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger } in lvl_swvO) (Data.Tuple.snd @ GHC.Types.Int @ (GHC.Real.Ratio GHC.Integer.Type.Integer)) } in lvl_swvP) } in lvl_swvQ) } in lvl_swvR) (let { > > = GHC.Base.. @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) @ [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)] @ (GHC.Real.Ratio GHC.Integer.Type.Integer) (let { > > = GHC.List.iterate @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) (let { > > = Control.Arrow.$fArrow(->)_$c*** @ GHC.Types.Int @ GHC.Types.Int @ (GHC.Real.Ratio GHC.Integer.Type.Integer) @ (GHC.Real.Ratio GHC.Integer.Type.Integer) GHC.Enum.$fEnumInt_$csucc (let { > > = let { > > = GHC.Real.$fNumRatio_$s$cfromInteger (let { > > = __integer 10 } in lvl_swvS) } in \ > -> GHC.Real.$fNumRatio_$s$c* ds_dw47 ds_swvT } in lvl_swvU) } in lvl_swvV) } in lvl_swvW) (let { > > = GHC.Tuple.(,) @ GHC.Types.Int @ (GHC.Real.Ratio GHC.Integer.Type.Integer) (let { > > = GHC.Types.I# 0 } in lvl_swvX) } in lvl_swvY) } in lvl_swvZ) } in lvl_sww0) } in lvl_sww1) } in lvl_sww2) } in lvl_sww3) (GHC.Real.%_$s% (case GHC.Integer.Type.ltInteger fRepI_swtk (let { > > = __integer 0 } in lvl_sww4) of > { GHC.Types.False -> GHC.Integer.Type.andInteger fRepI_swtk (GHC.Integer.Type.minusInteger (GHC.Real.^ @ GHC.Integer.Type.Integer @ GHC.Types.Int GHC.Num.$fNumInteger GHC.Real.$fIntegralInt (let { > > = __integer 2 } in lvl_sww5) nF_swti) (let { > > = __integer 1 } in lvl_sww6)); GHC.Types.True -> GHC.Integer.Type.andInteger fRepI_abs_swtj (GHC.Integer.Type.minusInteger (GHC.Real.^ @ GHC.Integer.Type.Integer @ GHC.Types.Int GHC.Num.$fNumInteger GHC.Real.$fIntegralInt (let { > > = __integer 2 } in lvl_sww7) nF_swti) (let { > > = __integer 1 } in lvl_sww8)) }) (GHC.Real.^ @ GHC.Integer.Type.Integer @ GHC.Types.Int GHC.Num.$fNumInteger GHC.Real.$fIntegralInt (let { > > = __integer 2 } in lvl_sww9) nF_swti)))) <$cshowsPrec_avFB,<0,0>> <$cshowsPrec_avFB,<0,0>> = \ > > > <$dShow_avFv,<1,0>> <$dBits_avFw,<1,0>> <$dKnownNat_avFx,<1,0>> <$dIntegral_avFy,<1,0>> > > > -> GHC.Base.augment @ GHC.Types.Char (\ > > > -> GHC.Base.foldr @ GHC.Types.Char @ b_a2g3 c_a2g4 n_a2g5 ($cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy x_a2fY)) s_a2fZ > > = \ > > > <$dShow_avFv,<1,0>> <$dBits_avFw,<1,0>> <$dKnownNat_avFx,<1,0>> <$dIntegral_avFy,<1,0>> -> GHC.Show.D:Show @ (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) ($cshowsPrec_avFB @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy) ($cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy) ($cshowList_avIE @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy); <$cshowList_avIE,<0,0>> <$cshowList_avIE,<0,0>> = \ > > > <$dShow_avFv,<1,0>> <$dBits_avFw,<1,0>> <$dKnownNat_avFx,<1,0>> <$dIntegral_avFy,<1,0>> -> let { <$dShow_swtc,<1,1>> <$dShow_swtc,<1,1>> = CLaSH.Sized.Fixed.$fShowFixed @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy } in \ > > -> GHC.Show.showList__ @ (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (let { > > = GHC.Show.shows @ (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) $dShow_swtc } in lvl_swwa) ls_a2fk s_a2fl; > > = \ > > > > > > > > -> case case tup_avFg of > { (>, >) -> tpl_X1B } of > { GHC.Types.Eq# > -> (CLaSH.Class.Num.mult @ (rep_auHr size1_auHs) @ (rep_auHr size2_auHu) (case tup_avFg of > { (>, >) -> tpl_X1C }) (eta_B2 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs ~# rep_auHr size1_auHs)) (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu ~# rep_auHr size2_auHu))) `cast` (Sub cobox_dw3M :: CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) } <$cmult_avFi,<0,0>> <$cmult_avFi,<0,0>> = a_swjx `cast` (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). _R -> _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:MResultFixedFixed[0] _N _N _N _N _N)) :: (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) ~# (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu))) > > = $cmult_avFi `cast` (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). _R -> Sym (CLaSH.Class.Num.NTCo:Mult[0] _N _N) :: (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_XuJ1 frac1_XuIZ frac2_XuJ5 size1_XuJ3 size2_XuJ7) => CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3 -> CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7 -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3) (CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7)) ~# (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_XuJ1 frac1_XuIZ frac2_XuJ5 size1_XuJ3 size2_XuJ7) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3) (CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7))) <$cminus_avEx,<0,0>> <$cminus_avEx,<0,0>> = \ > > > > > > > > -> letrec { <$dBits_swt2,<1,1>> <$dBits_swt2,<1,1>> = case tup_swt3 of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B5 }; > > = case tup_avDN of > { (>, >, >) -> tpl_X1Z }; } in letrec { <$dKnownNat_swt4,<1,2>> <$dKnownNat_swt4,<1,2>> = case tup_swta of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_Ba }; <$dBits_swt5,<1,2>> <$dBits_swt5,<1,2>> = case tup_swta of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B9 }; <$dKnownNat_swt6,<1,2>> <$dKnownNat_swt6,<1,2>> = case tup_swta of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B7 }; <$dResize_swt7,<1,2>> <$dResize_swt7,<1,2>> = case tup_swta of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B6 }; <$dBits_swt8,<1,2>> <$dBits_swt8,<1,2>> = case tup_swta of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B5 }; <$dBounded_swt9,<1,2>> <$dBounded_swt9,<1,2>> = case tup_swta of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_X1N }; > > = case tup_avDN of > { (>, >, >) -> tpl_X1N }; } in (GHC.Num.- @ (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (case tup_avDN of > { (>, >, >) -> tpl_B3 }) ((CLaSH.Sized.Fixed.resizeF @ frac1_auHd @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size1_auHf @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ($dBounded_swt9, Data.Bits.$p1Bits @ (rep_auHe size1_auHf) $dBits_swt2, case tup_swt3 of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B3 }, case tup_swt3 of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B4 }, $dBits_swt2, $dResize_swt7, $dKnownNat_swt6, case tup_swt3 of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B8 }, $dBits_swt5, $dKnownNat_swt4, case tup_swt3 of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_Bb }, case tup_swt3 of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_Bc }) eta_X1I) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1))) ((CLaSH.Sized.Fixed.resizeF @ frac2_auHg @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size2_auHh @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ($dBounded_swt9, Data.Bits.$p1Bits @ (rep_auHe size2_auHh) $dBits_swt8, case tup_swta of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B3 }, case tup_swta of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B4 }, $dBits_swt8, $dResize_swt7, $dKnownNat_swt6, case tup_swta of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B8 }, $dBits_swt5, $dKnownNat_swt4, case tup_swta of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_Bb }, case tup_swta of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_Bc }) eta_X3p) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:AResultFixedFixed[0] _N _N _N _N _N)) :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh)) <$cplus_avDP,<0,0>> <$cplus_avDP,<0,0>> = \ > > > > > > > > -> letrec { <$dBits_swsK,<1,1>> <$dBits_swsK,<1,1>> = case tup_swsL of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B5 }; > > = case tup_avDN of > { (>, >, >) -> tpl_X20 }; } in letrec { <$dKnownNat_swsM,<1,2>> <$dKnownNat_swsM,<1,2>> = case tup_swsS of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_Ba }; <$dBits_swsN,<1,2>> <$dBits_swsN,<1,2>> = case tup_swsS of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B9 }; <$dKnownNat_swsO,<1,2>> <$dKnownNat_swsO,<1,2>> = case tup_swsS of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B7 }; <$dResize_swsP,<1,2>> <$dResize_swsP,<1,2>> = case tup_swsS of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B6 }; <$dBits_swsQ,<1,2>> <$dBits_swsQ,<1,2>> = case tup_swsS of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B5 }; <$dBounded_swsR,<1,2>> <$dBounded_swsR,<1,2>> = case tup_swsS of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_X1O }; > > = case tup_avDN of > { (>, >, >) -> tpl_X1O }; } in (GHC.Num.+ @ (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (case tup_avDN of > { (>, >, >) -> tpl_B3 }) ((CLaSH.Sized.Fixed.resizeF @ frac1_auHd @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size1_auHf @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ($dBounded_swsR, Data.Bits.$p1Bits @ (rep_auHe size1_auHf) $dBits_swsK, case tup_swsL of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B3 }, case tup_swsL of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B4 }, $dBits_swsK, $dResize_swsP, $dKnownNat_swsO, case tup_swsL of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B8 }, $dBits_swsN, $dKnownNat_swsM, case tup_swsL of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_Bb }, case tup_swsL of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_Bc }) eta_X1J) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1))) ((CLaSH.Sized.Fixed.resizeF @ frac2_auHg @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size2_auHh @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ($dBounded_swsR, Data.Bits.$p1Bits @ (rep_auHe size2_auHh) $dBits_swsQ, case tup_swsS of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B3 }, case tup_swsS of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B4 }, $dBits_swsQ, $dResize_swsP, $dKnownNat_swsO, case tup_swsS of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B8 }, $dBits_swsN, $dKnownNat_swsM, case tup_swsS of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_Bb }, case tup_swsS of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_Bc }) eta_X3r) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:AResultFixedFixed[0] _N _N _N _N _N)) :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh)) > > = \ > > > > > > -> CLaSH.Class.Num.D:Add @ (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) @ (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) ($cplus_avDP @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN) ($cminus_avEx @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN) <$cfromInteger_avDp,<0,0>> <$cfromInteger_avDp,<0,0>> = \ > > > > > -> let { > > = case tup_avBm of > { (>, >, >, >, >, >) -> tpl_X1N } } in (Data.Bits.shiftL @ (rep_auGZ size_auH0) (case tup_swsA of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B9 }) (GHC.Num.fromInteger @ (rep_auGZ size_auH0) (case tup_avBm of > { (>, >, >, >, >, >) -> tpl_B3 }) eta_X1I) (GHC.Num.$fNumInt_$cfromInteger (GHC.TypeLits.natVal @ frac_auGY @ Data.Proxy.Proxy (case tup_swsA of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_Ba }) (Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac_auGY)))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auGZ size_auH0 ~# CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) > > = \ > > > > > -> GHC.Num.signum @ (rep_auGZ size_auH0) (case tup_avBm of > { (>, >, >, >, >, >) -> tpl_B3 }) (eta_X1J `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 ~# rep_auGZ size_auH0)) <$csignum_avDg,<0,0>> <$csignum_avDg,<0,0>> = a_swkh `cast` (forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> rep_auGZ size_auH0) ~# (forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0)) <$cabs_avCW,<0,0>> <$cabs_avCW,<0,0>> = \ > > > > > -> letrec { <$dKnownNat_swsv,<1,1>> <$dKnownNat_swsv,<1,1>> = case tup_swsw of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_B8 }; > > = case tup_XvDa of > { (>, >, >, >, >, >) -> tpl_X1X }; } in letrec { <$dKnownNat_swsx,<1,2>> <$dKnownNat_swsx,<1,2>> = case tup_swsy of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B7 }; > > = case tup_XvDa of > { (>, >, >, >, >, >) -> tpl_X1V }; } in (CLaSH.Sized.Fixed.satN2 @ rep_XuIL @ size_XuIN (case tup_swsw of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_X20 }, case tup_swsw of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_X22 }, case tup_swsw of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_B3 }, case tup_swsw of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_B4 }, case tup_swsw of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_B5 }, case tup_swsw of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_B6 }, $dKnownNat_swsx, $dKnownNat_swsv, case tup_swsy of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_X20 }, case tup_swsw of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_Ba }) (GHC.Num.abs @ (rep_XuIL (size_XuIN GHC.TypeLits.+ 2)) (case tup_XvDa of > { (>, >, >, >, >, >) -> tpl_B4 }) (CLaSH.Class.Num.resize @ rep_XuIL (case tup_swsy of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B6 }) @ size_XuIN @ (size_XuIN GHC.TypeLits.+ 2) $dKnownNat_swsx $dKnownNat_swsv (eta_X1Q `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIJ rep_XuIL size_XuIN ~# rep_XuIL size_XuIN))))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIL size_XuIN ~# CLaSH.Sized.Fixed.Fixed frac_XuIJ rep_XuIL size_XuIN) <$cnegate_avCC,<0,0>> <$cnegate_avCC,<0,0>> = \ > > > > > -> letrec { <$dKnownNat_swsn,<1,1>> <$dKnownNat_swsn,<1,1>> = case tup_swso of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_B8 }; > > = case tup_XvDb of > { (>, >, >, >, >, >) -> tpl_X1Y }; } in letrec { <$dKnownNat_swsp,<1,2>> <$dKnownNat_swsp,<1,2>> = case tup_swsq of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B7 }; > > = case tup_XvDb of > { (>, >, >, >, >, >) -> tpl_X1W }; } in (CLaSH.Sized.Fixed.satN2 @ rep_XuIM @ size_XuIO (case tup_swso of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_X21 }, case tup_swso of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_X23 }, case tup_swso of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_B3 }, case tup_swso of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_B4 }, case tup_swso of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_B5 }, case tup_swso of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_B6 }, $dKnownNat_swsp, $dKnownNat_swsn, case tup_swsq of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_X21 }, case tup_swso of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_Ba }) (GHC.Num.negate @ (rep_XuIM (size_XuIO GHC.TypeLits.+ 2)) (case tup_XvDb of > { (>, >, >, >, >, >) -> tpl_B4 }) (CLaSH.Class.Num.resize @ rep_XuIM (case tup_swsq of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B6 }) @ size_XuIO @ (size_XuIO GHC.TypeLits.+ 2) $dKnownNat_swsp $dKnownNat_swsn (eta_X1R `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIK rep_XuIM size_XuIO ~# rep_XuIM size_XuIO))))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIM size_XuIO ~# CLaSH.Sized.Fixed.Fixed frac_XuIK rep_XuIM size_XuIO) <$c-_avCb,<0,0>> <$c-_avCb,<0,0>> = \ > > > > > > -> letrec { <$dKnownNat_swse,<1,1>> <$dKnownNat_swse,<1,1>> = case tup_swsf of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_B8 }; > > = case tup_XvDc of > { (>, >, >, >, >, >) -> tpl_X22 }; } in letrec { <$dKnownNat_swsg,<1,2>> <$dKnownNat_swsg,<1,2>> = case tup_swsi of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B7 }; > > = case tup_XvDc of > { (>, >, >, >, >, >) -> tpl_X1Y }; } in let { <$dResize_swsh,<1,3>> <$dResize_swsh,<1,3>> = case tup_swsi of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B6 } } in (CLaSH.Sized.Fixed.satN2 @ rep_XuIN @ size_XuIP (case tup_swsf of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_X25 }, case tup_swsf of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_X27 }, case tup_swsf of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_B3 }, case tup_swsf of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_B4 }, case tup_swsf of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_B5 }, case tup_swsf of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_B6 }, $dKnownNat_swsg, $dKnownNat_swse, case tup_swsi of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_X25 }, case tup_swsf of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_Ba }) (GHC.Num.- @ (rep_XuIN (size_XuIP GHC.TypeLits.+ 2)) (case tup_XvDc of > { (>, >, >, >, >, >) -> tpl_B4 }) (CLaSH.Class.Num.resize @ rep_XuIN $dResize_swsh @ size_XuIP @ (size_XuIP GHC.TypeLits.+ 2) $dKnownNat_swsg $dKnownNat_swse (eta_X1T `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP ~# rep_XuIN size_XuIP))) (CLaSH.Class.Num.resize @ rep_XuIN $dResize_swsh @ size_XuIP @ (size_XuIP GHC.TypeLits.+ 2) $dKnownNat_swsg $dKnownNat_swse (eta_X3L `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP ~# rep_XuIN size_XuIP))))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIN size_XuIP ~# CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP) <$c*_avBP,<0,0>> <$c*_avBP,<0,0>> = \ > > > > > > -> letrec { <$dBits_sws7,<1,1>> <$dBits_sws7,<1,1>> = case tup_sws8 of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B5 }; > > = case tup_XvDd of > { (>, >, >, >, >, >) -> tpl_X1Z }; } in CLaSH.Sized.Fixed.resizeF @ (frac_XuIM GHC.TypeLits.+ frac_XuIM) @ frac_XuIM @ rep_XuIO @ (size_XuIQ GHC.TypeLits.+ size_XuIQ) @ size_XuIQ (case tup_sws8 of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_X20 }, Data.Bits.$p1Bits @ (rep_XuIO (size_XuIQ GHC.TypeLits.+ size_XuIQ)) $dBits_sws7, case tup_sws8 of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B3 }, case tup_sws8 of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B4 }, $dBits_sws7, case tup_sws8 of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B6 }, case tup_sws8 of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B7 }, case tup_sws8 of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B8 }, case tup_sws8 of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B9 }, case tup_sws8 of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_Ba }, case tup_sws8 of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_Bb }, case tup_sws8 of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_Bc }) ((case case tup_XvDd of > { (>, >, >, >, >, >) -> tpl_B6 } of > { GHC.Types.Eq# > -> (CLaSH.Class.Num.mult @ (rep_XuIO size_XuIQ) @ (rep_XuIO size_XuIQ) (case tup_XvDd of > { (>, >, >, >, >, >) -> tpl_B5 }) (eta_X1U `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ ~# rep_XuIO size_XuIQ)) (eta_X3N `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ ~# rep_XuIO size_XuIQ))) `cast` (Sub cobox_dw1a :: CLaSH.Class.Num.MResult (rep_XuIO size_XuIQ) (rep_XuIO size_XuIQ) ~# rep_XuIO (size_XuIQ GHC.TypeLits.+ size_XuIQ)) }) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIO (size_XuIQ GHC.TypeLits.+ size_XuIQ) ~# CLaSH.Sized.Fixed.Fixed (frac_XuIM GHC.TypeLits.+ frac_XuIM) rep_XuIO (size_XuIQ GHC.TypeLits.+ size_XuIQ))) <$c+_avBo,<0,0>> <$c+_avBo,<0,0>> = \ > > > > > > -> letrec { <$dKnownNat_sws0,<1,1>> <$dKnownNat_sws0,<1,1>> = case tup_sws1 of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_B8 }; > > = case tup_XvDe of > { (>, >, >, >, >, >) -> tpl_X24 }; } in letrec { <$dKnownNat_sws2,<1,2>> <$dKnownNat_sws2,<1,2>> = case tup_sws4 of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B7 }; > > = case tup_XvDe of > { (>, >, >, >, >, >) -> tpl_X20 }; } in let { <$dResize_sws3,<1,3>> <$dResize_sws3,<1,3>> = case tup_sws4 of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B6 } } in (CLaSH.Sized.Fixed.satN2 @ rep_XuIP @ size_XuIR (case tup_sws1 of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_X27 }, case tup_sws1 of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_X29 }, case tup_sws1 of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_B3 }, case tup_sws1 of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_B4 }, case tup_sws1 of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_B5 }, case tup_sws1 of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_B6 }, $dKnownNat_sws2, $dKnownNat_sws0, case tup_sws4 of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_X27 }, case tup_sws1 of > { (>, >, >, >, >, >, >, >, >, >) -> tpl_Ba }) (GHC.Num.+ @ (rep_XuIP (size_XuIR GHC.TypeLits.+ 2)) (case tup_XvDe of > { (>, >, >, >, >, >) -> tpl_B4 }) (CLaSH.Class.Num.resize @ rep_XuIP $dResize_sws3 @ size_XuIR @ (size_XuIR GHC.TypeLits.+ 2) $dKnownNat_sws2 $dKnownNat_sws0 (eta_X1V `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR ~# rep_XuIP size_XuIR))) (CLaSH.Class.Num.resize @ rep_XuIP $dResize_sws3 @ size_XuIR @ (size_XuIR GHC.TypeLits.+ 2) $dKnownNat_sws2 $dKnownNat_sws0 (eta_X3P `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR ~# rep_XuIP size_XuIR))))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIP size_XuIR ~# CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) > > = \ > > > > -> GHC.Num.D:Num @ (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS) ($c+_avBo @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($c*_avBP @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($c-_avCb @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($cnegate_avCC @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($cabs_avCW @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($csignum_avDg @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($cfromInteger_avDp @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) > > = \ > > > <$dBitVector_avAW,<1,0>> <$dKnownNat_avBa,<1,0>> > -> CLaSH.Class.BitVector.fromBV @ (rep_auGU size_auGV) $dBitVector_avAW ($dKnownNat_avBa `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auGU size_auGV)))) (bv_auGX `cast` ((CLaSH.Sized.Vector.Vec (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auGU size_auGV)) CLaSH.Bit.Bit)) <$cfromBV_avB8,<0,0>> <$cfromBV_avB8,<0,0>> = a_swhq `cast` (forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). _R -> _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). (CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV), GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV))) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) CLaSH.Bit.Bit -> rep_auGU size_auGV) ~# (forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). (CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV), GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV))) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) CLaSH.Bit.Bit -> CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) > > = \ > > > <$dBitVector_XvCL,<1,0>> <$dKnownNat_avB0,<1,0>> > -> CLaSH.Class.BitVector.toBV @ (rep_XuIH size_XuIJ) $dBitVector_XvCL ($dKnownNat_avB0 `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIH size_XuIJ)))) (ds_dw0H `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ ~# rep_XuIH size_XuIJ)) <$ctoBV_avAY,<0,0>> <$ctoBV_avAY,<0,0>> = a_swhr `cast` (forall (frac_XuIF :: GHC.TypeLits.Nat) (rep_XuIH :: GHC.TypeLits.Nat -> *) (size_XuIJ :: GHC.TypeLits.Nat). _R -> _R -> _R -> (CLaSH.Sized.Vector.Vec (Sym (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N)) _R)_R :: (forall (frac_XuIF :: GHC.TypeLits.Nat) (rep_XuIH :: GHC.TypeLits.Nat -> *) (size_XuIJ :: GHC.TypeLits.Nat). (CLaSH.Class.BitVector.BitVector (rep_XuIH size_XuIJ), GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ))) => CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIH size_XuIJ)) CLaSH.Bit.Bit) ~# (forall (frac_XuIF :: GHC.TypeLits.Nat) (rep_XuIH :: GHC.TypeLits.Nat -> *) (size_XuIJ :: GHC.TypeLits.Nat). (CLaSH.Class.BitVector.BitVector (rep_XuIH size_XuIJ), GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ))) => CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ)) CLaSH.Bit.Bit)) > > = \ > > > <$dBitVector_XvCT,<1,0>> -> CLaSH.Class.BitVector.D:BitVector @ (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) ($ctoBV_avAY @ frac_XuIN @ rep_XuIP @ size_XuIR $dBitVector_XvCT) ($cfromBV_avB8 @ frac_XuIN @ rep_XuIP @ size_XuIR $dBitVector_XvCT) > > = \ > > > <$dDefault_avAe,<1,0>> -> Data.Default.Class.def @ (rep_auGM size_auGN) $dDefault_avAe <$cdef_avAg,<0,0>> <$cdef_avAg,<0,0>> = a_swhs `cast` (forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => rep_auGM size_auGN) ~# (forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => CLaSH.Sized.Fixed.Fixed frac_auGL rep_auGM size_auGN)) > > = $cdef_avAg `cast` (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). _R -> Sym (Data.Default.Class.NTCo:Default[0] _N) :: (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuIO size_XuIQ) => CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ) ~# (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuIO size_XuIQ) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ))) > > = \ > > > <$dBounded_avzT,<1,0>> -> GHC.Enum.maxBound @ (rep_auGJ size_auGK) $dBounded_avzT <$cmaxBound_avA4,<0,0>> <$cmaxBound_avA4,<0,0>> = a_swht `cast` (forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_auGJ size_auGK) => rep_auGJ size_auGK) ~# (forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_auGJ size_auGK) => CLaSH.Sized.Fixed.Fixed frac_auGI rep_auGJ size_auGK)) > > = \ > > > <$dBounded_XvC4,<1,0>> -> GHC.Enum.minBound @ (rep_XuIS size_XuIU) $dBounded_XvC4 <$cminBound_avzV,<0,0>> <$cminBound_avzV,<0,0>> = a_swhu `cast` (forall (frac_XuIQ :: GHC.TypeLits.Nat) (rep_XuIS :: GHC.TypeLits.Nat -> *) (size_XuIU :: GHC.TypeLits.Nat). _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_XuIQ :: GHC.TypeLits.Nat) (rep_XuIS :: GHC.TypeLits.Nat -> *) (size_XuIU :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_XuIS size_XuIU) => rep_XuIS size_XuIU) ~# (forall (frac_XuIQ :: GHC.TypeLits.Nat) (rep_XuIS :: GHC.TypeLits.Nat -> *) (size_XuIU :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_XuIS size_XuIU) => CLaSH.Sized.Fixed.Fixed frac_XuIQ rep_XuIS size_XuIU)) > > = \ > > > <$dBounded_XvCa,<1,0>> -> GHC.Enum.D:Bounded @ (CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0) ($cminBound_avzV @ frac_XuIW @ rep_XuIY @ size_XuJ0 $dBounded_XvCa) ($cmaxBound_avA4 @ frac_XuIW @ rep_XuIY @ size_XuJ0 $dBounded_XvCa) > > = \ > > > <$dEq_avya,<1,0>> <$dOrd_avyb,<1,0>> -> GHC.Classes.min @ (rep_auFG size_auFH) $dOrd_avyb <$cmin_avzC,<0,0>> <$cmin_avzC,<0,0>> = a_swlr `cast` (forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => rep_auFG size_auFH -> rep_auFG size_auFH -> rep_auFG size_auFH) ~# (forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH)) > > = \ > > > <$dEq_XvAo,<1,0>> <$dOrd_XvAq,<1,0>> -> GHC.Classes.max @ (rep_XuHS size_XuHU) $dOrd_XvAq <$cmax_avzm,<0,0>> <$cmax_avzm,<0,0>> = a_swls `cast` (forall (frac_XuHQ :: GHC.TypeLits.Nat) (rep_XuHS :: GHC.TypeLits.Nat -> *) (size_XuHU :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_XuHQ :: GHC.TypeLits.Nat) (rep_XuHS :: GHC.TypeLits.Nat -> *) (size_XuHU :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuHQ rep_XuHS size_XuHU), GHC.Classes.Ord (rep_XuHS size_XuHU)) => rep_XuHS size_XuHU -> rep_XuHS size_XuHU -> rep_XuHS size_XuHU) ~# (forall (frac_XuHQ :: GHC.TypeLits.Nat) (rep_XuHS :: GHC.TypeLits.Nat -> *) (size_XuHU :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuHQ rep_XuHS size_XuHU), GHC.Classes.Ord (rep_XuHS size_XuHU)) => CLaSH.Sized.Fixed.Fixed frac_XuHQ rep_XuHS size_XuHU -> CLaSH.Sized.Fixed.Fixed frac_XuHQ rep_XuHS size_XuHU -> CLaSH.Sized.Fixed.Fixed frac_XuHQ rep_XuHS size_XuHU)) > > = \ > > > <$dEq_XvAv,<1,0>> <$dOrd_XvAx,<1,0>> -> GHC.Classes.<= @ (rep_XuHZ size_XuI1) $dOrd_XvAx <$c<=_avz8,<0,0>> <$c<=_avz8,<0,0>> = a_swhz `cast` (forall (frac_XuHY :: GHC.TypeLits.Nat) (rep_XuI0 :: GHC.TypeLits.Nat -> *) (size_XuI2 :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (forall (frac_XuHY :: GHC.TypeLits.Nat) (rep_XuI0 :: GHC.TypeLits.Nat -> *) (size_XuI2 :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuHY rep_XuI0 size_XuI2), GHC.Classes.Ord (rep_XuI0 size_XuI2)) => rep_XuI0 size_XuI2 -> rep_XuI0 size_XuI2 -> GHC.Types.Bool) ~# (forall (frac_XuHY :: GHC.TypeLits.Nat) (rep_XuI0 :: GHC.TypeLits.Nat -> *) (size_XuI2 :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuHY rep_XuI0 size_XuI2), GHC.Classes.Ord (rep_XuI0 size_XuI2)) => CLaSH.Sized.Fixed.Fixed frac_XuHY rep_XuI0 size_XuI2 -> CLaSH.Sized.Fixed.Fixed frac_XuHY rep_XuI0 size_XuI2 -> GHC.Types.Bool)) > > = \ > > > <$dEq_XvAB,<1,0>> <$dOrd_XvAD,<1,0>> -> GHC.Classes.> @ (rep_XuI5 size_XuI7) $dOrd_XvAD <$c>_avyU,<0,0>> <$c>_avyU,<0,0>> = a_swhA `cast` (forall (frac_XuI3 :: GHC.TypeLits.Nat) (rep_XuI5 :: GHC.TypeLits.Nat -> *) (size_XuI7 :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (forall (frac_XuI3 :: GHC.TypeLits.Nat) (rep_XuI5 :: GHC.TypeLits.Nat -> *) (size_XuI7 :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuI3 rep_XuI5 size_XuI7), GHC.Classes.Ord (rep_XuI5 size_XuI7)) => rep_XuI5 size_XuI7 -> rep_XuI5 size_XuI7 -> GHC.Types.Bool) ~# (forall (frac_XuI3 :: GHC.TypeLits.Nat) (rep_XuI5 :: GHC.TypeLits.Nat -> *) (size_XuI7 :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuI3 rep_XuI5 size_XuI7), GHC.Classes.Ord (rep_XuI5 size_XuI7)) => CLaSH.Sized.Fixed.Fixed frac_XuI3 rep_XuI5 size_XuI7 -> CLaSH.Sized.Fixed.Fixed frac_XuI3 rep_XuI5 size_XuI7 -> GHC.Types.Bool)) > > = \ > > > <$dEq_XvAI,<1,0>> <$dOrd_XvAK,<1,0>> -> GHC.Classes.>= @ (rep_XuIc size_XuIe) $dOrd_XvAK <$c>=_avyG,<0,0>> <$c>=_avyG,<0,0>> = a_swhB `cast` (forall (frac_XuIa :: GHC.TypeLits.Nat) (rep_XuIc :: GHC.TypeLits.Nat -> *) (size_XuIe :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (forall (frac_XuIa :: GHC.TypeLits.Nat) (rep_XuIc :: GHC.TypeLits.Nat -> *) (size_XuIe :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIa rep_XuIc size_XuIe), GHC.Classes.Ord (rep_XuIc size_XuIe)) => rep_XuIc size_XuIe -> rep_XuIc size_XuIe -> GHC.Types.Bool) ~# (forall (frac_XuIa :: GHC.TypeLits.Nat) (rep_XuIc :: GHC.TypeLits.Nat -> *) (size_XuIe :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIa rep_XuIc size_XuIe), GHC.Classes.Ord (rep_XuIc size_XuIe)) => CLaSH.Sized.Fixed.Fixed frac_XuIa rep_XuIc size_XuIe -> CLaSH.Sized.Fixed.Fixed frac_XuIa rep_XuIc size_XuIe -> GHC.Types.Bool)) > > = \ > > > <$dEq_XvAP,<1,0>> <$dOrd_XvAR,<1,0>> -> GHC.Classes.< @ (rep_XuIj size_XuIl) $dOrd_XvAR <$c<_avys,<0,0>> <$c<_avys,<0,0>> = a_swhC `cast` (forall (frac_XuIh :: GHC.TypeLits.Nat) (rep_XuIj :: GHC.TypeLits.Nat -> *) (size_XuIl :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (forall (frac_XuIh :: GHC.TypeLits.Nat) (rep_XuIj :: GHC.TypeLits.Nat -> *) (size_XuIl :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIh rep_XuIj size_XuIl), GHC.Classes.Ord (rep_XuIj size_XuIl)) => rep_XuIj size_XuIl -> rep_XuIj size_XuIl -> GHC.Types.Bool) ~# (forall (frac_XuIh :: GHC.TypeLits.Nat) (rep_XuIj :: GHC.TypeLits.Nat -> *) (size_XuIl :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIh rep_XuIj size_XuIl), GHC.Classes.Ord (rep_XuIj size_XuIl)) => CLaSH.Sized.Fixed.Fixed frac_XuIh rep_XuIj size_XuIl -> CLaSH.Sized.Fixed.Fixed frac_XuIh rep_XuIj size_XuIl -> GHC.Types.Bool)) > > = \ > > > <$dEq_XvAW,<1,0>> <$dOrd_XvAY,<1,0>> -> GHC.Classes.compare @ (rep_XuIq size_XuIs) $dOrd_XvAY <$ccompare_avye,<0,0>> <$ccompare_avye,<0,0>> = a_swhD `cast` (forall (frac_XuIo :: GHC.TypeLits.Nat) (rep_XuIq :: GHC.TypeLits.Nat -> *) (size_XuIs :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (forall (frac_XuIo :: GHC.TypeLits.Nat) (rep_XuIq :: GHC.TypeLits.Nat -> *) (size_XuIs :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIo rep_XuIq size_XuIs), GHC.Classes.Ord (rep_XuIq size_XuIs)) => rep_XuIq size_XuIs -> rep_XuIq size_XuIs -> GHC.Types.Ordering) ~# (forall (frac_XuIo :: GHC.TypeLits.Nat) (rep_XuIq :: GHC.TypeLits.Nat -> *) (size_XuIs :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIo rep_XuIq size_XuIs), GHC.Classes.Ord (rep_XuIq size_XuIs)) => CLaSH.Sized.Fixed.Fixed frac_XuIo rep_XuIq size_XuIs -> CLaSH.Sized.Fixed.Fixed frac_XuIo rep_XuIq size_XuIs -> GHC.Types.Ordering)) > > = \ > > > <$dEq_XvB3,<1,0>> <$dOrd_XvB5,<1,0>> -> GHC.Classes.D:Ord @ (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz) $dEq_XvB3 ($ccompare_avye @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5) ($c<_avys @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5) ($c>=_avyG @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5) ($c>_avyU @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5) ($c<=_avz8 @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5) ($cmax_avzm @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5) ($cmin_avzC @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5) > > = \ > > > <$dEq_avxF,<1,0>> -> GHC.Classes./= @ (rep_XuIy size_XuIA) $dEq_avxF <$c/=_avxV,<0,0>> <$c/=_avxV,<0,0>> = a_swhE `cast` (forall (frac_XuIw :: GHC.TypeLits.Nat) (rep_XuIy :: GHC.TypeLits.Nat -> *) (size_XuIA :: GHC.TypeLits.Nat). _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (forall (frac_XuIw :: GHC.TypeLits.Nat) (rep_XuIy :: GHC.TypeLits.Nat -> *) (size_XuIA :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_XuIy size_XuIA) => rep_XuIy size_XuIA -> rep_XuIy size_XuIA -> GHC.Types.Bool) ~# (forall (frac_XuIw :: GHC.TypeLits.Nat) (rep_XuIy :: GHC.TypeLits.Nat -> *) (size_XuIA :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_XuIy size_XuIA) => CLaSH.Sized.Fixed.Fixed frac_XuIw rep_XuIy size_XuIA -> CLaSH.Sized.Fixed.Fixed frac_XuIw rep_XuIy size_XuIA -> GHC.Types.Bool)) > > = \ > > > <$dEq_XvAF,<1,0>> -> GHC.Classes.== @ (rep_XuIE size_XuIG) $dEq_XvAF <$c==_avxH,<0,0>> <$c==_avxH,<0,0>> = a_swhF `cast` (forall (frac_XuIC :: GHC.TypeLits.Nat) (rep_XuIE :: GHC.TypeLits.Nat -> *) (size_XuIG :: GHC.TypeLits.Nat). _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (forall (frac_XuIC :: GHC.TypeLits.Nat) (rep_XuIE :: GHC.TypeLits.Nat -> *) (size_XuIG :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_XuIE size_XuIG) => rep_XuIE size_XuIG -> rep_XuIE size_XuIG -> GHC.Types.Bool) ~# (forall (frac_XuIC :: GHC.TypeLits.Nat) (rep_XuIE :: GHC.TypeLits.Nat -> *) (size_XuIG :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_XuIE size_XuIG) => CLaSH.Sized.Fixed.Fixed frac_XuIC rep_XuIE size_XuIG -> CLaSH.Sized.Fixed.Fixed frac_XuIC rep_XuIE size_XuIG -> GHC.Types.Bool)) > > = \ > > > <$dEq_XvAL,<1,0>> -> GHC.Classes.D:Eq @ (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM) ($c==_avxH @ frac_XuII @ rep_XuIK @ size_XuIM $dEq_XvAL) ($c/=_avxV @ frac_XuII @ rep_XuIK @ size_XuIM $dEq_XvAL) <$clift_avAv,<0,0>> <$clift_avAv,<0,0>> = \ > > > <$dLift_avAq,<1,0>> <$dKnownNat_avAr,<1,0>> <$dKnownNat_avAs,<1,0>> <$dTypeable_avAt,<1,0>> > -> Language.Haskell.TH.Lib.sigE (Language.Haskell.TH.Lib.appE (let { > > = Language.Haskell.TH.Lib.conE (let { > > = Language.Haskell.TH.Syntax.mkNameG_d (let { > > = GHC.Base.build @ GHC.Types.Char (let { > > = \ > -> GHC.CString.unpackFoldrCString# @ b_a4Iy "clash-prelude-0.5"# } in lvl_swwb) } in lvl_swwc) (let { > > = GHC.Base.build @ GHC.Types.Char (let { > > = \ > -> GHC.CString.unpackFoldrCString# @ b_a4Iy "CLaSH.Sized.Fixed"# } in lvl_swwd) } in lvl_swwe) (let { > > = GHC.Base.build @ GHC.Types.Char (let { > > = \ > -> GHC.CString.unpackFoldrCString# @ b_a4Iy "Fixed"# } in lvl_swwf) } in lvl_swwg) } in lvl_swwh) } in lvl_swwi) (Language.Haskell.TH.Syntax.lift @ (rep_auGP size_auGQ) $dLift_avAq (f_auGR `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ ~# rep_auGP size_auGQ)))) (GHC.List.foldl @ Language.Haskell.TH.Lib.TypeQ @ Language.Haskell.TH.Lib.TypeQ Language.Haskell.TH.Lib.appT (let { > > = Language.Haskell.TH.Lib.conT (let { > > = Language.Haskell.TH.Syntax.mkNameG_tc (let { > > = GHC.Base.build @ GHC.Types.Char (let { > > = \ > -> GHC.CString.unpackFoldrCString# @ b_a4Iy "clash-prelude-0.5"# } in lvl_swwj) } in lvl_swwk) (let { > > = GHC.Base.build @ GHC.Types.Char (let { > > = \ > -> GHC.CString.unpackFoldrCString# @ b_a4Iy "CLaSH.Sized.Fixed"# } in lvl_swwl) } in lvl_swwm) (let { > > = GHC.Base.build @ GHC.Types.Char (let { > > = \ > -> GHC.CString.unpackFoldrCString# @ b_a4Iy "Fixed"# } in lvl_swwn) } in lvl_swwo) } in lvl_swwp) } in lvl_swwq) (GHC.Base.build @ Language.Haskell.TH.Lib.TypeQ (\ > > > -> c_dvZ7 (Language.Haskell.TH.Lib.litT (Language.Haskell.TH.Lib.numTyLit (GHC.TypeLits.natVal @ frac_auGO @ Data.Proxy.Proxy $dKnownNat_avAr (CLaSH.Sized.Fixed.asFracProxy @ frac_auGO @ rep_auGP @ size_auGQ f_auGR)))) (c_dvZ7 (Language.Haskell.TH.Lib.conT (Language.Haskell.TH.Syntax.mkName (Data.Typeable.Internal.$fShowTypeRep_$cshow (Data.Typeable.Internal.typeRep @ (GHC.TypeLits.Nat -> *) @ Data.Proxy.Proxy @ rep_auGP $dTypeable_avAt (CLaSH.Sized.Fixed.asRepProxy @ frac_auGO @ rep_auGP @ size_auGQ f_auGR))))) (c_dvZ7 (Language.Haskell.TH.Lib.litT (Language.Haskell.TH.Lib.numTyLit (GHC.TypeLits.natVal @ size_auGQ @ (CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP) $dKnownNat_avAs f_auGR))) n_dvZ8))))) > > = $clift_avAv `cast` (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N) :: (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ))) ==================== Float out(FOS {Lam = Just 0, Consts = True, PAPs = False}) ==================== Result size of Float out(FOS {Lam = Just 0, Consts = True, PAPs = False}) = {terms: 2,164, types: 11,689, coercions: 844} Rec { $dReal_swuD :: GHC.Real.Real GHC.Integer.Type.Integer [LclId, Str=DmdType] $dReal_swuD = GHC.Real.$p1Integral @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger $dNum1_swuE :: GHC.Num.Num GHC.Integer.Type.Integer [LclId, Str=DmdType] $dNum1_swuE = GHC.Real.$p1Real @ GHC.Integer.Type.Integer $dReal_swuD $dOrd_swuF :: GHC.Classes.Ord GHC.Integer.Type.Integer [LclId, Str=DmdType] $dOrd_swuF = GHC.Real.$p2Real @ GHC.Integer.Type.Integer $dReal_swuD $dReal1_swuL :: GHC.Real.Real GHC.Integer.Type.Integer [LclId, Str=DmdType] $dReal1_swuL = GHC.Real.$p1Integral @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger a1_swuM :: GHC.Classes.Ord GHC.Integer.Type.Integer [LclId, Str=DmdType] a1_swuM = GHC.Real.$p2Real @ GHC.Integer.Type.Integer $dReal1_swuL $dEq_swuN [Occ=OnceL] :: GHC.Classes.Eq GHC.Integer.Type.Integer [LclId, Str=DmdType] $dEq_swuN = GHC.Classes.$p1Ord @ GHC.Integer.Type.Integer a1_swuM $dNum2_swuO :: GHC.Num.Num GHC.Integer.Type.Integer [LclId, Str=DmdType] $dNum2_swuO = GHC.Real.$p1Real @ GHC.Integer.Type.Integer $dReal1_swuL $dReal2_swuT :: GHC.Real.Real GHC.Integer.Type.Integer [LclId, Str=DmdType] $dReal2_swuT = GHC.Real.$p1Integral @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger a2_swuU :: GHC.Classes.Ord GHC.Integer.Type.Integer [LclId, Str=DmdType] a2_swuU = GHC.Real.$p2Real @ GHC.Integer.Type.Integer $dReal2_swuT $dEq1_swuV [Occ=OnceL] :: GHC.Classes.Eq GHC.Integer.Type.Integer [LclId, Str=DmdType] $dEq1_swuV = GHC.Classes.$p1Ord @ GHC.Integer.Type.Integer a2_swuU $dNum3_swuW :: GHC.Num.Num GHC.Integer.Type.Integer [LclId, Str=DmdType] $dNum3_swuW = GHC.Real.$p1Real @ GHC.Integer.Type.Integer $dReal2_swuT lvl_swv1 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swv1 = __integer 1 lvl_swv2 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swv2 = GHC.Num.fromInteger @ GHC.Integer.Type.Integer $dNum3_swuW lvl_swv1 lvl_swv3 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swv3 = __integer 2 lvl_swv4 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swv4 = GHC.Num.fromInteger @ GHC.Integer.Type.Integer $dNum3_swuW lvl_swv3 lvl_swuZ :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swuZ = __integer 1 lvl_swv0 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swv0 = GHC.Num.fromInteger @ GHC.Integer.Type.Integer $dNum3_swuW lvl_swuZ lvl_swv5 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swv5 = __integer 2 lvl_swv6 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swv6 = GHC.Num.fromInteger @ GHC.Integer.Type.Integer $dNum3_swuW lvl_swv5 g1_swuY [Occ=LoopBreaker] :: GHC.Types.Double -> GHC.Integer.Type.Integer -> GHC.Types.Double -> GHC.Types.Double [LclId, Arity=3, Str=DmdType] g1_swuY = \ (x1_akDN :: GHC.Types.Double) (y1_akDO :: GHC.Integer.Type.Integer) (z_akDP [Occ=Once*] :: GHC.Types.Double) -> case GHC.Real.even @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger y1_akDO of _ [Occ=Dead] { GHC.Types.False -> case GHC.Classes.== @ GHC.Integer.Type.Integer $dEq1_swuV y1_akDO lvl_swv0 of _ [Occ=Dead] { GHC.Types.False -> g1_swuY (GHC.Num.* @ GHC.Types.Double GHC.Float.$fNumDouble x1_akDN x1_akDN) (GHC.Real.quot @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger (GHC.Num.- @ GHC.Integer.Type.Integer $dNum3_swuW y1_akDO lvl_swv2) lvl_swv4) (GHC.Num.* @ GHC.Types.Double GHC.Float.$fNumDouble x1_akDN z_akDP); GHC.Types.True -> GHC.Num.* @ GHC.Types.Double GHC.Float.$fNumDouble x1_akDN z_akDP }; GHC.Types.True -> g1_swuY (GHC.Num.* @ GHC.Types.Double GHC.Float.$fNumDouble x1_akDN x1_akDN) (GHC.Real.quot @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger y1_akDO lvl_swv6) z_akDP } lvl_swv7 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swv7 = __integer 1 lvl_swv8 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swv8 = GHC.Num.fromInteger @ GHC.Integer.Type.Integer $dNum2_swuO lvl_swv7 lvl_swv9 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swv9 = __integer 2 lvl_swva :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swva = GHC.Num.fromInteger @ GHC.Integer.Type.Integer $dNum2_swuO lvl_swv9 lvl_swuR :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swuR = __integer 1 lvl_swuS :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swuS = GHC.Num.fromInteger @ GHC.Integer.Type.Integer $dNum2_swuO lvl_swuR lvl_swvb :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swvb = __integer 2 lvl_swvc :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swvc = GHC.Num.fromInteger @ GHC.Integer.Type.Integer $dNum2_swuO lvl_swvb f_swuQ [Occ=LoopBreaker] :: GHC.Types.Double -> GHC.Integer.Type.Integer -> GHC.Types.Double [LclId, Arity=2, Str=DmdType] f_swuQ = \ (x_akDA :: GHC.Types.Double) (y_akDB :: GHC.Integer.Type.Integer) -> case GHC.Real.even @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger y_akDB of _ [Occ=Dead] { GHC.Types.False -> case GHC.Classes.== @ GHC.Integer.Type.Integer $dEq_swuN y_akDB lvl_swuS of _ [Occ=Dead] { GHC.Types.False -> g1_swuY (GHC.Num.* @ GHC.Types.Double GHC.Float.$fNumDouble x_akDA x_akDA) (GHC.Real.quot @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger (GHC.Num.- @ GHC.Integer.Type.Integer $dNum2_swuO y_akDB lvl_swv8) lvl_swva) x_akDA; GHC.Types.True -> x_akDA }; GHC.Types.True -> f_swuQ (GHC.Num.* @ GHC.Types.Double GHC.Float.$fNumDouble x_akDA x_akDA) (GHC.Real.quot @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger y_akDB lvl_swvc) } lvl_swvd :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swvd = __integer 1 lvl_swve :: GHC.Types.Double [LclId, Str=DmdType] lvl_swve = GHC.Num.fromInteger @ GHC.Types.Double GHC.Float.$fNumDouble lvl_swvd lvl_swuI :: GHC.Classes.Eq GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swuI = GHC.Classes.$p1Ord @ GHC.Integer.Type.Integer $dOrd_swuF lvl_swuJ :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swuJ = __integer 0 lvl_swuK :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swuK = GHC.Num.fromInteger @ GHC.Integer.Type.Integer $dNum1_swuE lvl_swuJ lvl_swvf :: [GHC.Types.Char] [LclId, Str=DmdType] lvl_swvf = GHC.CString.unpackCString# "Negative exponent"# lvl_swvg :: GHC.Types.Double [LclId, Str=DmdType b] lvl_swvg = GHC.Err.error @ GHC.Types.Double lvl_swvf lvl_swuG :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swuG = __integer 0 lvl_swuH :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swuH = GHC.Num.fromInteger @ GHC.Integer.Type.Integer $dNum1_swuE lvl_swuG $s^_swu6 [InlPrag=[1]] :: GHC.Types.Double -> GHC.Integer.Type.Integer -> GHC.Types.Double [LclId, Arity=2, Str=DmdType] $s^_swu6 = \ (eta_akDk [Occ=Once] :: GHC.Types.Double) (eta1_akDl :: GHC.Integer.Type.Integer) -> case GHC.Classes.< @ GHC.Integer.Type.Integer $dOrd_swuF eta1_akDl lvl_swuH of _ [Occ=Dead] { GHC.Types.False -> case GHC.Classes.== @ GHC.Integer.Type.Integer lvl_swuI eta1_akDl lvl_swuK of _ [Occ=Dead] { GHC.Types.False -> f_swuQ eta_akDk eta1_akDl; GHC.Types.True -> lvl_swve }; GHC.Types.True -> lvl_swvg } end Rec } lvl_swvh :: GHC.Types.Double [LclId, Str=DmdType] lvl_swvh = GHC.Types.D# 2.0 lvl_swvi :: forall b_a4Iy. (GHC.Types.Char -> b_a4Iy -> b_a4Iy) -> b_a4Iy -> b_a4Iy [LclId, Str=DmdType] lvl_swvi = \ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "clash-prelude-0.5"# lvl_swvj :: [GHC.Types.Char] [LclId, Str=DmdType] lvl_swvj = GHC.Base.build @ GHC.Types.Char lvl_swvi lvl_swvk :: forall b_a4Iy. (GHC.Types.Char -> b_a4Iy -> b_a4Iy) -> b_a4Iy -> b_a4Iy [LclId, Str=DmdType] lvl_swvk = \ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "CLaSH.Sized.Fixed"# lvl_swvl :: [GHC.Types.Char] [LclId, Str=DmdType] lvl_swvl = GHC.Base.build @ GHC.Types.Char lvl_swvk lvl_swvm :: forall b_a4Iy. (GHC.Types.Char -> b_a4Iy -> b_a4Iy) -> b_a4Iy -> b_a4Iy [LclId, Str=DmdType] lvl_swvm = \ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "Fixed"# lvl_swvn :: [GHC.Types.Char] [LclId, Str=DmdType] lvl_swvn = GHC.Base.build @ GHC.Types.Char lvl_swvm lvl_swvo :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType] lvl_swvo = Language.Haskell.TH.Syntax.mkNameG_d lvl_swvj lvl_swvl lvl_swvn lvl_swvp :: Language.Haskell.TH.Lib.ExpQ [LclId, Str=DmdType] lvl_swvp = Language.Haskell.TH.Lib.conE lvl_swvo lvl_swvq :: forall b_a4Iy. (GHC.Types.Char -> b_a4Iy -> b_a4Iy) -> b_a4Iy -> b_a4Iy [LclId, Str=DmdType] lvl_swvq = \ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "base"# lvl_swvr :: [GHC.Types.Char] [LclId, Str=DmdType] lvl_swvr = GHC.Base.build @ GHC.Types.Char lvl_swvq lvl_swvs :: forall b_a4Iy. (GHC.Types.Char -> b_a4Iy -> b_a4Iy) -> b_a4Iy -> b_a4Iy [LclId, Str=DmdType] lvl_swvs = \ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "GHC.Num"# lvl_swvt :: [GHC.Types.Char] [LclId, Str=DmdType] lvl_swvt = GHC.Base.build @ GHC.Types.Char lvl_swvs lvl_swvu :: forall b_a4Iy. (GHC.Types.Char -> b_a4Iy -> b_a4Iy) -> b_a4Iy -> b_a4Iy [LclId, Str=DmdType] lvl_swvu = \ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "fromInteger"# lvl_swvv :: [GHC.Types.Char] [LclId, Str=DmdType] lvl_swvv = GHC.Base.build @ GHC.Types.Char lvl_swvu lvl_swvw :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType] lvl_swvw = Language.Haskell.TH.Syntax.mkNameG_v lvl_swvr lvl_swvt lvl_swvv lvl_swvx :: Language.Haskell.TH.Lib.ExpQ [LclId, Str=DmdType] lvl_swvx = Language.Haskell.TH.Lib.varE lvl_swvw CLaSH.Sized.Fixed.fLit :: forall (frac_auFI :: GHC.TypeLits.Nat) (rep_auFJ :: GHC.TypeLits.Nat -> *) (size_auFK :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_auFI, GHC.Num.Num (rep_auFJ size_auFK), GHC.Enum.Bounded (rep_auFJ size_auFK), GHC.Real.Integral (rep_auFJ size_auFK)) => GHC.Types.Double -> Language.Haskell.TH.Syntax.Q (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_auFI rep_auFJ size_auFK)) [LclIdX, Arity=5, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] CLaSH.Sized.Fixed.fLit = \ (@ (frac_avhM :: GHC.TypeLits.Nat)) (@ (rep_avhN :: GHC.TypeLits.Nat -> *)) (@ (size_avhO :: GHC.TypeLits.Nat)) ($dKnownNat_avlM :: GHC.TypeLits.KnownNat frac_avhM) _ [Occ=Dead] ($dBounded_avlO :: GHC.Enum.Bounded (rep_avhN size_avhO)) ($dIntegral_avlP :: GHC.Real.Integral (rep_avhN size_avhO)) (a_auGC :: GHC.Types.Double) -> let { truncated_swu2 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] truncated_swu2 = GHC.Float.RealFracMethods.truncateDoubleInteger (GHC.Float.timesDouble a_auGC (GHC.Real.^ @ GHC.Types.Double @ GHC.Integer.Type.Integer GHC.Float.$fNumDouble GHC.Real.$fIntegralInteger lvl_swvh (GHC.TypeLits.natVal @ frac_avhM @ Data.Proxy.Proxy $dKnownNat_avlM (Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac_avhM)))) } in let { rMin_swu1 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] rMin_swu1 = GHC.Real.toInteger @ (rep_avhN size_avhO) $dIntegral_avlP (GHC.Enum.minBound @ (rep_avhN size_avhO) $dBounded_avlO) } in let { rMax_swu0 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] rMax_swu0 = GHC.Real.toInteger @ (rep_avhN size_avhO) $dIntegral_avlP (GHC.Enum.maxBound @ (rep_avhN size_avhO) $dBounded_avlO) } in Language.Haskell.TH.Syntax.unsafeTExpCoerce @ (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO) (Language.Haskell.TH.Lib.appE lvl_swvp (Language.Haskell.TH.Lib.appE lvl_swvx (Language.Haskell.TH.Syntax.lift @ GHC.Integer.Type.Integer Language.Haskell.TH.Syntax.$fLiftInteger (case GHC.Integer.Type.gtInteger truncated_swu2 rMax_swu0 of _ [Occ=Dead] { GHC.Types.False -> case GHC.Integer.Type.ltInteger truncated_swu2 rMin_swu1 of _ [Occ=Dead] { GHC.Types.False -> truncated_swu2; GHC.Types.True -> rMin_swu1 }; GHC.Types.True -> rMax_swu0 })))) CLaSH.Sized.Fixed.satN2 :: forall (rep_auFL :: GHC.TypeLits.Nat -> *) (n_auFM :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.SatN2C rep_auFL n_auFM) => rep_auFL (n_auFM GHC.TypeLits.+ 2) -> rep_auFL n_auFM [LclIdX, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] CLaSH.Sized.Fixed.satN2 = \ (@ (rep_aviy :: GHC.TypeLits.Nat -> *)) (@ (n_aviz :: GHC.TypeLits.Nat)) (tup_avmQ :: CLaSH.Sized.Fixed.SatN2C rep_aviy n_aviz) (eta_B1 :: rep_aviy (n_aviz GHC.TypeLits.+ 2)) -> let { cobox_swtW :: CLaSH.Class.BitVector.BitSize (rep_aviy (n_aviz GHC.TypeLits.+ 2)) ~ (n_aviz GHC.TypeLits.+ 2) [LclId, Str=DmdType] cobox_swtW = case tup_avmQ of _ [Occ=Dead] { (tpl_X1g, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B6 } } in let { cobox_swtV :: CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz) ~ n_aviz [LclId, Str=DmdType] cobox_swtV = case tup_avmQ of _ [Occ=Dead] { (tpl_X1i, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B5 } } in let { cobox_swtU :: ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (n_aviz GHC.TypeLits.+ 2) [LclId, Str=DmdType] cobox_swtU = case tup_avmQ of _ [Occ=Dead] { (tpl_X1l, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B2 } } in let { repBV_swtT :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit [LclId, Str=DmdType] repBV_swtT = case case cobox_swtW of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6Z -> GHC.Types.Eq# @ * @ (CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy (n_aviz GHC.TypeLits.+ 2))) CLaSH.Bit.Bit) @ (CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit) @~ (CLaSH.Sized.Vector.Vec cobox_dw6Z _N)_N } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6X -> (CLaSH.Class.BitVector.toBV @ (rep_aviy (n_aviz GHC.TypeLits.+ 2)) (case tup_avmQ of _ [Occ=Dead] { (tpl_X1t, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B4 }) (case cobox_swtW of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6Y -> (case tup_avmQ of _ [Occ=Dead] { (tpl_X1x, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B8 }) `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw6Y))_R :: GHC.TypeLits.KnownNat (n_aviz GHC.TypeLits.+ 2) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy (n_aviz GHC.TypeLits.+ 2)))) }) eta_B1) `cast` (Sub cobox_dw6X :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy (n_aviz GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit) } } in let { s_swtS :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit [LclId, Str=DmdType] s_swtS = CLaSH.Sized.Vector.vtail @ n_aviz @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (case case case cobox_swtU of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7d -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ (n_aviz GHC.TypeLits.+ 2) @ ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) @~ (Sym cobox_dw7d) } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw75 -> GHC.Types.Eq# @ * @ (CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit) @ (CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit) @~ (CLaSH.Sized.Vector.Vec cobox_dw75 _N)_N } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dvY9 -> repBV_swtT `cast` (Sub cobox_dvY9 :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit) })) } in case Data.Bits.isSigned @ (rep_aviy (n_aviz GHC.TypeLits.+ 2)) (case tup_avmQ of _ [Occ=Dead] { (tpl_X1t, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_Ba }) eta_B1 of _ [Occ=Dead] { GHC.Types.False -> let { ds_swtR :: CLaSH.Bit.Bit [LclId, Str=DmdType] ds_swtR = CLaSH.Sized.Vector.vhead @ n_aviz @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (case case case cobox_swtU of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7g -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ (n_aviz GHC.TypeLits.+ 2) @ ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) @~ (Sym cobox_dw7g) } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw73 -> GHC.Types.Eq# @ * @ (CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit) @ (CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit) @~ (CLaSH.Sized.Vector.Vec cobox_dw73 _N)_N } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dvYc -> repBV_swtT `cast` (Sub cobox_dvYc :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit) })) } in case CLaSH.Sized.Vector.vhead @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (case case case cobox_swtU of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7j -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ (n_aviz GHC.TypeLits.+ 2) @ ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) @~ (Sym cobox_dw7j) } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw71 -> GHC.Types.Eq# @ * @ (CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit) @ (CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit) @~ (CLaSH.Sized.Vector.Vec cobox_dw71 _N)_N } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6W -> repBV_swtT `cast` (Sub cobox_dw6W :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit) }) of _ [Occ=Dead] { CLaSH.Bit.H -> case ds_swtR of _ [Occ=Dead] { CLaSH.Bit.H -> GHC.Enum.minBound @ (rep_aviy n_aviz) (case tup_avmQ of _ [Occ=Dead] { (tpl_X1d, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B9 }); CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_aviy n_aviz) (case tup_avmQ of _ [Occ=Dead] { (tpl_X1k, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B3 }) (case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7b -> (case tup_avmQ of _ [Occ=Dead] { (tpl_X1e, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B7 }) `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw7b))_R :: GHC.TypeLits.KnownNat n_aviz ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz))) }) (case case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7c -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ n_aviz @ (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) @~ (Sym cobox_dw7c) } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6T -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec cobox_dw6T _R)_R :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) CLaSH.Bit.Bit) }) }; CLaSH.Bit.L -> case ds_swtR of _ [Occ=Dead] { CLaSH.Bit.H -> GHC.Enum.maxBound @ (rep_aviy n_aviz) (case tup_avmQ of _ [Occ=Dead] { (tpl_X1d, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B9 }); CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_aviy n_aviz) (case tup_avmQ of _ [Occ=Dead] { (tpl_X1k, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B3 }) (case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7b -> (case tup_avmQ of _ [Occ=Dead] { (tpl_X1e, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B7 }) `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw7b))_R :: GHC.TypeLits.KnownNat n_aviz ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz))) }) (case case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7c -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ n_aviz @ (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) @~ (Sym cobox_dw7c) } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6T -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec cobox_dw6T _R)_R :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) CLaSH.Bit.Bit) }) } }; GHC.Types.True -> case CLaSH.Sized.Vector.vhead @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (case case case cobox_swtU of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7j -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ (n_aviz GHC.TypeLits.+ 2) @ ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) @~ (Sym cobox_dw7j) } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw71 -> GHC.Types.Eq# @ * @ (CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit) @ (CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit) @~ (CLaSH.Sized.Vector.Vec cobox_dw71 _N)_N } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6W -> repBV_swtT `cast` (Sub cobox_dw6W :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit) }) of _ [Occ=Dead] { CLaSH.Bit.H -> case CLaSH.Sized.Vector.vhead' @ n_aviz @ CLaSH.Bit.Bit (case tup_avmQ of _ [Occ=Dead] { (tpl_X1p, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X1p }) s_swtS of _ [Occ=Dead] { CLaSH.Bit.H -> CLaSH.Class.BitVector.fromBV @ (rep_aviy n_aviz) (case tup_avmQ of _ [Occ=Dead] { (tpl_X1k, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B3 }) (case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw79 -> (case tup_avmQ of _ [Occ=Dead] { (tpl_X1e, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B7 }) `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw79))_R :: GHC.TypeLits.KnownNat n_aviz ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz))) }) (case case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7a -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ n_aviz @ (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) @~ (Sym cobox_dw7a) } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6S -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec cobox_dw6S _R)_R :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) CLaSH.Bit.Bit) }); CLaSH.Bit.L -> GHC.Enum.minBound @ (rep_aviy n_aviz) (case tup_avmQ of _ [Occ=Dead] { (tpl_X1d, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B9 }) }; CLaSH.Bit.L -> case CLaSH.Sized.Vector.vhead' @ n_aviz @ CLaSH.Bit.Bit (case tup_avmQ of _ [Occ=Dead] { (tpl_X1p, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X1p }) s_swtS of _ [Occ=Dead] { CLaSH.Bit.H -> GHC.Enum.maxBound @ (rep_aviy n_aviz) (case tup_avmQ of _ [Occ=Dead] { (tpl_X1d, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B9 }); CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_aviy n_aviz) (case tup_avmQ of _ [Occ=Dead] { (tpl_X1k, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B3 }) (case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw79 -> (case tup_avmQ of _ [Occ=Dead] { (tpl_X1e, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B7 }) `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw79))_R :: GHC.TypeLits.KnownNat n_aviz ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz))) }) (case case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7a -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ n_aviz @ (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) @~ (Sym cobox_dw7a) } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6S -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec cobox_dw6S _R)_R :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) CLaSH.Bit.Bit) }) } } } lvl_swvz :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swvz = __integer 0 lvl_swvy :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swvy = __integer 0 lvl_swvB :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swvB = __integer 0 lvl_swvA :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swvA = __integer 0 CLaSH.Sized.Fixed.resizeF :: forall (frac1_auFN :: GHC.TypeLits.Nat) (frac2_auFO :: GHC.TypeLits.Nat) (rep_auFP :: GHC.TypeLits.Nat -> *) (size1_auFQ :: GHC.TypeLits.Nat) (size2_auFR :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.ResizeFC rep_auFP frac1_auFN frac2_auFO size1_auFQ size2_auFR) => CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ -> CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR [LclIdX, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] CLaSH.Sized.Fixed.resizeF = \ (@ (frac1_avjq :: GHC.TypeLits.Nat)) (@ (frac2_avjr :: GHC.TypeLits.Nat)) (@ (rep_avjs :: GHC.TypeLits.Nat -> *)) (@ (size1_avjt :: GHC.TypeLits.Nat)) (@ (size2_avju :: GHC.TypeLits.Nat)) (tup_avnK :: CLaSH.Sized.Fixed.ResizeFC rep_avjs frac1_avjq frac2_avjr size1_avjt size2_avju) (eta_B1 :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt) -> let { $dKnownNat_swtI :: GHC.TypeLits.KnownNat size1_avjt [LclId, Str=DmdType] $dKnownNat_swtI = case tup_avnK of _ [Occ=Dead] { (tpl_X1i, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B8 } } in let { $dKnownNat_swtH :: GHC.TypeLits.KnownNat size2_avju [LclId, Str=DmdType] $dKnownNat_swtH = case tup_avnK of _ [Occ=Dead] { (tpl_X1k, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 } } in let { $dResize_swtG :: CLaSH.Class.Num.Resize rep_avjs [LclId, Str=DmdType] $dResize_swtG = case tup_avnK of _ [Occ=Dead] { (tpl_X1m, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B6 } } in let { $dBits_swtF :: Data.Bits.Bits (rep_avjs size1_avjt) [LclId, Str=DmdType] $dBits_swtF = case tup_avnK of _ [Occ=Dead] { (tpl_X1o, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B5 } } in let { $dNum_swtE :: GHC.Num.Num (rep_avjs size1_avjt) [LclId, Str=DmdType] $dNum_swtE = case tup_avnK of _ [Occ=Dead] { (tpl_X1r, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B4 } } in let { $dBounded_swtD :: GHC.Enum.Bounded (rep_avjs size2_avju) [LclId, Str=DmdType] $dBounded_swtD = case tup_avnK of _ [Occ=Dead] { (tpl_X1u, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X1u } } in let { resFracSZ_swtC :: GHC.Types.Int [LclId, Str=DmdType] resFracSZ_swtC = GHC.Num.$fNumInt_$cfromInteger (GHC.TypeLits.natVal @ frac2_avjr @ Data.Proxy.Proxy (case tup_avnK of _ [Occ=Dead] { (tpl_X1w, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Ba }) (Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac2_avjr)) } in let { argFracSZ_swtB :: GHC.Types.Int [LclId, Str=DmdType] argFracSZ_swtB = GHC.Num.$fNumInt_$cfromInteger (GHC.TypeLits.natVal @ frac1_avjq @ Data.Proxy.Proxy (case tup_avnK of _ [Occ=Dead] { (tpl_X1y, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bb }) (Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac1_avjq)) } in case GHC.Integer.Type.leInteger (GHC.TypeLits.natVal @ size1_avjt @ Data.Proxy.Proxy $dKnownNat_swtI (Data.Proxy.Proxy @ GHC.TypeLits.Nat @ size1_avjt)) (GHC.TypeLits.natVal @ size2_avju @ Data.Proxy.Proxy $dKnownNat_swtH (Data.Proxy.Proxy @ GHC.TypeLits.Nat @ size2_avju)) of _ [Occ=Dead] { GHC.Types.False -> let { fMax_swtA :: rep_avjs size2_avju [LclId, Str=DmdType] fMax_swtA = GHC.Enum.maxBound @ (rep_avjs size2_avju) $dBounded_swtD } in let { mask_swtz :: rep_avjs size1_avjt [LclId, Str=DmdType] mask_swtz = Data.Bits.complement @ (rep_avjs size1_avjt) $dBits_swtF (CLaSH.Class.Num.resize @ rep_avjs $dResize_swtG @ size2_avju @ size1_avjt $dKnownNat_swtH $dKnownNat_swtI fMax_swtA) } in case GHC.Classes.leInt argFracSZ_swtB resFracSZ_swtC of _ [Occ=Dead] { GHC.Types.False -> let { shiftedR_swty :: rep_avjs size1_avjt [LclId, Str=DmdType] shiftedR_swty = Data.Bits.shiftR @ (rep_avjs size1_avjt) $dBits_swtF (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt)) (GHC.Num.$fNumInt_$c- argFracSZ_swtB resFracSZ_swtC) } in case GHC.Classes.>= @ (rep_avjs size1_avjt) (case tup_avnK of _ [Occ=Dead] { (tpl_X1t, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B3 }) (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt)) (GHC.Num.fromInteger @ (rep_avjs size1_avjt) $dNum_swtE lvl_swvy) of _ [Occ=Dead] { GHC.Types.False -> case GHC.Classes.== @ (rep_avjs size1_avjt) (Data.Bits.$p1Bits @ (rep_avjs size1_avjt) $dBits_swtF) (Data.Bits..&. @ (rep_avjs size1_avjt) $dBits_swtF shiftedR_swty mask_swtz) mask_swtz of _ [Occ=Dead] { GHC.Types.False -> (GHC.Enum.minBound @ (rep_avjs size2_avju) $dBounded_swtD) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> (CLaSH.Class.Num.resize @ rep_avjs $dResize_swtG @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH shiftedR_swty) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) }; GHC.Types.True -> case GHC.Classes.== @ (rep_avjs size1_avjt) (Data.Bits.$p1Bits @ (rep_avjs size1_avjt) $dBits_swtF) (Data.Bits..&. @ (rep_avjs size1_avjt) $dBits_swtF shiftedR_swty mask_swtz) (GHC.Num.fromInteger @ (rep_avjs size1_avjt) $dNum_swtE lvl_swvz) of _ [Occ=Dead] { GHC.Types.False -> fMax_swtA `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> (CLaSH.Class.Num.resize @ rep_avjs $dResize_swtG @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH shiftedR_swty) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) } }; GHC.Types.True -> let { shiftedL_swtK :: rep_avjs size1_avjt [LclId, Str=DmdType] shiftedL_swtK = Data.Bits.shiftL @ (rep_avjs size1_avjt) $dBits_swtF (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt)) (GHC.Num.$fNumInt_$c- resFracSZ_swtC argFracSZ_swtB) } in case GHC.Classes.>= @ (rep_avjs size1_avjt) (case tup_avnK of _ [Occ=Dead] { (tpl_X1t, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B3 }) (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt)) (GHC.Num.fromInteger @ (rep_avjs size1_avjt) $dNum_swtE lvl_swvA) of _ [Occ=Dead] { GHC.Types.False -> case GHC.Classes.== @ (rep_avjs size1_avjt) (Data.Bits.$p1Bits @ (rep_avjs size1_avjt) $dBits_swtF) (Data.Bits..&. @ (rep_avjs size1_avjt) $dBits_swtF shiftedL_swtK mask_swtz) mask_swtz of _ [Occ=Dead] { GHC.Types.False -> (GHC.Enum.minBound @ (rep_avjs size2_avju) $dBounded_swtD) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> (CLaSH.Class.Num.resize @ rep_avjs $dResize_swtG @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH shiftedL_swtK) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) }; GHC.Types.True -> case GHC.Classes.== @ (rep_avjs size1_avjt) (Data.Bits.$p1Bits @ (rep_avjs size1_avjt) $dBits_swtF) (Data.Bits..&. @ (rep_avjs size1_avjt) $dBits_swtF shiftedL_swtK mask_swtz) (GHC.Num.fromInteger @ (rep_avjs size1_avjt) $dNum_swtE lvl_swvB) of _ [Occ=Dead] { GHC.Types.False -> fMax_swtA `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> (CLaSH.Class.Num.resize @ rep_avjs $dResize_swtG @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH shiftedL_swtK) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) } } }; GHC.Types.True -> case GHC.Classes.leInt argFracSZ_swtB resFracSZ_swtC of _ [Occ=Dead] { GHC.Types.False -> (Data.Bits.shiftR @ (rep_avjs size2_avju) (case tup_avnK of _ [Occ=Dead] { (tpl_X1h, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B9 }) (CLaSH.Class.Num.resize @ rep_avjs $dResize_swtG @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt))) (GHC.Num.$fNumInt_$c- argFracSZ_swtB resFracSZ_swtC)) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> (Data.Bits.shiftL @ (rep_avjs size2_avju) (case tup_avnK of _ [Occ=Dead] { (tpl_X1h, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B9 }) (CLaSH.Class.Num.resize @ rep_avjs $dResize_swtG @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt))) (GHC.Num.$fNumInt_$c- resFracSZ_swtC argFracSZ_swtB)) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) } } CLaSH.Sized.Fixed.asRepProxy :: forall (frac_auFV :: GHC.TypeLits.Nat) (rep_auFW :: GHC.TypeLits.Nat -> *) (size_auFX :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFV rep_auFW size_auFX -> Data.Proxy.Proxy rep_auFW [LclIdX, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.asRepProxy = \ (@ (frac_avk6 :: GHC.TypeLits.Nat)) (@ (rep_avk7 :: GHC.TypeLits.Nat -> *)) (@ (size_avk8 :: GHC.TypeLits.Nat)) _ [Occ=Dead] -> Data.Proxy.Proxy @ (GHC.TypeLits.Nat -> *) @ rep_avk7 CLaSH.Sized.Fixed.asFracProxy :: forall (frac_auFY :: GHC.TypeLits.Nat) (rep_auFZ :: GHC.TypeLits.Nat -> *) (size_auG0 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFY rep_auFZ size_auG0 -> Data.Proxy.Proxy frac_auFY [LclIdX, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.asFracProxy = \ (@ (frac_avkp :: GHC.TypeLits.Nat)) (@ (rep_avkq :: GHC.TypeLits.Nat -> *)) (@ (size_avkr :: GHC.TypeLits.Nat)) _ [Occ=Dead] -> Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac_avkp CLaSH.Sized.Fixed.fracShift :: forall (frac_auFS :: GHC.TypeLits.Nat) (rep_auFT :: GHC.TypeLits.Nat -> *) (size_auFU :: GHC.TypeLits.Nat). GHC.TypeLits.KnownNat frac_auFS => CLaSH.Sized.Fixed.Fixed frac_auFS rep_auFT size_auFU -> GHC.Types.Int [LclIdX, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0] 70 0}] CLaSH.Sized.Fixed.fracShift = \ (@ (frac_avjN :: GHC.TypeLits.Nat)) (@ (rep_avjO :: GHC.TypeLits.Nat -> *)) (@ (size_avjP :: GHC.TypeLits.Nat)) ($dKnownNat_avxa :: GHC.TypeLits.KnownNat frac_avjN) (f_auGd :: CLaSH.Sized.Fixed.Fixed frac_avjN rep_avjO size_avjP) -> GHC.Num.$fNumInt_$cfromInteger (GHC.TypeLits.natVal @ frac_avjN @ Data.Proxy.Proxy $dKnownNat_avxa (CLaSH.Sized.Fixed.asFracProxy @ frac_avjN @ rep_avjO @ size_avjP f_auGd)) a_swaI :: forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaI = \ (@ (int_avkK :: GHC.TypeLits.Nat)) (@ (frac_avkL :: GHC.TypeLits.Nat)) (ds_dvZi :: CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL)) -> ds_dvZi CLaSH.Sized.Fixed.unUF :: forall (int_auG1 :: GHC.TypeLits.Nat) (frac_auG2 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.UFixed int_auG1 frac_auG2 -> CLaSH.Sized.Unsigned.Unsigned (int_auG1 GHC.TypeLits.+ frac_auG2) [LclIdX, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.unUF = a_swaI `cast` (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL)) ~# (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL))) a_swaJ :: forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaJ = \ (@ (frac_avl5 :: GHC.TypeLits.Nat)) (@ (int_avl6 :: GHC.TypeLits.Nat)) _ [Occ=Dead] (fRep_auGb :: CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) -> fRep_auGb CLaSH.Sized.Fixed.uf :: forall (frac_auG3 :: GHC.TypeLits.Nat) (int_auG4 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_auG3 -> CLaSH.Sized.Unsigned.Unsigned (int_auG4 GHC.TypeLits.+ frac_auG3) -> CLaSH.Sized.Fixed.UFixed int_auG4 frac_auG3 [LclIdX, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.uf = a_swaJ `cast` (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) ~# (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Fixed.Fixed frac_avl5 CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5))) a_swaK :: forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaK = \ (@ (int_avlp :: GHC.TypeLits.Nat)) (@ (frac_avlq :: GHC.TypeLits.Nat)) (ds_dvZu :: CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq)) -> ds_dvZu CLaSH.Sized.Fixed.unSF :: forall (int_auG5 :: GHC.TypeLits.Nat) (frac_auG6 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.SFixed int_auG5 frac_auG6 -> CLaSH.Sized.Signed.Signed (int_auG5 GHC.TypeLits.+ frac_auG6) [LclIdX, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.unSF = a_swaK `cast` (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq)) ~# (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq))) a_swaL :: forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaL = \ (@ (frac_avlK :: GHC.TypeLits.Nat)) (@ (int_avlL :: GHC.TypeLits.Nat)) _ [Occ=Dead] (fRep_auG9 :: CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) -> fRep_auG9 CLaSH.Sized.Fixed.sf :: forall (frac_auG7 :: GHC.TypeLits.Nat) (int_auG8 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_auG7 -> CLaSH.Sized.Signed.Signed (int_auG8 GHC.TypeLits.+ frac_auG7) -> CLaSH.Sized.Fixed.SFixed int_auG8 frac_auG7 [LclIdX, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.sf = a_swaL `cast` (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) ~# (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Fixed.Fixed frac_avlK CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK))) a_swaM :: forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaM = \ (@ (frac_auI2 :: GHC.TypeLits.Nat)) (@ (rep_auI3 :: GHC.TypeLits.Nat -> *)) (@ (size_auI4 :: GHC.TypeLits.Nat)) (ds_dvZF :: CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4) -> ds_dvZF CLaSH.Sized.Fixed.unFixed :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> rep_auFG size_auFH [LclIdX[[RecSel]], Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.unFixed = a_swaM `cast` (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4) ~# (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> rep_auI3 size_auI4)) lvl_swvD :: GHC.Types.Char [LclId, Str=DmdType] lvl_swvD = GHC.Types.C# '-' lvl_swvC :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swvC = __integer 0 lvl_swvE :: GHC.Types.Char [LclId, Str=DmdType] lvl_swvE = GHC.Types.C# '.' lvl_swvF :: forall b_X4Kn. (GHC.Types.Char -> b_X4Kn -> b_X4Kn) -> b_X4Kn -> b_X4Kn [LclId, Str=DmdType] lvl_swvF = \ (@ b_X4Kn) (c_X4Kp [OS=OneShot] :: GHC.Types.Char -> b_X4Kn -> b_X4Kn) (n_X4Kr [OS=OneShot] :: b_X4Kn) -> c_X4Kp lvl_swvE n_X4Kr lvl_swvG :: GHC.Types.Char [LclId, Str=DmdType] lvl_swvG = GHC.Types.C# '0' lvl_swvH :: GHC.Types.Int -> [GHC.Types.Char] -> [GHC.Types.Char] [LclId, Str=DmdType] lvl_swvH = \ (n_auHJ [OS=ProbOneShot] :: GHC.Types.Int) (str_auHK [OS=ProbOneShot] :: [GHC.Types.Char]) -> GHC.Base.augment @ GHC.Types.Char (\ (@ b_X4M9) (c_X4Mc [OS=OneShot] :: GHC.Types.Char -> b_X4M9 -> b_X4M9) (n_X4Kt [OS=OneShot] :: b_X4M9) -> GHC.Base.foldr @ GHC.Types.Char @ b_X4M9 c_X4Mc n_X4Kt (GHC.List.replicate @ GHC.Types.Char (GHC.Num.$fNumInt_$c- n_auHJ (GHC.Base.foldr @ GHC.Types.Char @ (GHC.Prim.Int# -> GHC.Types.Int) (GHC.List.incLen @ GHC.Types.Char) GHC.Types.I# str_auHK 0)) lvl_swvG)) str_auHK lvl_swvI :: (GHC.Types.Int, [GHC.Types.Char]) -> [GHC.Types.Char] [LclId, Str=DmdType] lvl_swvI = Data.Tuple.uncurry @ GHC.Types.Int @ [GHC.Types.Char] @ [GHC.Types.Char] lvl_swvH lvl_swvJ :: GHC.Real.Ratio GHC.Integer.Type.Integer -> GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swvJ = GHC.Real.numerator @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger lvl_swvK :: GHC.Real.Ratio GHC.Integer.Type.Integer -> GHC.Base.String [LclId, Str=DmdType] lvl_swvK = GHC.Base.. @ GHC.Integer.Type.Integer @ GHC.Base.String @ (GHC.Real.Ratio GHC.Integer.Type.Integer) GHC.Show.$fShowInteger_$cshow lvl_swvJ lvl_swvL :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) -> (GHC.Types.Int, [GHC.Types.Char]) [LclId, Str=DmdType] lvl_swvL = Control.Arrow.$fArrow(->)_$csecond @ (GHC.Real.Ratio GHC.Integer.Type.Integer) @ [GHC.Types.Char] @ GHC.Types.Int lvl_swvK ds_swvM :: GHC.Integer.Type.Integer [LclId, Str=DmdType] ds_swvM = __integer 1 lvl_swvN :: GHC.Integer.Type.Integer -> GHC.Types.Bool [LclId, Str=DmdType] lvl_swvN = \ (ds_dw44 [OS=ProbOneShot] :: GHC.Integer.Type.Integer) -> GHC.Integer.Type.eqInteger ds_dw44 ds_swvM lvl_swvO :: GHC.Real.Ratio GHC.Integer.Type.Integer -> GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swvO = GHC.Real.denominator @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger lvl_swvP :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) -> GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swvP = GHC.Base.. @ (GHC.Real.Ratio GHC.Integer.Type.Integer) @ GHC.Integer.Type.Integer @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) lvl_swvO (Data.Tuple.snd @ GHC.Types.Int @ (GHC.Real.Ratio GHC.Integer.Type.Integer)) lvl_swvQ :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) -> GHC.Types.Bool [LclId, Str=DmdType] lvl_swvQ = GHC.Base.. @ GHC.Integer.Type.Integer @ GHC.Types.Bool @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) lvl_swvN lvl_swvP lvl_swvR :: [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)] -> Data.Maybe.Maybe (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) [LclId, Str=DmdType] lvl_swvR = Data.List.find @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) lvl_swvQ lvl_swvS :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swvS = __integer 10 ds_swvT :: GHC.Real.Ratio GHC.Integer.Type.Integer [LclId, Str=DmdType] ds_swvT = GHC.Real.$fNumRatio_$s$cfromInteger lvl_swvS lvl_swvU :: GHC.Real.Ratio GHC.Integer.Type.Integer -> GHC.Real.Ratio GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swvU = \ (ds_dw47 [OS=ProbOneShot] :: GHC.Real.Ratio GHC.Integer.Type.Integer) -> GHC.Real.$fNumRatio_$s$c* ds_dw47 ds_swvT lvl_swvV :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) -> (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) [LclId, Str=DmdType] lvl_swvV = Control.Arrow.$fArrow(->)_$c*** @ GHC.Types.Int @ GHC.Types.Int @ (GHC.Real.Ratio GHC.Integer.Type.Integer) @ (GHC.Real.Ratio GHC.Integer.Type.Integer) GHC.Enum.$fEnumInt_$csucc lvl_swvU lvl_swvW :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) -> [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)] [LclId, Str=DmdType] lvl_swvW = GHC.List.iterate @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) lvl_swvV lvl_swvX :: GHC.Types.Int [LclId, Str=DmdType] lvl_swvX = GHC.Types.I# 0 lvl_swvY :: GHC.Real.Ratio GHC.Integer.Type.Integer -> (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) [LclId, Str=DmdType] lvl_swvY = GHC.Tuple.(,) @ GHC.Types.Int @ (GHC.Real.Ratio GHC.Integer.Type.Integer) lvl_swvX lvl_swvZ :: GHC.Real.Ratio GHC.Integer.Type.Integer -> [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)] [LclId, Str=DmdType] lvl_swvZ = GHC.Base.. @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) @ [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)] @ (GHC.Real.Ratio GHC.Integer.Type.Integer) lvl_swvW lvl_swvY lvl_sww0 :: GHC.Real.Ratio GHC.Integer.Type.Integer -> Data.Maybe.Maybe (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) [LclId, Str=DmdType] lvl_sww0 = GHC.Base.. @ [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)] @ (Data.Maybe.Maybe (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) @ (GHC.Real.Ratio GHC.Integer.Type.Integer) lvl_swvR lvl_swvZ lvl_sww1 :: GHC.Real.Ratio GHC.Integer.Type.Integer -> (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) [LclId, Str=DmdType] lvl_sww1 = GHC.Base.. @ (Data.Maybe.Maybe (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) @ (GHC.Real.Ratio GHC.Integer.Type.Integer) (Data.Maybe.fromJust @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) lvl_sww0 lvl_sww2 :: GHC.Real.Ratio GHC.Integer.Type.Integer -> (GHC.Types.Int, [GHC.Types.Char]) [LclId, Str=DmdType] lvl_sww2 = GHC.Base.. @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) @ (GHC.Types.Int, [GHC.Types.Char]) @ (GHC.Real.Ratio GHC.Integer.Type.Integer) lvl_swvL lvl_sww1 lvl_sww3 :: GHC.Real.Ratio GHC.Integer.Type.Integer -> [GHC.Types.Char] [LclId, Str=DmdType] lvl_sww3 = GHC.Base.. @ (GHC.Types.Int, [GHC.Types.Char]) @ [GHC.Types.Char] @ (GHC.Real.Ratio GHC.Integer.Type.Integer) lvl_swvI lvl_sww2 lvl_sww5 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_sww5 = __integer 2 lvl_sww6 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_sww6 = __integer 1 lvl_sww7 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_sww7 = __integer 2 lvl_sww8 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_sww8 = __integer 1 lvl_sww4 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_sww4 = __integer 0 lvl_sww9 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_sww9 = __integer 2 $cshow_avFD :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> GHC.Base.String [LclId, Arity=5, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] $cshow_avFD = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) _ [Occ=Dead] _ [Occ=Dead] ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) (f_auHA :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) -> let { fRepI_swtk :: GHC.Integer.Type.Integer [LclId, Str=DmdType] fRepI_swtk = GHC.Real.toInteger @ (rep_auHy size_auHz) $dIntegral_avFy (f_auHA `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz ~# rep_auHy size_auHz)) } in let { fRepI_abs_swtj :: GHC.Integer.Type.Integer [LclId, Str=DmdType] fRepI_abs_swtj = GHC.Integer.Type.absInteger fRepI_swtk } in let { nF_swti :: GHC.Types.Int [LclId, Str=DmdType] nF_swti = CLaSH.Sized.Fixed.fracShift @ frac_auHx @ rep_auHy @ size_auHz $dKnownNat_avFx f_auHA } in GHC.Base.augment @ GHC.Types.Char (\ (@ b_a4II) (c_a4IJ [OS=OneShot] :: GHC.Types.Char -> b_a4II -> b_a4II) (n_a4IK [OS=OneShot] :: b_a4II) -> GHC.Base.foldr @ GHC.Types.Char @ b_a4II c_a4IJ n_a4IK (case GHC.Integer.Type.ltInteger fRepI_swtk lvl_swvC of _ [Occ=Dead] { GHC.Types.False -> GHC.Show.$fShowInteger_$cshow (Data.Bits.$fBitsInteger_$cshiftR fRepI_swtk nF_swti); GHC.Types.True -> GHC.Types.: @ GHC.Types.Char lvl_swvD (GHC.Show.$fShowInteger_$cshow (Data.Bits.$fBitsInteger_$cshiftR fRepI_abs_swtj nF_swti)) })) (GHC.Base.augment @ GHC.Types.Char lvl_swvF (GHC.Base.$ @ (GHC.Real.Ratio GHC.Integer.Type.Integer) @ [GHC.Types.Char] lvl_sww3 (GHC.Real.%_$s% (case GHC.Integer.Type.ltInteger fRepI_swtk lvl_sww4 of _ [Occ=Dead] { GHC.Types.False -> GHC.Integer.Type.andInteger fRepI_swtk (GHC.Integer.Type.minusInteger (GHC.Real.^ @ GHC.Integer.Type.Integer @ GHC.Types.Int GHC.Num.$fNumInteger GHC.Real.$fIntegralInt lvl_sww5 nF_swti) lvl_sww6); GHC.Types.True -> GHC.Integer.Type.andInteger fRepI_abs_swtj (GHC.Integer.Type.minusInteger (GHC.Real.^ @ GHC.Integer.Type.Integer @ GHC.Types.Int GHC.Num.$fNumInteger GHC.Real.$fIntegralInt lvl_sww7 nF_swti) lvl_sww8) }) (GHC.Real.^ @ GHC.Integer.Type.Integer @ GHC.Types.Int GHC.Num.$fNumInteger GHC.Real.$fIntegralInt lvl_sww9 nF_swti)))) $cshowsPrec_avFB :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => GHC.Types.Int -> CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> GHC.Show.ShowS [LclId, Arity=7, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=7, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0 0 0 0 0 0] 120 40}] $cshowsPrec_avFB = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) _ [Occ=Dead] (x_a2fY :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (s_a2fZ :: GHC.Base.String) -> GHC.Base.augment @ GHC.Types.Char (\ (@ b_a2g3) (c_a2g4 [OS=OneShot] :: GHC.Types.Char -> b_a2g3 -> b_a2g3) (n_a2g5 [OS=OneShot] :: b_a2g3) -> GHC.Base.foldr @ GHC.Types.Char @ b_a2g3 c_a2g4 n_a2g5 ($cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy x_a2fY)) s_a2fZ Rec { CLaSH.Sized.Fixed.$fShowFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => GHC.Show.Show (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) [LclIdX[DFunId], Arity=4, Str=DmdType, Unf=DFun: \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) -> GHC.Show.D:Show TYPE CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz $cshowsPrec_avFB @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy $cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy $cshowList_avIE @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy] CLaSH.Sized.Fixed.$fShowFixed = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) -> GHC.Show.D:Show @ (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) ($cshowsPrec_avFB @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy) ($cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy) ($cshowList_avIE @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy) $cshowList_avIE [Occ=LoopBreaker] :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz] -> GHC.Show.ShowS [LclId, Arity=4, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=4, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0 0 0] 140 60}] $cshowList_avIE = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) -> let { $dShow_swtc :: GHC.Show.Show (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) [LclId, Str=DmdType] $dShow_swtc = CLaSH.Sized.Fixed.$fShowFixed @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy } in let { lvl_swwa :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> GHC.Show.ShowS [LclId, Str=DmdType] lvl_swwa = GHC.Show.shows @ (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) $dShow_swtc } in \ (ls_a2fk :: [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz]) (s_a2fl :: GHC.Base.String) -> GHC.Show.showList__ @ (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) lvl_swwa ls_a2fk s_a2fl end Rec } a_swjx :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu) [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [40 0 0] 70 0}] a_swjx = \ (@ (frac1_auHq :: GHC.TypeLits.Nat)) (@ (rep_auHr :: GHC.TypeLits.Nat -> *)) (@ (size1_auHs :: GHC.TypeLits.Nat)) (@ (frac2_auHt :: GHC.TypeLits.Nat)) (@ (size2_auHu :: GHC.TypeLits.Nat)) (tup_avFg :: CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) (eta_B2 :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (eta_B1 :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) -> case case tup_avFg of _ [Occ=Dead] { (tpl_X1z, tpl_X1B) -> tpl_X1B } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw3M -> (CLaSH.Class.Num.mult @ (rep_auHr size1_auHs) @ (rep_auHr size2_auHu) (case tup_avFg of _ [Occ=Dead] { (tpl_X1C, tpl_X1E) -> tpl_X1C }) (eta_B2 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs ~# rep_auHr size1_auHs)) (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu ~# rep_auHr size2_auHu))) `cast` (Sub cobox_dw3M :: CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) } $cmult_avFi :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $cmult_avFi = a_swjx `cast` (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). _R -> _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:MResultFixedFixed[0] _N _N _N _N _N)) :: (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) ~# (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu))) CLaSH.Sized.Fixed.$fMultFixedFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) [LclIdX[DFunId(nt)], Arity=3, Str=DmdType, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= $cmult_avFi `cast` (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). _R -> Sym (CLaSH.Class.Num.NTCo:Mult[0] _N _N) :: (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_XuJ1 frac1_XuIZ frac2_XuJ5 size1_XuJ3 size2_XuJ7) => CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3 -> CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7 -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3) (CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7)) ~# (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_XuJ1 frac1_XuIZ frac2_XuJ5 size1_XuJ3 size2_XuJ7) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3) (CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7)))}] CLaSH.Sized.Fixed.$fMultFixedFixed = $cmult_avFi `cast` (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). _R -> Sym (CLaSH.Class.Num.NTCo:Mult[0] _N _N) :: (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_XuJ1 frac1_XuIZ frac2_XuJ5 size1_XuJ3 size2_XuJ7) => CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3 -> CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7 -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3) (CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7)) ~# (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_XuJ1 frac1_XuIZ frac2_XuJ5 size1_XuJ3 size2_XuJ7) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3) (CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7))) $cminus_avEx :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0 0] 450 0}] $cminus_avEx = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (eta_X1I :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (eta_X3p :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> letrec { $dBits_swt2 :: Data.Bits.Bits (rep_auHe size1_auHf) [LclId, Str=DmdType] $dBits_swt2 = case tup_swt3 of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B5 }; tup_swt3 :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] tup_swt3 = case tup_avDN of _ [Occ=Dead] { (tpl_X1Z, tpl_X21, tpl_B3) -> tpl_X1Z }; } in letrec { $dKnownNat_swt4 :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) [LclId, Str=DmdType] $dKnownNat_swt4 = case tup_swta of _ [Occ=Dead] { (tpl_X1X, tpl_X1Z, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Ba }; $dBits_swt5 :: Data.Bits.Bits (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType] $dBits_swt5 = case tup_swta of _ [Occ=Dead] { (tpl_X1V, tpl_X1X, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B9 }; $dKnownNat_swt6 :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] $dKnownNat_swt6 = case tup_swta of _ [Occ=Dead] { (tpl_X1T, tpl_X1V, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 }; $dResize_swt7 :: CLaSH.Class.Num.Resize rep_auHe [LclId, Str=DmdType] $dResize_swt7 = case tup_swta of _ [Occ=Dead] { (tpl_X1R, tpl_X1T, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B6 }; $dBits_swt8 :: Data.Bits.Bits (rep_auHe size2_auHh) [LclId, Str=DmdType] $dBits_swt8 = case tup_swta of _ [Occ=Dead] { (tpl_X1P, tpl_X1R, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B5 }; $dBounded_swt9 :: GHC.Enum.Bounded (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType] $dBounded_swt9 = case tup_swta of _ [Occ=Dead] { (tpl_X1N, tpl_X1P, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X1N }; tup_swta :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] tup_swta = case tup_avDN of _ [Occ=Dead] { (tpl_X1L, tpl_X1N, tpl_B3) -> tpl_X1N }; } in (GHC.Num.- @ (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (case tup_avDN of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3) -> tpl_B3 }) ((CLaSH.Sized.Fixed.resizeF @ frac1_auHd @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size1_auHf @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ($dBounded_swt9, Data.Bits.$p1Bits @ (rep_auHe size1_auHf) $dBits_swt2, case tup_swt3 of _ [Occ=Dead] { (tpl_X43, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B3 }, case tup_swt3 of _ [Occ=Dead] { (tpl_X22, tpl_X46, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B4 }, $dBits_swt2, $dResize_swt7, $dKnownNat_swt6, case tup_swt3 of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B8 }, $dBits_swt5, $dKnownNat_swt4, case tup_swt3 of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bb }, case tup_swt3 of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bc }) eta_X1I) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1))) ((CLaSH.Sized.Fixed.resizeF @ frac2_auHg @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size2_auHh @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ($dBounded_swt9, Data.Bits.$p1Bits @ (rep_auHe size2_auHh) $dBits_swt8, case tup_swta of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B3 }, case tup_swta of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B4 }, $dBits_swt8, $dResize_swt7, $dKnownNat_swt6, case tup_swta of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B8 }, $dBits_swt5, $dKnownNat_swt4, case tup_swta of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bb }, case tup_swta of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bc }) eta_X3p) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:AResultFixedFixed[0] _N _N _N _N _N)) :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh)) $cplus_avDP :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0 0] 450 0}] $cplus_avDP = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (eta_X1J :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (eta_X3r :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> letrec { $dBits_swsK :: Data.Bits.Bits (rep_auHe size1_auHf) [LclId, Str=DmdType] $dBits_swsK = case tup_swsL of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B5 }; tup_swsL :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] tup_swsL = case tup_avDN of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3) -> tpl_X20 }; } in letrec { $dKnownNat_swsM :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) [LclId, Str=DmdType] $dKnownNat_swsM = case tup_swsS of _ [Occ=Dead] { (tpl_X1Y, tpl_X20, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Ba }; $dBits_swsN :: Data.Bits.Bits (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType] $dBits_swsN = case tup_swsS of _ [Occ=Dead] { (tpl_X1W, tpl_X1Y, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B9 }; $dKnownNat_swsO :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] $dKnownNat_swsO = case tup_swsS of _ [Occ=Dead] { (tpl_X1U, tpl_X1W, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 }; $dResize_swsP :: CLaSH.Class.Num.Resize rep_auHe [LclId, Str=DmdType] $dResize_swsP = case tup_swsS of _ [Occ=Dead] { (tpl_X1S, tpl_X1U, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B6 }; $dBits_swsQ :: Data.Bits.Bits (rep_auHe size2_auHh) [LclId, Str=DmdType] $dBits_swsQ = case tup_swsS of _ [Occ=Dead] { (tpl_X1Q, tpl_X1S, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B5 }; $dBounded_swsR :: GHC.Enum.Bounded (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType] $dBounded_swsR = case tup_swsS of _ [Occ=Dead] { (tpl_X1O, tpl_X1Q, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X1O }; tup_swsS :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] tup_swsS = case tup_avDN of _ [Occ=Dead] { (tpl_X1M, tpl_X1O, tpl_B3) -> tpl_X1O }; } in (GHC.Num.+ @ (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (case tup_avDN of _ [Occ=Dead] { (tpl_X23, tpl_X25, tpl_B3) -> tpl_B3 }) ((CLaSH.Sized.Fixed.resizeF @ frac1_auHd @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size1_auHf @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ($dBounded_swsR, Data.Bits.$p1Bits @ (rep_auHe size1_auHf) $dBits_swsK, case tup_swsL of _ [Occ=Dead] { (tpl_X45, tpl_X25, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B3 }, case tup_swsL of _ [Occ=Dead] { (tpl_X23, tpl_X48, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B4 }, $dBits_swsK, $dResize_swsP, $dKnownNat_swsO, case tup_swsL of _ [Occ=Dead] { (tpl_X23, tpl_X25, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B8 }, $dBits_swsN, $dKnownNat_swsM, case tup_swsL of _ [Occ=Dead] { (tpl_X23, tpl_X25, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bb }, case tup_swsL of _ [Occ=Dead] { (tpl_X23, tpl_X25, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bc }) eta_X1J) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1))) ((CLaSH.Sized.Fixed.resizeF @ frac2_auHg @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size2_auHh @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ($dBounded_swsR, Data.Bits.$p1Bits @ (rep_auHe size2_auHh) $dBits_swsQ, case tup_swsS of _ [Occ=Dead] { (tpl_X23, tpl_X25, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B3 }, case tup_swsS of _ [Occ=Dead] { (tpl_X23, tpl_X25, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B4 }, $dBits_swsQ, $dResize_swsP, $dKnownNat_swsO, case tup_swsS of _ [Occ=Dead] { (tpl_X23, tpl_X25, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B8 }, $dBits_swsN, $dKnownNat_swsM, case tup_swsS of _ [Occ=Dead] { (tpl_X23, tpl_X25, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bb }, case tup_swsS of _ [Occ=Dead] { (tpl_X23, tpl_X25, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bc }) eta_X3r) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:AResultFixedFixed[0] _N _N _N _N _N)) :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh)) CLaSH.Sized.Fixed.$fAddFixedFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Class.Num.Add (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclIdX[DFunId], Arity=1, Str=DmdType, Unf=DFun: \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) -> CLaSH.Class.Num.D:Add TYPE CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf TYPE CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh $cplus_avDP @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN $cminus_avEx @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN] CLaSH.Sized.Fixed.$fAddFixedFixed = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) -> CLaSH.Class.Num.D:Add @ (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) @ (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) ($cplus_avDP @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN) ($cminus_avEx @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN) $cfromInteger_avDp :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => GHC.Integer.Type.Integer -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [40 0] 170 0}] $cfromInteger_avDp = \ (@ (frac_auGY :: GHC.TypeLits.Nat)) (@ (rep_auGZ :: GHC.TypeLits.Nat -> *)) (@ (size_auH0 :: GHC.TypeLits.Nat)) (tup_avBm :: CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) (eta_X1I :: GHC.Integer.Type.Integer) -> let { tup_swsA :: CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0 [LclId, Str=DmdType] tup_swsA = case tup_avBm of _ [Occ=Dead] { (tpl_X1L, tpl_X1N, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X1N } } in (Data.Bits.shiftL @ (rep_auGZ size_auH0) (case tup_swsA of _ [Occ=Dead] { (tpl_X1M, tpl_X1O, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B9 }) (GHC.Num.fromInteger @ (rep_auGZ size_auH0) (case tup_avBm of _ [Occ=Dead] { (tpl_X1M, tpl_X1O, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_B3 }) eta_X1I) (GHC.Num.$fNumInt_$cfromInteger (GHC.TypeLits.natVal @ frac_auGY @ Data.Proxy.Proxy (case tup_swsA of _ [Occ=Dead] { (tpl_X1M, tpl_X1O, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Ba }) (Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac_auGY)))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auGZ size_auH0 ~# CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) a_swkh :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [20 0] 40 0}] a_swkh = \ (@ (frac_auGY :: GHC.TypeLits.Nat)) (@ (rep_auGZ :: GHC.TypeLits.Nat -> *)) (@ (size_auH0 :: GHC.TypeLits.Nat)) (tup_avBm :: CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) (eta_X1J :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) -> GHC.Num.signum @ (rep_auGZ size_auH0) (case tup_avBm of _ [Occ=Dead] { (tpl_X1L, tpl_X1N, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_B3 }) (eta_X1J `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 ~# rep_auGZ size_auH0)) $csignum_avDg :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $csignum_avDg = a_swkh `cast` (forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> rep_auGZ size_auH0) ~# (forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0)) $cabs_avCW :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0] 300 0}] $cabs_avCW = \ (@ (frac_XuIJ :: GHC.TypeLits.Nat)) (@ (rep_XuIL :: GHC.TypeLits.Nat -> *)) (@ (size_XuIN :: GHC.TypeLits.Nat)) (tup_XvDa :: CLaSH.Sized.Fixed.NumFixed frac_XuIJ rep_XuIL size_XuIN) (eta_X1Q :: CLaSH.Sized.Fixed.Fixed frac_XuIJ rep_XuIL size_XuIN) -> letrec { $dKnownNat_swsv :: GHC.TypeLits.KnownNat (size_XuIN GHC.TypeLits.+ 2) [LclId, Str=DmdType] $dKnownNat_swsv = case tup_swsw of _ [Occ=Dead] { (tpl_X1Z, tpl_X21, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B8 }; tup_swsw :: CLaSH.Sized.Fixed.SatN2C rep_XuIL size_XuIN [LclId, Str=DmdType] tup_swsw = case tup_XvDa of _ [Occ=Dead] { (tpl_X1X, tpl_X1Z, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X1X }; } in letrec { $dKnownNat_swsx :: GHC.TypeLits.KnownNat size_XuIN [LclId, Str=DmdType] $dKnownNat_swsx = case tup_swsy of _ [Occ=Dead] { (tpl_X1V, tpl_X1X, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 }; tup_swsy :: CLaSH.Sized.Fixed.ResizeFC rep_XuIL (frac_XuIJ GHC.TypeLits.+ frac_XuIJ) frac_XuIJ (size_XuIN GHC.TypeLits.+ size_XuIN) size_XuIN [LclId, Str=DmdType] tup_swsy = case tup_XvDa of _ [Occ=Dead] { (tpl_X1T, tpl_X1V, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X1V }; } in (CLaSH.Sized.Fixed.satN2 @ rep_XuIL @ size_XuIN (case tup_swsw of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X20 }, case tup_swsw of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X22 }, case tup_swsw of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B3 }, case tup_swsw of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B4 }, case tup_swsw of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B5 }, case tup_swsw of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B6 }, $dKnownNat_swsx, $dKnownNat_swsv, case tup_swsy of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X20 }, case tup_swsw of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_Ba }) (GHC.Num.abs @ (rep_XuIL (size_XuIN GHC.TypeLits.+ 2)) (case tup_XvDa of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_B4 }) (CLaSH.Class.Num.resize @ rep_XuIL (case tup_swsy of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B6 }) @ size_XuIN @ (size_XuIN GHC.TypeLits.+ 2) $dKnownNat_swsx $dKnownNat_swsv (eta_X1Q `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIJ rep_XuIL size_XuIN ~# rep_XuIL size_XuIN))))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIL size_XuIN ~# CLaSH.Sized.Fixed.Fixed frac_XuIJ rep_XuIL size_XuIN) $cnegate_avCC :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0] 300 0}] $cnegate_avCC = \ (@ (frac_XuIK :: GHC.TypeLits.Nat)) (@ (rep_XuIM :: GHC.TypeLits.Nat -> *)) (@ (size_XuIO :: GHC.TypeLits.Nat)) (tup_XvDb :: CLaSH.Sized.Fixed.NumFixed frac_XuIK rep_XuIM size_XuIO) (eta_X1R :: CLaSH.Sized.Fixed.Fixed frac_XuIK rep_XuIM size_XuIO) -> letrec { $dKnownNat_swsn :: GHC.TypeLits.KnownNat (size_XuIO GHC.TypeLits.+ 2) [LclId, Str=DmdType] $dKnownNat_swsn = case tup_swso of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B8 }; tup_swso :: CLaSH.Sized.Fixed.SatN2C rep_XuIM size_XuIO [LclId, Str=DmdType] tup_swso = case tup_XvDb of _ [Occ=Dead] { (tpl_X1Y, tpl_X20, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X1Y }; } in letrec { $dKnownNat_swsp :: GHC.TypeLits.KnownNat size_XuIO [LclId, Str=DmdType] $dKnownNat_swsp = case tup_swsq of _ [Occ=Dead] { (tpl_X1W, tpl_X1Y, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 }; tup_swsq :: CLaSH.Sized.Fixed.ResizeFC rep_XuIM (frac_XuIK GHC.TypeLits.+ frac_XuIK) frac_XuIK (size_XuIO GHC.TypeLits.+ size_XuIO) size_XuIO [LclId, Str=DmdType] tup_swsq = case tup_XvDb of _ [Occ=Dead] { (tpl_X1U, tpl_X1W, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X1W }; } in (CLaSH.Sized.Fixed.satN2 @ rep_XuIM @ size_XuIO (case tup_swso of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X21 }, case tup_swso of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X23 }, case tup_swso of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B3 }, case tup_swso of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B4 }, case tup_swso of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B5 }, case tup_swso of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B6 }, $dKnownNat_swsp, $dKnownNat_swsn, case tup_swsq of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X21 }, case tup_swso of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_Ba }) (GHC.Num.negate @ (rep_XuIM (size_XuIO GHC.TypeLits.+ 2)) (case tup_XvDb of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_B4 }) (CLaSH.Class.Num.resize @ rep_XuIM (case tup_swsq of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B6 }) @ size_XuIO @ (size_XuIO GHC.TypeLits.+ 2) $dKnownNat_swsp $dKnownNat_swsn (eta_X1R `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIK rep_XuIM size_XuIO ~# rep_XuIM size_XuIO))))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIM size_XuIO ~# CLaSH.Sized.Fixed.Fixed frac_XuIK rep_XuIM size_XuIO) $c-_avCb :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0 0] 370 0}] $c-_avCb = \ (@ (frac_XuIL :: GHC.TypeLits.Nat)) (@ (rep_XuIN :: GHC.TypeLits.Nat -> *)) (@ (size_XuIP :: GHC.TypeLits.Nat)) (tup_XvDc :: CLaSH.Sized.Fixed.NumFixed frac_XuIL rep_XuIN size_XuIP) (eta_X1T :: CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP) (eta_X3L :: CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP) -> letrec { $dKnownNat_swse :: GHC.TypeLits.KnownNat (size_XuIP GHC.TypeLits.+ 2) [LclId, Str=DmdType] $dKnownNat_swse = case tup_swsf of _ [Occ=Dead] { (tpl_X24, tpl_X26, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B8 }; tup_swsf :: CLaSH.Sized.Fixed.SatN2C rep_XuIN size_XuIP [LclId, Str=DmdType] tup_swsf = case tup_XvDc of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X22 }; } in letrec { $dKnownNat_swsg :: GHC.TypeLits.KnownNat size_XuIP [LclId, Str=DmdType] $dKnownNat_swsg = case tup_swsi of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 }; tup_swsi :: CLaSH.Sized.Fixed.ResizeFC rep_XuIN (frac_XuIL GHC.TypeLits.+ frac_XuIL) frac_XuIL (size_XuIP GHC.TypeLits.+ size_XuIP) size_XuIP [LclId, Str=DmdType] tup_swsi = case tup_XvDc of _ [Occ=Dead] { (tpl_X1W, tpl_X1Y, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X1Y }; } in let { $dResize_swsh :: CLaSH.Class.Num.Resize rep_XuIN [LclId, Str=DmdType] $dResize_swsh = case tup_swsi of _ [Occ=Dead] { (tpl_X1Y, tpl_X20, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B6 } } in (CLaSH.Sized.Fixed.satN2 @ rep_XuIN @ size_XuIP (case tup_swsf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X25 }, case tup_swsf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X27 }, case tup_swsf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B3 }, case tup_swsf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B4 }, case tup_swsf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B5 }, case tup_swsf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B6 }, $dKnownNat_swsg, $dKnownNat_swse, case tup_swsi of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X25 }, case tup_swsf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_Ba }) (GHC.Num.- @ (rep_XuIN (size_XuIP GHC.TypeLits.+ 2)) (case tup_XvDc of _ [Occ=Dead] { (tpl_X49, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_B4 }) (CLaSH.Class.Num.resize @ rep_XuIN $dResize_swsh @ size_XuIP @ (size_XuIP GHC.TypeLits.+ 2) $dKnownNat_swsg $dKnownNat_swse (eta_X1T `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP ~# rep_XuIN size_XuIP))) (CLaSH.Class.Num.resize @ rep_XuIN $dResize_swsh @ size_XuIP @ (size_XuIP GHC.TypeLits.+ 2) $dKnownNat_swsg $dKnownNat_swse (eta_X3L `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP ~# rep_XuIN size_XuIP))))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIN size_XuIP ~# CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP) $c*_avBP :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0 0] 270 0}] $c*_avBP = \ (@ (frac_XuIM :: GHC.TypeLits.Nat)) (@ (rep_XuIO :: GHC.TypeLits.Nat -> *)) (@ (size_XuIQ :: GHC.TypeLits.Nat)) (tup_XvDd :: CLaSH.Sized.Fixed.NumFixed frac_XuIM rep_XuIO size_XuIQ) (eta_X1U :: CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ) (eta_X3N :: CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ) -> letrec { $dBits_sws7 :: Data.Bits.Bits (rep_XuIO (size_XuIQ GHC.TypeLits.+ size_XuIQ)) [LclId, Str=DmdType] $dBits_sws7 = case tup_sws8 of _ [Occ=Dead] { (tpl_X1Z, tpl_X21, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B5 }; tup_sws8 :: CLaSH.Sized.Fixed.ResizeFC rep_XuIO (frac_XuIM GHC.TypeLits.+ frac_XuIM) frac_XuIM (size_XuIQ GHC.TypeLits.+ size_XuIQ) size_XuIQ [LclId, Str=DmdType] tup_sws8 = case tup_XvDd of _ [Occ=Dead] { (tpl_X1X, tpl_X1Z, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X1Z }; } in CLaSH.Sized.Fixed.resizeF @ (frac_XuIM GHC.TypeLits.+ frac_XuIM) @ frac_XuIM @ rep_XuIO @ (size_XuIQ GHC.TypeLits.+ size_XuIQ) @ size_XuIQ (case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X20 }, Data.Bits.$p1Bits @ (rep_XuIO (size_XuIQ GHC.TypeLits.+ size_XuIQ)) $dBits_sws7, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B3 }, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B4 }, $dBits_sws7, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B6 }, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 }, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B8 }, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B9 }, case tup_sws8 of _ [Occ=Dead] { (tpl_X3Z, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Ba }, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X42, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bb }, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bc }) ((case case tup_XvDd of _ [Occ=Dead] { (tpl_Xk, tpl_Xm, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_B6 } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw1a -> (CLaSH.Class.Num.mult @ (rep_XuIO size_XuIQ) @ (rep_XuIO size_XuIQ) (case tup_XvDd of _ [Occ=Dead] { (tpl_X23, tpl_X25, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_B5 }) (eta_X1U `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ ~# rep_XuIO size_XuIQ)) (eta_X3N `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ ~# rep_XuIO size_XuIQ))) `cast` (Sub cobox_dw1a :: CLaSH.Class.Num.MResult (rep_XuIO size_XuIQ) (rep_XuIO size_XuIQ) ~# rep_XuIO (size_XuIQ GHC.TypeLits.+ size_XuIQ)) }) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIO (size_XuIQ GHC.TypeLits.+ size_XuIQ) ~# CLaSH.Sized.Fixed.Fixed (frac_XuIM GHC.TypeLits.+ frac_XuIM) rep_XuIO (size_XuIQ GHC.TypeLits.+ size_XuIQ))) $c+_avBo :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0 0] 370 0}] $c+_avBo = \ (@ (frac_XuIN :: GHC.TypeLits.Nat)) (@ (rep_XuIP :: GHC.TypeLits.Nat -> *)) (@ (size_XuIR :: GHC.TypeLits.Nat)) (tup_XvDe :: CLaSH.Sized.Fixed.NumFixed frac_XuIN rep_XuIP size_XuIR) (eta_X1V :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) (eta_X3P :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) -> letrec { $dKnownNat_sws0 :: GHC.TypeLits.KnownNat (size_XuIR GHC.TypeLits.+ 2) [LclId, Str=DmdType] $dKnownNat_sws0 = case tup_sws1 of _ [Occ=Dead] { (tpl_X26, tpl_X28, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B8 }; tup_sws1 :: CLaSH.Sized.Fixed.SatN2C rep_XuIP size_XuIR [LclId, Str=DmdType] tup_sws1 = case tup_XvDe of _ [Occ=Dead] { (tpl_X24, tpl_X26, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X24 }; } in letrec { $dKnownNat_sws2 :: GHC.TypeLits.KnownNat size_XuIR [LclId, Str=DmdType] $dKnownNat_sws2 = case tup_sws4 of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 }; tup_sws4 :: CLaSH.Sized.Fixed.ResizeFC rep_XuIP (frac_XuIN GHC.TypeLits.+ frac_XuIN) frac_XuIN (size_XuIR GHC.TypeLits.+ size_XuIR) size_XuIR [LclId, Str=DmdType] tup_sws4 = case tup_XvDe of _ [Occ=Dead] { (tpl_X1Y, tpl_X20, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X20 }; } in let { $dResize_sws3 :: CLaSH.Class.Num.Resize rep_XuIP [LclId, Str=DmdType] $dResize_sws3 = case tup_sws4 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B6 } } in (CLaSH.Sized.Fixed.satN2 @ rep_XuIP @ size_XuIR (case tup_sws1 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X27 }, case tup_sws1 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X29 }, case tup_sws1 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B3 }, case tup_sws1 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B4 }, case tup_sws1 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B5 }, case tup_sws1 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B6 }, $dKnownNat_sws2, $dKnownNat_sws0, case tup_sws4 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X27 }, case tup_sws1 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_Ba }) (GHC.Num.+ @ (rep_XuIP (size_XuIR GHC.TypeLits.+ 2)) (case tup_XvDe of _ [Occ=Dead] { (tpl_X4d, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_B4 }) (CLaSH.Class.Num.resize @ rep_XuIP $dResize_sws3 @ size_XuIR @ (size_XuIR GHC.TypeLits.+ 2) $dKnownNat_sws2 $dKnownNat_sws0 (eta_X1V `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR ~# rep_XuIP size_XuIR))) (CLaSH.Class.Num.resize @ rep_XuIP $dResize_sws3 @ size_XuIR @ (size_XuIR GHC.TypeLits.+ 2) $dKnownNat_sws2 $dKnownNat_sws0 (eta_X3P `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR ~# rep_XuIP size_XuIR))))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIP size_XuIR ~# CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) CLaSH.Sized.Fixed.$fNumFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => GHC.Num.Num (CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) [LclIdX[DFunId], Arity=1, Str=DmdType, Unf=DFun: \ (@ (frac_XuIO :: GHC.TypeLits.Nat)) (@ (rep_XuIQ :: GHC.TypeLits.Nat -> *)) (@ (size_XuIS :: GHC.TypeLits.Nat)) (tup_XvDf :: CLaSH.Sized.Fixed.NumFixed frac_XuIO rep_XuIQ size_XuIS) -> GHC.Num.D:Num TYPE CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS $c+_avBo @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $c*_avBP @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $c-_avCb @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $cnegate_avCC @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $cabs_avCW @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $csignum_avDg @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $cfromInteger_avDp @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf] CLaSH.Sized.Fixed.$fNumFixed = \ (@ (frac_XuIO :: GHC.TypeLits.Nat)) (@ (rep_XuIQ :: GHC.TypeLits.Nat -> *)) (@ (size_XuIS :: GHC.TypeLits.Nat)) (tup_XvDf :: CLaSH.Sized.Fixed.NumFixed frac_XuIO rep_XuIQ size_XuIS) -> GHC.Num.D:Num @ (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS) ($c+_avBo @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($c*_avBP @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($c-_avCb @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($cnegate_avCC @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($cabs_avCW @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($csignum_avDg @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($cfromInteger_avDp @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) a_swhq :: forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). (CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV), GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV))) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) CLaSH.Bit.Bit -> rep_auGU size_auGV [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swhq = \ (@ (frac_auGT :: GHC.TypeLits.Nat)) (@ (rep_auGU :: GHC.TypeLits.Nat -> *)) (@ (size_auGV :: GHC.TypeLits.Nat)) ($dBitVector_avAW :: CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV)) ($dKnownNat_avBa :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV))) (bv_auGX :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) CLaSH.Bit.Bit) -> CLaSH.Class.BitVector.fromBV @ (rep_auGU size_auGV) $dBitVector_avAW ($dKnownNat_avBa `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auGU size_auGV)))) (bv_auGX `cast` ((CLaSH.Sized.Vector.Vec (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auGU size_auGV)) CLaSH.Bit.Bit)) $cfromBV_avB8 :: forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). (CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV), GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV))) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) CLaSH.Bit.Bit -> CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $cfromBV_avB8 = a_swhq `cast` (forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). _R -> _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). (CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV), GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV))) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) CLaSH.Bit.Bit -> rep_auGU size_auGV) ~# (forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). (CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV), GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV))) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) CLaSH.Bit.Bit -> CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) a_swhr :: forall (frac_XuIF :: GHC.TypeLits.Nat) (rep_XuIH :: GHC.TypeLits.Nat -> *) (size_XuIJ :: GHC.TypeLits.Nat). (CLaSH.Class.BitVector.BitVector (rep_XuIH size_XuIJ), GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ))) => CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIH size_XuIJ)) CLaSH.Bit.Bit [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swhr = \ (@ (frac_XuIF :: GHC.TypeLits.Nat)) (@ (rep_XuIH :: GHC.TypeLits.Nat -> *)) (@ (size_XuIJ :: GHC.TypeLits.Nat)) ($dBitVector_XvCL :: CLaSH.Class.BitVector.BitVector (rep_XuIH size_XuIJ)) ($dKnownNat_avB0 :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ))) (ds_dw0H :: CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ) -> CLaSH.Class.BitVector.toBV @ (rep_XuIH size_XuIJ) $dBitVector_XvCL ($dKnownNat_avB0 `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIH size_XuIJ)))) (ds_dw0H `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ ~# rep_XuIH size_XuIJ)) $ctoBV_avAY :: forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). (CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV), GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV))) => CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) CLaSH.Bit.Bit [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $ctoBV_avAY = a_swhr `cast` (forall (frac_XuIF :: GHC.TypeLits.Nat) (rep_XuIH :: GHC.TypeLits.Nat -> *) (size_XuIJ :: GHC.TypeLits.Nat). _R -> _R -> _R -> (CLaSH.Sized.Vector.Vec (Sym (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N)) _R)_R :: (forall (frac_XuIF :: GHC.TypeLits.Nat) (rep_XuIH :: GHC.TypeLits.Nat -> *) (size_XuIJ :: GHC.TypeLits.Nat). (CLaSH.Class.BitVector.BitVector (rep_XuIH size_XuIJ), GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ))) => CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIH size_XuIJ)) CLaSH.Bit.Bit) ~# (forall (frac_XuIF :: GHC.TypeLits.Nat) (rep_XuIH :: GHC.TypeLits.Nat -> *) (size_XuIJ :: GHC.TypeLits.Nat). (CLaSH.Class.BitVector.BitVector (rep_XuIH size_XuIJ), GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ))) => CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ)) CLaSH.Bit.Bit)) CLaSH.Sized.Fixed.$fBitVectorFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV) => CLaSH.Class.BitVector.BitVector (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV) [LclIdX[DFunId], Arity=1, Str=DmdType, Unf=DFun: \ (@ (frac_XuIN :: GHC.TypeLits.Nat)) (@ (rep_XuIP :: GHC.TypeLits.Nat -> *)) (@ (size_XuIR :: GHC.TypeLits.Nat)) ($dBitVector_XvCT :: CLaSH.Class.BitVector.BitVector (rep_XuIP size_XuIR)) -> CLaSH.Class.BitVector.D:BitVector TYPE CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR $ctoBV_avAY @ frac_XuIN @ rep_XuIP @ size_XuIR $dBitVector_XvCT $cfromBV_avB8 @ frac_XuIN @ rep_XuIP @ size_XuIR $dBitVector_XvCT] CLaSH.Sized.Fixed.$fBitVectorFixed = \ (@ (frac_XuIN :: GHC.TypeLits.Nat)) (@ (rep_XuIP :: GHC.TypeLits.Nat -> *)) (@ (size_XuIR :: GHC.TypeLits.Nat)) ($dBitVector_XvCT :: CLaSH.Class.BitVector.BitVector (rep_XuIP size_XuIR)) -> CLaSH.Class.BitVector.D:BitVector @ (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) ($ctoBV_avAY @ frac_XuIN @ rep_XuIP @ size_XuIR $dBitVector_XvCT) ($cfromBV_avB8 @ frac_XuIN @ rep_XuIP @ size_XuIR $dBitVector_XvCT) a_swhs :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => rep_auGM size_auGN [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swhs = \ (@ (frac_auGL :: GHC.TypeLits.Nat)) (@ (rep_auGM :: GHC.TypeLits.Nat -> *)) (@ (size_auGN :: GHC.TypeLits.Nat)) ($dDefault_avAe :: Data.Default.Class.Default (rep_auGM size_auGN)) -> Data.Default.Class.def @ (rep_auGM size_auGN) $dDefault_avAe $cdef_avAg :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => CLaSH.Sized.Fixed.Fixed frac_auGL rep_auGM size_auGN [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $cdef_avAg = a_swhs `cast` (forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => rep_auGM size_auGN) ~# (forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => CLaSH.Sized.Fixed.Fixed frac_auGL rep_auGM size_auGN)) CLaSH.Sized.Fixed.$fDefaultFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_auGL rep_auGM size_auGN) [LclIdX[DFunId(nt)], Arity=1, Str=DmdType, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= $cdef_avAg `cast` (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). _R -> Sym (Data.Default.Class.NTCo:Default[0] _N) :: (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuIO size_XuIQ) => CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ) ~# (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuIO size_XuIQ) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ)))}] CLaSH.Sized.Fixed.$fDefaultFixed = $cdef_avAg `cast` (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). _R -> Sym (Data.Default.Class.NTCo:Default[0] _N) :: (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuIO size_XuIQ) => CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ) ~# (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuIO size_XuIQ) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ))) a_swht :: forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_auGJ size_auGK) => rep_auGJ size_auGK [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swht = \ (@ (frac_auGI :: GHC.TypeLits.Nat)) (@ (rep_auGJ :: GHC.TypeLits.Nat -> *)) (@ (size_auGK :: GHC.TypeLits.Nat)) ($dBounded_avzT :: GHC.Enum.Bounded (rep_auGJ size_auGK)) -> GHC.Enum.maxBound @ (rep_auGJ size_auGK) $dBounded_avzT $cmaxBound_avA4 :: forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_auGJ size_auGK) => CLaSH.Sized.Fixed.Fixed frac_auGI rep_auGJ size_auGK [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $cmaxBound_avA4 = a_swht `cast` (forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_auGJ size_auGK) => rep_auGJ size_auGK) ~# (forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_auGJ size_auGK) => CLaSH.Sized.Fixed.Fixed frac_auGI rep_auGJ size_auGK)) a_swhu :: forall (frac_XuIQ :: GHC.TypeLits.Nat) (rep_XuIS :: GHC.TypeLits.Nat -> *) (size_XuIU :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_XuIS size_XuIU) => rep_XuIS size_XuIU [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swhu = \ (@ (frac_XuIQ :: GHC.TypeLits.Nat)) (@ (rep_XuIS :: GHC.TypeLits.Nat -> *)) (@ (size_XuIU :: GHC.TypeLits.Nat)) ($dBounded_XvC4 :: GHC.Enum.Bounded (rep_XuIS size_XuIU)) -> GHC.Enum.minBound @ (rep_XuIS size_XuIU) $dBounded_XvC4 $cminBound_avzV :: forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_auGJ size_auGK) => CLaSH.Sized.Fixed.Fixed frac_auGI rep_auGJ size_auGK [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $cminBound_avzV = a_swhu `cast` (forall (frac_XuIQ :: GHC.TypeLits.Nat) (rep_XuIS :: GHC.TypeLits.Nat -> *) (size_XuIU :: GHC.TypeLits.Nat). _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_XuIQ :: GHC.TypeLits.Nat) (rep_XuIS :: GHC.TypeLits.Nat -> *) (size_XuIU :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_XuIS size_XuIU) => rep_XuIS size_XuIU) ~# (forall (frac_XuIQ :: GHC.TypeLits.Nat) (rep_XuIS :: GHC.TypeLits.Nat -> *) (size_XuIU :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_XuIS size_XuIU) => CLaSH.Sized.Fixed.Fixed frac_XuIQ rep_XuIS size_XuIU)) CLaSH.Sized.Fixed.$fBoundedFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_auGJ size_auGK) => GHC.Enum.Bounded (CLaSH.Sized.Fixed.Fixed frac_auGI rep_auGJ size_auGK) [LclIdX[DFunId], Arity=1, Str=DmdType, Unf=DFun: \ (@ (frac_XuIW :: GHC.TypeLits.Nat)) (@ (rep_XuIY :: GHC.TypeLits.Nat -> *)) (@ (size_XuJ0 :: GHC.TypeLits.Nat)) ($dBounded_XvCa :: GHC.Enum.Bounded (rep_XuIY size_XuJ0)) -> GHC.Enum.D:Bounded TYPE CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0 $cminBound_avzV @ frac_XuIW @ rep_XuIY @ size_XuJ0 $dBounded_XvCa $cmaxBound_avA4 @ frac_XuIW @ rep_XuIY @ size_XuJ0 $dBounded_XvCa] CLaSH.Sized.Fixed.$fBoundedFixed = \ (@ (frac_XuIW :: GHC.TypeLits.Nat)) (@ (rep_XuIY :: GHC.TypeLits.Nat -> *)) (@ (size_XuJ0 :: GHC.TypeLits.Nat)) ($dBounded_XvCa :: GHC.Enum.Bounded (rep_XuIY size_XuJ0)) -> GHC.Enum.D:Bounded @ (CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0) ($cminBound_avzV @ frac_XuIW @ rep_XuIY @ size_XuJ0 $dBounded_XvCa) ($cmaxBound_avA4 @ frac_XuIW @ rep_XuIY @ size_XuJ0 $dBounded_XvCa) a_swlr :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => rep_auFG size_auFH -> rep_auFG size_auFH -> rep_auFG size_auFH [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swlr = \ (@ (frac_auFF :: GHC.TypeLits.Nat)) (@ (rep_auFG :: GHC.TypeLits.Nat -> *)) (@ (size_auFH :: GHC.TypeLits.Nat)) _ [Occ=Dead] ($dOrd_avyb :: GHC.Classes.Ord (rep_auFG size_auFH)) -> GHC.Classes.min @ (rep_auFG size_auFH) $dOrd_avyb $cmin_avzC :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $cmin_avzC = a_swlr `cast` (forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => rep_auFG size_auFH -> rep_auFG size_auFH -> rep_auFG size_auFH) ~# (forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH)) a_swls :: forall (frac_XuHQ :: GHC.TypeLits.Nat) (rep_XuHS :: GHC.TypeLits.Nat -> *) (size_XuHU :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuHQ rep_XuHS size_XuHU), GHC.Classes.Ord (rep_XuHS size_XuHU)) => rep_XuHS size_XuHU -> rep_XuHS size_XuHU -> rep_XuHS size_XuHU [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swls = \ (@ (frac_XuHQ :: GHC.TypeLits.Nat)) (@ (rep_XuHS :: GHC.TypeLits.Nat -> *)) (@ (size_XuHU :: GHC.TypeLits.Nat)) _ [Occ=Dead] ($dOrd_XvAq :: GHC.Classes.Ord (rep_XuHS size_XuHU)) -> GHC.Classes.max @ (rep_XuHS size_XuHU) $dOrd_XvAq $cmax_avzm :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $cmax_avzm = a_swls `cast` (forall (frac_XuHQ :: GHC.TypeLits.Nat) (rep_XuHS :: GHC.TypeLits.Nat -> *) (size_XuHU :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_XuHQ :: GHC.TypeLits.Nat) (rep_XuHS :: GHC.TypeLits.Nat -> *) (size_XuHU :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuHQ rep_XuHS size_XuHU), GHC.Classes.Ord (rep_XuHS size_XuHU)) => rep_XuHS size_XuHU -> rep_XuHS size_XuHU -> rep_XuHS size_XuHU) ~# (forall (frac_XuHQ :: GHC.TypeLits.Nat) (rep_XuHS :: GHC.TypeLits.Nat -> *) (size_XuHU :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuHQ rep_XuHS size_XuHU), GHC.Classes.Ord (rep_XuHS size_XuHU)) => CLaSH.Sized.Fixed.Fixed frac_XuHQ rep_XuHS size_XuHU -> CLaSH.Sized.Fixed.Fixed frac_XuHQ rep_XuHS size_XuHU -> CLaSH.Sized.Fixed.Fixed frac_XuHQ rep_XuHS size_XuHU)) a_swhz :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => rep_auFG size_auFH -> rep_auFG size_auFH -> GHC.Types.Bool [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swhz = \ (@ (frac_XuHX :: GHC.TypeLits.Nat)) (@ (rep_XuHZ :: GHC.TypeLits.Nat -> *)) (@ (size_XuI1 :: GHC.TypeLits.Nat)) _ [Occ=Dead] ($dOrd_XvAx :: GHC.Classes.Ord (rep_XuHZ size_XuI1)) -> GHC.Classes.<= @ (rep_XuHZ size_XuI1) $dOrd_XvAx $c<=_avz8 :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Bool [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $c<=_avz8 = a_swhz `cast` (forall (frac_XuHY :: GHC.TypeLits.Nat) (rep_XuI0 :: GHC.TypeLits.Nat -> *) (size_XuI2 :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (forall (frac_XuHY :: GHC.TypeLits.Nat) (rep_XuI0 :: GHC.TypeLits.Nat -> *) (size_XuI2 :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuHY rep_XuI0 size_XuI2), GHC.Classes.Ord (rep_XuI0 size_XuI2)) => rep_XuI0 size_XuI2 -> rep_XuI0 size_XuI2 -> GHC.Types.Bool) ~# (forall (frac_XuHY :: GHC.TypeLits.Nat) (rep_XuI0 :: GHC.TypeLits.Nat -> *) (size_XuI2 :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuHY rep_XuI0 size_XuI2), GHC.Classes.Ord (rep_XuI0 size_XuI2)) => CLaSH.Sized.Fixed.Fixed frac_XuHY rep_XuI0 size_XuI2 -> CLaSH.Sized.Fixed.Fixed frac_XuHY rep_XuI0 size_XuI2 -> GHC.Types.Bool)) a_swhA :: forall (frac_XuI3 :: GHC.TypeLits.Nat) (rep_XuI5 :: GHC.TypeLits.Nat -> *) (size_XuI7 :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuI3 rep_XuI5 size_XuI7), GHC.Classes.Ord (rep_XuI5 size_XuI7)) => rep_XuI5 size_XuI7 -> rep_XuI5 size_XuI7 -> GHC.Types.Bool [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swhA = \ (@ (frac_XuI3 :: GHC.TypeLits.Nat)) (@ (rep_XuI5 :: GHC.TypeLits.Nat -> *)) (@ (size_XuI7 :: GHC.TypeLits.Nat)) _ [Occ=Dead] ($dOrd_XvAD :: GHC.Classes.Ord (rep_XuI5 size_XuI7)) -> GHC.Classes.> @ (rep_XuI5 size_XuI7) $dOrd_XvAD $c>_avyU :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Bool [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $c>_avyU = a_swhA `cast` (forall (frac_XuI3 :: GHC.TypeLits.Nat) (rep_XuI5 :: GHC.TypeLits.Nat -> *) (size_XuI7 :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (forall (frac_XuI3 :: GHC.TypeLits.Nat) (rep_XuI5 :: GHC.TypeLits.Nat -> *) (size_XuI7 :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuI3 rep_XuI5 size_XuI7), GHC.Classes.Ord (rep_XuI5 size_XuI7)) => rep_XuI5 size_XuI7 -> rep_XuI5 size_XuI7 -> GHC.Types.Bool) ~# (forall (frac_XuI3 :: GHC.TypeLits.Nat) (rep_XuI5 :: GHC.TypeLits.Nat -> *) (size_XuI7 :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuI3 rep_XuI5 size_XuI7), GHC.Classes.Ord (rep_XuI5 size_XuI7)) => CLaSH.Sized.Fixed.Fixed frac_XuI3 rep_XuI5 size_XuI7 -> CLaSH.Sized.Fixed.Fixed frac_XuI3 rep_XuI5 size_XuI7 -> GHC.Types.Bool)) a_swhB :: forall (frac_XuIa :: GHC.TypeLits.Nat) (rep_XuIc :: GHC.TypeLits.Nat -> *) (size_XuIe :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIa rep_XuIc size_XuIe), GHC.Classes.Ord (rep_XuIc size_XuIe)) => rep_XuIc size_XuIe -> rep_XuIc size_XuIe -> GHC.Types.Bool [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swhB = \ (@ (frac_XuIa :: GHC.TypeLits.Nat)) (@ (rep_XuIc :: GHC.TypeLits.Nat -> *)) (@ (size_XuIe :: GHC.TypeLits.Nat)) _ [Occ=Dead] ($dOrd_XvAK :: GHC.Classes.Ord (rep_XuIc size_XuIe)) -> GHC.Classes.>= @ (rep_XuIc size_XuIe) $dOrd_XvAK $c>=_avyG :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Bool [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $c>=_avyG = a_swhB `cast` (forall (frac_XuIa :: GHC.TypeLits.Nat) (rep_XuIc :: GHC.TypeLits.Nat -> *) (size_XuIe :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (forall (frac_XuIa :: GHC.TypeLits.Nat) (rep_XuIc :: GHC.TypeLits.Nat -> *) (size_XuIe :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIa rep_XuIc size_XuIe), GHC.Classes.Ord (rep_XuIc size_XuIe)) => rep_XuIc size_XuIe -> rep_XuIc size_XuIe -> GHC.Types.Bool) ~# (forall (frac_XuIa :: GHC.TypeLits.Nat) (rep_XuIc :: GHC.TypeLits.Nat -> *) (size_XuIe :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIa rep_XuIc size_XuIe), GHC.Classes.Ord (rep_XuIc size_XuIe)) => CLaSH.Sized.Fixed.Fixed frac_XuIa rep_XuIc size_XuIe -> CLaSH.Sized.Fixed.Fixed frac_XuIa rep_XuIc size_XuIe -> GHC.Types.Bool)) a_swhC :: forall (frac_XuIh :: GHC.TypeLits.Nat) (rep_XuIj :: GHC.TypeLits.Nat -> *) (size_XuIl :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIh rep_XuIj size_XuIl), GHC.Classes.Ord (rep_XuIj size_XuIl)) => rep_XuIj size_XuIl -> rep_XuIj size_XuIl -> GHC.Types.Bool [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swhC = \ (@ (frac_XuIh :: GHC.TypeLits.Nat)) (@ (rep_XuIj :: GHC.TypeLits.Nat -> *)) (@ (size_XuIl :: GHC.TypeLits.Nat)) _ [Occ=Dead] ($dOrd_XvAR :: GHC.Classes.Ord (rep_XuIj size_XuIl)) -> GHC.Classes.< @ (rep_XuIj size_XuIl) $dOrd_XvAR $c<_avys :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Bool [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $c<_avys = a_swhC `cast` (forall (frac_XuIh :: GHC.TypeLits.Nat) (rep_XuIj :: GHC.TypeLits.Nat -> *) (size_XuIl :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (forall (frac_XuIh :: GHC.TypeLits.Nat) (rep_XuIj :: GHC.TypeLits.Nat -> *) (size_XuIl :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIh rep_XuIj size_XuIl), GHC.Classes.Ord (rep_XuIj size_XuIl)) => rep_XuIj size_XuIl -> rep_XuIj size_XuIl -> GHC.Types.Bool) ~# (forall (frac_XuIh :: GHC.TypeLits.Nat) (rep_XuIj :: GHC.TypeLits.Nat -> *) (size_XuIl :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIh rep_XuIj size_XuIl), GHC.Classes.Ord (rep_XuIj size_XuIl)) => CLaSH.Sized.Fixed.Fixed frac_XuIh rep_XuIj size_XuIl -> CLaSH.Sized.Fixed.Fixed frac_XuIh rep_XuIj size_XuIl -> GHC.Types.Bool)) a_swhD :: forall (frac_XuIo :: GHC.TypeLits.Nat) (rep_XuIq :: GHC.TypeLits.Nat -> *) (size_XuIs :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIo rep_XuIq size_XuIs), GHC.Classes.Ord (rep_XuIq size_XuIs)) => rep_XuIq size_XuIs -> rep_XuIq size_XuIs -> GHC.Types.Ordering [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swhD = \ (@ (frac_XuIo :: GHC.TypeLits.Nat)) (@ (rep_XuIq :: GHC.TypeLits.Nat -> *)) (@ (size_XuIs :: GHC.TypeLits.Nat)) _ [Occ=Dead] ($dOrd_XvAY :: GHC.Classes.Ord (rep_XuIq size_XuIs)) -> GHC.Classes.compare @ (rep_XuIq size_XuIs) $dOrd_XvAY $ccompare_avye :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Ordering [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $ccompare_avye = a_swhD `cast` (forall (frac_XuIo :: GHC.TypeLits.Nat) (rep_XuIq :: GHC.TypeLits.Nat -> *) (size_XuIs :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (forall (frac_XuIo :: GHC.TypeLits.Nat) (rep_XuIq :: GHC.TypeLits.Nat -> *) (size_XuIs :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIo rep_XuIq size_XuIs), GHC.Classes.Ord (rep_XuIq size_XuIs)) => rep_XuIq size_XuIs -> rep_XuIq size_XuIs -> GHC.Types.Ordering) ~# (forall (frac_XuIo :: GHC.TypeLits.Nat) (rep_XuIq :: GHC.TypeLits.Nat -> *) (size_XuIs :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIo rep_XuIq size_XuIs), GHC.Classes.Ord (rep_XuIq size_XuIs)) => CLaSH.Sized.Fixed.Fixed frac_XuIo rep_XuIq size_XuIs -> CLaSH.Sized.Fixed.Fixed frac_XuIo rep_XuIq size_XuIs -> GHC.Types.Ordering)) CLaSH.Sized.Fixed.$fOrdFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => GHC.Classes.Ord (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) [LclIdX[DFunId[1]], Arity=2, Str=DmdType, Unf=DFun: \ (@ (frac_XuIv :: GHC.TypeLits.Nat)) (@ (rep_XuIx :: GHC.TypeLits.Nat -> *)) (@ (size_XuIz :: GHC.TypeLits.Nat)) ($dEq_XvB3 :: GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) ($dOrd_XvB5 :: GHC.Classes.Ord (rep_XuIx size_XuIz)) -> GHC.Classes.D:Ord TYPE CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz $dEq_XvB3 $ccompare_avye @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5 $c<_avys @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5 $c>=_avyG @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5 $c>_avyU @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5 $c<=_avz8 @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5 $cmax_avzm @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5 $cmin_avzC @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5] CLaSH.Sized.Fixed.$fOrdFixed = \ (@ (frac_XuIv :: GHC.TypeLits.Nat)) (@ (rep_XuIx :: GHC.TypeLits.Nat -> *)) (@ (size_XuIz :: GHC.TypeLits.Nat)) ($dEq_XvB3 :: GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) ($dOrd_XvB5 :: GHC.Classes.Ord (rep_XuIx size_XuIz)) -> GHC.Classes.D:Ord @ (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz) $dEq_XvB3 ($ccompare_avye @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5) ($c<_avys @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5) ($c>=_avyG @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5) ($c>_avyU @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5) ($c<=_avz8 @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5) ($cmax_avzm @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5) ($cmin_avzC @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5) a_swhE :: forall (frac_XuIw :: GHC.TypeLits.Nat) (rep_XuIy :: GHC.TypeLits.Nat -> *) (size_XuIA :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_XuIy size_XuIA) => rep_XuIy size_XuIA -> rep_XuIy size_XuIA -> GHC.Types.Bool [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swhE = \ (@ (frac_XuIw :: GHC.TypeLits.Nat)) (@ (rep_XuIy :: GHC.TypeLits.Nat -> *)) (@ (size_XuIA :: GHC.TypeLits.Nat)) ($dEq_avxF :: GHC.Classes.Eq (rep_XuIy size_XuIA)) -> GHC.Classes./= @ (rep_XuIy size_XuIA) $dEq_avxF $c/=_avxV :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_auFG size_auFH) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Bool [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $c/=_avxV = a_swhE `cast` (forall (frac_XuIw :: GHC.TypeLits.Nat) (rep_XuIy :: GHC.TypeLits.Nat -> *) (size_XuIA :: GHC.TypeLits.Nat). _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (forall (frac_XuIw :: GHC.TypeLits.Nat) (rep_XuIy :: GHC.TypeLits.Nat -> *) (size_XuIA :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_XuIy size_XuIA) => rep_XuIy size_XuIA -> rep_XuIy size_XuIA -> GHC.Types.Bool) ~# (forall (frac_XuIw :: GHC.TypeLits.Nat) (rep_XuIy :: GHC.TypeLits.Nat -> *) (size_XuIA :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_XuIy size_XuIA) => CLaSH.Sized.Fixed.Fixed frac_XuIw rep_XuIy size_XuIA -> CLaSH.Sized.Fixed.Fixed frac_XuIw rep_XuIy size_XuIA -> GHC.Types.Bool)) a_swhF :: forall (frac_XuIC :: GHC.TypeLits.Nat) (rep_XuIE :: GHC.TypeLits.Nat -> *) (size_XuIG :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_XuIE size_XuIG) => rep_XuIE size_XuIG -> rep_XuIE size_XuIG -> GHC.Types.Bool [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swhF = \ (@ (frac_XuIC :: GHC.TypeLits.Nat)) (@ (rep_XuIE :: GHC.TypeLits.Nat -> *)) (@ (size_XuIG :: GHC.TypeLits.Nat)) ($dEq_XvAF :: GHC.Classes.Eq (rep_XuIE size_XuIG)) -> GHC.Classes.== @ (rep_XuIE size_XuIG) $dEq_XvAF $c==_avxH :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_auFG size_auFH) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Bool [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $c==_avxH = a_swhF `cast` (forall (frac_XuIC :: GHC.TypeLits.Nat) (rep_XuIE :: GHC.TypeLits.Nat -> *) (size_XuIG :: GHC.TypeLits.Nat). _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (forall (frac_XuIC :: GHC.TypeLits.Nat) (rep_XuIE :: GHC.TypeLits.Nat -> *) (size_XuIG :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_XuIE size_XuIG) => rep_XuIE size_XuIG -> rep_XuIE size_XuIG -> GHC.Types.Bool) ~# (forall (frac_XuIC :: GHC.TypeLits.Nat) (rep_XuIE :: GHC.TypeLits.Nat -> *) (size_XuIG :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_XuIE size_XuIG) => CLaSH.Sized.Fixed.Fixed frac_XuIC rep_XuIE size_XuIG -> CLaSH.Sized.Fixed.Fixed frac_XuIC rep_XuIE size_XuIG -> GHC.Types.Bool)) CLaSH.Sized.Fixed.$fEqFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_auFG size_auFH) => GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) [LclIdX[DFunId], Arity=1, Str=DmdType, Unf=DFun: \ (@ (frac_XuII :: GHC.TypeLits.Nat)) (@ (rep_XuIK :: GHC.TypeLits.Nat -> *)) (@ (size_XuIM :: GHC.TypeLits.Nat)) ($dEq_XvAL :: GHC.Classes.Eq (rep_XuIK size_XuIM)) -> GHC.Classes.D:Eq TYPE CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM $c==_avxH @ frac_XuII @ rep_XuIK @ size_XuIM $dEq_XvAL $c/=_avxV @ frac_XuII @ rep_XuIK @ size_XuIM $dEq_XvAL] CLaSH.Sized.Fixed.$fEqFixed = \ (@ (frac_XuII :: GHC.TypeLits.Nat)) (@ (rep_XuIK :: GHC.TypeLits.Nat -> *)) (@ (size_XuIM :: GHC.TypeLits.Nat)) ($dEq_XvAL :: GHC.Classes.Eq (rep_XuIK size_XuIM)) -> GHC.Classes.D:Eq @ (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM) ($c==_avxH @ frac_XuII @ rep_XuIK @ size_XuIM $dEq_XvAL) ($c/=_avxV @ frac_XuII @ rep_XuIK @ size_XuIM $dEq_XvAL) lvl_swwb :: forall b_a4Iy. (GHC.Types.Char -> b_a4Iy -> b_a4Iy) -> b_a4Iy -> b_a4Iy [LclId, Str=DmdType] lvl_swwb = \ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "clash-prelude-0.5"# lvl_swwc :: [GHC.Types.Char] [LclId, Str=DmdType] lvl_swwc = GHC.Base.build @ GHC.Types.Char lvl_swwb lvl_swwd :: forall b_a4Iy. (GHC.Types.Char -> b_a4Iy -> b_a4Iy) -> b_a4Iy -> b_a4Iy [LclId, Str=DmdType] lvl_swwd = \ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "CLaSH.Sized.Fixed"# lvl_swwe :: [GHC.Types.Char] [LclId, Str=DmdType] lvl_swwe = GHC.Base.build @ GHC.Types.Char lvl_swwd lvl_swwf :: forall b_a4Iy. (GHC.Types.Char -> b_a4Iy -> b_a4Iy) -> b_a4Iy -> b_a4Iy [LclId, Str=DmdType] lvl_swwf = \ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "Fixed"# lvl_swwg :: [GHC.Types.Char] [LclId, Str=DmdType] lvl_swwg = GHC.Base.build @ GHC.Types.Char lvl_swwf lvl_swwh :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType] lvl_swwh = Language.Haskell.TH.Syntax.mkNameG_d lvl_swwc lvl_swwe lvl_swwg lvl_swwi :: Language.Haskell.TH.Lib.ExpQ [LclId, Str=DmdType] lvl_swwi = Language.Haskell.TH.Lib.conE lvl_swwh lvl_swwj :: forall b_a4Iy. (GHC.Types.Char -> b_a4Iy -> b_a4Iy) -> b_a4Iy -> b_a4Iy [LclId, Str=DmdType] lvl_swwj = \ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "clash-prelude-0.5"# lvl_swwk :: [GHC.Types.Char] [LclId, Str=DmdType] lvl_swwk = GHC.Base.build @ GHC.Types.Char lvl_swwj lvl_swwl :: forall b_a4Iy. (GHC.Types.Char -> b_a4Iy -> b_a4Iy) -> b_a4Iy -> b_a4Iy [LclId, Str=DmdType] lvl_swwl = \ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "CLaSH.Sized.Fixed"# lvl_swwm :: [GHC.Types.Char] [LclId, Str=DmdType] lvl_swwm = GHC.Base.build @ GHC.Types.Char lvl_swwl lvl_swwn :: forall b_a4Iy. (GHC.Types.Char -> b_a4Iy -> b_a4Iy) -> b_a4Iy -> b_a4Iy [LclId, Str=DmdType] lvl_swwn = \ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "Fixed"# lvl_swwo :: [GHC.Types.Char] [LclId, Str=DmdType] lvl_swwo = GHC.Base.build @ GHC.Types.Char lvl_swwn lvl_swwp :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType] lvl_swwp = Language.Haskell.TH.Syntax.mkNameG_tc lvl_swwk lvl_swwm lvl_swwo lvl_swwq :: Language.Haskell.TH.Lib.TypeQ [LclId, Str=DmdType] lvl_swwq = Language.Haskell.TH.Lib.conT lvl_swwp $clift_avAv :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp [LclId, Arity=5, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] $clift_avAv = \ (@ (frac_auGO :: GHC.TypeLits.Nat)) (@ (rep_auGP :: GHC.TypeLits.Nat -> *)) (@ (size_auGQ :: GHC.TypeLits.Nat)) ($dLift_avAq :: Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ)) ($dKnownNat_avAr :: GHC.TypeLits.KnownNat frac_auGO) ($dKnownNat_avAs :: GHC.TypeLits.KnownNat size_auGQ) ($dTypeable_avAt :: Data.Typeable.Internal.Typeable rep_auGP) (f_auGR :: CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ) -> Language.Haskell.TH.Lib.sigE (Language.Haskell.TH.Lib.appE lvl_swwi (Language.Haskell.TH.Syntax.lift @ (rep_auGP size_auGQ) $dLift_avAq (f_auGR `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ ~# rep_auGP size_auGQ)))) (GHC.List.foldl @ Language.Haskell.TH.Lib.TypeQ @ Language.Haskell.TH.Lib.TypeQ Language.Haskell.TH.Lib.appT lvl_swwq (GHC.Base.build @ Language.Haskell.TH.Lib.TypeQ (\ (@ a_dvZ6) (c_dvZ7 [OS=OneShot] :: Language.Haskell.TH.Lib.TypeQ -> a_dvZ6 -> a_dvZ6) (n_dvZ8 [OS=OneShot] :: a_dvZ6) -> c_dvZ7 (Language.Haskell.TH.Lib.litT (Language.Haskell.TH.Lib.numTyLit (GHC.TypeLits.natVal @ frac_auGO @ Data.Proxy.Proxy $dKnownNat_avAr (CLaSH.Sized.Fixed.asFracProxy @ frac_auGO @ rep_auGP @ size_auGQ f_auGR)))) (c_dvZ7 (Language.Haskell.TH.Lib.conT (Language.Haskell.TH.Syntax.mkName (Data.Typeable.Internal.$fShowTypeRep_$cshow (Data.Typeable.Internal.typeRep @ (GHC.TypeLits.Nat -> *) @ Data.Proxy.Proxy @ rep_auGP $dTypeable_avAt (CLaSH.Sized.Fixed.asRepProxy @ frac_auGO @ rep_auGP @ size_auGQ f_auGR))))) (c_dvZ7 (Language.Haskell.TH.Lib.litT (Language.Haskell.TH.Lib.numTyLit (GHC.TypeLits.natVal @ size_auGQ @ (CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP) $dKnownNat_avAs f_auGR))) n_dvZ8))))) CLaSH.Sized.Fixed.$fLiftFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ) [LclIdX[DFunId(nt)], Arity=5, Str=DmdType, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=4, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= $clift_avAv `cast` (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N) :: (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ)))}] CLaSH.Sized.Fixed.$fLiftFixed = $clift_avAv `cast` (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N) :: (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ))) ------ Local rules for imported ids -------- "SPEC GHC.Real.^ [GHC.Types.Double, GHC.Integer.Type.Integer]" [1] forall ($dNum_swu4 :: GHC.Num.Num GHC.Types.Double) ($dIntegral_swu5 :: GHC.Real.Integral GHC.Integer.Type.Integer). GHC.Real.^ @ GHC.Types.Double @ GHC.Integer.Type.Integer $dNum_swu4 $dIntegral_swu5 = $s^_swu6 *** Float inwards: ==================== Float inwards ==================== Result size of Float inwards = {terms: 2,164, types: 11,689, coercions: 844} Rec { $dReal_swuD :: GHC.Real.Real GHC.Integer.Type.Integer [LclId, Str=DmdType] $dReal_swuD = GHC.Real.$p1Integral @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger $dNum1_swuE :: GHC.Num.Num GHC.Integer.Type.Integer [LclId, Str=DmdType] $dNum1_swuE = GHC.Real.$p1Real @ GHC.Integer.Type.Integer $dReal_swuD $dOrd_swuF :: GHC.Classes.Ord GHC.Integer.Type.Integer [LclId, Str=DmdType] $dOrd_swuF = GHC.Real.$p2Real @ GHC.Integer.Type.Integer $dReal_swuD $dReal1_swuL :: GHC.Real.Real GHC.Integer.Type.Integer [LclId, Str=DmdType] $dReal1_swuL = GHC.Real.$p1Integral @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger a1_swuM :: GHC.Classes.Ord GHC.Integer.Type.Integer [LclId, Str=DmdType] a1_swuM = GHC.Real.$p2Real @ GHC.Integer.Type.Integer $dReal1_swuL $dEq_swuN [Occ=OnceL] :: GHC.Classes.Eq GHC.Integer.Type.Integer [LclId, Str=DmdType] $dEq_swuN = GHC.Classes.$p1Ord @ GHC.Integer.Type.Integer a1_swuM $dNum2_swuO :: GHC.Num.Num GHC.Integer.Type.Integer [LclId, Str=DmdType] $dNum2_swuO = GHC.Real.$p1Real @ GHC.Integer.Type.Integer $dReal1_swuL $dReal2_swuT :: GHC.Real.Real GHC.Integer.Type.Integer [LclId, Str=DmdType] $dReal2_swuT = GHC.Real.$p1Integral @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger a2_swuU :: GHC.Classes.Ord GHC.Integer.Type.Integer [LclId, Str=DmdType] a2_swuU = GHC.Real.$p2Real @ GHC.Integer.Type.Integer $dReal2_swuT $dEq1_swuV [Occ=OnceL] :: GHC.Classes.Eq GHC.Integer.Type.Integer [LclId, Str=DmdType] $dEq1_swuV = GHC.Classes.$p1Ord @ GHC.Integer.Type.Integer a2_swuU $dNum3_swuW :: GHC.Num.Num GHC.Integer.Type.Integer [LclId, Str=DmdType] $dNum3_swuW = GHC.Real.$p1Real @ GHC.Integer.Type.Integer $dReal2_swuT lvl_swv1 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swv1 = __integer 1 lvl_swv2 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swv2 = GHC.Num.fromInteger @ GHC.Integer.Type.Integer $dNum3_swuW lvl_swv1 lvl_swv3 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swv3 = __integer 2 lvl_swv4 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swv4 = GHC.Num.fromInteger @ GHC.Integer.Type.Integer $dNum3_swuW lvl_swv3 lvl_swuZ :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swuZ = __integer 1 lvl_swv0 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swv0 = GHC.Num.fromInteger @ GHC.Integer.Type.Integer $dNum3_swuW lvl_swuZ lvl_swv5 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swv5 = __integer 2 lvl_swv6 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swv6 = GHC.Num.fromInteger @ GHC.Integer.Type.Integer $dNum3_swuW lvl_swv5 g1_swuY [Occ=LoopBreaker] :: GHC.Types.Double -> GHC.Integer.Type.Integer -> GHC.Types.Double -> GHC.Types.Double [LclId, Arity=3, Str=DmdType] g1_swuY = \ (x1_akDN :: GHC.Types.Double) (y1_akDO :: GHC.Integer.Type.Integer) (z_akDP [Occ=Once*] :: GHC.Types.Double) -> case GHC.Real.even @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger y1_akDO of _ [Occ=Dead] { GHC.Types.False -> case GHC.Classes.== @ GHC.Integer.Type.Integer $dEq1_swuV y1_akDO lvl_swv0 of _ [Occ=Dead] { GHC.Types.False -> g1_swuY (GHC.Num.* @ GHC.Types.Double GHC.Float.$fNumDouble x1_akDN x1_akDN) (GHC.Real.quot @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger (GHC.Num.- @ GHC.Integer.Type.Integer $dNum3_swuW y1_akDO lvl_swv2) lvl_swv4) (GHC.Num.* @ GHC.Types.Double GHC.Float.$fNumDouble x1_akDN z_akDP); GHC.Types.True -> GHC.Num.* @ GHC.Types.Double GHC.Float.$fNumDouble x1_akDN z_akDP }; GHC.Types.True -> g1_swuY (GHC.Num.* @ GHC.Types.Double GHC.Float.$fNumDouble x1_akDN x1_akDN) (GHC.Real.quot @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger y1_akDO lvl_swv6) z_akDP } lvl_swv7 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swv7 = __integer 1 lvl_swv8 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swv8 = GHC.Num.fromInteger @ GHC.Integer.Type.Integer $dNum2_swuO lvl_swv7 lvl_swv9 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swv9 = __integer 2 lvl_swva :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swva = GHC.Num.fromInteger @ GHC.Integer.Type.Integer $dNum2_swuO lvl_swv9 lvl_swuR :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swuR = __integer 1 lvl_swuS :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swuS = GHC.Num.fromInteger @ GHC.Integer.Type.Integer $dNum2_swuO lvl_swuR lvl_swvb :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swvb = __integer 2 lvl_swvc :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swvc = GHC.Num.fromInteger @ GHC.Integer.Type.Integer $dNum2_swuO lvl_swvb f_swuQ [Occ=LoopBreaker] :: GHC.Types.Double -> GHC.Integer.Type.Integer -> GHC.Types.Double [LclId, Arity=2, Str=DmdType] f_swuQ = \ (x_akDA :: GHC.Types.Double) (y_akDB :: GHC.Integer.Type.Integer) -> case GHC.Real.even @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger y_akDB of _ [Occ=Dead] { GHC.Types.False -> case GHC.Classes.== @ GHC.Integer.Type.Integer $dEq_swuN y_akDB lvl_swuS of _ [Occ=Dead] { GHC.Types.False -> g1_swuY (GHC.Num.* @ GHC.Types.Double GHC.Float.$fNumDouble x_akDA x_akDA) (GHC.Real.quot @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger (GHC.Num.- @ GHC.Integer.Type.Integer $dNum2_swuO y_akDB lvl_swv8) lvl_swva) x_akDA; GHC.Types.True -> x_akDA }; GHC.Types.True -> f_swuQ (GHC.Num.* @ GHC.Types.Double GHC.Float.$fNumDouble x_akDA x_akDA) (GHC.Real.quot @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger y_akDB lvl_swvc) } lvl_swvd :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swvd = __integer 1 lvl_swve :: GHC.Types.Double [LclId, Str=DmdType] lvl_swve = GHC.Num.fromInteger @ GHC.Types.Double GHC.Float.$fNumDouble lvl_swvd lvl_swuI :: GHC.Classes.Eq GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swuI = GHC.Classes.$p1Ord @ GHC.Integer.Type.Integer $dOrd_swuF lvl_swuJ :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swuJ = __integer 0 lvl_swuK :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swuK = GHC.Num.fromInteger @ GHC.Integer.Type.Integer $dNum1_swuE lvl_swuJ lvl_swvf :: [GHC.Types.Char] [LclId, Str=DmdType] lvl_swvf = GHC.CString.unpackCString# "Negative exponent"# lvl_swvg :: GHC.Types.Double [LclId, Str=DmdType b] lvl_swvg = GHC.Err.error @ GHC.Types.Double lvl_swvf lvl_swuG :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swuG = __integer 0 lvl_swuH :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swuH = GHC.Num.fromInteger @ GHC.Integer.Type.Integer $dNum1_swuE lvl_swuG $s^_swu6 [InlPrag=[1]] :: GHC.Types.Double -> GHC.Integer.Type.Integer -> GHC.Types.Double [LclId, Arity=2, Str=DmdType] $s^_swu6 = \ (eta_akDk [Occ=Once] :: GHC.Types.Double) (eta1_akDl :: GHC.Integer.Type.Integer) -> case GHC.Classes.< @ GHC.Integer.Type.Integer $dOrd_swuF eta1_akDl lvl_swuH of _ [Occ=Dead] { GHC.Types.False -> case GHC.Classes.== @ GHC.Integer.Type.Integer lvl_swuI eta1_akDl lvl_swuK of _ [Occ=Dead] { GHC.Types.False -> f_swuQ eta_akDk eta1_akDl; GHC.Types.True -> lvl_swve }; GHC.Types.True -> lvl_swvg } end Rec } lvl_swvh :: GHC.Types.Double [LclId, Str=DmdType] lvl_swvh = GHC.Types.D# 2.0 lvl_swvi :: forall b_a4Iy. (GHC.Types.Char -> b_a4Iy -> b_a4Iy) -> b_a4Iy -> b_a4Iy [LclId, Str=DmdType] lvl_swvi = \ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "clash-prelude-0.5"# lvl_swvj :: [GHC.Types.Char] [LclId, Str=DmdType] lvl_swvj = GHC.Base.build @ GHC.Types.Char lvl_swvi lvl_swvk :: forall b_a4Iy. (GHC.Types.Char -> b_a4Iy -> b_a4Iy) -> b_a4Iy -> b_a4Iy [LclId, Str=DmdType] lvl_swvk = \ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "CLaSH.Sized.Fixed"# lvl_swvl :: [GHC.Types.Char] [LclId, Str=DmdType] lvl_swvl = GHC.Base.build @ GHC.Types.Char lvl_swvk lvl_swvm :: forall b_a4Iy. (GHC.Types.Char -> b_a4Iy -> b_a4Iy) -> b_a4Iy -> b_a4Iy [LclId, Str=DmdType] lvl_swvm = \ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "Fixed"# lvl_swvn :: [GHC.Types.Char] [LclId, Str=DmdType] lvl_swvn = GHC.Base.build @ GHC.Types.Char lvl_swvm lvl_swvo :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType] lvl_swvo = Language.Haskell.TH.Syntax.mkNameG_d lvl_swvj lvl_swvl lvl_swvn lvl_swvp :: Language.Haskell.TH.Lib.ExpQ [LclId, Str=DmdType] lvl_swvp = Language.Haskell.TH.Lib.conE lvl_swvo lvl_swvq :: forall b_a4Iy. (GHC.Types.Char -> b_a4Iy -> b_a4Iy) -> b_a4Iy -> b_a4Iy [LclId, Str=DmdType] lvl_swvq = \ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "base"# lvl_swvr :: [GHC.Types.Char] [LclId, Str=DmdType] lvl_swvr = GHC.Base.build @ GHC.Types.Char lvl_swvq lvl_swvs :: forall b_a4Iy. (GHC.Types.Char -> b_a4Iy -> b_a4Iy) -> b_a4Iy -> b_a4Iy [LclId, Str=DmdType] lvl_swvs = \ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "GHC.Num"# lvl_swvt :: [GHC.Types.Char] [LclId, Str=DmdType] lvl_swvt = GHC.Base.build @ GHC.Types.Char lvl_swvs lvl_swvu :: forall b_a4Iy. (GHC.Types.Char -> b_a4Iy -> b_a4Iy) -> b_a4Iy -> b_a4Iy [LclId, Str=DmdType] lvl_swvu = \ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "fromInteger"# lvl_swvv :: [GHC.Types.Char] [LclId, Str=DmdType] lvl_swvv = GHC.Base.build @ GHC.Types.Char lvl_swvu lvl_swvw :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType] lvl_swvw = Language.Haskell.TH.Syntax.mkNameG_v lvl_swvr lvl_swvt lvl_swvv lvl_swvx :: Language.Haskell.TH.Lib.ExpQ [LclId, Str=DmdType] lvl_swvx = Language.Haskell.TH.Lib.varE lvl_swvw CLaSH.Sized.Fixed.fLit :: forall (frac_auFI :: GHC.TypeLits.Nat) (rep_auFJ :: GHC.TypeLits.Nat -> *) (size_auFK :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_auFI, GHC.Num.Num (rep_auFJ size_auFK), GHC.Enum.Bounded (rep_auFJ size_auFK), GHC.Real.Integral (rep_auFJ size_auFK)) => GHC.Types.Double -> Language.Haskell.TH.Syntax.Q (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_auFI rep_auFJ size_auFK)) [LclIdX, Arity=5, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] CLaSH.Sized.Fixed.fLit = \ (@ (frac_avhM :: GHC.TypeLits.Nat)) (@ (rep_avhN :: GHC.TypeLits.Nat -> *)) (@ (size_avhO :: GHC.TypeLits.Nat)) ($dKnownNat_avlM :: GHC.TypeLits.KnownNat frac_avhM) _ [Occ=Dead] ($dBounded_avlO :: GHC.Enum.Bounded (rep_avhN size_avhO)) ($dIntegral_avlP :: GHC.Real.Integral (rep_avhN size_avhO)) (a_auGC :: GHC.Types.Double) -> Language.Haskell.TH.Syntax.unsafeTExpCoerce @ (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO) (Language.Haskell.TH.Lib.appE lvl_swvp (Language.Haskell.TH.Lib.appE lvl_swvx (Language.Haskell.TH.Syntax.lift @ GHC.Integer.Type.Integer Language.Haskell.TH.Syntax.$fLiftInteger (let { rMax_swu0 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] rMax_swu0 = GHC.Real.toInteger @ (rep_avhN size_avhO) $dIntegral_avlP (GHC.Enum.maxBound @ (rep_avhN size_avhO) $dBounded_avlO) } in let { truncated_swu2 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] truncated_swu2 = GHC.Float.RealFracMethods.truncateDoubleInteger (GHC.Float.timesDouble a_auGC (GHC.Real.^ @ GHC.Types.Double @ GHC.Integer.Type.Integer GHC.Float.$fNumDouble GHC.Real.$fIntegralInteger lvl_swvh (GHC.TypeLits.natVal @ frac_avhM @ Data.Proxy.Proxy $dKnownNat_avlM (Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac_avhM)))) } in case GHC.Integer.Type.gtInteger truncated_swu2 rMax_swu0 of _ [Occ=Dead] { GHC.Types.False -> let { rMin_swu1 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] rMin_swu1 = GHC.Real.toInteger @ (rep_avhN size_avhO) $dIntegral_avlP (GHC.Enum.minBound @ (rep_avhN size_avhO) $dBounded_avlO) } in case GHC.Integer.Type.ltInteger truncated_swu2 rMin_swu1 of _ [Occ=Dead] { GHC.Types.False -> truncated_swu2; GHC.Types.True -> rMin_swu1 }; GHC.Types.True -> rMax_swu0 })))) CLaSH.Sized.Fixed.satN2 :: forall (rep_auFL :: GHC.TypeLits.Nat -> *) (n_auFM :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.SatN2C rep_auFL n_auFM) => rep_auFL (n_auFM GHC.TypeLits.+ 2) -> rep_auFL n_auFM [LclIdX, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] CLaSH.Sized.Fixed.satN2 = \ (@ (rep_aviy :: GHC.TypeLits.Nat -> *)) (@ (n_aviz :: GHC.TypeLits.Nat)) (tup_avmQ :: CLaSH.Sized.Fixed.SatN2C rep_aviy n_aviz) (eta_B1 :: rep_aviy (n_aviz GHC.TypeLits.+ 2)) -> let { repBV_swtT :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit [LclId, Str=DmdType] repBV_swtT = let { cobox_swtW :: CLaSH.Class.BitVector.BitSize (rep_aviy (n_aviz GHC.TypeLits.+ 2)) ~ (n_aviz GHC.TypeLits.+ 2) [LclId, Str=DmdType] cobox_swtW = case tup_avmQ of _ [Occ=Dead] { (tpl_X1g, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B6 } } in case case cobox_swtW of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6Z -> GHC.Types.Eq# @ * @ (CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy (n_aviz GHC.TypeLits.+ 2))) CLaSH.Bit.Bit) @ (CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit) @~ (CLaSH.Sized.Vector.Vec cobox_dw6Z _N)_N } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6X -> (CLaSH.Class.BitVector.toBV @ (rep_aviy (n_aviz GHC.TypeLits.+ 2)) (case tup_avmQ of _ [Occ=Dead] { (tpl_X1t, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B4 }) (case cobox_swtW of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6Y -> (case tup_avmQ of _ [Occ=Dead] { (tpl_X1x, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B8 }) `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw6Y))_R :: GHC.TypeLits.KnownNat (n_aviz GHC.TypeLits.+ 2) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy (n_aviz GHC.TypeLits.+ 2)))) }) eta_B1) `cast` (Sub cobox_dw6X :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy (n_aviz GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit) } } in let { cobox_swtU :: ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (n_aviz GHC.TypeLits.+ 2) [LclId, Str=DmdType] cobox_swtU = case tup_avmQ of _ [Occ=Dead] { (tpl_X1l, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B2 } } in let { s_swtS :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit [LclId, Str=DmdType] s_swtS = CLaSH.Sized.Vector.vtail @ n_aviz @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (case case case cobox_swtU of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7d -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ (n_aviz GHC.TypeLits.+ 2) @ ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) @~ (Sym cobox_dw7d) } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw75 -> GHC.Types.Eq# @ * @ (CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit) @ (CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit) @~ (CLaSH.Sized.Vector.Vec cobox_dw75 _N)_N } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dvY9 -> repBV_swtT `cast` (Sub cobox_dvY9 :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit) })) } in let { cobox_swtV :: CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz) ~ n_aviz [LclId, Str=DmdType] cobox_swtV = case tup_avmQ of _ [Occ=Dead] { (tpl_X1i, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B5 } } in case Data.Bits.isSigned @ (rep_aviy (n_aviz GHC.TypeLits.+ 2)) (case tup_avmQ of _ [Occ=Dead] { (tpl_X1t, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_Ba }) eta_B1 of _ [Occ=Dead] { GHC.Types.False -> let { ds_swtR :: CLaSH.Bit.Bit [LclId, Str=DmdType] ds_swtR = CLaSH.Sized.Vector.vhead @ n_aviz @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (case case case cobox_swtU of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7g -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ (n_aviz GHC.TypeLits.+ 2) @ ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) @~ (Sym cobox_dw7g) } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw73 -> GHC.Types.Eq# @ * @ (CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit) @ (CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit) @~ (CLaSH.Sized.Vector.Vec cobox_dw73 _N)_N } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dvYc -> repBV_swtT `cast` (Sub cobox_dvYc :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit) })) } in case CLaSH.Sized.Vector.vhead @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (case case case cobox_swtU of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7j -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ (n_aviz GHC.TypeLits.+ 2) @ ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) @~ (Sym cobox_dw7j) } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw71 -> GHC.Types.Eq# @ * @ (CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit) @ (CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit) @~ (CLaSH.Sized.Vector.Vec cobox_dw71 _N)_N } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6W -> repBV_swtT `cast` (Sub cobox_dw6W :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit) }) of _ [Occ=Dead] { CLaSH.Bit.H -> case ds_swtR of _ [Occ=Dead] { CLaSH.Bit.H -> GHC.Enum.minBound @ (rep_aviy n_aviz) (case tup_avmQ of _ [Occ=Dead] { (tpl_X1d, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B9 }); CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_aviy n_aviz) (case tup_avmQ of _ [Occ=Dead] { (tpl_X1k, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B3 }) (case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7b -> (case tup_avmQ of _ [Occ=Dead] { (tpl_X1e, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B7 }) `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw7b))_R :: GHC.TypeLits.KnownNat n_aviz ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz))) }) (case case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7c -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ n_aviz @ (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) @~ (Sym cobox_dw7c) } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6T -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec cobox_dw6T _R)_R :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) CLaSH.Bit.Bit) }) }; CLaSH.Bit.L -> case ds_swtR of _ [Occ=Dead] { CLaSH.Bit.H -> GHC.Enum.maxBound @ (rep_aviy n_aviz) (case tup_avmQ of _ [Occ=Dead] { (tpl_X1d, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B9 }); CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_aviy n_aviz) (case tup_avmQ of _ [Occ=Dead] { (tpl_X1k, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B3 }) (case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7b -> (case tup_avmQ of _ [Occ=Dead] { (tpl_X1e, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B7 }) `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw7b))_R :: GHC.TypeLits.KnownNat n_aviz ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz))) }) (case case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7c -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ n_aviz @ (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) @~ (Sym cobox_dw7c) } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6T -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec cobox_dw6T _R)_R :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) CLaSH.Bit.Bit) }) } }; GHC.Types.True -> case CLaSH.Sized.Vector.vhead @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (case case case cobox_swtU of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7j -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ (n_aviz GHC.TypeLits.+ 2) @ ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) @~ (Sym cobox_dw7j) } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw71 -> GHC.Types.Eq# @ * @ (CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit) @ (CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit) @~ (CLaSH.Sized.Vector.Vec cobox_dw71 _N)_N } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6W -> repBV_swtT `cast` (Sub cobox_dw6W :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit) }) of _ [Occ=Dead] { CLaSH.Bit.H -> case CLaSH.Sized.Vector.vhead' @ n_aviz @ CLaSH.Bit.Bit (case tup_avmQ of _ [Occ=Dead] { (tpl_X1p, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X1p }) s_swtS of _ [Occ=Dead] { CLaSH.Bit.H -> CLaSH.Class.BitVector.fromBV @ (rep_aviy n_aviz) (case tup_avmQ of _ [Occ=Dead] { (tpl_X1k, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B3 }) (case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw79 -> (case tup_avmQ of _ [Occ=Dead] { (tpl_X1e, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B7 }) `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw79))_R :: GHC.TypeLits.KnownNat n_aviz ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz))) }) (case case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7a -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ n_aviz @ (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) @~ (Sym cobox_dw7a) } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6S -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec cobox_dw6S _R)_R :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) CLaSH.Bit.Bit) }); CLaSH.Bit.L -> GHC.Enum.minBound @ (rep_aviy n_aviz) (case tup_avmQ of _ [Occ=Dead] { (tpl_X1d, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B9 }) }; CLaSH.Bit.L -> case CLaSH.Sized.Vector.vhead' @ n_aviz @ CLaSH.Bit.Bit (case tup_avmQ of _ [Occ=Dead] { (tpl_X1p, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X1p }) s_swtS of _ [Occ=Dead] { CLaSH.Bit.H -> GHC.Enum.maxBound @ (rep_aviy n_aviz) (case tup_avmQ of _ [Occ=Dead] { (tpl_X1d, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B9 }); CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_aviy n_aviz) (case tup_avmQ of _ [Occ=Dead] { (tpl_X1k, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B3 }) (case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw79 -> (case tup_avmQ of _ [Occ=Dead] { (tpl_X1e, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B7 }) `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw79))_R :: GHC.TypeLits.KnownNat n_aviz ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz))) }) (case case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7a -> GHC.Types.Eq# @ GHC.TypeLits.Nat @ n_aviz @ (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) @~ (Sym cobox_dw7a) } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6S -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec cobox_dw6S _R)_R :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) CLaSH.Bit.Bit) }) } } } lvl_swvz :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swvz = __integer 0 lvl_swvy :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swvy = __integer 0 lvl_swvB :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swvB = __integer 0 lvl_swvA :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swvA = __integer 0 CLaSH.Sized.Fixed.resizeF :: forall (frac1_auFN :: GHC.TypeLits.Nat) (frac2_auFO :: GHC.TypeLits.Nat) (rep_auFP :: GHC.TypeLits.Nat -> *) (size1_auFQ :: GHC.TypeLits.Nat) (size2_auFR :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.ResizeFC rep_auFP frac1_auFN frac2_auFO size1_auFQ size2_auFR) => CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ -> CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR [LclIdX, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] CLaSH.Sized.Fixed.resizeF = \ (@ (frac1_avjq :: GHC.TypeLits.Nat)) (@ (frac2_avjr :: GHC.TypeLits.Nat)) (@ (rep_avjs :: GHC.TypeLits.Nat -> *)) (@ (size1_avjt :: GHC.TypeLits.Nat)) (@ (size2_avju :: GHC.TypeLits.Nat)) (tup_avnK :: CLaSH.Sized.Fixed.ResizeFC rep_avjs frac1_avjq frac2_avjr size1_avjt size2_avju) (eta_B1 :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt) -> let { $dKnownNat_swtH :: GHC.TypeLits.KnownNat size2_avju [LclId, Str=DmdType] $dKnownNat_swtH = case tup_avnK of _ [Occ=Dead] { (tpl_X1k, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 } } in let { $dKnownNat_swtI :: GHC.TypeLits.KnownNat size1_avjt [LclId, Str=DmdType] $dKnownNat_swtI = case tup_avnK of _ [Occ=Dead] { (tpl_X1i, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B8 } } in let { argFracSZ_swtB :: GHC.Types.Int [LclId, Str=DmdType] argFracSZ_swtB = GHC.Num.$fNumInt_$cfromInteger (GHC.TypeLits.natVal @ frac1_avjq @ Data.Proxy.Proxy (case tup_avnK of _ [Occ=Dead] { (tpl_X1y, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bb }) (Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac1_avjq)) } in let { resFracSZ_swtC :: GHC.Types.Int [LclId, Str=DmdType] resFracSZ_swtC = GHC.Num.$fNumInt_$cfromInteger (GHC.TypeLits.natVal @ frac2_avjr @ Data.Proxy.Proxy (case tup_avnK of _ [Occ=Dead] { (tpl_X1w, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Ba }) (Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac2_avjr)) } in let { $dResize_swtG :: CLaSH.Class.Num.Resize rep_avjs [LclId, Str=DmdType] $dResize_swtG = case tup_avnK of _ [Occ=Dead] { (tpl_X1m, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B6 } } in case GHC.Integer.Type.leInteger (GHC.TypeLits.natVal @ size1_avjt @ Data.Proxy.Proxy $dKnownNat_swtI (Data.Proxy.Proxy @ GHC.TypeLits.Nat @ size1_avjt)) (GHC.TypeLits.natVal @ size2_avju @ Data.Proxy.Proxy $dKnownNat_swtH (Data.Proxy.Proxy @ GHC.TypeLits.Nat @ size2_avju)) of _ [Occ=Dead] { GHC.Types.False -> let { $dBounded_swtD :: GHC.Enum.Bounded (rep_avjs size2_avju) [LclId, Str=DmdType] $dBounded_swtD = case tup_avnK of _ [Occ=Dead] { (tpl_X1u, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X1u } } in let { fMax_swtA :: rep_avjs size2_avju [LclId, Str=DmdType] fMax_swtA = GHC.Enum.maxBound @ (rep_avjs size2_avju) $dBounded_swtD } in let { $dBits_swtF :: Data.Bits.Bits (rep_avjs size1_avjt) [LclId, Str=DmdType] $dBits_swtF = case tup_avnK of _ [Occ=Dead] { (tpl_X1o, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B5 } } in let { mask_swtz :: rep_avjs size1_avjt [LclId, Str=DmdType] mask_swtz = Data.Bits.complement @ (rep_avjs size1_avjt) $dBits_swtF (CLaSH.Class.Num.resize @ rep_avjs $dResize_swtG @ size2_avju @ size1_avjt $dKnownNat_swtH $dKnownNat_swtI fMax_swtA) } in let { $dNum_swtE :: GHC.Num.Num (rep_avjs size1_avjt) [LclId, Str=DmdType] $dNum_swtE = case tup_avnK of _ [Occ=Dead] { (tpl_X1r, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B4 } } in case GHC.Classes.leInt argFracSZ_swtB resFracSZ_swtC of _ [Occ=Dead] { GHC.Types.False -> let { shiftedR_swty :: rep_avjs size1_avjt [LclId, Str=DmdType] shiftedR_swty = Data.Bits.shiftR @ (rep_avjs size1_avjt) $dBits_swtF (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt)) (GHC.Num.$fNumInt_$c- argFracSZ_swtB resFracSZ_swtC) } in case GHC.Classes.>= @ (rep_avjs size1_avjt) (case tup_avnK of _ [Occ=Dead] { (tpl_X1t, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B3 }) (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt)) (GHC.Num.fromInteger @ (rep_avjs size1_avjt) $dNum_swtE lvl_swvy) of _ [Occ=Dead] { GHC.Types.False -> case GHC.Classes.== @ (rep_avjs size1_avjt) (Data.Bits.$p1Bits @ (rep_avjs size1_avjt) $dBits_swtF) (Data.Bits..&. @ (rep_avjs size1_avjt) $dBits_swtF shiftedR_swty mask_swtz) mask_swtz of _ [Occ=Dead] { GHC.Types.False -> (GHC.Enum.minBound @ (rep_avjs size2_avju) $dBounded_swtD) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> (CLaSH.Class.Num.resize @ rep_avjs $dResize_swtG @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH shiftedR_swty) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) }; GHC.Types.True -> case GHC.Classes.== @ (rep_avjs size1_avjt) (Data.Bits.$p1Bits @ (rep_avjs size1_avjt) $dBits_swtF) (Data.Bits..&. @ (rep_avjs size1_avjt) $dBits_swtF shiftedR_swty mask_swtz) (GHC.Num.fromInteger @ (rep_avjs size1_avjt) $dNum_swtE lvl_swvz) of _ [Occ=Dead] { GHC.Types.False -> fMax_swtA `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> (CLaSH.Class.Num.resize @ rep_avjs $dResize_swtG @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH shiftedR_swty) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) } }; GHC.Types.True -> let { shiftedL_swtK :: rep_avjs size1_avjt [LclId, Str=DmdType] shiftedL_swtK = Data.Bits.shiftL @ (rep_avjs size1_avjt) $dBits_swtF (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt)) (GHC.Num.$fNumInt_$c- resFracSZ_swtC argFracSZ_swtB) } in case GHC.Classes.>= @ (rep_avjs size1_avjt) (case tup_avnK of _ [Occ=Dead] { (tpl_X1t, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B3 }) (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt)) (GHC.Num.fromInteger @ (rep_avjs size1_avjt) $dNum_swtE lvl_swvA) of _ [Occ=Dead] { GHC.Types.False -> case GHC.Classes.== @ (rep_avjs size1_avjt) (Data.Bits.$p1Bits @ (rep_avjs size1_avjt) $dBits_swtF) (Data.Bits..&. @ (rep_avjs size1_avjt) $dBits_swtF shiftedL_swtK mask_swtz) mask_swtz of _ [Occ=Dead] { GHC.Types.False -> (GHC.Enum.minBound @ (rep_avjs size2_avju) $dBounded_swtD) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> (CLaSH.Class.Num.resize @ rep_avjs $dResize_swtG @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH shiftedL_swtK) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) }; GHC.Types.True -> case GHC.Classes.== @ (rep_avjs size1_avjt) (Data.Bits.$p1Bits @ (rep_avjs size1_avjt) $dBits_swtF) (Data.Bits..&. @ (rep_avjs size1_avjt) $dBits_swtF shiftedL_swtK mask_swtz) (GHC.Num.fromInteger @ (rep_avjs size1_avjt) $dNum_swtE lvl_swvB) of _ [Occ=Dead] { GHC.Types.False -> fMax_swtA `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> (CLaSH.Class.Num.resize @ rep_avjs $dResize_swtG @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH shiftedL_swtK) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) } } }; GHC.Types.True -> case GHC.Classes.leInt argFracSZ_swtB resFracSZ_swtC of _ [Occ=Dead] { GHC.Types.False -> (Data.Bits.shiftR @ (rep_avjs size2_avju) (case tup_avnK of _ [Occ=Dead] { (tpl_X1h, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B9 }) (CLaSH.Class.Num.resize @ rep_avjs $dResize_swtG @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt))) (GHC.Num.$fNumInt_$c- argFracSZ_swtB resFracSZ_swtC)) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> (Data.Bits.shiftL @ (rep_avjs size2_avju) (case tup_avnK of _ [Occ=Dead] { (tpl_X1h, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B9 }) (CLaSH.Class.Num.resize @ rep_avjs $dResize_swtG @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt))) (GHC.Num.$fNumInt_$c- resFracSZ_swtC argFracSZ_swtB)) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) } } CLaSH.Sized.Fixed.asRepProxy :: forall (frac_auFV :: GHC.TypeLits.Nat) (rep_auFW :: GHC.TypeLits.Nat -> *) (size_auFX :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFV rep_auFW size_auFX -> Data.Proxy.Proxy rep_auFW [LclIdX, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.asRepProxy = \ (@ (frac_avk6 :: GHC.TypeLits.Nat)) (@ (rep_avk7 :: GHC.TypeLits.Nat -> *)) (@ (size_avk8 :: GHC.TypeLits.Nat)) _ [Occ=Dead] -> Data.Proxy.Proxy @ (GHC.TypeLits.Nat -> *) @ rep_avk7 CLaSH.Sized.Fixed.asFracProxy :: forall (frac_auFY :: GHC.TypeLits.Nat) (rep_auFZ :: GHC.TypeLits.Nat -> *) (size_auG0 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFY rep_auFZ size_auG0 -> Data.Proxy.Proxy frac_auFY [LclIdX, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.asFracProxy = \ (@ (frac_avkp :: GHC.TypeLits.Nat)) (@ (rep_avkq :: GHC.TypeLits.Nat -> *)) (@ (size_avkr :: GHC.TypeLits.Nat)) _ [Occ=Dead] -> Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac_avkp CLaSH.Sized.Fixed.fracShift :: forall (frac_auFS :: GHC.TypeLits.Nat) (rep_auFT :: GHC.TypeLits.Nat -> *) (size_auFU :: GHC.TypeLits.Nat). GHC.TypeLits.KnownNat frac_auFS => CLaSH.Sized.Fixed.Fixed frac_auFS rep_auFT size_auFU -> GHC.Types.Int [LclIdX, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0] 70 0}] CLaSH.Sized.Fixed.fracShift = \ (@ (frac_avjN :: GHC.TypeLits.Nat)) (@ (rep_avjO :: GHC.TypeLits.Nat -> *)) (@ (size_avjP :: GHC.TypeLits.Nat)) ($dKnownNat_avxa :: GHC.TypeLits.KnownNat frac_avjN) (f_auGd :: CLaSH.Sized.Fixed.Fixed frac_avjN rep_avjO size_avjP) -> GHC.Num.$fNumInt_$cfromInteger (GHC.TypeLits.natVal @ frac_avjN @ Data.Proxy.Proxy $dKnownNat_avxa (CLaSH.Sized.Fixed.asFracProxy @ frac_avjN @ rep_avjO @ size_avjP f_auGd)) a_swaI :: forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaI = \ (@ (int_avkK :: GHC.TypeLits.Nat)) (@ (frac_avkL :: GHC.TypeLits.Nat)) (ds_dvZi :: CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL)) -> ds_dvZi CLaSH.Sized.Fixed.unUF :: forall (int_auG1 :: GHC.TypeLits.Nat) (frac_auG2 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.UFixed int_auG1 frac_auG2 -> CLaSH.Sized.Unsigned.Unsigned (int_auG1 GHC.TypeLits.+ frac_auG2) [LclIdX, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.unUF = a_swaI `cast` (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL)) ~# (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL))) a_swaJ :: forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaJ = \ (@ (frac_avl5 :: GHC.TypeLits.Nat)) (@ (int_avl6 :: GHC.TypeLits.Nat)) _ [Occ=Dead] (fRep_auGb :: CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) -> fRep_auGb CLaSH.Sized.Fixed.uf :: forall (frac_auG3 :: GHC.TypeLits.Nat) (int_auG4 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_auG3 -> CLaSH.Sized.Unsigned.Unsigned (int_auG4 GHC.TypeLits.+ frac_auG3) -> CLaSH.Sized.Fixed.UFixed int_auG4 frac_auG3 [LclIdX, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.uf = a_swaJ `cast` (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) ~# (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Fixed.Fixed frac_avl5 CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5))) a_swaK :: forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaK = \ (@ (int_avlp :: GHC.TypeLits.Nat)) (@ (frac_avlq :: GHC.TypeLits.Nat)) (ds_dvZu :: CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq)) -> ds_dvZu CLaSH.Sized.Fixed.unSF :: forall (int_auG5 :: GHC.TypeLits.Nat) (frac_auG6 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.SFixed int_auG5 frac_auG6 -> CLaSH.Sized.Signed.Signed (int_auG5 GHC.TypeLits.+ frac_auG6) [LclIdX, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.unSF = a_swaK `cast` (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq)) ~# (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq))) a_swaL :: forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaL = \ (@ (frac_avlK :: GHC.TypeLits.Nat)) (@ (int_avlL :: GHC.TypeLits.Nat)) _ [Occ=Dead] (fRep_auG9 :: CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) -> fRep_auG9 CLaSH.Sized.Fixed.sf :: forall (frac_auG7 :: GHC.TypeLits.Nat) (int_auG8 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_auG7 -> CLaSH.Sized.Signed.Signed (int_auG8 GHC.TypeLits.+ frac_auG7) -> CLaSH.Sized.Fixed.SFixed int_auG8 frac_auG7 [LclIdX, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.sf = a_swaL `cast` (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) ~# (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Fixed.Fixed frac_avlK CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK))) a_swaM :: forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaM = \ (@ (frac_auI2 :: GHC.TypeLits.Nat)) (@ (rep_auI3 :: GHC.TypeLits.Nat -> *)) (@ (size_auI4 :: GHC.TypeLits.Nat)) (ds_dvZF :: CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4) -> ds_dvZF CLaSH.Sized.Fixed.unFixed :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> rep_auFG size_auFH [LclIdX[[RecSel]], Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.unFixed = a_swaM `cast` (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4) ~# (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> rep_auI3 size_auI4)) lvl_swvD :: GHC.Types.Char [LclId, Str=DmdType] lvl_swvD = GHC.Types.C# '-' lvl_swvC :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swvC = __integer 0 lvl_swvE :: GHC.Types.Char [LclId, Str=DmdType] lvl_swvE = GHC.Types.C# '.' lvl_swvF :: forall b_X4Kn. (GHC.Types.Char -> b_X4Kn -> b_X4Kn) -> b_X4Kn -> b_X4Kn [LclId, Str=DmdType] lvl_swvF = \ (@ b_X4Kn) (c_X4Kp [OS=OneShot] :: GHC.Types.Char -> b_X4Kn -> b_X4Kn) (n_X4Kr [OS=OneShot] :: b_X4Kn) -> c_X4Kp lvl_swvE n_X4Kr lvl_swvG :: GHC.Types.Char [LclId, Str=DmdType] lvl_swvG = GHC.Types.C# '0' lvl_swvH :: GHC.Types.Int -> [GHC.Types.Char] -> [GHC.Types.Char] [LclId, Str=DmdType] lvl_swvH = \ (n_auHJ [OS=ProbOneShot] :: GHC.Types.Int) (str_auHK [OS=ProbOneShot] :: [GHC.Types.Char]) -> GHC.Base.augment @ GHC.Types.Char (\ (@ b_X4M9) (c_X4Mc [OS=OneShot] :: GHC.Types.Char -> b_X4M9 -> b_X4M9) (n_X4Kt [OS=OneShot] :: b_X4M9) -> GHC.Base.foldr @ GHC.Types.Char @ b_X4M9 c_X4Mc n_X4Kt (GHC.List.replicate @ GHC.Types.Char (GHC.Num.$fNumInt_$c- n_auHJ (GHC.Base.foldr @ GHC.Types.Char @ (GHC.Prim.Int# -> GHC.Types.Int) (GHC.List.incLen @ GHC.Types.Char) GHC.Types.I# str_auHK 0)) lvl_swvG)) str_auHK lvl_swvI :: (GHC.Types.Int, [GHC.Types.Char]) -> [GHC.Types.Char] [LclId, Str=DmdType] lvl_swvI = Data.Tuple.uncurry @ GHC.Types.Int @ [GHC.Types.Char] @ [GHC.Types.Char] lvl_swvH lvl_swvJ :: GHC.Real.Ratio GHC.Integer.Type.Integer -> GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swvJ = GHC.Real.numerator @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger lvl_swvK :: GHC.Real.Ratio GHC.Integer.Type.Integer -> GHC.Base.String [LclId, Str=DmdType] lvl_swvK = GHC.Base.. @ GHC.Integer.Type.Integer @ GHC.Base.String @ (GHC.Real.Ratio GHC.Integer.Type.Integer) GHC.Show.$fShowInteger_$cshow lvl_swvJ lvl_swvL :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) -> (GHC.Types.Int, [GHC.Types.Char]) [LclId, Str=DmdType] lvl_swvL = Control.Arrow.$fArrow(->)_$csecond @ (GHC.Real.Ratio GHC.Integer.Type.Integer) @ [GHC.Types.Char] @ GHC.Types.Int lvl_swvK ds_swvM :: GHC.Integer.Type.Integer [LclId, Str=DmdType] ds_swvM = __integer 1 lvl_swvN :: GHC.Integer.Type.Integer -> GHC.Types.Bool [LclId, Str=DmdType] lvl_swvN = \ (ds_dw44 [OS=ProbOneShot] :: GHC.Integer.Type.Integer) -> GHC.Integer.Type.eqInteger ds_dw44 ds_swvM lvl_swvO :: GHC.Real.Ratio GHC.Integer.Type.Integer -> GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swvO = GHC.Real.denominator @ GHC.Integer.Type.Integer GHC.Real.$fIntegralInteger lvl_swvP :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) -> GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swvP = GHC.Base.. @ (GHC.Real.Ratio GHC.Integer.Type.Integer) @ GHC.Integer.Type.Integer @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) lvl_swvO (Data.Tuple.snd @ GHC.Types.Int @ (GHC.Real.Ratio GHC.Integer.Type.Integer)) lvl_swvQ :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) -> GHC.Types.Bool [LclId, Str=DmdType] lvl_swvQ = GHC.Base.. @ GHC.Integer.Type.Integer @ GHC.Types.Bool @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) lvl_swvN lvl_swvP lvl_swvR :: [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)] -> Data.Maybe.Maybe (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) [LclId, Str=DmdType] lvl_swvR = Data.List.find @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) lvl_swvQ lvl_swvS :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swvS = __integer 10 ds_swvT :: GHC.Real.Ratio GHC.Integer.Type.Integer [LclId, Str=DmdType] ds_swvT = GHC.Real.$fNumRatio_$s$cfromInteger lvl_swvS lvl_swvU :: GHC.Real.Ratio GHC.Integer.Type.Integer -> GHC.Real.Ratio GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swvU = \ (ds_dw47 [OS=ProbOneShot] :: GHC.Real.Ratio GHC.Integer.Type.Integer) -> GHC.Real.$fNumRatio_$s$c* ds_dw47 ds_swvT lvl_swvV :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) -> (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) [LclId, Str=DmdType] lvl_swvV = Control.Arrow.$fArrow(->)_$c*** @ GHC.Types.Int @ GHC.Types.Int @ (GHC.Real.Ratio GHC.Integer.Type.Integer) @ (GHC.Real.Ratio GHC.Integer.Type.Integer) GHC.Enum.$fEnumInt_$csucc lvl_swvU lvl_swvW :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) -> [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)] [LclId, Str=DmdType] lvl_swvW = GHC.List.iterate @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) lvl_swvV lvl_swvX :: GHC.Types.Int [LclId, Str=DmdType] lvl_swvX = GHC.Types.I# 0 lvl_swvY :: GHC.Real.Ratio GHC.Integer.Type.Integer -> (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) [LclId, Str=DmdType] lvl_swvY = GHC.Tuple.(,) @ GHC.Types.Int @ (GHC.Real.Ratio GHC.Integer.Type.Integer) lvl_swvX lvl_swvZ :: GHC.Real.Ratio GHC.Integer.Type.Integer -> [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)] [LclId, Str=DmdType] lvl_swvZ = GHC.Base.. @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) @ [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)] @ (GHC.Real.Ratio GHC.Integer.Type.Integer) lvl_swvW lvl_swvY lvl_sww0 :: GHC.Real.Ratio GHC.Integer.Type.Integer -> Data.Maybe.Maybe (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) [LclId, Str=DmdType] lvl_sww0 = GHC.Base.. @ [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)] @ (Data.Maybe.Maybe (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) @ (GHC.Real.Ratio GHC.Integer.Type.Integer) lvl_swvR lvl_swvZ lvl_sww1 :: GHC.Real.Ratio GHC.Integer.Type.Integer -> (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) [LclId, Str=DmdType] lvl_sww1 = GHC.Base.. @ (Data.Maybe.Maybe (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) @ (GHC.Real.Ratio GHC.Integer.Type.Integer) (Data.Maybe.fromJust @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) lvl_sww0 lvl_sww2 :: GHC.Real.Ratio GHC.Integer.Type.Integer -> (GHC.Types.Int, [GHC.Types.Char]) [LclId, Str=DmdType] lvl_sww2 = GHC.Base.. @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) @ (GHC.Types.Int, [GHC.Types.Char]) @ (GHC.Real.Ratio GHC.Integer.Type.Integer) lvl_swvL lvl_sww1 lvl_sww3 :: GHC.Real.Ratio GHC.Integer.Type.Integer -> [GHC.Types.Char] [LclId, Str=DmdType] lvl_sww3 = GHC.Base.. @ (GHC.Types.Int, [GHC.Types.Char]) @ [GHC.Types.Char] @ (GHC.Real.Ratio GHC.Integer.Type.Integer) lvl_swvI lvl_sww2 lvl_sww5 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_sww5 = __integer 2 lvl_sww6 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_sww6 = __integer 1 lvl_sww7 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_sww7 = __integer 2 lvl_sww8 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_sww8 = __integer 1 lvl_sww4 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_sww4 = __integer 0 lvl_sww9 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_sww9 = __integer 2 $cshow_avFD :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> GHC.Base.String [LclId, Arity=5, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] $cshow_avFD = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) _ [Occ=Dead] _ [Occ=Dead] ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) (f_auHA :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) -> let { nF_swti :: GHC.Types.Int [LclId, Str=DmdType] nF_swti = CLaSH.Sized.Fixed.fracShift @ frac_auHx @ rep_auHy @ size_auHz $dKnownNat_avFx f_auHA } in let { fRepI_swtk :: GHC.Integer.Type.Integer [LclId, Str=DmdType] fRepI_swtk = GHC.Real.toInteger @ (rep_auHy size_auHz) $dIntegral_avFy (f_auHA `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz ~# rep_auHy size_auHz)) } in let { fRepI_abs_swtj :: GHC.Integer.Type.Integer [LclId, Str=DmdType] fRepI_abs_swtj = GHC.Integer.Type.absInteger fRepI_swtk } in GHC.Base.augment @ GHC.Types.Char (\ (@ b_a4II) (c_a4IJ [OS=OneShot] :: GHC.Types.Char -> b_a4II -> b_a4II) (n_a4IK [OS=OneShot] :: b_a4II) -> GHC.Base.foldr @ GHC.Types.Char @ b_a4II c_a4IJ n_a4IK (case GHC.Integer.Type.ltInteger fRepI_swtk lvl_swvC of _ [Occ=Dead] { GHC.Types.False -> GHC.Show.$fShowInteger_$cshow (Data.Bits.$fBitsInteger_$cshiftR fRepI_swtk nF_swti); GHC.Types.True -> GHC.Types.: @ GHC.Types.Char lvl_swvD (GHC.Show.$fShowInteger_$cshow (Data.Bits.$fBitsInteger_$cshiftR fRepI_abs_swtj nF_swti)) })) (GHC.Base.augment @ GHC.Types.Char lvl_swvF (GHC.Base.$ @ (GHC.Real.Ratio GHC.Integer.Type.Integer) @ [GHC.Types.Char] lvl_sww3 (GHC.Real.%_$s% (case GHC.Integer.Type.ltInteger fRepI_swtk lvl_sww4 of _ [Occ=Dead] { GHC.Types.False -> GHC.Integer.Type.andInteger fRepI_swtk (GHC.Integer.Type.minusInteger (GHC.Real.^ @ GHC.Integer.Type.Integer @ GHC.Types.Int GHC.Num.$fNumInteger GHC.Real.$fIntegralInt lvl_sww5 nF_swti) lvl_sww6); GHC.Types.True -> GHC.Integer.Type.andInteger fRepI_abs_swtj (GHC.Integer.Type.minusInteger (GHC.Real.^ @ GHC.Integer.Type.Integer @ GHC.Types.Int GHC.Num.$fNumInteger GHC.Real.$fIntegralInt lvl_sww7 nF_swti) lvl_sww8) }) (GHC.Real.^ @ GHC.Integer.Type.Integer @ GHC.Types.Int GHC.Num.$fNumInteger GHC.Real.$fIntegralInt lvl_sww9 nF_swti)))) $cshowsPrec_avFB :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => GHC.Types.Int -> CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> GHC.Show.ShowS [LclId, Arity=7, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=7, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0 0 0 0 0 0] 120 40}] $cshowsPrec_avFB = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) _ [Occ=Dead] (x_a2fY :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (s_a2fZ :: GHC.Base.String) -> GHC.Base.augment @ GHC.Types.Char (\ (@ b_a2g3) (c_a2g4 [OS=OneShot] :: GHC.Types.Char -> b_a2g3 -> b_a2g3) (n_a2g5 [OS=OneShot] :: b_a2g3) -> GHC.Base.foldr @ GHC.Types.Char @ b_a2g3 c_a2g4 n_a2g5 ($cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy x_a2fY)) s_a2fZ Rec { CLaSH.Sized.Fixed.$fShowFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => GHC.Show.Show (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) [LclIdX[DFunId], Arity=4, Str=DmdType, Unf=DFun: \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) -> GHC.Show.D:Show TYPE CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz $cshowsPrec_avFB @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy $cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy $cshowList_avIE @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy] CLaSH.Sized.Fixed.$fShowFixed = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) -> GHC.Show.D:Show @ (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) ($cshowsPrec_avFB @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy) ($cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy) ($cshowList_avIE @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy) $cshowList_avIE [Occ=LoopBreaker] :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz] -> GHC.Show.ShowS [LclId, Arity=4, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=4, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0 0 0] 140 60}] $cshowList_avIE = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) -> let { $dShow_swtc :: GHC.Show.Show (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) [LclId, Str=DmdType] $dShow_swtc = CLaSH.Sized.Fixed.$fShowFixed @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy } in let { lvl_swwa :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> GHC.Show.ShowS [LclId, Str=DmdType] lvl_swwa = GHC.Show.shows @ (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) $dShow_swtc } in \ (ls_a2fk :: [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz]) (s_a2fl :: GHC.Base.String) -> GHC.Show.showList__ @ (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) lvl_swwa ls_a2fk s_a2fl end Rec } a_swjx :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu) [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [40 0 0] 70 0}] a_swjx = \ (@ (frac1_auHq :: GHC.TypeLits.Nat)) (@ (rep_auHr :: GHC.TypeLits.Nat -> *)) (@ (size1_auHs :: GHC.TypeLits.Nat)) (@ (frac2_auHt :: GHC.TypeLits.Nat)) (@ (size2_auHu :: GHC.TypeLits.Nat)) (tup_avFg :: CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) (eta_B2 :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (eta_B1 :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) -> case case tup_avFg of _ [Occ=Dead] { (tpl_X1z, tpl_X1B) -> tpl_X1B } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw3M -> (CLaSH.Class.Num.mult @ (rep_auHr size1_auHs) @ (rep_auHr size2_auHu) (case tup_avFg of _ [Occ=Dead] { (tpl_X1C, tpl_X1E) -> tpl_X1C }) (eta_B2 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs ~# rep_auHr size1_auHs)) (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu ~# rep_auHr size2_auHu))) `cast` (Sub cobox_dw3M :: CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) } $cmult_avFi :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $cmult_avFi = a_swjx `cast` (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). _R -> _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:MResultFixedFixed[0] _N _N _N _N _N)) :: (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) ~# (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu))) CLaSH.Sized.Fixed.$fMultFixedFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) [LclIdX[DFunId(nt)], Arity=3, Str=DmdType, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= $cmult_avFi `cast` (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). _R -> Sym (CLaSH.Class.Num.NTCo:Mult[0] _N _N) :: (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_XuJ1 frac1_XuIZ frac2_XuJ5 size1_XuJ3 size2_XuJ7) => CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3 -> CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7 -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3) (CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7)) ~# (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_XuJ1 frac1_XuIZ frac2_XuJ5 size1_XuJ3 size2_XuJ7) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3) (CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7)))}] CLaSH.Sized.Fixed.$fMultFixedFixed = $cmult_avFi `cast` (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). _R -> Sym (CLaSH.Class.Num.NTCo:Mult[0] _N _N) :: (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_XuJ1 frac1_XuIZ frac2_XuJ5 size1_XuJ3 size2_XuJ7) => CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3 -> CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7 -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3) (CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7)) ~# (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_XuJ1 frac1_XuIZ frac2_XuJ5 size1_XuJ3 size2_XuJ7) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3) (CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7))) $cminus_avEx :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0 0] 450 0}] $cminus_avEx = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (eta_X1I :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (eta_X3p :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> (letrec { $dKnownNat_swt4 :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) [LclId, Str=DmdType] $dKnownNat_swt4 = case tup_swta of _ [Occ=Dead] { (tpl_X1X, tpl_X1Z, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Ba }; $dBits_swt5 :: Data.Bits.Bits (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType] $dBits_swt5 = case tup_swta of _ [Occ=Dead] { (tpl_X1V, tpl_X1X, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B9 }; $dKnownNat_swt6 :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] $dKnownNat_swt6 = case tup_swta of _ [Occ=Dead] { (tpl_X1T, tpl_X1V, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 }; $dResize_swt7 :: CLaSH.Class.Num.Resize rep_auHe [LclId, Str=DmdType] $dResize_swt7 = case tup_swta of _ [Occ=Dead] { (tpl_X1R, tpl_X1T, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B6 }; $dBits_swt8 :: Data.Bits.Bits (rep_auHe size2_auHh) [LclId, Str=DmdType] $dBits_swt8 = case tup_swta of _ [Occ=Dead] { (tpl_X1P, tpl_X1R, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B5 }; $dBounded_swt9 :: GHC.Enum.Bounded (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType] $dBounded_swt9 = case tup_swta of _ [Occ=Dead] { (tpl_X1N, tpl_X1P, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X1N }; tup_swta :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] tup_swta = case tup_avDN of _ [Occ=Dead] { (tpl_X1L, tpl_X1N, tpl_B3) -> tpl_X1N }; } in GHC.Num.- @ (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (case tup_avDN of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3) -> tpl_B3 }) (((letrec { $dBits_swt2 :: Data.Bits.Bits (rep_auHe size1_auHf) [LclId, Str=DmdType] $dBits_swt2 = case tup_swt3 of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B5 }; tup_swt3 :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] tup_swt3 = case tup_avDN of _ [Occ=Dead] { (tpl_X1Z, tpl_X21, tpl_B3) -> tpl_X1Z }; } in CLaSH.Sized.Fixed.resizeF @ frac1_auHd @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size1_auHf @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ($dBounded_swt9, Data.Bits.$p1Bits @ (rep_auHe size1_auHf) $dBits_swt2, case tup_swt3 of _ [Occ=Dead] { (tpl_X43, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B3 }, case tup_swt3 of _ [Occ=Dead] { (tpl_X22, tpl_X46, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B4 }, $dBits_swt2, $dResize_swt7, $dKnownNat_swt6, case tup_swt3 of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B8 }, $dBits_swt5, $dKnownNat_swt4, case tup_swt3 of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bb }, case tup_swt3 of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bc })) eta_X1I) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1))) ((CLaSH.Sized.Fixed.resizeF @ frac2_auHg @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size2_auHh @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ($dBounded_swt9, Data.Bits.$p1Bits @ (rep_auHe size2_auHh) $dBits_swt8, case tup_swta of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B3 }, case tup_swta of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B4 }, $dBits_swt8, $dResize_swt7, $dKnownNat_swt6, case tup_swta of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B8 }, $dBits_swt5, $dKnownNat_swt4, case tup_swta of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bb }, case tup_swta of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bc }) eta_X3p) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:AResultFixedFixed[0] _N _N _N _N _N)) :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh)) $cplus_avDP :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0 0] 450 0}] $cplus_avDP = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (eta_X1J :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (eta_X3r :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> (letrec { $dKnownNat_swsM :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) [LclId, Str=DmdType] $dKnownNat_swsM = case tup_swsS of _ [Occ=Dead] { (tpl_X1Y, tpl_X20, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Ba }; $dBits_swsN :: Data.Bits.Bits (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType] $dBits_swsN = case tup_swsS of _ [Occ=Dead] { (tpl_X1W, tpl_X1Y, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B9 }; $dKnownNat_swsO :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] $dKnownNat_swsO = case tup_swsS of _ [Occ=Dead] { (tpl_X1U, tpl_X1W, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 }; $dResize_swsP :: CLaSH.Class.Num.Resize rep_auHe [LclId, Str=DmdType] $dResize_swsP = case tup_swsS of _ [Occ=Dead] { (tpl_X1S, tpl_X1U, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B6 }; $dBits_swsQ :: Data.Bits.Bits (rep_auHe size2_auHh) [LclId, Str=DmdType] $dBits_swsQ = case tup_swsS of _ [Occ=Dead] { (tpl_X1Q, tpl_X1S, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B5 }; $dBounded_swsR :: GHC.Enum.Bounded (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType] $dBounded_swsR = case tup_swsS of _ [Occ=Dead] { (tpl_X1O, tpl_X1Q, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X1O }; tup_swsS :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] tup_swsS = case tup_avDN of _ [Occ=Dead] { (tpl_X1M, tpl_X1O, tpl_B3) -> tpl_X1O }; } in GHC.Num.+ @ (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (case tup_avDN of _ [Occ=Dead] { (tpl_X23, tpl_X25, tpl_B3) -> tpl_B3 }) (((letrec { $dBits_swsK :: Data.Bits.Bits (rep_auHe size1_auHf) [LclId, Str=DmdType] $dBits_swsK = case tup_swsL of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B5 }; tup_swsL :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] tup_swsL = case tup_avDN of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3) -> tpl_X20 }; } in CLaSH.Sized.Fixed.resizeF @ frac1_auHd @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size1_auHf @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ($dBounded_swsR, Data.Bits.$p1Bits @ (rep_auHe size1_auHf) $dBits_swsK, case tup_swsL of _ [Occ=Dead] { (tpl_X45, tpl_X25, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B3 }, case tup_swsL of _ [Occ=Dead] { (tpl_X23, tpl_X48, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B4 }, $dBits_swsK, $dResize_swsP, $dKnownNat_swsO, case tup_swsL of _ [Occ=Dead] { (tpl_X23, tpl_X25, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B8 }, $dBits_swsN, $dKnownNat_swsM, case tup_swsL of _ [Occ=Dead] { (tpl_X23, tpl_X25, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bb }, case tup_swsL of _ [Occ=Dead] { (tpl_X23, tpl_X25, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bc })) eta_X1J) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1))) ((CLaSH.Sized.Fixed.resizeF @ frac2_auHg @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size2_auHh @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ($dBounded_swsR, Data.Bits.$p1Bits @ (rep_auHe size2_auHh) $dBits_swsQ, case tup_swsS of _ [Occ=Dead] { (tpl_X23, tpl_X25, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B3 }, case tup_swsS of _ [Occ=Dead] { (tpl_X23, tpl_X25, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B4 }, $dBits_swsQ, $dResize_swsP, $dKnownNat_swsO, case tup_swsS of _ [Occ=Dead] { (tpl_X23, tpl_X25, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B8 }, $dBits_swsN, $dKnownNat_swsM, case tup_swsS of _ [Occ=Dead] { (tpl_X23, tpl_X25, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bb }, case tup_swsS of _ [Occ=Dead] { (tpl_X23, tpl_X25, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bc }) eta_X3r) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:AResultFixedFixed[0] _N _N _N _N _N)) :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh)) CLaSH.Sized.Fixed.$fAddFixedFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Class.Num.Add (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclIdX[DFunId], Arity=1, Str=DmdType, Unf=DFun: \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) -> CLaSH.Class.Num.D:Add TYPE CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf TYPE CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh $cplus_avDP @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN $cminus_avEx @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN] CLaSH.Sized.Fixed.$fAddFixedFixed = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) -> CLaSH.Class.Num.D:Add @ (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) @ (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) ($cplus_avDP @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN) ($cminus_avEx @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN) $cfromInteger_avDp :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => GHC.Integer.Type.Integer -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [40 0] 170 0}] $cfromInteger_avDp = \ (@ (frac_auGY :: GHC.TypeLits.Nat)) (@ (rep_auGZ :: GHC.TypeLits.Nat -> *)) (@ (size_auH0 :: GHC.TypeLits.Nat)) (tup_avBm :: CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) (eta_X1I :: GHC.Integer.Type.Integer) -> (let { tup_swsA :: CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0 [LclId, Str=DmdType] tup_swsA = case tup_avBm of _ [Occ=Dead] { (tpl_X1L, tpl_X1N, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X1N } } in Data.Bits.shiftL @ (rep_auGZ size_auH0) (case tup_swsA of _ [Occ=Dead] { (tpl_X1M, tpl_X1O, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B9 }) (GHC.Num.fromInteger @ (rep_auGZ size_auH0) (case tup_avBm of _ [Occ=Dead] { (tpl_X1M, tpl_X1O, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_B3 }) eta_X1I) (GHC.Num.$fNumInt_$cfromInteger (GHC.TypeLits.natVal @ frac_auGY @ Data.Proxy.Proxy (case tup_swsA of _ [Occ=Dead] { (tpl_X1M, tpl_X1O, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Ba }) (Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac_auGY)))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auGZ size_auH0 ~# CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) a_swkh :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [20 0] 40 0}] a_swkh = \ (@ (frac_auGY :: GHC.TypeLits.Nat)) (@ (rep_auGZ :: GHC.TypeLits.Nat -> *)) (@ (size_auH0 :: GHC.TypeLits.Nat)) (tup_avBm :: CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) (eta_X1J :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) -> GHC.Num.signum @ (rep_auGZ size_auH0) (case tup_avBm of _ [Occ=Dead] { (tpl_X1L, tpl_X1N, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_B3 }) (eta_X1J `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 ~# rep_auGZ size_auH0)) $csignum_avDg :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $csignum_avDg = a_swkh `cast` (forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> rep_auGZ size_auH0) ~# (forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0)) $cabs_avCW :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0] 300 0}] $cabs_avCW = \ (@ (frac_XuIJ :: GHC.TypeLits.Nat)) (@ (rep_XuIL :: GHC.TypeLits.Nat -> *)) (@ (size_XuIN :: GHC.TypeLits.Nat)) (tup_XvDa :: CLaSH.Sized.Fixed.NumFixed frac_XuIJ rep_XuIL size_XuIN) (eta_X1Q :: CLaSH.Sized.Fixed.Fixed frac_XuIJ rep_XuIL size_XuIN) -> (letrec { $dKnownNat_swsx :: GHC.TypeLits.KnownNat size_XuIN [LclId, Str=DmdType] $dKnownNat_swsx = case tup_swsy of _ [Occ=Dead] { (tpl_X1V, tpl_X1X, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 }; tup_swsy :: CLaSH.Sized.Fixed.ResizeFC rep_XuIL (frac_XuIJ GHC.TypeLits.+ frac_XuIJ) frac_XuIJ (size_XuIN GHC.TypeLits.+ size_XuIN) size_XuIN [LclId, Str=DmdType] tup_swsy = case tup_XvDa of _ [Occ=Dead] { (tpl_X1T, tpl_X1V, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X1V }; } in letrec { $dKnownNat_swsv :: GHC.TypeLits.KnownNat (size_XuIN GHC.TypeLits.+ 2) [LclId, Str=DmdType] $dKnownNat_swsv = case tup_swsw of _ [Occ=Dead] { (tpl_X1Z, tpl_X21, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B8 }; tup_swsw :: CLaSH.Sized.Fixed.SatN2C rep_XuIL size_XuIN [LclId, Str=DmdType] tup_swsw = case tup_XvDa of _ [Occ=Dead] { (tpl_X1X, tpl_X1Z, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X1X }; } in CLaSH.Sized.Fixed.satN2 @ rep_XuIL @ size_XuIN (case tup_swsw of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X20 }, case tup_swsw of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X22 }, case tup_swsw of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B3 }, case tup_swsw of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B4 }, case tup_swsw of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B5 }, case tup_swsw of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B6 }, $dKnownNat_swsx, $dKnownNat_swsv, case tup_swsy of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X20 }, case tup_swsw of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_Ba }) (GHC.Num.abs @ (rep_XuIL (size_XuIN GHC.TypeLits.+ 2)) (case tup_XvDa of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_B4 }) (CLaSH.Class.Num.resize @ rep_XuIL (case tup_swsy of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B6 }) @ size_XuIN @ (size_XuIN GHC.TypeLits.+ 2) $dKnownNat_swsx $dKnownNat_swsv (eta_X1Q `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIJ rep_XuIL size_XuIN ~# rep_XuIL size_XuIN))))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIL size_XuIN ~# CLaSH.Sized.Fixed.Fixed frac_XuIJ rep_XuIL size_XuIN) $cnegate_avCC :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0] 300 0}] $cnegate_avCC = \ (@ (frac_XuIK :: GHC.TypeLits.Nat)) (@ (rep_XuIM :: GHC.TypeLits.Nat -> *)) (@ (size_XuIO :: GHC.TypeLits.Nat)) (tup_XvDb :: CLaSH.Sized.Fixed.NumFixed frac_XuIK rep_XuIM size_XuIO) (eta_X1R :: CLaSH.Sized.Fixed.Fixed frac_XuIK rep_XuIM size_XuIO) -> (letrec { $dKnownNat_swsp :: GHC.TypeLits.KnownNat size_XuIO [LclId, Str=DmdType] $dKnownNat_swsp = case tup_swsq of _ [Occ=Dead] { (tpl_X1W, tpl_X1Y, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 }; tup_swsq :: CLaSH.Sized.Fixed.ResizeFC rep_XuIM (frac_XuIK GHC.TypeLits.+ frac_XuIK) frac_XuIK (size_XuIO GHC.TypeLits.+ size_XuIO) size_XuIO [LclId, Str=DmdType] tup_swsq = case tup_XvDb of _ [Occ=Dead] { (tpl_X1U, tpl_X1W, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X1W }; } in letrec { $dKnownNat_swsn :: GHC.TypeLits.KnownNat (size_XuIO GHC.TypeLits.+ 2) [LclId, Str=DmdType] $dKnownNat_swsn = case tup_swso of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B8 }; tup_swso :: CLaSH.Sized.Fixed.SatN2C rep_XuIM size_XuIO [LclId, Str=DmdType] tup_swso = case tup_XvDb of _ [Occ=Dead] { (tpl_X1Y, tpl_X20, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X1Y }; } in CLaSH.Sized.Fixed.satN2 @ rep_XuIM @ size_XuIO (case tup_swso of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X21 }, case tup_swso of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X23 }, case tup_swso of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B3 }, case tup_swso of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B4 }, case tup_swso of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B5 }, case tup_swso of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B6 }, $dKnownNat_swsp, $dKnownNat_swsn, case tup_swsq of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X21 }, case tup_swso of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_Ba }) (GHC.Num.negate @ (rep_XuIM (size_XuIO GHC.TypeLits.+ 2)) (case tup_XvDb of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_B4 }) (CLaSH.Class.Num.resize @ rep_XuIM (case tup_swsq of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B6 }) @ size_XuIO @ (size_XuIO GHC.TypeLits.+ 2) $dKnownNat_swsp $dKnownNat_swsn (eta_X1R `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIK rep_XuIM size_XuIO ~# rep_XuIM size_XuIO))))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIM size_XuIO ~# CLaSH.Sized.Fixed.Fixed frac_XuIK rep_XuIM size_XuIO) $c-_avCb :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0 0] 370 0}] $c-_avCb = \ (@ (frac_XuIL :: GHC.TypeLits.Nat)) (@ (rep_XuIN :: GHC.TypeLits.Nat -> *)) (@ (size_XuIP :: GHC.TypeLits.Nat)) (tup_XvDc :: CLaSH.Sized.Fixed.NumFixed frac_XuIL rep_XuIN size_XuIP) (eta_X1T :: CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP) (eta_X3L :: CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP) -> (letrec { $dKnownNat_swsg :: GHC.TypeLits.KnownNat size_XuIP [LclId, Str=DmdType] $dKnownNat_swsg = case tup_swsi of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 }; tup_swsi :: CLaSH.Sized.Fixed.ResizeFC rep_XuIN (frac_XuIL GHC.TypeLits.+ frac_XuIL) frac_XuIL (size_XuIP GHC.TypeLits.+ size_XuIP) size_XuIP [LclId, Str=DmdType] tup_swsi = case tup_XvDc of _ [Occ=Dead] { (tpl_X1W, tpl_X1Y, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X1Y }; } in letrec { $dKnownNat_swse :: GHC.TypeLits.KnownNat (size_XuIP GHC.TypeLits.+ 2) [LclId, Str=DmdType] $dKnownNat_swse = case tup_swsf of _ [Occ=Dead] { (tpl_X24, tpl_X26, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B8 }; tup_swsf :: CLaSH.Sized.Fixed.SatN2C rep_XuIN size_XuIP [LclId, Str=DmdType] tup_swsf = case tup_XvDc of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X22 }; } in CLaSH.Sized.Fixed.satN2 @ rep_XuIN @ size_XuIP (case tup_swsf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X25 }, case tup_swsf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X27 }, case tup_swsf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B3 }, case tup_swsf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B4 }, case tup_swsf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B5 }, case tup_swsf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B6 }, $dKnownNat_swsg, $dKnownNat_swse, case tup_swsi of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X25 }, case tup_swsf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_Ba }) (let { $dResize_swsh :: CLaSH.Class.Num.Resize rep_XuIN [LclId, Str=DmdType] $dResize_swsh = case tup_swsi of _ [Occ=Dead] { (tpl_X1Y, tpl_X20, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B6 } } in GHC.Num.- @ (rep_XuIN (size_XuIP GHC.TypeLits.+ 2)) (case tup_XvDc of _ [Occ=Dead] { (tpl_X49, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_B4 }) (CLaSH.Class.Num.resize @ rep_XuIN $dResize_swsh @ size_XuIP @ (size_XuIP GHC.TypeLits.+ 2) $dKnownNat_swsg $dKnownNat_swse (eta_X1T `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP ~# rep_XuIN size_XuIP))) (CLaSH.Class.Num.resize @ rep_XuIN $dResize_swsh @ size_XuIP @ (size_XuIP GHC.TypeLits.+ 2) $dKnownNat_swsg $dKnownNat_swse (eta_X3L `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP ~# rep_XuIN size_XuIP))))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIN size_XuIP ~# CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP) $c*_avBP :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0 0] 270 0}] $c*_avBP = \ (@ (frac_XuIM :: GHC.TypeLits.Nat)) (@ (rep_XuIO :: GHC.TypeLits.Nat -> *)) (@ (size_XuIQ :: GHC.TypeLits.Nat)) (tup_XvDd :: CLaSH.Sized.Fixed.NumFixed frac_XuIM rep_XuIO size_XuIQ) (eta_X1U :: CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ) (eta_X3N :: CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ) -> (letrec { $dBits_sws7 :: Data.Bits.Bits (rep_XuIO (size_XuIQ GHC.TypeLits.+ size_XuIQ)) [LclId, Str=DmdType] $dBits_sws7 = case tup_sws8 of _ [Occ=Dead] { (tpl_X1Z, tpl_X21, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B5 }; tup_sws8 :: CLaSH.Sized.Fixed.ResizeFC rep_XuIO (frac_XuIM GHC.TypeLits.+ frac_XuIM) frac_XuIM (size_XuIQ GHC.TypeLits.+ size_XuIQ) size_XuIQ [LclId, Str=DmdType] tup_sws8 = case tup_XvDd of _ [Occ=Dead] { (tpl_X1X, tpl_X1Z, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X1Z }; } in CLaSH.Sized.Fixed.resizeF @ (frac_XuIM GHC.TypeLits.+ frac_XuIM) @ frac_XuIM @ rep_XuIO @ (size_XuIQ GHC.TypeLits.+ size_XuIQ) @ size_XuIQ (case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X20 }, Data.Bits.$p1Bits @ (rep_XuIO (size_XuIQ GHC.TypeLits.+ size_XuIQ)) $dBits_sws7, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B3 }, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B4 }, $dBits_sws7, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B6 }, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 }, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B8 }, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B9 }, case tup_sws8 of _ [Occ=Dead] { (tpl_X3Z, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Ba }, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X42, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bb }, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bc })) ((case case tup_XvDd of _ [Occ=Dead] { (tpl_Xk, tpl_Xm, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_B6 } of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw1a -> (CLaSH.Class.Num.mult @ (rep_XuIO size_XuIQ) @ (rep_XuIO size_XuIQ) (case tup_XvDd of _ [Occ=Dead] { (tpl_X23, tpl_X25, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_B5 }) (eta_X1U `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ ~# rep_XuIO size_XuIQ)) (eta_X3N `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ ~# rep_XuIO size_XuIQ))) `cast` (Sub cobox_dw1a :: CLaSH.Class.Num.MResult (rep_XuIO size_XuIQ) (rep_XuIO size_XuIQ) ~# rep_XuIO (size_XuIQ GHC.TypeLits.+ size_XuIQ)) }) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIO (size_XuIQ GHC.TypeLits.+ size_XuIQ) ~# CLaSH.Sized.Fixed.Fixed (frac_XuIM GHC.TypeLits.+ frac_XuIM) rep_XuIO (size_XuIQ GHC.TypeLits.+ size_XuIQ))) $c+_avBo :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0 0] 370 0}] $c+_avBo = \ (@ (frac_XuIN :: GHC.TypeLits.Nat)) (@ (rep_XuIP :: GHC.TypeLits.Nat -> *)) (@ (size_XuIR :: GHC.TypeLits.Nat)) (tup_XvDe :: CLaSH.Sized.Fixed.NumFixed frac_XuIN rep_XuIP size_XuIR) (eta_X1V :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) (eta_X3P :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) -> (letrec { $dKnownNat_sws2 :: GHC.TypeLits.KnownNat size_XuIR [LclId, Str=DmdType] $dKnownNat_sws2 = case tup_sws4 of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 }; tup_sws4 :: CLaSH.Sized.Fixed.ResizeFC rep_XuIP (frac_XuIN GHC.TypeLits.+ frac_XuIN) frac_XuIN (size_XuIR GHC.TypeLits.+ size_XuIR) size_XuIR [LclId, Str=DmdType] tup_sws4 = case tup_XvDe of _ [Occ=Dead] { (tpl_X1Y, tpl_X20, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X20 }; } in letrec { $dKnownNat_sws0 :: GHC.TypeLits.KnownNat (size_XuIR GHC.TypeLits.+ 2) [LclId, Str=DmdType] $dKnownNat_sws0 = case tup_sws1 of _ [Occ=Dead] { (tpl_X26, tpl_X28, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B8 }; tup_sws1 :: CLaSH.Sized.Fixed.SatN2C rep_XuIP size_XuIR [LclId, Str=DmdType] tup_sws1 = case tup_XvDe of _ [Occ=Dead] { (tpl_X24, tpl_X26, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X24 }; } in CLaSH.Sized.Fixed.satN2 @ rep_XuIP @ size_XuIR (case tup_sws1 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X27 }, case tup_sws1 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X29 }, case tup_sws1 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B3 }, case tup_sws1 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B4 }, case tup_sws1 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B5 }, case tup_sws1 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B6 }, $dKnownNat_sws2, $dKnownNat_sws0, case tup_sws4 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X27 }, case tup_sws1 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_Ba }) (let { $dResize_sws3 :: CLaSH.Class.Num.Resize rep_XuIP [LclId, Str=DmdType] $dResize_sws3 = case tup_sws4 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B6 } } in GHC.Num.+ @ (rep_XuIP (size_XuIR GHC.TypeLits.+ 2)) (case tup_XvDe of _ [Occ=Dead] { (tpl_X4d, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_B4 }) (CLaSH.Class.Num.resize @ rep_XuIP $dResize_sws3 @ size_XuIR @ (size_XuIR GHC.TypeLits.+ 2) $dKnownNat_sws2 $dKnownNat_sws0 (eta_X1V `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR ~# rep_XuIP size_XuIR))) (CLaSH.Class.Num.resize @ rep_XuIP $dResize_sws3 @ size_XuIR @ (size_XuIR GHC.TypeLits.+ 2) $dKnownNat_sws2 $dKnownNat_sws0 (eta_X3P `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR ~# rep_XuIP size_XuIR))))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIP size_XuIR ~# CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) CLaSH.Sized.Fixed.$fNumFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => GHC.Num.Num (CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) [LclIdX[DFunId], Arity=1, Str=DmdType, Unf=DFun: \ (@ (frac_XuIO :: GHC.TypeLits.Nat)) (@ (rep_XuIQ :: GHC.TypeLits.Nat -> *)) (@ (size_XuIS :: GHC.TypeLits.Nat)) (tup_XvDf :: CLaSH.Sized.Fixed.NumFixed frac_XuIO rep_XuIQ size_XuIS) -> GHC.Num.D:Num TYPE CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS $c+_avBo @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $c*_avBP @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $c-_avCb @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $cnegate_avCC @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $cabs_avCW @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $csignum_avDg @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $cfromInteger_avDp @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf] CLaSH.Sized.Fixed.$fNumFixed = \ (@ (frac_XuIO :: GHC.TypeLits.Nat)) (@ (rep_XuIQ :: GHC.TypeLits.Nat -> *)) (@ (size_XuIS :: GHC.TypeLits.Nat)) (tup_XvDf :: CLaSH.Sized.Fixed.NumFixed frac_XuIO rep_XuIQ size_XuIS) -> GHC.Num.D:Num @ (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS) ($c+_avBo @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($c*_avBP @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($c-_avCb @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($cnegate_avCC @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($cabs_avCW @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($csignum_avDg @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($cfromInteger_avDp @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) a_swhq :: forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). (CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV), GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV))) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) CLaSH.Bit.Bit -> rep_auGU size_auGV [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swhq = \ (@ (frac_auGT :: GHC.TypeLits.Nat)) (@ (rep_auGU :: GHC.TypeLits.Nat -> *)) (@ (size_auGV :: GHC.TypeLits.Nat)) ($dBitVector_avAW :: CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV)) ($dKnownNat_avBa :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV))) (bv_auGX :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) CLaSH.Bit.Bit) -> CLaSH.Class.BitVector.fromBV @ (rep_auGU size_auGV) $dBitVector_avAW ($dKnownNat_avBa `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auGU size_auGV)))) (bv_auGX `cast` ((CLaSH.Sized.Vector.Vec (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auGU size_auGV)) CLaSH.Bit.Bit)) $cfromBV_avB8 :: forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). (CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV), GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV))) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) CLaSH.Bit.Bit -> CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $cfromBV_avB8 = a_swhq `cast` (forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). _R -> _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). (CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV), GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV))) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) CLaSH.Bit.Bit -> rep_auGU size_auGV) ~# (forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). (CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV), GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV))) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) CLaSH.Bit.Bit -> CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) a_swhr :: forall (frac_XuIF :: GHC.TypeLits.Nat) (rep_XuIH :: GHC.TypeLits.Nat -> *) (size_XuIJ :: GHC.TypeLits.Nat). (CLaSH.Class.BitVector.BitVector (rep_XuIH size_XuIJ), GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ))) => CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIH size_XuIJ)) CLaSH.Bit.Bit [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swhr = \ (@ (frac_XuIF :: GHC.TypeLits.Nat)) (@ (rep_XuIH :: GHC.TypeLits.Nat -> *)) (@ (size_XuIJ :: GHC.TypeLits.Nat)) ($dBitVector_XvCL :: CLaSH.Class.BitVector.BitVector (rep_XuIH size_XuIJ)) ($dKnownNat_avB0 :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ))) (ds_dw0H :: CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ) -> CLaSH.Class.BitVector.toBV @ (rep_XuIH size_XuIJ) $dBitVector_XvCL ($dKnownNat_avB0 `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIH size_XuIJ)))) (ds_dw0H `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ ~# rep_XuIH size_XuIJ)) $ctoBV_avAY :: forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). (CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV), GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV))) => CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV)) CLaSH.Bit.Bit [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $ctoBV_avAY = a_swhr `cast` (forall (frac_XuIF :: GHC.TypeLits.Nat) (rep_XuIH :: GHC.TypeLits.Nat -> *) (size_XuIJ :: GHC.TypeLits.Nat). _R -> _R -> _R -> (CLaSH.Sized.Vector.Vec (Sym (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N)) _R)_R :: (forall (frac_XuIF :: GHC.TypeLits.Nat) (rep_XuIH :: GHC.TypeLits.Nat -> *) (size_XuIJ :: GHC.TypeLits.Nat). (CLaSH.Class.BitVector.BitVector (rep_XuIH size_XuIJ), GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ))) => CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIH size_XuIJ)) CLaSH.Bit.Bit) ~# (forall (frac_XuIF :: GHC.TypeLits.Nat) (rep_XuIH :: GHC.TypeLits.Nat -> *) (size_XuIJ :: GHC.TypeLits.Nat). (CLaSH.Class.BitVector.BitVector (rep_XuIH size_XuIJ), GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ))) => CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIF rep_XuIH size_XuIJ)) CLaSH.Bit.Bit)) CLaSH.Sized.Fixed.$fBitVectorFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV) => CLaSH.Class.BitVector.BitVector (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV) [LclIdX[DFunId], Arity=1, Str=DmdType, Unf=DFun: \ (@ (frac_XuIN :: GHC.TypeLits.Nat)) (@ (rep_XuIP :: GHC.TypeLits.Nat -> *)) (@ (size_XuIR :: GHC.TypeLits.Nat)) ($dBitVector_XvCT :: CLaSH.Class.BitVector.BitVector (rep_XuIP size_XuIR)) -> CLaSH.Class.BitVector.D:BitVector TYPE CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR $ctoBV_avAY @ frac_XuIN @ rep_XuIP @ size_XuIR $dBitVector_XvCT $cfromBV_avB8 @ frac_XuIN @ rep_XuIP @ size_XuIR $dBitVector_XvCT] CLaSH.Sized.Fixed.$fBitVectorFixed = \ (@ (frac_XuIN :: GHC.TypeLits.Nat)) (@ (rep_XuIP :: GHC.TypeLits.Nat -> *)) (@ (size_XuIR :: GHC.TypeLits.Nat)) ($dBitVector_XvCT :: CLaSH.Class.BitVector.BitVector (rep_XuIP size_XuIR)) -> CLaSH.Class.BitVector.D:BitVector @ (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) ($ctoBV_avAY @ frac_XuIN @ rep_XuIP @ size_XuIR $dBitVector_XvCT) ($cfromBV_avB8 @ frac_XuIN @ rep_XuIP @ size_XuIR $dBitVector_XvCT) a_swhs :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => rep_auGM size_auGN [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swhs = \ (@ (frac_auGL :: GHC.TypeLits.Nat)) (@ (rep_auGM :: GHC.TypeLits.Nat -> *)) (@ (size_auGN :: GHC.TypeLits.Nat)) ($dDefault_avAe :: Data.Default.Class.Default (rep_auGM size_auGN)) -> Data.Default.Class.def @ (rep_auGM size_auGN) $dDefault_avAe $cdef_avAg :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => CLaSH.Sized.Fixed.Fixed frac_auGL rep_auGM size_auGN [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $cdef_avAg = a_swhs `cast` (forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => rep_auGM size_auGN) ~# (forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => CLaSH.Sized.Fixed.Fixed frac_auGL rep_auGM size_auGN)) CLaSH.Sized.Fixed.$fDefaultFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_auGL rep_auGM size_auGN) [LclIdX[DFunId(nt)], Arity=1, Str=DmdType, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= $cdef_avAg `cast` (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). _R -> Sym (Data.Default.Class.NTCo:Default[0] _N) :: (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuIO size_XuIQ) => CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ) ~# (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuIO size_XuIQ) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ)))}] CLaSH.Sized.Fixed.$fDefaultFixed = $cdef_avAg `cast` (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). _R -> Sym (Data.Default.Class.NTCo:Default[0] _N) :: (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuIO size_XuIQ) => CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ) ~# (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuIO size_XuIQ) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ))) a_swht :: forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_auGJ size_auGK) => rep_auGJ size_auGK [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swht = \ (@ (frac_auGI :: GHC.TypeLits.Nat)) (@ (rep_auGJ :: GHC.TypeLits.Nat -> *)) (@ (size_auGK :: GHC.TypeLits.Nat)) ($dBounded_avzT :: GHC.Enum.Bounded (rep_auGJ size_auGK)) -> GHC.Enum.maxBound @ (rep_auGJ size_auGK) $dBounded_avzT $cmaxBound_avA4 :: forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_auGJ size_auGK) => CLaSH.Sized.Fixed.Fixed frac_auGI rep_auGJ size_auGK [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $cmaxBound_avA4 = a_swht `cast` (forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_auGJ size_auGK) => rep_auGJ size_auGK) ~# (forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_auGJ size_auGK) => CLaSH.Sized.Fixed.Fixed frac_auGI rep_auGJ size_auGK)) a_swhu :: forall (frac_XuIQ :: GHC.TypeLits.Nat) (rep_XuIS :: GHC.TypeLits.Nat -> *) (size_XuIU :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_XuIS size_XuIU) => rep_XuIS size_XuIU [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swhu = \ (@ (frac_XuIQ :: GHC.TypeLits.Nat)) (@ (rep_XuIS :: GHC.TypeLits.Nat -> *)) (@ (size_XuIU :: GHC.TypeLits.Nat)) ($dBounded_XvC4 :: GHC.Enum.Bounded (rep_XuIS size_XuIU)) -> GHC.Enum.minBound @ (rep_XuIS size_XuIU) $dBounded_XvC4 $cminBound_avzV :: forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_auGJ size_auGK) => CLaSH.Sized.Fixed.Fixed frac_auGI rep_auGJ size_auGK [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $cminBound_avzV = a_swhu `cast` (forall (frac_XuIQ :: GHC.TypeLits.Nat) (rep_XuIS :: GHC.TypeLits.Nat -> *) (size_XuIU :: GHC.TypeLits.Nat). _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_XuIQ :: GHC.TypeLits.Nat) (rep_XuIS :: GHC.TypeLits.Nat -> *) (size_XuIU :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_XuIS size_XuIU) => rep_XuIS size_XuIU) ~# (forall (frac_XuIQ :: GHC.TypeLits.Nat) (rep_XuIS :: GHC.TypeLits.Nat -> *) (size_XuIU :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_XuIS size_XuIU) => CLaSH.Sized.Fixed.Fixed frac_XuIQ rep_XuIS size_XuIU)) CLaSH.Sized.Fixed.$fBoundedFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_auGJ size_auGK) => GHC.Enum.Bounded (CLaSH.Sized.Fixed.Fixed frac_auGI rep_auGJ size_auGK) [LclIdX[DFunId], Arity=1, Str=DmdType, Unf=DFun: \ (@ (frac_XuIW :: GHC.TypeLits.Nat)) (@ (rep_XuIY :: GHC.TypeLits.Nat -> *)) (@ (size_XuJ0 :: GHC.TypeLits.Nat)) ($dBounded_XvCa :: GHC.Enum.Bounded (rep_XuIY size_XuJ0)) -> GHC.Enum.D:Bounded TYPE CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0 $cminBound_avzV @ frac_XuIW @ rep_XuIY @ size_XuJ0 $dBounded_XvCa $cmaxBound_avA4 @ frac_XuIW @ rep_XuIY @ size_XuJ0 $dBounded_XvCa] CLaSH.Sized.Fixed.$fBoundedFixed = \ (@ (frac_XuIW :: GHC.TypeLits.Nat)) (@ (rep_XuIY :: GHC.TypeLits.Nat -> *)) (@ (size_XuJ0 :: GHC.TypeLits.Nat)) ($dBounded_XvCa :: GHC.Enum.Bounded (rep_XuIY size_XuJ0)) -> GHC.Enum.D:Bounded @ (CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0) ($cminBound_avzV @ frac_XuIW @ rep_XuIY @ size_XuJ0 $dBounded_XvCa) ($cmaxBound_avA4 @ frac_XuIW @ rep_XuIY @ size_XuJ0 $dBounded_XvCa) a_swlr :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => rep_auFG size_auFH -> rep_auFG size_auFH -> rep_auFG size_auFH [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swlr = \ (@ (frac_auFF :: GHC.TypeLits.Nat)) (@ (rep_auFG :: GHC.TypeLits.Nat -> *)) (@ (size_auFH :: GHC.TypeLits.Nat)) _ [Occ=Dead] ($dOrd_avyb :: GHC.Classes.Ord (rep_auFG size_auFH)) -> GHC.Classes.min @ (rep_auFG size_auFH) $dOrd_avyb $cmin_avzC :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $cmin_avzC = a_swlr `cast` (forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => rep_auFG size_auFH -> rep_auFG size_auFH -> rep_auFG size_auFH) ~# (forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH)) a_swls :: forall (frac_XuHQ :: GHC.TypeLits.Nat) (rep_XuHS :: GHC.TypeLits.Nat -> *) (size_XuHU :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuHQ rep_XuHS size_XuHU), GHC.Classes.Ord (rep_XuHS size_XuHU)) => rep_XuHS size_XuHU -> rep_XuHS size_XuHU -> rep_XuHS size_XuHU [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swls = \ (@ (frac_XuHQ :: GHC.TypeLits.Nat)) (@ (rep_XuHS :: GHC.TypeLits.Nat -> *)) (@ (size_XuHU :: GHC.TypeLits.Nat)) _ [Occ=Dead] ($dOrd_XvAq :: GHC.Classes.Ord (rep_XuHS size_XuHU)) -> GHC.Classes.max @ (rep_XuHS size_XuHU) $dOrd_XvAq $cmax_avzm :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $cmax_avzm = a_swls `cast` (forall (frac_XuHQ :: GHC.TypeLits.Nat) (rep_XuHS :: GHC.TypeLits.Nat -> *) (size_XuHU :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_XuHQ :: GHC.TypeLits.Nat) (rep_XuHS :: GHC.TypeLits.Nat -> *) (size_XuHU :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuHQ rep_XuHS size_XuHU), GHC.Classes.Ord (rep_XuHS size_XuHU)) => rep_XuHS size_XuHU -> rep_XuHS size_XuHU -> rep_XuHS size_XuHU) ~# (forall (frac_XuHQ :: GHC.TypeLits.Nat) (rep_XuHS :: GHC.TypeLits.Nat -> *) (size_XuHU :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuHQ rep_XuHS size_XuHU), GHC.Classes.Ord (rep_XuHS size_XuHU)) => CLaSH.Sized.Fixed.Fixed frac_XuHQ rep_XuHS size_XuHU -> CLaSH.Sized.Fixed.Fixed frac_XuHQ rep_XuHS size_XuHU -> CLaSH.Sized.Fixed.Fixed frac_XuHQ rep_XuHS size_XuHU)) a_swhz :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => rep_auFG size_auFH -> rep_auFG size_auFH -> GHC.Types.Bool [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swhz = \ (@ (frac_XuHX :: GHC.TypeLits.Nat)) (@ (rep_XuHZ :: GHC.TypeLits.Nat -> *)) (@ (size_XuI1 :: GHC.TypeLits.Nat)) _ [Occ=Dead] ($dOrd_XvAx :: GHC.Classes.Ord (rep_XuHZ size_XuI1)) -> GHC.Classes.<= @ (rep_XuHZ size_XuI1) $dOrd_XvAx $c<=_avz8 :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Bool [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $c<=_avz8 = a_swhz `cast` (forall (frac_XuHY :: GHC.TypeLits.Nat) (rep_XuI0 :: GHC.TypeLits.Nat -> *) (size_XuI2 :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (forall (frac_XuHY :: GHC.TypeLits.Nat) (rep_XuI0 :: GHC.TypeLits.Nat -> *) (size_XuI2 :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuHY rep_XuI0 size_XuI2), GHC.Classes.Ord (rep_XuI0 size_XuI2)) => rep_XuI0 size_XuI2 -> rep_XuI0 size_XuI2 -> GHC.Types.Bool) ~# (forall (frac_XuHY :: GHC.TypeLits.Nat) (rep_XuI0 :: GHC.TypeLits.Nat -> *) (size_XuI2 :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuHY rep_XuI0 size_XuI2), GHC.Classes.Ord (rep_XuI0 size_XuI2)) => CLaSH.Sized.Fixed.Fixed frac_XuHY rep_XuI0 size_XuI2 -> CLaSH.Sized.Fixed.Fixed frac_XuHY rep_XuI0 size_XuI2 -> GHC.Types.Bool)) a_swhA :: forall (frac_XuI3 :: GHC.TypeLits.Nat) (rep_XuI5 :: GHC.TypeLits.Nat -> *) (size_XuI7 :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuI3 rep_XuI5 size_XuI7), GHC.Classes.Ord (rep_XuI5 size_XuI7)) => rep_XuI5 size_XuI7 -> rep_XuI5 size_XuI7 -> GHC.Types.Bool [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swhA = \ (@ (frac_XuI3 :: GHC.TypeLits.Nat)) (@ (rep_XuI5 :: GHC.TypeLits.Nat -> *)) (@ (size_XuI7 :: GHC.TypeLits.Nat)) _ [Occ=Dead] ($dOrd_XvAD :: GHC.Classes.Ord (rep_XuI5 size_XuI7)) -> GHC.Classes.> @ (rep_XuI5 size_XuI7) $dOrd_XvAD $c>_avyU :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Bool [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $c>_avyU = a_swhA `cast` (forall (frac_XuI3 :: GHC.TypeLits.Nat) (rep_XuI5 :: GHC.TypeLits.Nat -> *) (size_XuI7 :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (forall (frac_XuI3 :: GHC.TypeLits.Nat) (rep_XuI5 :: GHC.TypeLits.Nat -> *) (size_XuI7 :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuI3 rep_XuI5 size_XuI7), GHC.Classes.Ord (rep_XuI5 size_XuI7)) => rep_XuI5 size_XuI7 -> rep_XuI5 size_XuI7 -> GHC.Types.Bool) ~# (forall (frac_XuI3 :: GHC.TypeLits.Nat) (rep_XuI5 :: GHC.TypeLits.Nat -> *) (size_XuI7 :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuI3 rep_XuI5 size_XuI7), GHC.Classes.Ord (rep_XuI5 size_XuI7)) => CLaSH.Sized.Fixed.Fixed frac_XuI3 rep_XuI5 size_XuI7 -> CLaSH.Sized.Fixed.Fixed frac_XuI3 rep_XuI5 size_XuI7 -> GHC.Types.Bool)) a_swhB :: forall (frac_XuIa :: GHC.TypeLits.Nat) (rep_XuIc :: GHC.TypeLits.Nat -> *) (size_XuIe :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIa rep_XuIc size_XuIe), GHC.Classes.Ord (rep_XuIc size_XuIe)) => rep_XuIc size_XuIe -> rep_XuIc size_XuIe -> GHC.Types.Bool [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swhB = \ (@ (frac_XuIa :: GHC.TypeLits.Nat)) (@ (rep_XuIc :: GHC.TypeLits.Nat -> *)) (@ (size_XuIe :: GHC.TypeLits.Nat)) _ [Occ=Dead] ($dOrd_XvAK :: GHC.Classes.Ord (rep_XuIc size_XuIe)) -> GHC.Classes.>= @ (rep_XuIc size_XuIe) $dOrd_XvAK $c>=_avyG :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Bool [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $c>=_avyG = a_swhB `cast` (forall (frac_XuIa :: GHC.TypeLits.Nat) (rep_XuIc :: GHC.TypeLits.Nat -> *) (size_XuIe :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (forall (frac_XuIa :: GHC.TypeLits.Nat) (rep_XuIc :: GHC.TypeLits.Nat -> *) (size_XuIe :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIa rep_XuIc size_XuIe), GHC.Classes.Ord (rep_XuIc size_XuIe)) => rep_XuIc size_XuIe -> rep_XuIc size_XuIe -> GHC.Types.Bool) ~# (forall (frac_XuIa :: GHC.TypeLits.Nat) (rep_XuIc :: GHC.TypeLits.Nat -> *) (size_XuIe :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIa rep_XuIc size_XuIe), GHC.Classes.Ord (rep_XuIc size_XuIe)) => CLaSH.Sized.Fixed.Fixed frac_XuIa rep_XuIc size_XuIe -> CLaSH.Sized.Fixed.Fixed frac_XuIa rep_XuIc size_XuIe -> GHC.Types.Bool)) a_swhC :: forall (frac_XuIh :: GHC.TypeLits.Nat) (rep_XuIj :: GHC.TypeLits.Nat -> *) (size_XuIl :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIh rep_XuIj size_XuIl), GHC.Classes.Ord (rep_XuIj size_XuIl)) => rep_XuIj size_XuIl -> rep_XuIj size_XuIl -> GHC.Types.Bool [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swhC = \ (@ (frac_XuIh :: GHC.TypeLits.Nat)) (@ (rep_XuIj :: GHC.TypeLits.Nat -> *)) (@ (size_XuIl :: GHC.TypeLits.Nat)) _ [Occ=Dead] ($dOrd_XvAR :: GHC.Classes.Ord (rep_XuIj size_XuIl)) -> GHC.Classes.< @ (rep_XuIj size_XuIl) $dOrd_XvAR $c<_avys :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Bool [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $c<_avys = a_swhC `cast` (forall (frac_XuIh :: GHC.TypeLits.Nat) (rep_XuIj :: GHC.TypeLits.Nat -> *) (size_XuIl :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (forall (frac_XuIh :: GHC.TypeLits.Nat) (rep_XuIj :: GHC.TypeLits.Nat -> *) (size_XuIl :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIh rep_XuIj size_XuIl), GHC.Classes.Ord (rep_XuIj size_XuIl)) => rep_XuIj size_XuIl -> rep_XuIj size_XuIl -> GHC.Types.Bool) ~# (forall (frac_XuIh :: GHC.TypeLits.Nat) (rep_XuIj :: GHC.TypeLits.Nat -> *) (size_XuIl :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIh rep_XuIj size_XuIl), GHC.Classes.Ord (rep_XuIj size_XuIl)) => CLaSH.Sized.Fixed.Fixed frac_XuIh rep_XuIj size_XuIl -> CLaSH.Sized.Fixed.Fixed frac_XuIh rep_XuIj size_XuIl -> GHC.Types.Bool)) a_swhD :: forall (frac_XuIo :: GHC.TypeLits.Nat) (rep_XuIq :: GHC.TypeLits.Nat -> *) (size_XuIs :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIo rep_XuIq size_XuIs), GHC.Classes.Ord (rep_XuIq size_XuIs)) => rep_XuIq size_XuIs -> rep_XuIq size_XuIs -> GHC.Types.Ordering [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swhD = \ (@ (frac_XuIo :: GHC.TypeLits.Nat)) (@ (rep_XuIq :: GHC.TypeLits.Nat -> *)) (@ (size_XuIs :: GHC.TypeLits.Nat)) _ [Occ=Dead] ($dOrd_XvAY :: GHC.Classes.Ord (rep_XuIq size_XuIs)) -> GHC.Classes.compare @ (rep_XuIq size_XuIs) $dOrd_XvAY $ccompare_avye :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Ordering [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $ccompare_avye = a_swhD `cast` (forall (frac_XuIo :: GHC.TypeLits.Nat) (rep_XuIq :: GHC.TypeLits.Nat -> *) (size_XuIs :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (forall (frac_XuIo :: GHC.TypeLits.Nat) (rep_XuIq :: GHC.TypeLits.Nat -> *) (size_XuIs :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIo rep_XuIq size_XuIs), GHC.Classes.Ord (rep_XuIq size_XuIs)) => rep_XuIq size_XuIs -> rep_XuIq size_XuIs -> GHC.Types.Ordering) ~# (forall (frac_XuIo :: GHC.TypeLits.Nat) (rep_XuIq :: GHC.TypeLits.Nat -> *) (size_XuIs :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIo rep_XuIq size_XuIs), GHC.Classes.Ord (rep_XuIq size_XuIs)) => CLaSH.Sized.Fixed.Fixed frac_XuIo rep_XuIq size_XuIs -> CLaSH.Sized.Fixed.Fixed frac_XuIo rep_XuIq size_XuIs -> GHC.Types.Ordering)) CLaSH.Sized.Fixed.$fOrdFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => GHC.Classes.Ord (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) [LclIdX[DFunId[1]], Arity=2, Str=DmdType, Unf=DFun: \ (@ (frac_XuIv :: GHC.TypeLits.Nat)) (@ (rep_XuIx :: GHC.TypeLits.Nat -> *)) (@ (size_XuIz :: GHC.TypeLits.Nat)) ($dEq_XvB3 :: GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) ($dOrd_XvB5 :: GHC.Classes.Ord (rep_XuIx size_XuIz)) -> GHC.Classes.D:Ord TYPE CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz $dEq_XvB3 $ccompare_avye @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5 $c<_avys @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5 $c>=_avyG @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5 $c>_avyU @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5 $c<=_avz8 @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5 $cmax_avzm @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5 $cmin_avzC @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5] CLaSH.Sized.Fixed.$fOrdFixed = \ (@ (frac_XuIv :: GHC.TypeLits.Nat)) (@ (rep_XuIx :: GHC.TypeLits.Nat -> *)) (@ (size_XuIz :: GHC.TypeLits.Nat)) ($dEq_XvB3 :: GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) ($dOrd_XvB5 :: GHC.Classes.Ord (rep_XuIx size_XuIz)) -> GHC.Classes.D:Ord @ (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz) $dEq_XvB3 ($ccompare_avye @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5) ($c<_avys @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5) ($c>=_avyG @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5) ($c>_avyU @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5) ($c<=_avz8 @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5) ($cmax_avzm @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5) ($cmin_avzC @ frac_XuIv @ rep_XuIx @ size_XuIz $dEq_XvB3 $dOrd_XvB5) a_swhE :: forall (frac_XuIw :: GHC.TypeLits.Nat) (rep_XuIy :: GHC.TypeLits.Nat -> *) (size_XuIA :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_XuIy size_XuIA) => rep_XuIy size_XuIA -> rep_XuIy size_XuIA -> GHC.Types.Bool [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swhE = \ (@ (frac_XuIw :: GHC.TypeLits.Nat)) (@ (rep_XuIy :: GHC.TypeLits.Nat -> *)) (@ (size_XuIA :: GHC.TypeLits.Nat)) ($dEq_avxF :: GHC.Classes.Eq (rep_XuIy size_XuIA)) -> GHC.Classes./= @ (rep_XuIy size_XuIA) $dEq_avxF $c/=_avxV :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_auFG size_auFH) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Bool [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $c/=_avxV = a_swhE `cast` (forall (frac_XuIw :: GHC.TypeLits.Nat) (rep_XuIy :: GHC.TypeLits.Nat -> *) (size_XuIA :: GHC.TypeLits.Nat). _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (forall (frac_XuIw :: GHC.TypeLits.Nat) (rep_XuIy :: GHC.TypeLits.Nat -> *) (size_XuIA :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_XuIy size_XuIA) => rep_XuIy size_XuIA -> rep_XuIy size_XuIA -> GHC.Types.Bool) ~# (forall (frac_XuIw :: GHC.TypeLits.Nat) (rep_XuIy :: GHC.TypeLits.Nat -> *) (size_XuIA :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_XuIy size_XuIA) => CLaSH.Sized.Fixed.Fixed frac_XuIw rep_XuIy size_XuIA -> CLaSH.Sized.Fixed.Fixed frac_XuIw rep_XuIy size_XuIA -> GHC.Types.Bool)) a_swhF :: forall (frac_XuIC :: GHC.TypeLits.Nat) (rep_XuIE :: GHC.TypeLits.Nat -> *) (size_XuIG :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_XuIE size_XuIG) => rep_XuIE size_XuIG -> rep_XuIE size_XuIG -> GHC.Types.Bool [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swhF = \ (@ (frac_XuIC :: GHC.TypeLits.Nat)) (@ (rep_XuIE :: GHC.TypeLits.Nat -> *)) (@ (size_XuIG :: GHC.TypeLits.Nat)) ($dEq_XvAF :: GHC.Classes.Eq (rep_XuIE size_XuIG)) -> GHC.Classes.== @ (rep_XuIE size_XuIG) $dEq_XvAF $c==_avxH :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_auFG size_auFH) => CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> GHC.Types.Bool [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $c==_avxH = a_swhF `cast` (forall (frac_XuIC :: GHC.TypeLits.Nat) (rep_XuIE :: GHC.TypeLits.Nat -> *) (size_XuIG :: GHC.TypeLits.Nat). _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (forall (frac_XuIC :: GHC.TypeLits.Nat) (rep_XuIE :: GHC.TypeLits.Nat -> *) (size_XuIG :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_XuIE size_XuIG) => rep_XuIE size_XuIG -> rep_XuIE size_XuIG -> GHC.Types.Bool) ~# (forall (frac_XuIC :: GHC.TypeLits.Nat) (rep_XuIE :: GHC.TypeLits.Nat -> *) (size_XuIG :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_XuIE size_XuIG) => CLaSH.Sized.Fixed.Fixed frac_XuIC rep_XuIE size_XuIG -> CLaSH.Sized.Fixed.Fixed frac_XuIC rep_XuIE size_XuIG -> GHC.Types.Bool)) CLaSH.Sized.Fixed.$fEqFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_auFG size_auFH) => GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) [LclIdX[DFunId], Arity=1, Str=DmdType, Unf=DFun: \ (@ (frac_XuII :: GHC.TypeLits.Nat)) (@ (rep_XuIK :: GHC.TypeLits.Nat -> *)) (@ (size_XuIM :: GHC.TypeLits.Nat)) ($dEq_XvAL :: GHC.Classes.Eq (rep_XuIK size_XuIM)) -> GHC.Classes.D:Eq TYPE CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM $c==_avxH @ frac_XuII @ rep_XuIK @ size_XuIM $dEq_XvAL $c/=_avxV @ frac_XuII @ rep_XuIK @ size_XuIM $dEq_XvAL] CLaSH.Sized.Fixed.$fEqFixed = \ (@ (frac_XuII :: GHC.TypeLits.Nat)) (@ (rep_XuIK :: GHC.TypeLits.Nat -> *)) (@ (size_XuIM :: GHC.TypeLits.Nat)) ($dEq_XvAL :: GHC.Classes.Eq (rep_XuIK size_XuIM)) -> GHC.Classes.D:Eq @ (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM) ($c==_avxH @ frac_XuII @ rep_XuIK @ size_XuIM $dEq_XvAL) ($c/=_avxV @ frac_XuII @ rep_XuIK @ size_XuIM $dEq_XvAL) lvl_swwb :: forall b_a4Iy. (GHC.Types.Char -> b_a4Iy -> b_a4Iy) -> b_a4Iy -> b_a4Iy [LclId, Str=DmdType] lvl_swwb = \ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "clash-prelude-0.5"# lvl_swwc :: [GHC.Types.Char] [LclId, Str=DmdType] lvl_swwc = GHC.Base.build @ GHC.Types.Char lvl_swwb lvl_swwd :: forall b_a4Iy. (GHC.Types.Char -> b_a4Iy -> b_a4Iy) -> b_a4Iy -> b_a4Iy [LclId, Str=DmdType] lvl_swwd = \ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "CLaSH.Sized.Fixed"# lvl_swwe :: [GHC.Types.Char] [LclId, Str=DmdType] lvl_swwe = GHC.Base.build @ GHC.Types.Char lvl_swwd lvl_swwf :: forall b_a4Iy. (GHC.Types.Char -> b_a4Iy -> b_a4Iy) -> b_a4Iy -> b_a4Iy [LclId, Str=DmdType] lvl_swwf = \ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "Fixed"# lvl_swwg :: [GHC.Types.Char] [LclId, Str=DmdType] lvl_swwg = GHC.Base.build @ GHC.Types.Char lvl_swwf lvl_swwh :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType] lvl_swwh = Language.Haskell.TH.Syntax.mkNameG_d lvl_swwc lvl_swwe lvl_swwg lvl_swwi :: Language.Haskell.TH.Lib.ExpQ [LclId, Str=DmdType] lvl_swwi = Language.Haskell.TH.Lib.conE lvl_swwh lvl_swwj :: forall b_a4Iy. (GHC.Types.Char -> b_a4Iy -> b_a4Iy) -> b_a4Iy -> b_a4Iy [LclId, Str=DmdType] lvl_swwj = \ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "clash-prelude-0.5"# lvl_swwk :: [GHC.Types.Char] [LclId, Str=DmdType] lvl_swwk = GHC.Base.build @ GHC.Types.Char lvl_swwj lvl_swwl :: forall b_a4Iy. (GHC.Types.Char -> b_a4Iy -> b_a4Iy) -> b_a4Iy -> b_a4Iy [LclId, Str=DmdType] lvl_swwl = \ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "CLaSH.Sized.Fixed"# lvl_swwm :: [GHC.Types.Char] [LclId, Str=DmdType] lvl_swwm = GHC.Base.build @ GHC.Types.Char lvl_swwl lvl_swwn :: forall b_a4Iy. (GHC.Types.Char -> b_a4Iy -> b_a4Iy) -> b_a4Iy -> b_a4Iy [LclId, Str=DmdType] lvl_swwn = \ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "Fixed"# lvl_swwo :: [GHC.Types.Char] [LclId, Str=DmdType] lvl_swwo = GHC.Base.build @ GHC.Types.Char lvl_swwn lvl_swwp :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType] lvl_swwp = Language.Haskell.TH.Syntax.mkNameG_tc lvl_swwk lvl_swwm lvl_swwo lvl_swwq :: Language.Haskell.TH.Lib.TypeQ [LclId, Str=DmdType] lvl_swwq = Language.Haskell.TH.Lib.conT lvl_swwp $clift_avAv :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp [LclId, Arity=5, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] $clift_avAv = \ (@ (frac_auGO :: GHC.TypeLits.Nat)) (@ (rep_auGP :: GHC.TypeLits.Nat -> *)) (@ (size_auGQ :: GHC.TypeLits.Nat)) ($dLift_avAq :: Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ)) ($dKnownNat_avAr :: GHC.TypeLits.KnownNat frac_auGO) ($dKnownNat_avAs :: GHC.TypeLits.KnownNat size_auGQ) ($dTypeable_avAt :: Data.Typeable.Internal.Typeable rep_auGP) (f_auGR :: CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ) -> Language.Haskell.TH.Lib.sigE (Language.Haskell.TH.Lib.appE lvl_swwi (Language.Haskell.TH.Syntax.lift @ (rep_auGP size_auGQ) $dLift_avAq (f_auGR `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ ~# rep_auGP size_auGQ)))) (GHC.List.foldl @ Language.Haskell.TH.Lib.TypeQ @ Language.Haskell.TH.Lib.TypeQ Language.Haskell.TH.Lib.appT lvl_swwq (GHC.Base.build @ Language.Haskell.TH.Lib.TypeQ (\ (@ a_dvZ6) (c_dvZ7 [OS=OneShot] :: Language.Haskell.TH.Lib.TypeQ -> a_dvZ6 -> a_dvZ6) (n_dvZ8 [OS=OneShot] :: a_dvZ6) -> c_dvZ7 (Language.Haskell.TH.Lib.litT (Language.Haskell.TH.Lib.numTyLit (GHC.TypeLits.natVal @ frac_auGO @ Data.Proxy.Proxy $dKnownNat_avAr (CLaSH.Sized.Fixed.asFracProxy @ frac_auGO @ rep_auGP @ size_auGQ f_auGR)))) (c_dvZ7 (Language.Haskell.TH.Lib.conT (Language.Haskell.TH.Syntax.mkName (Data.Typeable.Internal.$fShowTypeRep_$cshow (Data.Typeable.Internal.typeRep @ (GHC.TypeLits.Nat -> *) @ Data.Proxy.Proxy @ rep_auGP $dTypeable_avAt (CLaSH.Sized.Fixed.asRepProxy @ frac_auGO @ rep_auGP @ size_auGQ f_auGR))))) (c_dvZ7 (Language.Haskell.TH.Lib.litT (Language.Haskell.TH.Lib.numTyLit (GHC.TypeLits.natVal @ size_auGQ @ (CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP) $dKnownNat_avAs f_auGR))) n_dvZ8))))) CLaSH.Sized.Fixed.$fLiftFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ) [LclIdX[DFunId(nt)], Arity=5, Str=DmdType, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=4, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= $clift_avAv `cast` (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N) :: (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ)))}] CLaSH.Sized.Fixed.$fLiftFixed = $clift_avAv `cast` (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N) :: (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ))) ------ Local rules for imported ids -------- "SPEC GHC.Real.^ [GHC.Types.Double, GHC.Integer.Type.Integer]" [1] forall ($dNum_swu4 :: GHC.Num.Num GHC.Types.Double) ($dIntegral_swu5 :: GHC.Real.Integral GHC.Integer.Type.Integer). GHC.Real.^ @ GHC.Types.Double @ GHC.Integer.Type.Integer $dNum_swu4 $dIntegral_swu5 = $s^_swu6 *** Simplifier: SimplBind [lvl_swvf{v} [lid]] SimplBind [lvl_swvg{v} [lid]] SimplBind [lvl_swvd{v} [lid]] SimplBind [lvl_swve{v} [lid]] SimplBind [lvl_swvb{v} [lid]] SimplBind [lvl_swv9{v} [lid]] SimplBind [lvl_swv7{v} [lid]] SimplBind [lvl_swv5{v} [lid]] SimplBind [lvl_swv3{v} [lid]] SimplBind [lvl_swv1{v} [lid]] SimplBind [lvl_swuZ{v} [lid]] SimplBind [$dReal2{v swuT} [lid]] SimplBind [a2{v swuU} [lid]] SimplBind [$dEq1{v swuV} [lid]] SimplBind [$dNum3{v swuW} [lid]] SimplBind [lvl_swv0{v} [lid]] SimplBind [lvl_swv2{v} [lid]] SimplBind [lvl_swv4{v} [lid]] SimplBind [lvl_swv6{v} [lid]] SimplBind [g1{v swuY} [lid]] SimplBind [lvl_swuR{v} [lid]] SimplBind [$dReal1{v swuL} [lid]] SimplBind [a1{v swuM} [lid]] SimplBind [$dEq{v swuN} [lid]] SimplBind [$dNum2{v swuO} [lid]] SimplBind [lvl_swuS{v} [lid]] SimplBind [lvl_swv8{v} [lid]] SimplBind [lvl_swva{v} [lid]] SimplBind [lvl_swvc{v} [lid]] SimplBind [f{v swuQ} [lid]] SimplBind [lvl_swuJ{v} [lid]] SimplBind [lvl_swuG{v} [lid]] SimplBind [$dReal{v swuD} [lid]] SimplBind [$dNum1{v swuE} [lid]] SimplBind [lvl_swuH{v} [lid]] SimplBind [lvl_swuK{v} [lid]] SimplBind [$dOrd{v swuF} [lid]] SimplBind [lvl_swuI{v} [lid]] SimplBind [$s^{v swu6} [lid]] SimplBind [lvl_swvh{v} [lid]] SimplBind [lvl_swvi{v} [lid]] SimplBind [lvl_swvj{v} [lid]] SimplBind [lvl_swvk{v} [lid]] SimplBind [lvl_swvl{v} [lid]] SimplBind [lvl_swvm{v} [lid]] SimplBind [lvl_swvn{v} [lid]] SimplBind [lvl_swvo{v} [lid]] SimplBind [lvl_swvp{v} [lid]] SimplBind [lvl_swvq{v} [lid]] SimplBind [lvl_swvr{v} [lid]] SimplBind [lvl_swvs{v} [lid]] SimplBind [lvl_swvt{v} [lid]] SimplBind [lvl_swvu{v} [lid]] SimplBind [lvl_swvv{v} [lid]] SimplBind [lvl_swvw{v} [lid]] SimplBind [lvl_swvx{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.fLit{v ruEL} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.satN2{v ruEK} [lidx]] SimplBind [lvl_swvz{v} [lid]] SimplBind [lvl_swvy{v} [lid]] SimplBind [lvl_swvB{v} [lid]] SimplBind [lvl_swvA{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.resizeF{v ruEJ} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.asRepProxy{v ruEG} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.asFracProxy{v ruEF} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.fracShift{v ruEH} [lidx]] SimplBind [a_swaI{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unUF{v ruEE} [lidx]] SimplBind [a_swaJ{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.uf{v ruED} [lidx]] SimplBind [a_swaK{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unSF{v ruEC} [lidx]] SimplBind [a_swaL{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.sf{v ruEB} [lidx]] SimplBind [a_swaM{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unFixed{v ruEA} [lidx[[RecSel]]]] SimplBind [lvl_swvD{v} [lid]] SimplBind [lvl_swvC{v} [lid]] SimplBind [lvl_swvE{v} [lid]] SimplBind [lvl_swvF{v} [lid]] SimplBind [lvl_swvG{v} [lid]] SimplBind [lvl_swvH{v} [lid]] SimplBind [lvl_swvI{v} [lid]] SimplBind [lvl_swvJ{v} [lid]] SimplBind [lvl_swvK{v} [lid]] SimplBind [lvl_swvL{v} [lid]] SimplBind [ds_swvM{v} [lid]] SimplBind [lvl_swvN{v} [lid]] SimplBind [lvl_swvO{v} [lid]] SimplBind [lvl_swvP{v} [lid]] SimplBind [lvl_swvQ{v} [lid]] SimplBind [lvl_swvR{v} [lid]] SimplBind [lvl_swvS{v} [lid]] SimplBind [ds_swvT{v} [lid]] SimplBind [lvl_swvU{v} [lid]] SimplBind [lvl_swvV{v} [lid]] SimplBind [lvl_swvW{v} [lid]] SimplBind [lvl_swvX{v} [lid]] SimplBind [lvl_swvY{v} [lid]] SimplBind [lvl_swvZ{v} [lid]] SimplBind [lvl_sww0{v} [lid]] SimplBind [lvl_sww1{v} [lid]] SimplBind [lvl_sww2{v} [lid]] SimplBind [lvl_sww3{v} [lid]] SimplBind [lvl_sww5{v} [lid]] SimplBind [lvl_sww6{v} [lid]] SimplBind [lvl_sww7{v} [lid]] SimplBind [lvl_sww8{v} [lid]] SimplBind [lvl_sww4{v} [lid]] SimplBind [lvl_sww9{v} [lid]] SimplBind [$cshow{v avFD} [lid]] SimplBind [$cshowsPrec{v avFB} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fShowFixed{v ruTI} [lidx[DFunId]], $cshowList{v avIE} [lid]] SimplBind [a_swjx{v} [lid]] SimplBind [$cmult{v avFi} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fMultFixedFixed{v ruTC} [lidx[DFunId(nt)]]] SimplBind [$cminus{v avEx} [lid]] SimplBind [$cplus{v avDP} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fAddFixedFixed{v ruSO} [lidx[DFunId]]] SimplBind [$cfromInteger{v avDp} [lid]] SimplBind [a_swkh{v} [lid]] SimplBind [$csignum{v avDg} [lid]] SimplBind [$cabs{v avCW} [lid]] SimplBind [$cnegate{v avCC} [lid]] SimplBind [$c-{v avCb} [lid]] SimplBind [$c*{v avBP} [lid]] SimplBind [$c+{v avBo} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fNumFixed{v ruPB} [lidx[DFunId]]] SimplBind [a_swhq{v} [lid]] SimplBind [$cfromBV{v avB8} [lid]] SimplBind [a_swhr{v} [lid]] SimplBind [$ctoBV{v avAY} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fBitVectorFixed{v ruPx} [lidx[DFunId]]] SimplBind [a_swhs{v} [lid]] SimplBind [$cdef{v avAg} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fDefaultFixed{v ruO2} [lidx[DFunId(nt)]]] SimplBind [a_swht{v} [lid]] SimplBind [$cmaxBound{v avA4} [lid]] SimplBind [a_swhu{v} [lid]] SimplBind [$cminBound{v avzV} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fBoundedFixed{v ruHR} [lidx[DFunId]]] SimplBind [a_swlr{v} [lid]] SimplBind [$cmin{v avzC} [lid]] SimplBind [a_swls{v} [lid]] SimplBind [$cmax{v avzm} [lid]] SimplBind [a_swhz{v} [lid]] SimplBind [$c<={v avz8} [lid]] SimplBind [a_swhA{v} [lid]] SimplBind [$c>{v avyU} [lid]] SimplBind [a_swhB{v} [lid]] SimplBind [$c>={v avyG} [lid]] SimplBind [a_swhC{v} [lid]] SimplBind [$c<{v avys} [lid]] SimplBind [a_swhD{v} [lid]] SimplBind [$ccompare{v avye} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fOrdFixed{v ruUw} [lidx[DFunId[1]]]] SimplBind [a_swhE{v} [lid]] SimplBind [$c/={v avxV} [lid]] SimplBind [a_swhF{v} [lid]] SimplBind [$c=={v avxH} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fEqFixed{v ruUr} [lidx[DFunId]]] SimplBind [lvl_swwb{v} [lid]] SimplBind [lvl_swwc{v} [lid]] SimplBind [lvl_swwd{v} [lid]] SimplBind [lvl_swwe{v} [lid]] SimplBind [lvl_swwf{v} [lid]] SimplBind [lvl_swwg{v} [lid]] SimplBind [lvl_swwh{v} [lid]] SimplBind [lvl_swwi{v} [lid]] SimplBind [lvl_swwj{v} [lid]] SimplBind [lvl_swwk{v} [lid]] SimplBind [lvl_swwl{v} [lid]] SimplBind [lvl_swwm{v} [lid]] SimplBind [lvl_swwn{v} [lid]] SimplBind [lvl_swwo{v} [lid]] SimplBind [lvl_swwp{v} [lid]] SimplBind [lvl_swwq{v} [lid]] SimplBind [$clift{v avAv} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fLiftFixed{v ruOs} [lidx[DFunId(nt)]]] Result size of Simplifier iteration=1 = {terms: 2,381, types: 10,754, coercions: 1,806} SimplBind [lvl_swvg{v} [lid]] SimplBind [lvl_swve{v} [lid]] SimplBind [lvl_swv0{v} [lid]] SimplBind [lvl_swv2{v} [lid]] SimplBind [lvl_swv4{v} [lid]] SimplBind [lvl_swv6{v} [lid]] SimplBind [g1{v swuY} [lid]] SimplBind [lvl_swuS{v} [lid]] SimplBind [lvl_swv8{v} [lid]] SimplBind [lvl_swva{v} [lid]] SimplBind [lvl_swvc{v} [lid]] SimplBind [f{v swuQ} [lid]] SimplBind [lvl_swuH{v} [lid]] SimplBind [lvl_swuK{v} [lid]] SimplBind [$s^{v swu6} [lid]] SimplBind [lvl_swvh{v} [lid]] SimplBind [a_swwS{v} [lid]] SimplBind [a_swwV{v} [lid]] SimplBind [a_swwX{v} [lid]] SimplBind [a_swwT{v} [lid]] SimplBind [lvl_swvo{v} [lid]] SimplBind [a_swwY{v} [lid]] SimplBind [a_swx0{v} [lid]] SimplBind [a_swx3{v} [lid]] SimplBind [a_swx5{v} [lid]] SimplBind [a_swx1{v} [lid]] SimplBind [lvl_swvw{v} [lid]] SimplBind [a_swx6{v} [lid]] SimplBind [a_swxS{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.fLit{v ruEL} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.satN2{v ruEK} [lidx]] SimplBind [lvl_swvz{v} [lid]] SimplBind [lvl_swvy{v} [lid]] SimplBind [lvl_swvB{v} [lid]] SimplBind [lvl_swvA{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.resizeF{v ruEJ} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.asRepProxy{v ruEG} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.asFracProxy{v ruEF} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.fracShift{v ruEH} [lidx]] SimplBind [a_swaI{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unUF{v ruEE} [lidx]] SimplBind [a_swaJ{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.uf{v ruED} [lidx]] SimplBind [a_swaK{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unSF{v ruEC} [lidx]] SimplBind [a_swaL{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.sf{v ruEB} [lidx]] SimplBind [a_swaM{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unFixed{v ruEA} [lidx[[RecSel]]]] SimplBind [lvl_swvD{v} [lid]] SimplBind [lvl_swvC{v} [lid]] SimplBind [lvl_swvF{v} [lid]] SimplBind [lvl_swvG{v} [lid]] SimplBind [lvl_swvH{v} [lid]] SimplBind [ds_swvM{v} [lid]] SimplBind [lvl_swvQ{v} [lid]] SimplBind [dt{v akMa} [lid]] SimplBind [ds_swvT{v} [lid]] SimplBind [lvl_swvV{v} [lid]] SimplBind [lvl_swvX{v} [lid]] SimplBind [lvl_sww1{v} [lid]] SimplBind [lvl_sww3{v} [lid]] SimplBind [lvl_sww5{v} [lid]] SimplBind [lvl_sww6{v} [lid]] SimplBind [lvl_sww7{v} [lid]] SimplBind [lvl_sww8{v} [lid]] SimplBind [lvl_sww4{v} [lid]] SimplBind [lvl_sww9{v} [lid]] SimplBind [$cshow{v avFD} [lid]] SimplBind [$cshowsPrec{v avFB} [lid]] SimplBind [$cshowList{v avIE} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fShowFixed{v ruTI} [lidx[DFunId]]] SimplBind [a_swjx{v} [lid]] SimplBind [$cmult{v avFi} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fMultFixedFixed{v ruTC} [lidx[DFunId(nt)]]] SimplBind [$cminus{v avEx} [lid]] SimplBind [$cplus{v avDP} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fAddFixedFixed{v ruSO} [lidx[DFunId]]] SimplBind [$cfromInteger{v avDp} [lid]] SimplBind [a_swkh{v} [lid]] SimplBind [$cabs{v avCW} [lid]] SimplBind [$cnegate{v avCC} [lid]] SimplBind [$c-{v avCb} [lid]] SimplBind [$c*{v avBP} [lid]] SimplBind [$c+{v avBo} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fNumFixed{v ruPB} [lidx[DFunId]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fBitVectorFixed{v ruPx} [lidx[DFunId]]] SimplBind [a_swC4{v} [lid]] SimplBind [$cdef{v avAg} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fDefaultFixed{v ruO2} [lidx[DFunId(nt)]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fBoundedFixed{v ruHR} [lidx[DFunId]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fOrdFixed{v ruUw} [lidx[DFunId[1]]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fEqFixed{v ruUr} [lidx[DFunId]]] SimplBind [a_swC6{v} [lid]] SimplBind [a_swC9{v} [lid]] SimplBind [a_swCb{v} [lid]] SimplBind [a_swC7{v} [lid]] SimplBind [lvl_swwh{v} [lid]] SimplBind [a_swCc{v} [lid]] SimplBind [a_swCe{v} [lid]] SimplBind [a_swCh{v} [lid]] SimplBind [a_swCj{v} [lid]] SimplBind [a_swCf{v} [lid]] SimplBind [lvl_swwp{v} [lid]] SimplBind [a_swCk{v} [lid]] SimplBind [a_swCv{v} [lid]] SimplBind [$clift{v avAv} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fLiftFixed{v ruOs} [lidx[DFunId(nt)]]] Result size of Simplifier iteration=2 = {terms: 2,007, types: 9,355, coercions: 962} SimplBind [lvl_swvg{v} [lid]] SimplBind [lvl_swve{v} [lid]] SimplBind [lvl_swv0{v} [lid]] SimplBind [lvl_swv2{v} [lid]] SimplBind [lvl_swv4{v} [lid]] SimplBind [lvl_swv6{v} [lid]] SimplBind [g1{v swuY} [lid]] SimplBind [lvl_swuS{v} [lid]] SimplBind [lvl_swv8{v} [lid]] SimplBind [lvl_swva{v} [lid]] SimplBind [lvl_swvc{v} [lid]] SimplBind [f{v swuQ} [lid]] SimplBind [lvl_swuH{v} [lid]] SimplBind [lvl_swuK{v} [lid]] SimplBind [$s^{v swu6} [lid]] SimplBind [lvl_swvh{v} [lid]] SimplBind [a_swwS{v} [lid]] SimplBind [a_swwV{v} [lid]] SimplBind [a_swwX{v} [lid]] SimplBind [a_swwT{v} [lid]] SimplBind [lvl_swvo{v} [lid]] SimplBind [a_swwY{v} [lid]] SimplBind [a_swx0{v} [lid]] SimplBind [a_swx3{v} [lid]] SimplBind [a_swx5{v} [lid]] SimplBind [a_swx1{v} [lid]] SimplBind [lvl_swvw{v} [lid]] SimplBind [a_swx6{v} [lid]] SimplBind [a_swxS{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.fLit{v ruEL} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.satN2{v ruEK} [lidx]] SimplBind [lvl_swvz{v} [lid]] SimplBind [lvl_swvy{v} [lid]] SimplBind [lvl_swvB{v} [lid]] SimplBind [lvl_swvA{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.resizeF{v ruEJ} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.asRepProxy{v ruEG} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.asFracProxy{v ruEF} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.fracShift{v ruEH} [lidx]] SimplBind [a_swaI{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unUF{v ruEE} [lidx]] SimplBind [a_swaJ{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.uf{v ruED} [lidx]] SimplBind [a_swaK{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unSF{v ruEC} [lidx]] SimplBind [a_swaL{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.sf{v ruEB} [lidx]] SimplBind [a_swaM{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unFixed{v ruEA} [lidx[[RecSel]]]] SimplBind [lvl_swvD{v} [lid]] SimplBind [lvl_swvC{v} [lid]] SimplBind [lvl_swvF{v} [lid]] SimplBind [lvl_swvG{v} [lid]] SimplBind [ds_swvM{v} [lid]] SimplBind [lvl_swvQ{v} [lid]] SimplBind [dt{v akMa} [lid]] SimplBind [ds_swvT{v} [lid]] SimplBind [lvl_swvV{v} [lid]] SimplBind [lvl_swvX{v} [lid]] SimplBind [lvl_sww5{v} [lid]] SimplBind [lvl_sww6{v} [lid]] SimplBind [lvl_sww7{v} [lid]] SimplBind [lvl_sww8{v} [lid]] SimplBind [lvl_sww4{v} [lid]] SimplBind [lvl_sww9{v} [lid]] SimplBind [$cshow{v avFD} [lid]] SimplBind [$cshowsPrec{v avFB} [lid]] SimplBind [$cshowList{v avIE} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fShowFixed{v ruTI} [lidx[DFunId]]] SimplBind [a_swjx{v} [lid]] SimplBind [$cmult{v avFi} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fMultFixedFixed{v ruTC} [lidx[DFunId(nt)]]] SimplBind [$cminus{v avEx} [lid]] SimplBind [$cplus{v avDP} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fAddFixedFixed{v ruSO} [lidx[DFunId]]] SimplBind [$cfromInteger{v avDp} [lid]] SimplBind [a_swkh{v} [lid]] SimplBind [$cabs{v avCW} [lid]] SimplBind [$cnegate{v avCC} [lid]] SimplBind [$c-{v avCb} [lid]] SimplBind [$c*{v avBP} [lid]] SimplBind [$c+{v avBo} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fNumFixed{v ruPB} [lidx[DFunId]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fBitVectorFixed{v ruPx} [lidx[DFunId]]] SimplBind [a_swC4{v} [lid]] SimplBind [$cdef{v avAg} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fDefaultFixed{v ruO2} [lidx[DFunId(nt)]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fBoundedFixed{v ruHR} [lidx[DFunId]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fOrdFixed{v ruUw} [lidx[DFunId[1]]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fEqFixed{v ruUr} [lidx[DFunId]]] SimplBind [a_swC6{v} [lid]] SimplBind [a_swC9{v} [lid]] SimplBind [a_swCb{v} [lid]] SimplBind [a_swC7{v} [lid]] SimplBind [lvl_swwh{v} [lid]] SimplBind [a_swCc{v} [lid]] SimplBind [a_swCe{v} [lid]] SimplBind [a_swCh{v} [lid]] SimplBind [a_swCj{v} [lid]] SimplBind [a_swCf{v} [lid]] SimplBind [lvl_swwp{v} [lid]] SimplBind [a_swCk{v} [lid]] SimplBind [a_swCv{v} [lid]] SimplBind [$clift{v avAv} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fLiftFixed{v ruOs} [lidx[DFunId(nt)]]] Result size of Simplifier iteration=3 = {terms: 2,005, types: 9,350, coercions: 962} SimplBind [lvl_swvg{v} [lid]] SimplBind [lvl_swve{v} [lid]] SimplBind [lvl_swv0{v} [lid]] SimplBind [lvl_swv2{v} [lid]] SimplBind [lvl_swv4{v} [lid]] SimplBind [lvl_swv6{v} [lid]] SimplBind [g1{v swuY} [lid]] SimplBind [lvl_swuS{v} [lid]] SimplBind [lvl_swv8{v} [lid]] SimplBind [lvl_swva{v} [lid]] SimplBind [lvl_swvc{v} [lid]] SimplBind [f{v swuQ} [lid]] SimplBind [lvl_swuH{v} [lid]] SimplBind [lvl_swuK{v} [lid]] SimplBind [$s^{v swu6} [lid]] SimplBind [lvl_swvh{v} [lid]] SimplBind [a_swwS{v} [lid]] SimplBind [a_swwV{v} [lid]] SimplBind [a_swwX{v} [lid]] SimplBind [a_swwT{v} [lid]] SimplBind [lvl_swvo{v} [lid]] SimplBind [a_swwY{v} [lid]] SimplBind [a_swx0{v} [lid]] SimplBind [a_swx3{v} [lid]] SimplBind [a_swx5{v} [lid]] SimplBind [a_swx1{v} [lid]] SimplBind [lvl_swvw{v} [lid]] SimplBind [a_swx6{v} [lid]] SimplBind [a_swxS{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.fLit{v ruEL} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.satN2{v ruEK} [lidx]] SimplBind [lvl_swvz{v} [lid]] SimplBind [lvl_swvy{v} [lid]] SimplBind [lvl_swvB{v} [lid]] SimplBind [lvl_swvA{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.resizeF{v ruEJ} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.asRepProxy{v ruEG} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.asFracProxy{v ruEF} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.fracShift{v ruEH} [lidx]] SimplBind [a_swaI{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unUF{v ruEE} [lidx]] SimplBind [a_swaJ{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.uf{v ruED} [lidx]] SimplBind [a_swaK{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unSF{v ruEC} [lidx]] SimplBind [a_swaL{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.sf{v ruEB} [lidx]] SimplBind [a_swaM{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unFixed{v ruEA} [lidx[[RecSel]]]] SimplBind [lvl_swvD{v} [lid]] SimplBind [lvl_swvC{v} [lid]] SimplBind [lvl_swvF{v} [lid]] SimplBind [lvl_swvG{v} [lid]] SimplBind [ds_swvM{v} [lid]] SimplBind [lvl_swvQ{v} [lid]] SimplBind [dt{v akMa} [lid]] SimplBind [ds_swvT{v} [lid]] SimplBind [lvl_swvV{v} [lid]] SimplBind [lvl_swvX{v} [lid]] SimplBind [lvl_sww5{v} [lid]] SimplBind [lvl_sww6{v} [lid]] SimplBind [lvl_sww7{v} [lid]] SimplBind [lvl_sww8{v} [lid]] SimplBind [lvl_sww4{v} [lid]] SimplBind [lvl_sww9{v} [lid]] SimplBind [$cshow{v avFD} [lid]] SimplBind [$cshowsPrec{v avFB} [lid]] SimplBind [$cshowList{v avIE} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fShowFixed{v ruTI} [lidx[DFunId]]] SimplBind [a_swjx{v} [lid]] SimplBind [$cmult{v avFi} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fMultFixedFixed{v ruTC} [lidx[DFunId(nt)]]] SimplBind [$cminus{v avEx} [lid]] SimplBind [$cplus{v avDP} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fAddFixedFixed{v ruSO} [lidx[DFunId]]] SimplBind [$cfromInteger{v avDp} [lid]] SimplBind [a_swkh{v} [lid]] SimplBind [$cabs{v avCW} [lid]] SimplBind [$cnegate{v avCC} [lid]] SimplBind [$c-{v avCb} [lid]] SimplBind [$c*{v avBP} [lid]] SimplBind [$c+{v avBo} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fNumFixed{v ruPB} [lidx[DFunId]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fBitVectorFixed{v ruPx} [lidx[DFunId]]] SimplBind [a_swC4{v} [lid]] SimplBind [$cdef{v avAg} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fDefaultFixed{v ruO2} [lidx[DFunId(nt)]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fBoundedFixed{v ruHR} [lidx[DFunId]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fOrdFixed{v ruUw} [lidx[DFunId[1]]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fEqFixed{v ruUr} [lidx[DFunId]]] SimplBind [a_swC6{v} [lid]] SimplBind [a_swC9{v} [lid]] SimplBind [a_swCb{v} [lid]] SimplBind [a_swC7{v} [lid]] SimplBind [lvl_swwh{v} [lid]] SimplBind [a_swCc{v} [lid]] SimplBind [a_swCe{v} [lid]] SimplBind [a_swCh{v} [lid]] SimplBind [a_swCj{v} [lid]] SimplBind [a_swCf{v} [lid]] SimplBind [lvl_swwp{v} [lid]] SimplBind [a_swCk{v} [lid]] SimplBind [a_swCv{v} [lid]] SimplBind [$clift{v avAv} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fLiftFixed{v ruOs} [lidx[DFunId(nt)]]] ==================== Simplifier ==================== Max iterations = 4 SimplMode {Phase = 2 [main], inline, rules, eta-expand, case-of-case} Result size of Simplifier = {terms: 2,005, types: 9,350, coercions: 962} lvl_swvg :: GHC.Types.Double [LclId, Str=DmdType b] lvl_swvg = GHC.Err.error @ GHC.Types.Double (GHC.Base.build @ GHC.Types.Char (\ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "Negative exponent"#)) lvl_swve :: GHC.Types.Double [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}] lvl_swve = GHC.Types.D# 1.0 lvl_swv0 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swv0 = __integer 1 lvl_swv2 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swv2 = __integer 1 lvl_swv4 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swv4 = __integer 2 lvl_swv6 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swv6 = __integer 2 Rec { g1_swuY [Occ=LoopBreaker] :: GHC.Types.Double -> GHC.Integer.Type.Integer -> GHC.Types.Double -> GHC.Types.Double [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0 0] 442 0}] g1_swuY = \ (x1_akDN :: GHC.Types.Double) (y1_akDO :: GHC.Integer.Type.Integer) (z_akDP :: GHC.Types.Double) -> case GHC.Integer.Type.eqInteger# (GHC.Integer.Type.remInteger y1_akDO GHC.Real.even2) GHC.Real.even1 of wild_akF2 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akF2 of _ [Occ=Dead] { GHC.Types.False -> case GHC.Integer.Type.eqInteger# y1_akDO lvl_swv0 of wild_a2f3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a2f3 of _ [Occ=Dead] { GHC.Types.False -> g1_swuY (GHC.Float.timesDouble x1_akDN x1_akDN) (GHC.Integer.Type.quotInteger (GHC.Integer.Type.minusInteger y1_akDO lvl_swv2) lvl_swv4) (GHC.Float.timesDouble x1_akDN z_akDP); GHC.Types.True -> GHC.Float.timesDouble x1_akDN z_akDP } }; GHC.Types.True -> g1_swuY (GHC.Float.timesDouble x1_akDN x1_akDN) (GHC.Integer.Type.quotInteger y1_akDO lvl_swv6) z_akDP } } end Rec } lvl_swuS :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swuS = __integer 1 lvl_swv8 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swv8 = __integer 1 lvl_swva :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swva = __integer 2 lvl_swvc :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swvc = __integer 2 Rec { f_swuQ [Occ=LoopBreaker] :: GHC.Types.Double -> GHC.Integer.Type.Integer -> GHC.Types.Double [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0] 372 0}] f_swuQ = \ (x_akDA :: GHC.Types.Double) (y_akDB :: GHC.Integer.Type.Integer) -> case GHC.Integer.Type.eqInteger# (GHC.Integer.Type.remInteger y_akDB GHC.Real.even2) GHC.Real.even1 of wild_akF2 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akF2 of _ [Occ=Dead] { GHC.Types.False -> case GHC.Integer.Type.eqInteger# y_akDB lvl_swuS of wild_a2f3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a2f3 of _ [Occ=Dead] { GHC.Types.False -> g1_swuY (GHC.Float.timesDouble x_akDA x_akDA) (GHC.Integer.Type.quotInteger (GHC.Integer.Type.minusInteger y_akDB lvl_swv8) lvl_swva) x_akDA; GHC.Types.True -> x_akDA } }; GHC.Types.True -> f_swuQ (GHC.Float.timesDouble x_akDA x_akDA) (GHC.Integer.Type.quotInteger y_akDB lvl_swvc) } } end Rec } lvl_swuH :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swuH = __integer 0 lvl_swuK :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swuK = __integer 0 $s^_swu6 [InlPrag=[1]] :: GHC.Types.Double -> GHC.Integer.Type.Integer -> GHC.Types.Double [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0] 152 0}] $s^_swu6 = \ (eta_akDk :: GHC.Types.Double) (eta1_akDl :: GHC.Integer.Type.Integer) -> case GHC.Integer.Type.ltInteger# eta1_akDl lvl_swuH of wild_a4It { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a4It of _ [Occ=Dead] { GHC.Types.False -> case GHC.Integer.Type.eqInteger# eta1_akDl lvl_swuK of wild_a2f3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a2f3 of _ [Occ=Dead] { GHC.Types.False -> f_swuQ eta_akDk eta1_akDl; GHC.Types.True -> lvl_swve } }; GHC.Types.True -> lvl_swvg } } lvl_swvh :: GHC.Types.Double [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}] lvl_swvh = GHC.Types.D# 2.0 a_swwS :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 40}] a_swwS = GHC.Base.build @ GHC.Types.Char (\ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "Fixed"#) a_swwV :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 40}] a_swwV = GHC.Base.build @ GHC.Types.Char (\ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "clash-prelude-0.5"#) a_swwX :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 40}] a_swwX = GHC.Base.build @ GHC.Types.Char (\ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "CLaSH.Sized.Fixed"#) a_swwT :: Language.Haskell.TH.Syntax.NameFlavour [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}] a_swwT = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.DataName (a_swwV `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a_swwX `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) lvl_swvo :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] lvl_swvo = Language.Haskell.TH.Syntax.Name (a_swwS `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a_swwT a_swwY :: forall (m_afx5 :: * -> *). Language.Haskell.TH.Syntax.Quasi m_afx5 => m_afx5 Language.Haskell.TH.Syntax.Exp [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [30] 60 0}] a_swwY = \ (@ (m_afx5 :: * -> *)) (eta_afx6 :: Language.Haskell.TH.Syntax.Quasi m_afx5) -> GHC.Base.return @ m_afx5 (Language.Haskell.TH.Syntax.$p1Quasi @ m_afx5 eta_afx6) @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.ConE lvl_swvo) a_swx0 :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 40}] a_swx0 = GHC.Base.build @ GHC.Types.Char (\ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "fromInteger"#) a_swx3 :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 40}] a_swx3 = GHC.Base.build @ GHC.Types.Char (\ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "base"#) a_swx5 :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 40}] a_swx5 = GHC.Base.build @ GHC.Types.Char (\ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "GHC.Num"#) a_swx1 :: Language.Haskell.TH.Syntax.NameFlavour [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}] a_swx1 = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.VarName (a_swx3 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a_swx5 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) lvl_swvw :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] lvl_swvw = Language.Haskell.TH.Syntax.Name (a_swx0 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a_swx1 a_swx6 :: forall (m_a5ye :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a5ye => m_a5ye Language.Haskell.TH.Syntax.Exp [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [30] 60 0}] a_swx6 = \ (@ (m_a5ye :: * -> *)) (eta_a5yf :: Language.Haskell.TH.Syntax.Quasi m_a5ye) -> GHC.Base.return @ m_a5ye (Language.Haskell.TH.Syntax.$p1Quasi @ m_a5ye eta_a5yf) @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.VarE lvl_swvw) a_swxS :: forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> forall (m_aw9c :: * -> *). Language.Haskell.TH.Syntax.Quasi m_aw9c => m_aw9c (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) [LclId, Arity=5, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] a_swxS = \ (@ (frac_avhM :: GHC.TypeLits.Nat)) (@ (rep_avhN :: GHC.TypeLits.Nat -> *)) (@ (size_avhO :: GHC.TypeLits.Nat)) ($dKnownNat_avlM :: GHC.TypeLits.KnownNat frac_avhM) _ [Occ=Dead] ($dBounded_avlO :: GHC.Enum.Bounded (rep_avhN size_avhO)) ($dIntegral_avlP :: GHC.Real.Integral (rep_avhN size_avhO)) (a_auGC :: GHC.Types.Double) -> Language.Haskell.TH.Syntax.unsafeTExpCoerce1 @ (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO) ((Language.Haskell.TH.Lib.appE1 (a_swwY `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp)) ((Language.Haskell.TH.Lib.appE1 (a_swx6 `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp)) (let { x_akVD :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=NEVER}] x_akVD = let { rMax_swu0 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] rMax_swu0 = GHC.Real.toInteger @ (rep_avhN size_avhO) $dIntegral_avlP (GHC.Enum.maxBound @ (rep_avhN size_avhO) $dBounded_avlO) } in let { truncated_swu2 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 560 0}] truncated_swu2 = case a_auGC of _ [Occ=Dead] { GHC.Types.D# x_aw80 -> case GHC.Real.^ @ GHC.Types.Double @ GHC.Integer.Type.Integer GHC.Float.$fNumDouble GHC.Real.$fIntegralInteger lvl_swvh ($dKnownNat_avlM `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_avhM ~# GHC.Integer.Type.Integer)) of _ [Occ=Dead] { GHC.Types.D# y_aw84 -> case GHC.Integer.Type.decodeDoubleInteger (GHC.Prim.*## x_aw80 y_aw84) of _ [Occ=Dead] { (# ipv_aw8Q, ipv1_aw8R #) -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# ipv1_aw8R 0) of _ [Occ=Dead] { GHC.Types.False -> GHC.Integer.Type.shiftLInteger ipv_aw8Q ipv1_aw8R; GHC.Types.True -> let { s_aw8X :: GHC.Prim.Int# [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 1 0}] s_aw8X = GHC.Prim.negateInt# ipv1_aw8R } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.># s_aw8X 52) of _ [Occ=Dead] { GHC.Types.False -> case GHC.Integer.Type.ltInteger# ipv_aw8Q (__integer 0) of wild3_aw92 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild3_aw92 of _ [Occ=Dead] { GHC.Types.False -> case GHC.Integer.Type.integerToInt ipv_aw8Q of n_aw96 { __DEFAULT -> GHC.Integer.Type.smallInteger (GHC.Prim.uncheckedIShiftRA# n_aw96 s_aw8X) }; GHC.Types.True -> case GHC.Integer.Type.integerToInt (GHC.Integer.Type.negateInteger ipv_aw8Q) of n_aw99 { __DEFAULT -> GHC.Integer.Type.smallInteger (GHC.Prim.negateInt# (GHC.Prim.uncheckedIShiftRA# n_aw99 s_aw8X)) } } }; GHC.Types.True -> __integer 0 } } } } } } in case GHC.Integer.Type.gtInteger# truncated_swu2 rMax_swu0 of wild_akJ6 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akJ6 of _ [Occ=Dead] { GHC.Types.False -> let { rMin_swu1 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] rMin_swu1 = GHC.Real.toInteger @ (rep_avhN size_avhO) $dIntegral_avlP (GHC.Enum.minBound @ (rep_avhN size_avhO) $dBounded_avlO) } in case GHC.Integer.Type.ltInteger# truncated_swu2 rMin_swu1 of wild_a4It { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a4It of _ [Occ=Dead] { GHC.Types.False -> truncated_swu2; GHC.Types.True -> rMin_swu1 } }; GHC.Types.True -> rMax_swu0 } } } in (\ (@ (m_akVE :: * -> *)) (eta_akVF :: Language.Haskell.TH.Syntax.Quasi m_akVE) -> GHC.Base.return @ m_akVE (Language.Haskell.TH.Syntax.$p1Quasi @ m_akVE eta_akVF) @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.LitE (Language.Haskell.TH.Syntax.IntegerL x_akVD))) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp))) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp))) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp)) CLaSH.Sized.Fixed.fLit :: forall (frac_auFI :: GHC.TypeLits.Nat) (rep_auFJ :: GHC.TypeLits.Nat -> *) (size_auFK :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_auFI, GHC.Num.Num (rep_auFJ size_auFK), GHC.Enum.Bounded (rep_auFJ size_auFK), GHC.Real.Integral (rep_auFJ size_auFK)) => GHC.Types.Double -> Language.Haskell.TH.Syntax.Q (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_auFI rep_auFJ size_auFK)) [LclIdX, Arity=5, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.fLit = a_swxS `cast` (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO))) ~# (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> Language.Haskell.TH.Syntax.Q (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)))) CLaSH.Sized.Fixed.satN2 :: forall (rep_auFL :: GHC.TypeLits.Nat -> *) (n_auFM :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.SatN2C rep_auFL n_auFM) => rep_auFL (n_auFM GHC.TypeLits.+ 2) -> rep_auFL n_auFM [LclIdX, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] CLaSH.Sized.Fixed.satN2 = \ (@ (rep_aviy :: GHC.TypeLits.Nat -> *)) (@ (n_aviz :: GHC.TypeLits.Nat)) (tup_avmQ :: CLaSH.Sized.Fixed.SatN2C rep_aviy n_aviz) (eta_B1 :: rep_aviy (n_aviz GHC.TypeLits.+ 2)) -> let { repBV_swtT :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 0}] repBV_swtT = case tup_avmQ of _ [Occ=Dead] { (tpl_X1g, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> case tpl_B6 of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6Z -> (CLaSH.Class.BitVector.toBV @ (rep_aviy (n_aviz GHC.TypeLits.+ 2)) tpl_B4 (tpl_B8 `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw6Z))_R :: GHC.TypeLits.KnownNat (n_aviz GHC.TypeLits.+ 2) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy (n_aviz GHC.TypeLits.+ 2))))) eta_B1) `cast` ((CLaSH.Sized.Vector.Vec cobox_dw6Z _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy (n_aviz GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit) } } } in let { cobox_swtU :: ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (n_aviz GHC.TypeLits.+ 2) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] cobox_swtU = case tup_avmQ of _ [Occ=Dead] { (tpl_X1l, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B2 } } in let { s_swtS :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] s_swtS = case cobox_swtU of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7d -> CLaSH.Sized.Vector.vtail @ n_aviz @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (repBV_swtT `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7d) _R)_R :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit))) } } in let { cobox_swtV :: CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz) ~ n_aviz [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] cobox_swtV = case tup_avmQ of _ [Occ=Dead] { (tpl_X1i, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B5 } } in case tup_avmQ of _ [Occ=Dead] { (tpl_X1t, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> case Data.Bits.isSigned @ (rep_aviy (n_aviz GHC.TypeLits.+ 2)) tpl_Ba eta_B1 of _ [Occ=Dead] { GHC.Types.False -> case cobox_swtU of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7j -> case CLaSH.Sized.Vector.vhead @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (repBV_swtT `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7j) _R)_R :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit)) of _ [Occ=Dead] { CLaSH.Bit.H -> case CLaSH.Sized.Vector.vhead @ n_aviz @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (repBV_swtT `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7j) _R)_R :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit))) of _ [Occ=Dead] { CLaSH.Bit.H -> GHC.Enum.minBound @ (rep_aviy n_aviz) tpl_B9; CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_aviy n_aviz) tpl_B3 (case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7b -> tpl_B7 `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw7b))_R :: GHC.TypeLits.KnownNat n_aviz ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz))) }) (case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7c -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7c) _R)_R :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) CLaSH.Bit.Bit) }) }; CLaSH.Bit.L -> case CLaSH.Sized.Vector.vhead @ n_aviz @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (repBV_swtT `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7j) _R)_R :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit))) of _ [Occ=Dead] { CLaSH.Bit.H -> GHC.Enum.maxBound @ (rep_aviy n_aviz) tpl_B9; CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_aviy n_aviz) tpl_B3 (case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7b -> tpl_B7 `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw7b))_R :: GHC.TypeLits.KnownNat n_aviz ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz))) }) (case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7c -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7c) _R)_R :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) CLaSH.Bit.Bit) }) } } }; GHC.Types.True -> case cobox_swtU of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7j -> case CLaSH.Sized.Vector.vhead @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (repBV_swtT `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7j) _R)_R :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit)) of _ [Occ=Dead] { CLaSH.Bit.H -> case CLaSH.Sized.Vector.vhead' @ n_aviz @ CLaSH.Bit.Bit tpl_X1t s_swtS of _ [Occ=Dead] { CLaSH.Bit.H -> CLaSH.Class.BitVector.fromBV @ (rep_aviy n_aviz) tpl_B3 (case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw79 -> tpl_B7 `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw79))_R :: GHC.TypeLits.KnownNat n_aviz ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz))) }) (case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7a -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7a) _R)_R :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) CLaSH.Bit.Bit) }); CLaSH.Bit.L -> GHC.Enum.minBound @ (rep_aviy n_aviz) tpl_B9 }; CLaSH.Bit.L -> case CLaSH.Sized.Vector.vhead' @ n_aviz @ CLaSH.Bit.Bit tpl_X1t s_swtS of _ [Occ=Dead] { CLaSH.Bit.H -> GHC.Enum.maxBound @ (rep_aviy n_aviz) tpl_B9; CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_aviy n_aviz) tpl_B3 (case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw79 -> tpl_B7 `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw79))_R :: GHC.TypeLits.KnownNat n_aviz ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz))) }) (case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7a -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7a) _R)_R :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) CLaSH.Bit.Bit) }) } } } } } lvl_swvz :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swvz = __integer 0 lvl_swvy :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swvy = __integer 0 lvl_swvB :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swvB = __integer 0 lvl_swvA :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swvA = __integer 0 CLaSH.Sized.Fixed.resizeF :: forall (frac1_auFN :: GHC.TypeLits.Nat) (frac2_auFO :: GHC.TypeLits.Nat) (rep_auFP :: GHC.TypeLits.Nat -> *) (size1_auFQ :: GHC.TypeLits.Nat) (size2_auFR :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.ResizeFC rep_auFP frac1_auFN frac2_auFO size1_auFQ size2_auFR) => CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ -> CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR [LclIdX, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] CLaSH.Sized.Fixed.resizeF = \ (@ (frac1_avjq :: GHC.TypeLits.Nat)) (@ (frac2_avjr :: GHC.TypeLits.Nat)) (@ (rep_avjs :: GHC.TypeLits.Nat -> *)) (@ (size1_avjt :: GHC.TypeLits.Nat)) (@ (size2_avju :: GHC.TypeLits.Nat)) (tup_avnK :: CLaSH.Sized.Fixed.ResizeFC rep_avjs frac1_avjq frac2_avjr size1_avjt size2_avju) (eta_B1 :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt) -> let { $dKnownNat_swtH :: GHC.TypeLits.KnownNat size2_avju [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swtH = case tup_avnK of _ [Occ=Dead] { (tpl_X1k, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 } } in let { $dKnownNat_swtI :: GHC.TypeLits.KnownNat size1_avjt [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swtI = case tup_avnK of _ [Occ=Dead] { (tpl_X1i, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B8 } } in case GHC.Integer.Type.leInteger# ($dKnownNat_swtI `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat size1_avjt ~# GHC.Integer.Type.Integer)) ($dKnownNat_swtH `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat size2_avju ~# GHC.Integer.Type.Integer)) of wild_akJ3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akJ3 of _ [Occ=Dead] { GHC.Types.False -> let { $dBounded_swtD :: GHC.Enum.Bounded (rep_avjs size2_avju) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBounded_swtD = case tup_avnK of _ [Occ=Dead] { (tpl_X1u, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X1u } } in let { fMax_swtA :: rep_avjs size2_avju [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 20 0}] fMax_swtA = GHC.Enum.maxBound @ (rep_avjs size2_avju) $dBounded_swtD } in let { $dBits_swtF :: Data.Bits.Bits (rep_avjs size1_avjt) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_swtF = case tup_avnK of _ [Occ=Dead] { (tpl_X5L, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B5 } } in let { mask_swtz :: rep_avjs size1_avjt [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 43 0}] mask_swtz = Data.Bits.complement @ (rep_avjs size1_avjt) $dBits_swtF (case tup_avnK of _ [Occ=Dead] { (tpl_X1m, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> (tpl_B6 `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_avjs ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_avjs a_ae8M -> rep_avjs b_ae8N))) @ size2_avju @ size1_avjt $dKnownNat_swtH $dKnownNat_swtI fMax_swtA }) } in let { $dNum_swtE :: GHC.Num.Num (rep_avjs size1_avjt) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dNum_swtE = case tup_avnK of _ [Occ=Dead] { (tpl_X1r, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B4 } } in case tup_avnK of _ [Occ=Dead] { (tpl_X1y, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> case GHC.Integer.Type.integerToInt (tpl_Bb `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac1_avjq ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> case GHC.Integer.Type.integerToInt (tpl_Ba `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac2_avjr ~# GHC.Integer.Type.Integer)) of wild_XkFQ { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# wild_akCB wild_XkFQ) of _ [Occ=Dead] { GHC.Types.False -> let { shiftedR_swty :: rep_avjs size1_avjt [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 51 0}] shiftedR_swty = Data.Bits.shiftR @ (rep_avjs size1_avjt) $dBits_swtF (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt)) (GHC.Types.I# (GHC.Prim.-# wild_akCB wild_XkFQ)) } in case GHC.Classes.>= @ (rep_avjs size1_avjt) tpl_B3 (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt)) (GHC.Num.fromInteger @ (rep_avjs size1_avjt) $dNum_swtE lvl_swvy) of _ [Occ=Dead] { GHC.Types.False -> case GHC.Classes.== @ (rep_avjs size1_avjt) (Data.Bits.$p1Bits @ (rep_avjs size1_avjt) $dBits_swtF) (Data.Bits..&. @ (rep_avjs size1_avjt) $dBits_swtF shiftedR_swty mask_swtz) mask_swtz of _ [Occ=Dead] { GHC.Types.False -> (GHC.Enum.minBound @ (rep_avjs size2_avju) $dBounded_swtD) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> ((tpl_B6 `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_avjs ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_avjs a_ae8M -> rep_avjs b_ae8N))) @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH shiftedR_swty) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) }; GHC.Types.True -> case GHC.Classes.== @ (rep_avjs size1_avjt) (Data.Bits.$p1Bits @ (rep_avjs size1_avjt) $dBits_swtF) (Data.Bits..&. @ (rep_avjs size1_avjt) $dBits_swtF shiftedR_swty mask_swtz) (GHC.Num.fromInteger @ (rep_avjs size1_avjt) $dNum_swtE lvl_swvz) of _ [Occ=Dead] { GHC.Types.False -> fMax_swtA `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> ((tpl_B6 `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_avjs ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_avjs a_ae8M -> rep_avjs b_ae8N))) @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH shiftedR_swty) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) } }; GHC.Types.True -> let { shiftedL_swtK :: rep_avjs size1_avjt [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 51 0}] shiftedL_swtK = Data.Bits.shiftL @ (rep_avjs size1_avjt) $dBits_swtF (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt)) (GHC.Types.I# (GHC.Prim.-# wild_XkFQ wild_akCB)) } in case GHC.Classes.>= @ (rep_avjs size1_avjt) tpl_B3 (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt)) (GHC.Num.fromInteger @ (rep_avjs size1_avjt) $dNum_swtE lvl_swvA) of _ [Occ=Dead] { GHC.Types.False -> case GHC.Classes.== @ (rep_avjs size1_avjt) (Data.Bits.$p1Bits @ (rep_avjs size1_avjt) $dBits_swtF) (Data.Bits..&. @ (rep_avjs size1_avjt) $dBits_swtF shiftedL_swtK mask_swtz) mask_swtz of _ [Occ=Dead] { GHC.Types.False -> (GHC.Enum.minBound @ (rep_avjs size2_avju) $dBounded_swtD) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> ((tpl_B6 `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_avjs ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_avjs a_ae8M -> rep_avjs b_ae8N))) @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH shiftedL_swtK) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) }; GHC.Types.True -> case GHC.Classes.== @ (rep_avjs size1_avjt) (Data.Bits.$p1Bits @ (rep_avjs size1_avjt) $dBits_swtF) (Data.Bits..&. @ (rep_avjs size1_avjt) $dBits_swtF shiftedL_swtK mask_swtz) (GHC.Num.fromInteger @ (rep_avjs size1_avjt) $dNum_swtE lvl_swvB) of _ [Occ=Dead] { GHC.Types.False -> fMax_swtA `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> ((tpl_B6 `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_avjs ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_avjs a_ae8M -> rep_avjs b_ae8N))) @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH shiftedL_swtK) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) } } } } } }; GHC.Types.True -> case tup_avnK of _ [Occ=Dead] { (tpl_X1y, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> case GHC.Integer.Type.integerToInt (tpl_Bb `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac1_avjq ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> case GHC.Integer.Type.integerToInt (tpl_Ba `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac2_avjr ~# GHC.Integer.Type.Integer)) of wild_XkFG { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# wild_akCB wild_XkFG) of _ [Occ=Dead] { GHC.Types.False -> (Data.Bits.shiftR @ (rep_avjs size2_avju) tpl_B9 ((tpl_B6 `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_avjs ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_avjs a_ae8M -> rep_avjs b_ae8N))) @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt))) (GHC.Types.I# (GHC.Prim.-# wild_akCB wild_XkFG))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> (Data.Bits.shiftL @ (rep_avjs size2_avju) tpl_B9 ((tpl_B6 `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_avjs ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_avjs a_ae8M -> rep_avjs b_ae8N))) @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt))) (GHC.Types.I# (GHC.Prim.-# wild_XkFG wild_akCB))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) } } } } } } CLaSH.Sized.Fixed.asRepProxy :: forall (frac_auFV :: GHC.TypeLits.Nat) (rep_auFW :: GHC.TypeLits.Nat -> *) (size_auFX :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFV rep_auFW size_auFX -> Data.Proxy.Proxy rep_auFW [LclIdX, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.asRepProxy = \ (@ (frac_avk6 :: GHC.TypeLits.Nat)) (@ (rep_avk7 :: GHC.TypeLits.Nat -> *)) (@ (size_avk8 :: GHC.TypeLits.Nat)) _ [Occ=Dead] -> Data.Proxy.Proxy @ (GHC.TypeLits.Nat -> *) @ rep_avk7 CLaSH.Sized.Fixed.asFracProxy :: forall (frac_auFY :: GHC.TypeLits.Nat) (rep_auFZ :: GHC.TypeLits.Nat -> *) (size_auG0 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFY rep_auFZ size_auG0 -> Data.Proxy.Proxy frac_auFY [LclIdX, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.asFracProxy = \ (@ (frac_avkp :: GHC.TypeLits.Nat)) (@ (rep_avkq :: GHC.TypeLits.Nat -> *)) (@ (size_avkr :: GHC.TypeLits.Nat)) _ [Occ=Dead] -> Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac_avkp CLaSH.Sized.Fixed.fracShift :: forall (frac_auFS :: GHC.TypeLits.Nat) (rep_auFT :: GHC.TypeLits.Nat -> *) (size_auFU :: GHC.TypeLits.Nat). GHC.TypeLits.KnownNat frac_auFS => CLaSH.Sized.Fixed.Fixed frac_auFS rep_auFT size_auFU -> GHC.Types.Int [LclIdX, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0] 40 20}] CLaSH.Sized.Fixed.fracShift = \ (@ (frac_avjN :: GHC.TypeLits.Nat)) (@ (rep_avjO :: GHC.TypeLits.Nat -> *)) (@ (size_avjP :: GHC.TypeLits.Nat)) ($dKnownNat_avxa :: GHC.TypeLits.KnownNat frac_avjN) _ [Occ=Dead] -> case GHC.Integer.Type.integerToInt ($dKnownNat_avxa `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_avjN ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> GHC.Types.I# wild_akCB } a_swaI :: forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaI = \ (@ (int_avkK :: GHC.TypeLits.Nat)) (@ (frac_avkL :: GHC.TypeLits.Nat)) (ds_dvZi :: CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL)) -> ds_dvZi CLaSH.Sized.Fixed.unUF :: forall (int_auG1 :: GHC.TypeLits.Nat) (frac_auG2 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.UFixed int_auG1 frac_auG2 -> CLaSH.Sized.Unsigned.Unsigned (int_auG1 GHC.TypeLits.+ frac_auG2) [LclIdX, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.unUF = a_swaI `cast` (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL)) ~# (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL))) a_swaJ :: forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaJ = \ (@ (frac_avl5 :: GHC.TypeLits.Nat)) (@ (int_avl6 :: GHC.TypeLits.Nat)) _ [Occ=Dead] (fRep_auGb :: CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) -> fRep_auGb CLaSH.Sized.Fixed.uf :: forall (frac_auG3 :: GHC.TypeLits.Nat) (int_auG4 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_auG3 -> CLaSH.Sized.Unsigned.Unsigned (int_auG4 GHC.TypeLits.+ frac_auG3) -> CLaSH.Sized.Fixed.UFixed int_auG4 frac_auG3 [LclIdX, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.uf = a_swaJ `cast` (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) ~# (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Fixed.Fixed frac_avl5 CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5))) a_swaK :: forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaK = \ (@ (int_avlp :: GHC.TypeLits.Nat)) (@ (frac_avlq :: GHC.TypeLits.Nat)) (ds_dvZu :: CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq)) -> ds_dvZu CLaSH.Sized.Fixed.unSF :: forall (int_auG5 :: GHC.TypeLits.Nat) (frac_auG6 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.SFixed int_auG5 frac_auG6 -> CLaSH.Sized.Signed.Signed (int_auG5 GHC.TypeLits.+ frac_auG6) [LclIdX, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.unSF = a_swaK `cast` (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq)) ~# (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq))) a_swaL :: forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaL = \ (@ (frac_avlK :: GHC.TypeLits.Nat)) (@ (int_avlL :: GHC.TypeLits.Nat)) _ [Occ=Dead] (fRep_auG9 :: CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) -> fRep_auG9 CLaSH.Sized.Fixed.sf :: forall (frac_auG7 :: GHC.TypeLits.Nat) (int_auG8 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_auG7 -> CLaSH.Sized.Signed.Signed (int_auG8 GHC.TypeLits.+ frac_auG7) -> CLaSH.Sized.Fixed.SFixed int_auG8 frac_auG7 [LclIdX, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.sf = a_swaL `cast` (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) ~# (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Fixed.Fixed frac_avlK CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK))) a_swaM :: forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaM = \ (@ (frac_auI2 :: GHC.TypeLits.Nat)) (@ (rep_auI3 :: GHC.TypeLits.Nat -> *)) (@ (size_auI4 :: GHC.TypeLits.Nat)) (ds_dvZF :: CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4) -> ds_dvZF CLaSH.Sized.Fixed.unFixed :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> rep_auFG size_auFH [LclIdX[[RecSel]], Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.unFixed = a_swaM `cast` (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4) ~# (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> rep_auI3 size_auI4)) lvl_swvD :: GHC.Types.Char [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}] lvl_swvD = GHC.Types.C# '-' lvl_swvC :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swvC = __integer 0 lvl_swvF :: forall b_X4Kn. (GHC.Types.Char -> b_X4Kn -> b_X4Kn) -> b_X4Kn -> b_X4Kn [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0] 40 0}] lvl_swvF = \ (@ b_X4Kn) (c_X4Kp [OS=OneShot] :: GHC.Types.Char -> b_X4Kn -> b_X4Kn) (n_X4Kr [OS=OneShot] :: b_X4Kn) -> c_X4Kp (GHC.Types.C# '.') n_X4Kr lvl_swvG :: GHC.Types.Char [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}] lvl_swvG = GHC.Types.C# '0' ds_swvM :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] ds_swvM = __integer 1 lvl_swvQ :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) -> GHC.Types.Bool [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [20] 61 0}] lvl_swvQ = \ (x_acXI :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) -> case x_acXI of _ [Occ=Dead] { (ds1_afnD, y_afnE) -> case y_afnE of _ [Occ=Dead] { GHC.Real.:% ds1_awdp y_awdq -> case GHC.Integer.Type.eqInteger# y_awdq ds_swvM of wild_a2f3 { __DEFAULT -> GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a2f3 } } } dt_akMa :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] dt_akMa = __integer 10 ds_swvT :: GHC.Real.Ratio GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] ds_swvT = GHC.Real.:% @ GHC.Integer.Type.Integer dt_akMa GHC.Real.$fEnumRatio1 lvl_swvV :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) -> (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [40] 101 30}] lvl_swvV = \ (ds_awe3 :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) -> (case ds_awe3 of _ [Occ=Dead] { (x_awe6, y_awe7) -> case x_awe6 of _ [Occ=Dead] { GHC.Types.I# x1_awdC -> case x1_awdC of wild1_awdE { __DEFAULT -> GHC.Types.I# (GHC.Prim.+# wild1_awdE 1); 9223372036854775807 -> GHC.Enum.$fEnumInt2 } } }, case ds_awe3 of _ [Occ=Dead] { (x_aweb, y_awec) -> GHC.Real.$fNumRatio_$s$c* y_awec ds_swvT }) lvl_swvX :: GHC.Types.Int [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}] lvl_swvX = GHC.Types.I# 0 lvl_sww5 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_sww5 = __integer 2 lvl_sww6 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_sww6 = __integer 1 lvl_sww7 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_sww7 = __integer 2 lvl_sww8 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_sww8 = __integer 1 lvl_sww4 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_sww4 = __integer 0 lvl_sww9 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_sww9 = __integer 2 $cshow_avFD :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> GHC.Base.String [LclId, Arity=5, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] $cshow_avFD = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) _ [Occ=Dead] _ [Occ=Dead] ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) (f_auHA :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) -> let { nF_swti :: GHC.Types.Int [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 20}] nF_swti = case GHC.Integer.Type.integerToInt ($dKnownNat_avFx `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_auHx ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> GHC.Types.I# wild_akCB } } in let { fRepI_swtk :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 30 0}] fRepI_swtk = GHC.Real.toInteger @ (rep_auHy size_auHz) $dIntegral_avFy (f_auHA `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz ~# rep_auHy size_auHz)) } in let { fRepI_abs_swtj :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 20 0}] fRepI_abs_swtj = GHC.Integer.Type.absInteger fRepI_swtk } in GHC.Base.augment @ GHC.Types.Char (\ (@ b_a4II) (c_a4IJ [OS=OneShot] :: GHC.Types.Char -> b_a4II -> b_a4II) (n_a4IK [OS=OneShot] :: b_a4II) -> case GHC.Integer.Type.ltInteger# fRepI_swtk lvl_swvC of wild_a4It { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a4It of _ [Occ=Dead] { GHC.Types.False -> case nF_swti of _ [Occ=Dead] { GHC.Types.I# x_aiKN -> GHC.Base.foldr @ GHC.Types.Char @ b_a4II c_a4IJ n_a4IK (GHC.Show.$fShowInteger_$cshowsPrec GHC.Show.shows27 (Data.Bits.$fBitsInteger_$cshift fRepI_swtk (GHC.Types.I# (GHC.Prim.negateInt# x_aiKN))) (GHC.Types.[] @ GHC.Types.Char)) }; GHC.Types.True -> GHC.Base.foldr @ GHC.Types.Char @ b_a4II c_a4IJ n_a4IK (GHC.Types.: @ GHC.Types.Char lvl_swvD (case nF_swti of _ [Occ=Dead] { GHC.Types.I# x_aiKN -> GHC.Show.$fShowInteger_$cshowsPrec GHC.Show.shows27 (Data.Bits.$fBitsInteger_$cshift fRepI_abs_swtj (GHC.Types.I# (GHC.Prim.negateInt# x_aiKN))) (GHC.Types.[] @ GHC.Types.Char) })) } }) (GHC.Base.augment @ GHC.Types.Char lvl_swvF (let { eta_awcR :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 561 0}] eta_awcR = case GHC.Base.build @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) (\ (@ b_awzp) (c_awzq [OS=OneShot] :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) -> b_awzp -> b_awzp) _ [Occ=Dead, OS=OneShot] -> GHC.List.iterateFB @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) @ b_awzp (GHC.List.filterFB @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) @ b_awzp c_awzq lvl_swvQ) lvl_swvV (lvl_swvX, case GHC.Integer.Type.ltInteger# fRepI_swtk lvl_sww4 of wild_a4It { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a4It of _ [Occ=Dead] { GHC.Types.False -> GHC.Real.%_$s% (GHC.Integer.Type.andInteger fRepI_swtk (GHC.Integer.Type.minusInteger (GHC.Real.^ @ GHC.Integer.Type.Integer @ GHC.Types.Int GHC.Num.$fNumInteger GHC.Real.$fIntegralInt lvl_sww5 nF_swti) lvl_sww6)) (GHC.Real.^ @ GHC.Integer.Type.Integer @ GHC.Types.Int GHC.Num.$fNumInteger GHC.Real.$fIntegralInt lvl_sww9 nF_swti); GHC.Types.True -> GHC.Real.%_$s% (GHC.Integer.Type.andInteger fRepI_abs_swtj (GHC.Integer.Type.minusInteger (GHC.Real.^ @ GHC.Integer.Type.Integer @ GHC.Types.Int GHC.Num.$fNumInteger GHC.Real.$fIntegralInt lvl_sww7 nF_swti) lvl_sww8)) (GHC.Real.^ @ GHC.Integer.Type.Integer @ GHC.Types.Int GHC.Num.$fNumInteger GHC.Real.$fIntegralInt lvl_sww9 nF_swti) } })) of _ [Occ=Dead] { [] -> Data.Maybe.fromJust1 @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer); : a1_awdh ds1_awdi -> a1_awdh } } in let { str_auHK [OS=ProbOneShot] :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 0}] str_auHK = case eta_awcR of _ [Occ=Dead] { (x_awcZ, y_awd0) -> case y_awd0 of _ [Occ=Dead] { GHC.Real.:% x_awcK ds1_awcL -> GHC.Show.$fShowInteger_$cshowsPrec GHC.Show.shows27 x_awcK (GHC.Types.[] @ GHC.Types.Char) } } } in GHC.Base.augment @ GHC.Types.Char (\ (@ b_X4M9) (c_X4Mc [OS=OneShot] :: GHC.Types.Char -> b_X4M9 -> b_X4M9) (n_X4Kt [OS=OneShot] :: b_X4M9) -> case eta_awcR of _ [Occ=Dead] { (x_awcU, y_awcV) -> case x_awcU of _ [Occ=Dead] { GHC.Types.I# x_akIV -> case GHC.Base.foldr @ GHC.Types.Char @ (GHC.Prim.Int# -> GHC.Types.Int) (GHC.List.incLen @ GHC.Types.Char) GHC.Types.I# str_auHK 0 of _ [Occ=Dead] { GHC.Types.I# y_akIZ -> let { n#_awbi :: GHC.Prim.Int# [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 1 0}] n#_awbi = GHC.Prim.-# x_akIV y_akIZ } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# n#_awbi 0) of _ [Occ=Dead] { GHC.Types.False -> GHC.List.repeatFB @ GHC.Types.Char @ (GHC.Prim.Int# -> b_X4M9) (GHC.List.takeFB @ GHC.Types.Char @ b_X4M9 c_X4Mc n_X4Kt) lvl_swvG n#_awbi; GHC.Types.True -> n_X4Kt } } } }) str_auHK)) $cshowsPrec_avFB :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => GHC.Types.Int -> CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> GHC.Show.ShowS [LclId, Arity=7, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=7, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0 0 0 0 0 0] 120 40}] $cshowsPrec_avFB = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) _ [Occ=Dead] (x_a2fY :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (s_a2fZ :: GHC.Base.String) -> GHC.Base.augment @ GHC.Types.Char (\ (@ b_a2g3) (c_a2g4 [OS=OneShot] :: GHC.Types.Char -> b_a2g3 -> b_a2g3) (n_a2g5 [OS=OneShot] :: b_a2g3) -> GHC.Base.foldr @ GHC.Types.Char @ b_a2g3 c_a2g4 n_a2g5 ($cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy x_a2fY)) s_a2fZ $cshowList_avIE :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz] -> GHC.Show.ShowS [LclId, Arity=6, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=6, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0 0 0 0 0] 180 0}] $cshowList_avIE = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) (eta_B2 :: [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz]) (eta_B1 :: GHC.Base.String) -> GHC.Show.showList__ @ (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (\ (x_a2fY :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (s_a2fZ [OS=OneShot] :: GHC.Base.String) -> GHC.Base.augment @ GHC.Types.Char (\ (@ b_a2g3) (c_a2g4 [OS=OneShot] :: GHC.Types.Char -> b_a2g3 -> b_a2g3) (n_a2g5 [OS=OneShot] :: b_a2g3) -> GHC.Base.foldr @ GHC.Types.Char @ b_a2g3 c_a2g4 n_a2g5 ($cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy x_a2fY)) s_a2fZ) eta_B2 eta_B1 CLaSH.Sized.Fixed.$fShowFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => GHC.Show.Show (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) [LclIdX[DFunId], Arity=4, Str=DmdType, Unf=DFun: \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) -> GHC.Show.D:Show TYPE CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz $cshowsPrec_avFB @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy $cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy $cshowList_avIE @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy] CLaSH.Sized.Fixed.$fShowFixed = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) -> GHC.Show.D:Show @ (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) ($cshowsPrec_avFB @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy) ($cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy) ($cshowList_avIE @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy) a_swjx :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu) [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swjx = \ (@ (frac1_auHq :: GHC.TypeLits.Nat)) (@ (rep_auHr :: GHC.TypeLits.Nat -> *)) (@ (size1_auHs :: GHC.TypeLits.Nat)) (@ (frac2_auHt :: GHC.TypeLits.Nat)) (@ (size2_auHu :: GHC.TypeLits.Nat)) (tup_avFg :: CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) (eta_B2 :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (eta_B1 :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) -> case tup_avFg of _ [Occ=Dead] { (tpl_X1z, tpl_X1B) -> case tpl_X1B of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw3M -> ((tpl_X1z `cast` (CLaSH.Class.Num.NTCo:Mult[0] _N _N :: CLaSH.Class.Num.Mult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# (rep_auHr size1_auHs -> rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu)))) (eta_B2 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs ~# rep_auHr size1_auHs)) (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu ~# rep_auHr size2_auHu))) `cast` (Sub cobox_dw3M :: CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) } } $cmult_avFi :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $cmult_avFi = a_swjx `cast` (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). _R -> _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:MResultFixedFixed[0] _N _N _N _N _N)) :: (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) ~# (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu))) CLaSH.Sized.Fixed.$fMultFixedFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) [LclIdX[DFunId(nt)], Arity=3, Str=DmdType, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= $cmult_avFi `cast` (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). _R -> Sym (CLaSH.Class.Num.NTCo:Mult[0] _N _N) :: (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_XuJ1 frac1_XuIZ frac2_XuJ5 size1_XuJ3 size2_XuJ7) => CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3 -> CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7 -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3) (CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7)) ~# (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_XuJ1 frac1_XuIZ frac2_XuJ5 size1_XuJ3 size2_XuJ7) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3) (CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7)))}] CLaSH.Sized.Fixed.$fMultFixedFixed = a_swjx `cast` (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). _R -> (_R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:MResultFixedFixed[0] _N _N _N _N _N))) ; Sym (CLaSH.Class.Num.NTCo:Mult[0] _N _N) :: (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) ~# (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu))) $cminus_avEx :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [40 0 0] 430 0}] $cminus_avEx = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (eta_X1I :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (eta_X3p :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> let { tup_swta :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_swta = case tup_avDN of _ [Occ=Dead] { (tpl_X1L, tpl_X1N, tpl_B3) -> tpl_X1N } } in let { $dBounded_swt9 :: GHC.Enum.Bounded (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBounded_swt9 = case tup_swta of _ [Occ=Dead] { (tpl_X1N, tpl_X1P, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X1N } } in let { $dBits_swt8 :: Data.Bits.Bits (rep_auHe size2_auHh) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_swt8 = case tup_swta of _ [Occ=Dead] { (tpl_X1P, tpl_X1R, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B5 } } in let { $dResize_swt7 :: CLaSH.Class.Num.Resize rep_auHe [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dResize_swt7 = case tup_swta of _ [Occ=Dead] { (tpl_X1R, tpl_X1T, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B6 } } in let { $dKnownNat_swt6 :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swt6 = case tup_swta of _ [Occ=Dead] { (tpl_X1T, tpl_X1V, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 } } in let { $dBits_swt5 :: Data.Bits.Bits (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_swt5 = case tup_swta of _ [Occ=Dead] { (tpl_X1V, tpl_X1X, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B9 } } in let { $dKnownNat_swt4 :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swt4 = case tup_swta of _ [Occ=Dead] { (tpl_X1X, tpl_X1Z, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Ba } } in case tup_avDN of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3) -> (GHC.Num.- @ (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) tpl_B3 (let { $dBits_swt2 :: Data.Bits.Bits (rep_auHe size1_auHf) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_swt2 = case tpl_X22 of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_X5p, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B5 } } in (CLaSH.Sized.Fixed.resizeF @ frac1_auHd @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size1_auHf @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ($dBounded_swt9, Data.Bits.$p1Bits @ (rep_auHe size1_auHf) $dBits_swt2, case tpl_X22 of _ [Occ=Dead] { (tpl_X43, tpl_X7q, tpl_X5q, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X5q }, case tpl_X22 of _ [Occ=Dead] { (tpl_X7n, tpl_X46, tpl_X5q, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B4 }, $dBits_swt2, $dResize_swt7, $dKnownNat_swt6, case tpl_X22 of _ [Occ=Dead] { (tpl_X7n, tpl_X7q, tpl_X5q, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B8 }, $dBits_swt5, $dKnownNat_swt4, case tpl_X22 of _ [Occ=Dead] { (tpl_X7n, tpl_X7q, tpl_X5q, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bb }, case tpl_X22 of _ [Occ=Dead] { (tpl_X7n, tpl_X7q, tpl_X5q, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bc }) eta_X1I) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1))) ((CLaSH.Sized.Fixed.resizeF @ frac2_auHg @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size2_auHh @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ($dBounded_swt9, Data.Bits.$p1Bits @ (rep_auHe size2_auHh) $dBits_swt8, case tup_swta of _ [Occ=Dead] { (tpl_X7k, tpl_X7n, tpl_X5n, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X5n }, case tup_swta of _ [Occ=Dead] { (tpl_X7k, tpl_X7n, tpl_X5n, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B4 }, $dBits_swt8, $dResize_swt7, $dKnownNat_swt6, case tup_swta of _ [Occ=Dead] { (tpl_X7k, tpl_X7n, tpl_X5n, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B8 }, $dBits_swt5, $dKnownNat_swt4, case tup_swta of _ [Occ=Dead] { (tpl_X7k, tpl_X7n, tpl_X5n, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bb }, case tup_swta of _ [Occ=Dead] { (tpl_X7k, tpl_X7n, tpl_X5n, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bc }) eta_X3p) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:AResultFixedFixed[0] _N _N _N _N _N)) :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh)) } $cplus_avDP :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [40 0 0] 430 0}] $cplus_avDP = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (eta_X1J :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (eta_X3r :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> let { tup_swsS :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_swsS = case tup_avDN of _ [Occ=Dead] { (tpl_X1M, tpl_X1O, tpl_B3) -> tpl_X1O } } in let { $dBounded_swsR :: GHC.Enum.Bounded (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBounded_swsR = case tup_swsS of _ [Occ=Dead] { (tpl_X1O, tpl_X1Q, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X1O } } in let { $dBits_swsQ :: Data.Bits.Bits (rep_auHe size2_auHh) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_swsQ = case tup_swsS of _ [Occ=Dead] { (tpl_X1Q, tpl_X1S, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B5 } } in let { $dResize_swsP :: CLaSH.Class.Num.Resize rep_auHe [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dResize_swsP = case tup_swsS of _ [Occ=Dead] { (tpl_X1S, tpl_X1U, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B6 } } in let { $dKnownNat_swsO :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swsO = case tup_swsS of _ [Occ=Dead] { (tpl_X1U, tpl_X1W, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 } } in let { $dBits_swsN :: Data.Bits.Bits (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_swsN = case tup_swsS of _ [Occ=Dead] { (tpl_X1W, tpl_X1Y, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B9 } } in let { $dKnownNat_swsM :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swsM = case tup_swsS of _ [Occ=Dead] { (tpl_X1Y, tpl_X20, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Ba } } in case tup_avDN of _ [Occ=Dead] { (tpl_X23, tpl_X25, tpl_B3) -> (GHC.Num.+ @ (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) tpl_B3 (let { $dBits_swsK :: Data.Bits.Bits (rep_auHe size1_auHf) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_swsK = case tpl_X23 of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_X5q, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B5 } } in (CLaSH.Sized.Fixed.resizeF @ frac1_auHd @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size1_auHf @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ($dBounded_swsR, Data.Bits.$p1Bits @ (rep_auHe size1_auHf) $dBits_swsK, case tpl_X23 of _ [Occ=Dead] { (tpl_X45, tpl_X7s, tpl_X5r, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X5r }, case tpl_X23 of _ [Occ=Dead] { (tpl_X7p, tpl_X48, tpl_X5r, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B4 }, $dBits_swsK, $dResize_swsP, $dKnownNat_swsO, case tpl_X23 of _ [Occ=Dead] { (tpl_X7p, tpl_X7s, tpl_X5r, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B8 }, $dBits_swsN, $dKnownNat_swsM, case tpl_X23 of _ [Occ=Dead] { (tpl_X7p, tpl_X7s, tpl_X5r, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bb }, case tpl_X23 of _ [Occ=Dead] { (tpl_X7p, tpl_X7s, tpl_X5r, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bc }) eta_X1J) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1))) ((CLaSH.Sized.Fixed.resizeF @ frac2_auHg @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size2_auHh @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ($dBounded_swsR, Data.Bits.$p1Bits @ (rep_auHe size2_auHh) $dBits_swsQ, case tup_swsS of _ [Occ=Dead] { (tpl_X7m, tpl_X7p, tpl_X5o, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X5o }, case tup_swsS of _ [Occ=Dead] { (tpl_X7m, tpl_X7p, tpl_X5o, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B4 }, $dBits_swsQ, $dResize_swsP, $dKnownNat_swsO, case tup_swsS of _ [Occ=Dead] { (tpl_X7m, tpl_X7p, tpl_X5o, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B8 }, $dBits_swsN, $dKnownNat_swsM, case tup_swsS of _ [Occ=Dead] { (tpl_X7m, tpl_X7p, tpl_X5o, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bb }, case tup_swsS of _ [Occ=Dead] { (tpl_X7m, tpl_X7p, tpl_X5o, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bc }) eta_X3r) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:AResultFixedFixed[0] _N _N _N _N _N)) :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh)) } CLaSH.Sized.Fixed.$fAddFixedFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Class.Num.Add (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclIdX[DFunId], Arity=1, Str=DmdType, Unf=DFun: \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) -> CLaSH.Class.Num.D:Add TYPE CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf TYPE CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh $cplus_avDP @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN $cminus_avEx @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN] CLaSH.Sized.Fixed.$fAddFixedFixed = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) -> CLaSH.Class.Num.D:Add @ (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) @ (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) ($cplus_avDP @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN) ($cminus_avEx @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN) $cfromInteger_avDp :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => GHC.Integer.Type.Integer -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [20 0] 130 0}] $cfromInteger_avDp = \ (@ (frac_auGY :: GHC.TypeLits.Nat)) (@ (rep_auGZ :: GHC.TypeLits.Nat -> *)) (@ (size_auH0 :: GHC.TypeLits.Nat)) (tup_avBm :: CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) (eta_X1I :: GHC.Integer.Type.Integer) -> case tup_avBm of _ [Occ=Dead] { (tpl_X1L, tpl_X1N, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> case tpl_X1N of _ [Occ=Dead] { (tpl_X1M, tpl_X1O, tpl_X3i, tpl_X3k, tpl_X3m, tpl_X3o, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> (Data.Bits.shiftL @ (rep_auGZ size_auH0) tpl_B9 (GHC.Num.fromInteger @ (rep_auGZ size_auH0) tpl_B3 eta_X1I) (case GHC.Integer.Type.integerToInt (tpl_Ba `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_auGY ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> GHC.Types.I# wild_akCB })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auGZ size_auH0 ~# CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) } } a_swkh :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [20 0] 40 0}] a_swkh = \ (@ (frac_auGY :: GHC.TypeLits.Nat)) (@ (rep_auGZ :: GHC.TypeLits.Nat -> *)) (@ (size_auH0 :: GHC.TypeLits.Nat)) (tup_avBm :: CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) (eta_X1J :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) -> case tup_avBm of _ [Occ=Dead] { (tpl_X1L, tpl_X1N, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> GHC.Num.signum @ (rep_auGZ size_auH0) tpl_B3 (eta_X1J `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 ~# rep_auGZ size_auH0)) } $cabs_avCW :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0] 253 0}] $cabs_avCW = \ (@ (frac_XuIJ :: GHC.TypeLits.Nat)) (@ (rep_XuIL :: GHC.TypeLits.Nat -> *)) (@ (size_XuIN :: GHC.TypeLits.Nat)) (tup_XvDa :: CLaSH.Sized.Fixed.NumFixed frac_XuIJ rep_XuIL size_XuIN) (eta_X1Q :: CLaSH.Sized.Fixed.Fixed frac_XuIJ rep_XuIL size_XuIN) -> let { tup_swsy :: CLaSH.Sized.Fixed.ResizeFC rep_XuIL (frac_XuIJ GHC.TypeLits.+ frac_XuIJ) frac_XuIJ (size_XuIN GHC.TypeLits.+ size_XuIN) size_XuIN [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_swsy = case tup_XvDa of _ [Occ=Dead] { (tpl_X1T, tpl_X1V, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X1V } } in let { $dKnownNat_swsx :: GHC.TypeLits.KnownNat size_XuIN [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swsx = case tup_swsy of _ [Occ=Dead] { (tpl_X1V, tpl_X1X, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 } } in let { tup_swsw :: CLaSH.Sized.Fixed.SatN2C rep_XuIL size_XuIN [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_swsw = case tup_XvDa of _ [Occ=Dead] { (tpl_X1X, tpl_X1Z, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X1X } } in let { $dKnownNat_swsv :: GHC.TypeLits.KnownNat (size_XuIN GHC.TypeLits.+ 2) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swsv = case tup_swsw of _ [Occ=Dead] { (tpl_X1Z, tpl_X21, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B8 } } in (CLaSH.Sized.Fixed.satN2 @ rep_XuIL @ size_XuIN (case tup_swsw of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X20 }, case tup_swsw of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X22 }, case tup_swsw of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B3 }, case tup_swsw of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B4 }, case tup_swsw of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B5 }, case tup_swsw of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B6 }, $dKnownNat_swsx, $dKnownNat_swsv, case tup_swsy of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X20 }, case tup_swsw of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_Ba }) (case tup_XvDa of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> GHC.Num.abs @ (rep_XuIL (size_XuIN GHC.TypeLits.+ 2)) tpl_B4 (case tup_swsy of _ [Occ=Dead] { (tpl_X7i, tpl_X7l, tpl_X5n, tpl_X5p, tpl_X5r, tpl_X5t, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> (tpl_X5t `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuIL ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuIL a_ae8M -> rep_XuIL b_ae8N))) @ size_XuIN @ (size_XuIN GHC.TypeLits.+ 2) $dKnownNat_swsx $dKnownNat_swsv (eta_X1Q `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIJ rep_XuIL size_XuIN ~# rep_XuIL size_XuIN)) }) })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIL size_XuIN ~# CLaSH.Sized.Fixed.Fixed frac_XuIJ rep_XuIL size_XuIN) $cnegate_avCC :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0] 253 0}] $cnegate_avCC = \ (@ (frac_XuIK :: GHC.TypeLits.Nat)) (@ (rep_XuIM :: GHC.TypeLits.Nat -> *)) (@ (size_XuIO :: GHC.TypeLits.Nat)) (tup_XvDb :: CLaSH.Sized.Fixed.NumFixed frac_XuIK rep_XuIM size_XuIO) (eta_X1R :: CLaSH.Sized.Fixed.Fixed frac_XuIK rep_XuIM size_XuIO) -> let { tup_swsq :: CLaSH.Sized.Fixed.ResizeFC rep_XuIM (frac_XuIK GHC.TypeLits.+ frac_XuIK) frac_XuIK (size_XuIO GHC.TypeLits.+ size_XuIO) size_XuIO [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_swsq = case tup_XvDb of _ [Occ=Dead] { (tpl_X1U, tpl_X1W, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X1W } } in let { $dKnownNat_swsp :: GHC.TypeLits.KnownNat size_XuIO [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swsp = case tup_swsq of _ [Occ=Dead] { (tpl_X1W, tpl_X1Y, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 } } in let { tup_swso :: CLaSH.Sized.Fixed.SatN2C rep_XuIM size_XuIO [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_swso = case tup_XvDb of _ [Occ=Dead] { (tpl_X1Y, tpl_X20, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X1Y } } in let { $dKnownNat_swsn :: GHC.TypeLits.KnownNat (size_XuIO GHC.TypeLits.+ 2) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swsn = case tup_swso of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B8 } } in (CLaSH.Sized.Fixed.satN2 @ rep_XuIM @ size_XuIO (case tup_swso of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X21 }, case tup_swso of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X23 }, case tup_swso of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B3 }, case tup_swso of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B4 }, case tup_swso of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B5 }, case tup_swso of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B6 }, $dKnownNat_swsp, $dKnownNat_swsn, case tup_swsq of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X21 }, case tup_swso of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_Ba }) (case tup_XvDb of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> GHC.Num.negate @ (rep_XuIM (size_XuIO GHC.TypeLits.+ 2)) tpl_B4 (case tup_swsq of _ [Occ=Dead] { (tpl_X7k, tpl_X7n, tpl_X5o, tpl_X5q, tpl_X5s, tpl_X5u, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> (tpl_X5u `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuIM ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuIM a_ae8M -> rep_XuIM b_ae8N))) @ size_XuIO @ (size_XuIO GHC.TypeLits.+ 2) $dKnownNat_swsp $dKnownNat_swsn (eta_X1R `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIK rep_XuIM size_XuIO ~# rep_XuIM size_XuIO)) }) })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIM size_XuIO ~# CLaSH.Sized.Fixed.Fixed frac_XuIK rep_XuIM size_XuIO) $c-_avCb :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0 0] 276 0}] $c-_avCb = \ (@ (frac_XuIL :: GHC.TypeLits.Nat)) (@ (rep_XuIN :: GHC.TypeLits.Nat -> *)) (@ (size_XuIP :: GHC.TypeLits.Nat)) (tup_XvDc :: CLaSH.Sized.Fixed.NumFixed frac_XuIL rep_XuIN size_XuIP) (eta_X1T :: CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP) (eta_X3L :: CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP) -> let { tup_swsi :: CLaSH.Sized.Fixed.ResizeFC rep_XuIN (frac_XuIL GHC.TypeLits.+ frac_XuIL) frac_XuIL (size_XuIP GHC.TypeLits.+ size_XuIP) size_XuIP [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_swsi = case tup_XvDc of _ [Occ=Dead] { (tpl_X1W, tpl_X1Y, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X1Y } } in let { $dKnownNat_swsg :: GHC.TypeLits.KnownNat size_XuIP [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swsg = case tup_swsi of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 } } in let { tup_swsf :: CLaSH.Sized.Fixed.SatN2C rep_XuIN size_XuIP [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_swsf = case tup_XvDc of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X22 } } in let { $dKnownNat_swse :: GHC.TypeLits.KnownNat (size_XuIP GHC.TypeLits.+ 2) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swse = case tup_swsf of _ [Occ=Dead] { (tpl_X24, tpl_X26, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B8 } } in (CLaSH.Sized.Fixed.satN2 @ rep_XuIN @ size_XuIP (case tup_swsf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X25 }, case tup_swsf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X27 }, case tup_swsf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B3 }, case tup_swsf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B4 }, case tup_swsf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B5 }, case tup_swsf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B6 }, $dKnownNat_swsg, $dKnownNat_swse, case tup_swsi of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X25 }, case tup_swsf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_Ba }) (case tup_XvDc of _ [Occ=Dead] { (tpl_X49, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> GHC.Num.- @ (rep_XuIN (size_XuIP GHC.TypeLits.+ 2)) tpl_B4 (case tup_swsi of _ [Occ=Dead] { (tpl_X1Y, tpl_X20, tpl_X5s, tpl_X5u, tpl_X5w, tpl_X5y, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> (tpl_X5y `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuIN ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuIN a_ae8M -> rep_XuIN b_ae8N))) @ size_XuIP @ (size_XuIP GHC.TypeLits.+ 2) $dKnownNat_swsg $dKnownNat_swse (eta_X1T `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP ~# rep_XuIN size_XuIP)) }) (case tup_swsi of _ [Occ=Dead] { (tpl_X1Y, tpl_X20, tpl_X5s, tpl_X5u, tpl_X5w, tpl_X5y, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> (tpl_X5y `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuIN ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuIN a_ae8M -> rep_XuIN b_ae8N))) @ size_XuIP @ (size_XuIP GHC.TypeLits.+ 2) $dKnownNat_swsg $dKnownNat_swse (eta_X3L `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP ~# rep_XuIN size_XuIP)) }) })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIN size_XuIP ~# CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP) $c*_avBP :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [40 0 0] 222 0}] $c*_avBP = \ (@ (frac_XuIM :: GHC.TypeLits.Nat)) (@ (rep_XuIO :: GHC.TypeLits.Nat -> *)) (@ (size_XuIQ :: GHC.TypeLits.Nat)) (tup_XvDd :: CLaSH.Sized.Fixed.NumFixed frac_XuIM rep_XuIO size_XuIQ) (eta_X1U :: CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ) (eta_X3N :: CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ) -> let { tup_sws8 :: CLaSH.Sized.Fixed.ResizeFC rep_XuIO (frac_XuIM GHC.TypeLits.+ frac_XuIM) frac_XuIM (size_XuIQ GHC.TypeLits.+ size_XuIQ) size_XuIQ [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_sws8 = case tup_XvDd of _ [Occ=Dead] { (tpl_X1X, tpl_X1Z, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X1Z } } in let { $dBits_sws7 :: Data.Bits.Bits (rep_XuIO (size_XuIQ GHC.TypeLits.+ size_XuIQ)) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_sws7 = case tup_sws8 of _ [Occ=Dead] { (tpl_X1Z, tpl_X21, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B5 } } in CLaSH.Sized.Fixed.resizeF @ (frac_XuIM GHC.TypeLits.+ frac_XuIM) @ frac_XuIM @ rep_XuIO @ (size_XuIQ GHC.TypeLits.+ size_XuIQ) @ size_XuIQ (case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X20 }, Data.Bits.$p1Bits @ (rep_XuIO (size_XuIQ GHC.TypeLits.+ size_XuIQ)) $dBits_sws7, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B3 }, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B4 }, $dBits_sws7, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B6 }, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 }, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B8 }, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B9 }, case tup_sws8 of _ [Occ=Dead] { (tpl_X3Z, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Ba }, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X42, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bb }, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bc }) (case tup_XvDd of _ [Occ=Dead] { (tpl_Xk, tpl_Xm, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> case tpl_B6 of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw1a -> ((tpl_B5 `cast` (CLaSH.Class.Num.NTCo:Mult[0] _N _N :: CLaSH.Class.Num.Mult (rep_XuIO size_XuIQ) (rep_XuIO size_XuIQ) ~# (rep_XuIO size_XuIQ -> rep_XuIO size_XuIQ -> CLaSH.Class.Num.MResult (rep_XuIO size_XuIQ) (rep_XuIO size_XuIQ)))) (eta_X1U `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ ~# rep_XuIO size_XuIQ)) (eta_X3N `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ ~# rep_XuIO size_XuIQ))) `cast` (Sub cobox_dw1a ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: CLaSH.Class.Num.MResult (rep_XuIO size_XuIQ) (rep_XuIO size_XuIQ) ~# CLaSH.Sized.Fixed.Fixed (frac_XuIM GHC.TypeLits.+ frac_XuIM) rep_XuIO (size_XuIQ GHC.TypeLits.+ size_XuIQ)) } }) $c+_avBo :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0 0] 276 0}] $c+_avBo = \ (@ (frac_XuIN :: GHC.TypeLits.Nat)) (@ (rep_XuIP :: GHC.TypeLits.Nat -> *)) (@ (size_XuIR :: GHC.TypeLits.Nat)) (tup_XvDe :: CLaSH.Sized.Fixed.NumFixed frac_XuIN rep_XuIP size_XuIR) (eta_X1V :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) (eta_X3P :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) -> let { tup_sws4 :: CLaSH.Sized.Fixed.ResizeFC rep_XuIP (frac_XuIN GHC.TypeLits.+ frac_XuIN) frac_XuIN (size_XuIR GHC.TypeLits.+ size_XuIR) size_XuIR [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_sws4 = case tup_XvDe of _ [Occ=Dead] { (tpl_X1Y, tpl_X20, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X20 } } in let { $dKnownNat_sws2 :: GHC.TypeLits.KnownNat size_XuIR [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_sws2 = case tup_sws4 of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 } } in let { tup_sws1 :: CLaSH.Sized.Fixed.SatN2C rep_XuIP size_XuIR [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_sws1 = case tup_XvDe of _ [Occ=Dead] { (tpl_X24, tpl_X26, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X24 } } in let { $dKnownNat_sws0 :: GHC.TypeLits.KnownNat (size_XuIR GHC.TypeLits.+ 2) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_sws0 = case tup_sws1 of _ [Occ=Dead] { (tpl_X26, tpl_X28, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B8 } } in (CLaSH.Sized.Fixed.satN2 @ rep_XuIP @ size_XuIR (case tup_sws1 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X27 }, case tup_sws1 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X29 }, case tup_sws1 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B3 }, case tup_sws1 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B4 }, case tup_sws1 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B5 }, case tup_sws1 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B6 }, $dKnownNat_sws2, $dKnownNat_sws0, case tup_sws4 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X27 }, case tup_sws1 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_Ba }) (case tup_XvDe of _ [Occ=Dead] { (tpl_X4d, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> GHC.Num.+ @ (rep_XuIP (size_XuIR GHC.TypeLits.+ 2)) tpl_B4 (case tup_sws4 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_X5u, tpl_X5w, tpl_X5y, tpl_X5A, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> (tpl_X5A `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuIP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuIP a_ae8M -> rep_XuIP b_ae8N))) @ size_XuIR @ (size_XuIR GHC.TypeLits.+ 2) $dKnownNat_sws2 $dKnownNat_sws0 (eta_X1V `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR ~# rep_XuIP size_XuIR)) }) (case tup_sws4 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_X5u, tpl_X5w, tpl_X5y, tpl_X5A, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> (tpl_X5A `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuIP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuIP a_ae8M -> rep_XuIP b_ae8N))) @ size_XuIR @ (size_XuIR GHC.TypeLits.+ 2) $dKnownNat_sws2 $dKnownNat_sws0 (eta_X3P `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR ~# rep_XuIP size_XuIR)) }) })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIP size_XuIR ~# CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) CLaSH.Sized.Fixed.$fNumFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => GHC.Num.Num (CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) [LclIdX[DFunId], Arity=1, Str=DmdType, Unf=DFun: \ (@ (frac_XuIO :: GHC.TypeLits.Nat)) (@ (rep_XuIQ :: GHC.TypeLits.Nat -> *)) (@ (size_XuIS :: GHC.TypeLits.Nat)) (tup_XvDf :: CLaSH.Sized.Fixed.NumFixed frac_XuIO rep_XuIQ size_XuIS) -> GHC.Num.D:Num TYPE CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS $c+_avBo @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $c*_avBP @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $c-_avCb @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $cnegate_avCC @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $cabs_avCW @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf (a_swkh @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) `cast` (_R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> rep_XuIQ size_XuIS) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS)) $cfromInteger_avDp @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf] CLaSH.Sized.Fixed.$fNumFixed = \ (@ (frac_XuIO :: GHC.TypeLits.Nat)) (@ (rep_XuIQ :: GHC.TypeLits.Nat -> *)) (@ (size_XuIS :: GHC.TypeLits.Nat)) (tup_XvDf :: CLaSH.Sized.Fixed.NumFixed frac_XuIO rep_XuIQ size_XuIS) -> GHC.Num.D:Num @ (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS) ($c+_avBo @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($c*_avBP @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($c-_avCb @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($cnegate_avCC @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($cabs_avCW @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ((a_swkh @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) `cast` (_R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> rep_XuIQ size_XuIS) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS))) ($cfromInteger_avDp @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) CLaSH.Sized.Fixed.$fBitVectorFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV) => CLaSH.Class.BitVector.BitVector (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV) [LclIdX[DFunId], Arity=1, Str=DmdType, Unf=DFun: \ (@ (frac_XuIN :: GHC.TypeLits.Nat)) (@ (rep_XuIP :: GHC.TypeLits.Nat -> *)) (@ (size_XuIR :: GHC.TypeLits.Nat)) ($dBitVector_XvCT :: CLaSH.Class.BitVector.BitVector (rep_XuIP size_XuIR)) -> CLaSH.Class.BitVector.D:BitVector TYPE CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR (\ ($dKnownNat_avB0 :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (ds_dw0H :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) -> CLaSH.Class.BitVector.toBV @ (rep_XuIP size_XuIR) $dBitVector_XvCT ($dKnownNat_avB0 `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (ds_dw0H `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR ~# rep_XuIP size_XuIR))) `cast` (_R -> _R -> (CLaSH.Sized.Vector.Vec (Sym (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N)) _R)_R :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit)) (\ ($dKnownNat_avBa :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (bv_auGX :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit) -> CLaSH.Class.BitVector.fromBV @ (rep_XuIP size_XuIR) $dBitVector_XvCT ($dKnownNat_avBa `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (bv_auGX `cast` ((CLaSH.Sized.Vector.Vec (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit))) `cast` (_R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> rep_XuIP size_XuIR) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))] CLaSH.Sized.Fixed.$fBitVectorFixed = \ (@ (frac_XuIN :: GHC.TypeLits.Nat)) (@ (rep_XuIP :: GHC.TypeLits.Nat -> *)) (@ (size_XuIR :: GHC.TypeLits.Nat)) ($dBitVector_XvCT :: CLaSH.Class.BitVector.BitVector (rep_XuIP size_XuIR)) -> CLaSH.Class.BitVector.D:BitVector @ (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) ((\ ($dKnownNat_avB0 :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (ds_dw0H :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) -> CLaSH.Class.BitVector.toBV @ (rep_XuIP size_XuIR) $dBitVector_XvCT ($dKnownNat_avB0 `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (ds_dw0H `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR ~# rep_XuIP size_XuIR))) `cast` (_R -> _R -> (CLaSH.Sized.Vector.Vec (Sym (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N)) _R)_R :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit))) ((\ ($dKnownNat_avBa :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (bv_auGX :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit) -> CLaSH.Class.BitVector.fromBV @ (rep_XuIP size_XuIR) $dBitVector_XvCT ($dKnownNat_avBa `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (bv_auGX `cast` ((CLaSH.Sized.Vector.Vec (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit))) `cast` (_R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> rep_XuIP size_XuIR) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) a_swC4 :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => Data.Default.Class.Default (rep_auGM size_auGN) [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swC4 = \ (@ (frac_auGL :: GHC.TypeLits.Nat)) (@ (rep_auGM :: GHC.TypeLits.Nat -> *)) (@ (size_auGN :: GHC.TypeLits.Nat)) ($dDefault_avAe :: Data.Default.Class.Default (rep_auGM size_auGN)) -> $dDefault_avAe $cdef_avAg :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => CLaSH.Sized.Fixed.Fixed frac_auGL rep_auGM size_auGN [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $cdef_avAg = a_swC4 `cast` (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). _R -> Data.Default.Class.NTCo:Default[0] _N ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => Data.Default.Class.Default (rep_XuLZ size_XuM1)) ~# (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => CLaSH.Sized.Fixed.Fixed frac_XuLX rep_XuLZ size_XuM1)) CLaSH.Sized.Fixed.$fDefaultFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_auGL rep_auGM size_auGN) [LclIdX[DFunId(nt)], Arity=1, Str=DmdType, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= $cdef_avAg `cast` (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). _R -> Sym (Data.Default.Class.NTCo:Default[0] _N) :: (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuIO size_XuIQ) => CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ) ~# (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuIO size_XuIQ) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ)))}] CLaSH.Sized.Fixed.$fDefaultFixed = a_swC4 `cast` (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). _R -> Data.Default.Class.NTCo:Default[0] _N ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sym (Data.Default.Class.NTCo:Default[0] _N) :: (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => Data.Default.Class.Default (rep_XuLZ size_XuM1)) ~# (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_XuLX rep_XuLZ size_XuM1))) CLaSH.Sized.Fixed.$fBoundedFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_auGJ size_auGK) => GHC.Enum.Bounded (CLaSH.Sized.Fixed.Fixed frac_auGI rep_auGJ size_auGK) [LclIdX[DFunId], Arity=1, Str=DmdType, Unf=DFun: \ (@ (frac_XuIW :: GHC.TypeLits.Nat)) (@ (rep_XuIY :: GHC.TypeLits.Nat -> *)) (@ (size_XuJ0 :: GHC.TypeLits.Nat)) ($dBounded_XvCa :: GHC.Enum.Bounded (rep_XuIY size_XuJ0)) -> GHC.Enum.D:Bounded TYPE CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0 (GHC.Enum.minBound @ (rep_XuIY size_XuJ0) $dBounded_XvCa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0) (GHC.Enum.maxBound @ (rep_XuIY size_XuJ0) $dBounded_XvCa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0)] CLaSH.Sized.Fixed.$fBoundedFixed = \ (@ (frac_XuIW :: GHC.TypeLits.Nat)) (@ (rep_XuIY :: GHC.TypeLits.Nat -> *)) (@ (size_XuJ0 :: GHC.TypeLits.Nat)) ($dBounded_XvCa :: GHC.Enum.Bounded (rep_XuIY size_XuJ0)) -> GHC.Enum.D:Bounded @ (CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0) ((GHC.Enum.minBound @ (rep_XuIY size_XuJ0) $dBounded_XvCa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0)) ((GHC.Enum.maxBound @ (rep_XuIY size_XuJ0) $dBounded_XvCa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0)) CLaSH.Sized.Fixed.$fOrdFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => GHC.Classes.Ord (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) [LclIdX[DFunId[1]], Arity=2, Str=DmdType, Unf=DFun: \ (@ (frac_XuIv :: GHC.TypeLits.Nat)) (@ (rep_XuIx :: GHC.TypeLits.Nat -> *)) (@ (size_XuIz :: GHC.TypeLits.Nat)) ($dEq_XvB3 :: GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) ($dOrd_XvB5 :: GHC.Classes.Ord (rep_XuIx size_XuIz)) -> GHC.Classes.D:Ord TYPE CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz $dEq_XvB3 (GHC.Classes.compare @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Ordering) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Ordering)) (GHC.Classes.< @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) (GHC.Classes.>= @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) (GHC.Classes.> @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) (GHC.Classes.<= @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) (GHC.Classes.max @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) (GHC.Classes.min @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz))] CLaSH.Sized.Fixed.$fOrdFixed = \ (@ (frac_XuIv :: GHC.TypeLits.Nat)) (@ (rep_XuIx :: GHC.TypeLits.Nat -> *)) (@ (size_XuIz :: GHC.TypeLits.Nat)) ($dEq_XvB3 :: GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) ($dOrd_XvB5 :: GHC.Classes.Ord (rep_XuIx size_XuIz)) -> GHC.Classes.D:Ord @ (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz) $dEq_XvB3 ((GHC.Classes.compare @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Ordering) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Ordering))) ((GHC.Classes.< @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.>= @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.> @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.<= @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.max @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz))) ((GHC.Classes.min @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz))) CLaSH.Sized.Fixed.$fEqFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_auFG size_auFH) => GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) [LclIdX[DFunId], Arity=1, Str=DmdType, Unf=DFun: \ (@ (frac_XuII :: GHC.TypeLits.Nat)) (@ (rep_XuIK :: GHC.TypeLits.Nat -> *)) (@ (size_XuIM :: GHC.TypeLits.Nat)) ($dEq_XvAL :: GHC.Classes.Eq (rep_XuIK size_XuIM)) -> GHC.Classes.D:Eq TYPE CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM (GHC.Classes.== @ (rep_XuIK size_XuIM) $dEq_XvAL) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool)) (GHC.Classes./= @ (rep_XuIK size_XuIM) $dEq_XvAL) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool))] CLaSH.Sized.Fixed.$fEqFixed = \ (@ (frac_XuII :: GHC.TypeLits.Nat)) (@ (rep_XuIK :: GHC.TypeLits.Nat -> *)) (@ (size_XuIM :: GHC.TypeLits.Nat)) ($dEq_XvAL :: GHC.Classes.Eq (rep_XuIK size_XuIM)) -> GHC.Classes.D:Eq @ (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM) ((GHC.Classes.== @ (rep_XuIK size_XuIM) $dEq_XvAL) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool))) ((GHC.Classes./= @ (rep_XuIK size_XuIM) $dEq_XvAL) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool))) a_swC6 :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 40}] a_swC6 = GHC.Base.build @ GHC.Types.Char (\ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "Fixed"#) a_swC9 :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 40}] a_swC9 = GHC.Base.build @ GHC.Types.Char (\ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "clash-prelude-0.5"#) a_swCb :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 40}] a_swCb = GHC.Base.build @ GHC.Types.Char (\ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "CLaSH.Sized.Fixed"#) a_swC7 :: Language.Haskell.TH.Syntax.NameFlavour [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}] a_swC7 = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.DataName (a_swC9 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a_swCb `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) lvl_swwh :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] lvl_swwh = Language.Haskell.TH.Syntax.Name (a_swC6 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a_swC7 a_swCc :: forall (m_XfCO :: * -> *). Language.Haskell.TH.Syntax.Quasi m_XfCO => m_XfCO Language.Haskell.TH.Syntax.Exp [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [30] 60 0}] a_swCc = \ (@ (m_XfCO :: * -> *)) (eta_XfCQ :: Language.Haskell.TH.Syntax.Quasi m_XfCO) -> GHC.Base.return @ m_XfCO (Language.Haskell.TH.Syntax.$p1Quasi @ m_XfCO eta_XfCQ) @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.ConE lvl_swwh) a_swCe :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 40}] a_swCe = GHC.Base.build @ GHC.Types.Char (\ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "Fixed"#) a_swCh :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 40}] a_swCh = GHC.Base.build @ GHC.Types.Char (\ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "clash-prelude-0.5"#) a_swCj :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 40}] a_swCj = GHC.Base.build @ GHC.Types.Char (\ (@ b_a4Iy) -> GHC.CString.unpackFoldrCString# @ b_a4Iy "CLaSH.Sized.Fixed"#) a_swCf :: Language.Haskell.TH.Syntax.NameFlavour [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}] a_swCf = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.TcClsName (a_swCh `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a_swCj `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) lvl_swwp :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] lvl_swwp = Language.Haskell.TH.Syntax.Name (a_swCe `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a_swCf a_swCk :: forall (m_a4Ni :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4Ni => m_a4Ni Language.Haskell.TH.Syntax.Type [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [30] 60 0}] a_swCk = \ (@ (m_a4Ni :: * -> *)) (eta_a4Nj :: Language.Haskell.TH.Syntax.Quasi m_a4Ni) -> GHC.Base.return @ m_a4Ni (Language.Haskell.TH.Syntax.$p1Quasi @ m_a4Ni eta_a4Nj) @ Language.Haskell.TH.Syntax.Type (Language.Haskell.TH.Syntax.ConT lvl_swwp) a_swCv :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> forall (m_akMz :: * -> *). Language.Haskell.TH.Syntax.Quasi m_akMz => m_akMz Language.Haskell.TH.Syntax.Exp [LclId, Arity=5, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0 0 0 0] 734 60}] a_swCv = \ (@ (frac_auGO :: GHC.TypeLits.Nat)) (@ (rep_auGP :: GHC.TypeLits.Nat -> *)) (@ (size_auGQ :: GHC.TypeLits.Nat)) ($dLift_avAq :: Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ)) ($dKnownNat_avAr :: GHC.TypeLits.KnownNat frac_auGO) ($dKnownNat_avAs :: GHC.TypeLits.KnownNat size_auGQ) ($dTypeable_avAt :: Data.Typeable.Internal.Typeable rep_auGP) (f_auGR :: CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ) -> Language.Haskell.TH.Lib.sigE1 ((Language.Haskell.TH.Lib.appE1 (a_swCc `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp)) (($dLift_avAq `cast` (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N :: Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ) ~# (rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp))) (f_auGR `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ ~# rep_auGP size_auGQ)))) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp)) (letrec { lgo_awhL [Occ=LoopBreaker] :: Language.Haskell.TH.Lib.TypeQ -> [Language.Haskell.TH.Lib.TypeQ] -> Language.Haskell.TH.Lib.TypeQ [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=, TopLvl=False, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 30] 80 0}] lgo_awhL = \ (z_awhM :: Language.Haskell.TH.Lib.TypeQ) (ds_awhN :: [Language.Haskell.TH.Lib.TypeQ]) -> case ds_awhN of _ [Occ=Dead] { [] -> z_awhM; : x_awhS xs_awhT -> lgo_awhL ((Language.Haskell.TH.Lib.appT1 z_awhM x_awhS) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) xs_awhT }; } in lgo_awhL (a_swCk `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (GHC.Base.build @ Language.Haskell.TH.Lib.TypeQ (\ (@ a_dvZ6) (c_dvZ7 [OS=OneShot] :: Language.Haskell.TH.Lib.TypeQ -> a_dvZ6 -> a_dvZ6) (n_dvZ8 [OS=OneShot] :: a_dvZ6) -> c_dvZ7 (let { l_a5DZ :: Language.Haskell.TH.Lib.TyLitQ [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 20 0}] l_a5DZ = Language.Haskell.TH.Lib.numTyLit ($dKnownNat_avAr `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_auGO ~# GHC.Integer.Type.Integer)) } in (\ (@ (m_a5E0 :: * -> *)) (eta_a5E1 :: Language.Haskell.TH.Syntax.Quasi m_a5E0) -> GHC.Base.fmap @ m_a5E0 (Control.Applicative.$p1Applicative @ m_a5E0 (Language.Haskell.TH.Syntax.$p2Quasi @ m_a5E0 eta_a5E1)) @ Language.Haskell.TH.Syntax.TyLit @ Language.Haskell.TH.Syntax.Type Language.Haskell.TH.Syntax.LitT ((l_a5DZ `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.TyLit ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.TyLit))) @ m_a5E0 eta_a5E1)) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (c_dvZ7 (let { x_X4Ts :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 101 0}] x_X4Ts = Language.Haskell.TH.Syntax.mkName_split (GHC.Types.[] @ GHC.Types.Char) (GHC.List.reverse1 @ GHC.Types.Char (Data.Typeable.Internal.$fShowTypeRep_$cshowsPrec GHC.Show.shows27 (($dTypeable_avAt `cast` (Data.Typeable.Internal.NTCo:Typeable[0] *>_N _N :: Data.Typeable.Internal.Typeable rep_auGP ~# (GHC.Prim.Proxy# rep_auGP -> Data.Typeable.Internal.TypeRep))) (GHC.Prim.proxy# @ (GHC.TypeLits.Nat -> *) @ rep_auGP)) (GHC.Types.[] @ GHC.Types.Char)) (GHC.Types.[] @ GHC.Types.Char)) } in (\ (@ (m_X4Tv :: * -> *)) (eta_X4Tx :: Language.Haskell.TH.Syntax.Quasi m_X4Tv) -> GHC.Base.return @ m_X4Tv (Language.Haskell.TH.Syntax.$p1Quasi @ m_X4Tv eta_X4Tx) @ Language.Haskell.TH.Syntax.Type (Language.Haskell.TH.Syntax.ConT x_X4Ts)) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (c_dvZ7 (let { l_a5DZ :: Language.Haskell.TH.Lib.TyLitQ [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 20 0}] l_a5DZ = Language.Haskell.TH.Lib.numTyLit ($dKnownNat_avAs `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat size_auGQ ~# GHC.Integer.Type.Integer)) } in (\ (@ (m_a5E0 :: * -> *)) (eta_a5E1 :: Language.Haskell.TH.Syntax.Quasi m_a5E0) -> GHC.Base.fmap @ m_a5E0 (Control.Applicative.$p1Applicative @ m_a5E0 (Language.Haskell.TH.Syntax.$p2Quasi @ m_a5E0 eta_a5E1)) @ Language.Haskell.TH.Syntax.TyLit @ Language.Haskell.TH.Syntax.Type Language.Haskell.TH.Syntax.LitT ((l_a5DZ `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.TyLit ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.TyLit))) @ m_a5E0 eta_a5E1)) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) n_dvZ8))))) $clift_avAv :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp [LclId, Arity=5, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $clift_avAv = a_swCv `cast` (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp)) CLaSH.Sized.Fixed.$fLiftFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ) [LclIdX[DFunId(nt)], Arity=5, Str=DmdType, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=4, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= $clift_avAv `cast` (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N) :: (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ)))}] CLaSH.Sized.Fixed.$fLiftFixed = a_swCv `cast` (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> (_R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N)) ; Sym (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N) :: (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ))) ------ Local rules for imported ids -------- "SPEC GHC.Real.^ [GHC.Types.Double, GHC.Integer.Type.Integer]" [1] forall ($dNum_swu4 :: GHC.Num.Num GHC.Types.Double) ($dIntegral_swu5 :: GHC.Real.Integral GHC.Integer.Type.Integer). GHC.Real.^ @ GHC.Types.Double @ GHC.Integer.Type.Integer $dNum_swu4 $dIntegral_swu5 = $s^_swu6 *** Simplifier: SimplBind [lvl_swvg{v} [lid]] SimplBind [lvl_swve{v} [lid]] SimplBind [lvl_swv0{v} [lid]] SimplBind [lvl_swv2{v} [lid]] SimplBind [lvl_swv4{v} [lid]] SimplBind [lvl_swv6{v} [lid]] SimplBind [g1{v swuY} [lid]] SimplBind [lvl_swuS{v} [lid]] SimplBind [lvl_swv8{v} [lid]] SimplBind [lvl_swva{v} [lid]] SimplBind [lvl_swvc{v} [lid]] SimplBind [f{v swuQ} [lid]] SimplBind [lvl_swuH{v} [lid]] SimplBind [lvl_swuK{v} [lid]] SimplBind [$s^{v swu6} [lid]] SimplBind [lvl_swvh{v} [lid]] SimplBind [a_swwS{v} [lid]] SimplBind [a_swwV{v} [lid]] SimplBind [a_swwX{v} [lid]] SimplBind [a_swwT{v} [lid]] SimplBind [lvl_swvo{v} [lid]] SimplBind [a_swwY{v} [lid]] SimplBind [a_swx0{v} [lid]] SimplBind [a_swx3{v} [lid]] SimplBind [a_swx5{v} [lid]] SimplBind [a_swx1{v} [lid]] SimplBind [lvl_swvw{v} [lid]] SimplBind [a_swx6{v} [lid]] SimplBind [a_swxS{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.fLit{v ruEL} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.satN2{v ruEK} [lidx]] SimplBind [lvl_swvz{v} [lid]] SimplBind [lvl_swvy{v} [lid]] SimplBind [lvl_swvB{v} [lid]] SimplBind [lvl_swvA{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.resizeF{v ruEJ} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.asRepProxy{v ruEG} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.asFracProxy{v ruEF} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.fracShift{v ruEH} [lidx]] SimplBind [a_swaI{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unUF{v ruEE} [lidx]] SimplBind [a_swaJ{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.uf{v ruED} [lidx]] SimplBind [a_swaK{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unSF{v ruEC} [lidx]] SimplBind [a_swaL{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.sf{v ruEB} [lidx]] SimplBind [a_swaM{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unFixed{v ruEA} [lidx[[RecSel]]]] SimplBind [lvl_swvD{v} [lid]] SimplBind [lvl_swvC{v} [lid]] SimplBind [lvl_swvF{v} [lid]] SimplBind [lvl_swvG{v} [lid]] SimplBind [ds_swvM{v} [lid]] SimplBind [lvl_swvQ{v} [lid]] SimplBind [dt{v akMa} [lid]] SimplBind [ds_swvT{v} [lid]] SimplBind [lvl_swvV{v} [lid]] SimplBind [lvl_swvX{v} [lid]] SimplBind [lvl_sww5{v} [lid]] SimplBind [lvl_sww6{v} [lid]] SimplBind [lvl_sww7{v} [lid]] SimplBind [lvl_sww8{v} [lid]] SimplBind [lvl_sww4{v} [lid]] SimplBind [lvl_sww9{v} [lid]] SimplBind [$cshow{v avFD} [lid]] SimplBind [$cshowsPrec{v avFB} [lid]] SimplBind [$cshowList{v avIE} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fShowFixed{v ruTI} [lidx[DFunId]]] SimplBind [a_swjx{v} [lid]] SimplBind [$cmult{v avFi} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fMultFixedFixed{v ruTC} [lidx[DFunId(nt)]]] SimplBind [$cminus{v avEx} [lid]] SimplBind [$cplus{v avDP} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fAddFixedFixed{v ruSO} [lidx[DFunId]]] SimplBind [$cfromInteger{v avDp} [lid]] SimplBind [a_swkh{v} [lid]] SimplBind [$cabs{v avCW} [lid]] SimplBind [$cnegate{v avCC} [lid]] SimplBind [$c-{v avCb} [lid]] SimplBind [$c*{v avBP} [lid]] SimplBind [$c+{v avBo} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fNumFixed{v ruPB} [lidx[DFunId]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fBitVectorFixed{v ruPx} [lidx[DFunId]]] SimplBind [a_swC4{v} [lid]] SimplBind [$cdef{v avAg} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fDefaultFixed{v ruO2} [lidx[DFunId(nt)]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fBoundedFixed{v ruHR} [lidx[DFunId]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fOrdFixed{v ruUw} [lidx[DFunId[1]]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fEqFixed{v ruUr} [lidx[DFunId]]] SimplBind [a_swC6{v} [lid]] SimplBind [a_swC9{v} [lid]] SimplBind [a_swCb{v} [lid]] SimplBind [a_swC7{v} [lid]] SimplBind [lvl_swwh{v} [lid]] SimplBind [a_swCc{v} [lid]] SimplBind [a_swCe{v} [lid]] SimplBind [a_swCh{v} [lid]] SimplBind [a_swCj{v} [lid]] SimplBind [a_swCf{v} [lid]] SimplBind [lvl_swwp{v} [lid]] SimplBind [a_swCk{v} [lid]] SimplBind [a_swCv{v} [lid]] SimplBind [$clift{v avAv} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fLiftFixed{v ruOs} [lidx[DFunId(nt)]]] Result size of Simplifier iteration=1 = {terms: 2,014, types: 9,295, coercions: 962} SimplBind [lvl_swvg{v} [lid]] SimplBind [lvl_swve{v} [lid]] SimplBind [lvl_swv0{v} [lid]] SimplBind [lvl_swv2{v} [lid]] SimplBind [lvl_swv4{v} [lid]] SimplBind [lvl_swv6{v} [lid]] SimplBind [g1{v swuY} [lid]] SimplBind [lvl_swuS{v} [lid]] SimplBind [lvl_swv8{v} [lid]] SimplBind [lvl_swva{v} [lid]] SimplBind [lvl_swvc{v} [lid]] SimplBind [f{v swuQ} [lid]] SimplBind [lvl_swuH{v} [lid]] SimplBind [lvl_swuK{v} [lid]] SimplBind [$s^{v swu6} [lid]] SimplBind [lvl_swvh{v} [lid]] SimplBind [a_swwS{v} [lid]] SimplBind [a_swwV{v} [lid]] SimplBind [a_swwX{v} [lid]] SimplBind [a_swwT{v} [lid]] SimplBind [lvl_swvo{v} [lid]] SimplBind [a_swwY{v} [lid]] SimplBind [a_swx0{v} [lid]] SimplBind [a_swx3{v} [lid]] SimplBind [a_swx5{v} [lid]] SimplBind [a_swx1{v} [lid]] SimplBind [lvl_swvw{v} [lid]] SimplBind [a_swx6{v} [lid]] SimplBind [a_swxS{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.fLit{v ruEL} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.satN2{v ruEK} [lidx]] SimplBind [lvl_swvz{v} [lid]] SimplBind [lvl_swvy{v} [lid]] SimplBind [lvl_swvB{v} [lid]] SimplBind [lvl_swvA{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.resizeF{v ruEJ} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.asRepProxy{v ruEG} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.asFracProxy{v ruEF} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.fracShift{v ruEH} [lidx]] SimplBind [a_swaI{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unUF{v ruEE} [lidx]] SimplBind [a_swaJ{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.uf{v ruED} [lidx]] SimplBind [a_swaK{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unSF{v ruEC} [lidx]] SimplBind [a_swaL{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.sf{v ruEB} [lidx]] SimplBind [a_swaM{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unFixed{v ruEA} [lidx[[RecSel]]]] SimplBind [lvl_swvD{v} [lid]] SimplBind [lvl_swvC{v} [lid]] SimplBind [lvl_swvG{v} [lid]] SimplBind [ds_swvM{v} [lid]] SimplBind [lvl_swvQ{v} [lid]] SimplBind [dt{v akMa} [lid]] SimplBind [ds_swvT{v} [lid]] SimplBind [lvl_swvV{v} [lid]] SimplBind [lvl_swvX{v} [lid]] SimplBind [lvl_sww5{v} [lid]] SimplBind [lvl_sww6{v} [lid]] SimplBind [lvl_sww7{v} [lid]] SimplBind [lvl_sww8{v} [lid]] SimplBind [lvl_sww4{v} [lid]] SimplBind [lvl_sww9{v} [lid]] SimplBind [$cshow{v avFD} [lid]] SimplBind [$cshowsPrec{v avFB} [lid]] SimplBind [$cshowList{v avIE} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fShowFixed{v ruTI} [lidx[DFunId]]] SimplBind [a_swjx{v} [lid]] SimplBind [$cmult{v avFi} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fMultFixedFixed{v ruTC} [lidx[DFunId(nt)]]] SimplBind [$cminus{v avEx} [lid]] SimplBind [$cplus{v avDP} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fAddFixedFixed{v ruSO} [lidx[DFunId]]] SimplBind [$cfromInteger{v avDp} [lid]] SimplBind [a_swkh{v} [lid]] SimplBind [$cabs{v avCW} [lid]] SimplBind [$cnegate{v avCC} [lid]] SimplBind [$c-{v avCb} [lid]] SimplBind [$c*{v avBP} [lid]] SimplBind [$c+{v avBo} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fNumFixed{v ruPB} [lidx[DFunId]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fBitVectorFixed{v ruPx} [lidx[DFunId]]] SimplBind [a_swC4{v} [lid]] SimplBind [$cdef{v avAg} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fDefaultFixed{v ruO2} [lidx[DFunId(nt)]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fBoundedFixed{v ruHR} [lidx[DFunId]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fOrdFixed{v ruUw} [lidx[DFunId[1]]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fEqFixed{v ruUr} [lidx[DFunId]]] SimplBind [a_swC6{v} [lid]] SimplBind [a_swC9{v} [lid]] SimplBind [a_swCb{v} [lid]] SimplBind [a_swC7{v} [lid]] SimplBind [lvl_swwh{v} [lid]] SimplBind [a_swCc{v} [lid]] SimplBind [a_swCe{v} [lid]] SimplBind [a_swCh{v} [lid]] SimplBind [a_swCj{v} [lid]] SimplBind [a_swCf{v} [lid]] SimplBind [lvl_swwp{v} [lid]] SimplBind [a_swCk{v} [lid]] SimplBind [a_swCv{v} [lid]] SimplBind [$clift{v avAv} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fLiftFixed{v ruOs} [lidx[DFunId(nt)]]] Result size of Simplifier iteration=2 = {terms: 2,005, types: 9,283, coercions: 962} SimplBind [lvl_swvg{v} [lid]] SimplBind [lvl_swve{v} [lid]] SimplBind [lvl_swv0{v} [lid]] SimplBind [lvl_swv2{v} [lid]] SimplBind [lvl_swv4{v} [lid]] SimplBind [lvl_swv6{v} [lid]] SimplBind [g1{v swuY} [lid]] SimplBind [lvl_swuS{v} [lid]] SimplBind [lvl_swv8{v} [lid]] SimplBind [lvl_swva{v} [lid]] SimplBind [lvl_swvc{v} [lid]] SimplBind [f{v swuQ} [lid]] SimplBind [lvl_swuH{v} [lid]] SimplBind [lvl_swuK{v} [lid]] SimplBind [$s^{v swu6} [lid]] SimplBind [lvl_swvh{v} [lid]] SimplBind [a_swwS{v} [lid]] SimplBind [a_swwV{v} [lid]] SimplBind [a_swwX{v} [lid]] SimplBind [a_swwT{v} [lid]] SimplBind [lvl_swvo{v} [lid]] SimplBind [a_swwY{v} [lid]] SimplBind [a_swx0{v} [lid]] SimplBind [a_swx3{v} [lid]] SimplBind [a_swx5{v} [lid]] SimplBind [a_swx1{v} [lid]] SimplBind [lvl_swvw{v} [lid]] SimplBind [a_swx6{v} [lid]] SimplBind [a_swxS{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.fLit{v ruEL} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.satN2{v ruEK} [lidx]] SimplBind [lvl_swvz{v} [lid]] SimplBind [lvl_swvy{v} [lid]] SimplBind [lvl_swvB{v} [lid]] SimplBind [lvl_swvA{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.resizeF{v ruEJ} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.asRepProxy{v ruEG} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.asFracProxy{v ruEF} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.fracShift{v ruEH} [lidx]] SimplBind [a_swaI{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unUF{v ruEE} [lidx]] SimplBind [a_swaJ{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.uf{v ruED} [lidx]] SimplBind [a_swaK{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unSF{v ruEC} [lidx]] SimplBind [a_swaL{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.sf{v ruEB} [lidx]] SimplBind [a_swaM{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unFixed{v ruEA} [lidx[[RecSel]]]] SimplBind [lvl_swvD{v} [lid]] SimplBind [lvl_swvC{v} [lid]] SimplBind [lvl_swvG{v} [lid]] SimplBind [ds_swvM{v} [lid]] SimplBind [lvl_swvQ{v} [lid]] SimplBind [dt{v akMa} [lid]] SimplBind [ds_swvT{v} [lid]] SimplBind [lvl_swvV{v} [lid]] SimplBind [lvl_swvX{v} [lid]] SimplBind [lvl_sww5{v} [lid]] SimplBind [lvl_sww6{v} [lid]] SimplBind [lvl_sww7{v} [lid]] SimplBind [lvl_sww8{v} [lid]] SimplBind [lvl_sww4{v} [lid]] SimplBind [lvl_sww9{v} [lid]] SimplBind [$cshow{v avFD} [lid]] SimplBind [$cshowsPrec{v avFB} [lid]] SimplBind [$cshowList{v avIE} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fShowFixed{v ruTI} [lidx[DFunId]]] SimplBind [a_swjx{v} [lid]] SimplBind [$cmult{v avFi} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fMultFixedFixed{v ruTC} [lidx[DFunId(nt)]]] SimplBind [$cminus{v avEx} [lid]] SimplBind [$cplus{v avDP} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fAddFixedFixed{v ruSO} [lidx[DFunId]]] SimplBind [$cfromInteger{v avDp} [lid]] SimplBind [a_swkh{v} [lid]] SimplBind [$cabs{v avCW} [lid]] SimplBind [$cnegate{v avCC} [lid]] SimplBind [$c-{v avCb} [lid]] SimplBind [$c*{v avBP} [lid]] SimplBind [$c+{v avBo} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fNumFixed{v ruPB} [lidx[DFunId]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fBitVectorFixed{v ruPx} [lidx[DFunId]]] SimplBind [a_swC4{v} [lid]] SimplBind [$cdef{v avAg} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fDefaultFixed{v ruO2} [lidx[DFunId(nt)]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fBoundedFixed{v ruHR} [lidx[DFunId]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fOrdFixed{v ruUw} [lidx[DFunId[1]]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fEqFixed{v ruUr} [lidx[DFunId]]] SimplBind [a_swC6{v} [lid]] SimplBind [a_swC9{v} [lid]] SimplBind [a_swCb{v} [lid]] SimplBind [a_swC7{v} [lid]] SimplBind [lvl_swwh{v} [lid]] SimplBind [a_swCc{v} [lid]] SimplBind [a_swCe{v} [lid]] SimplBind [a_swCh{v} [lid]] SimplBind [a_swCj{v} [lid]] SimplBind [a_swCf{v} [lid]] SimplBind [lvl_swwp{v} [lid]] SimplBind [a_swCk{v} [lid]] SimplBind [a_swCv{v} [lid]] SimplBind [$clift{v avAv} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fLiftFixed{v ruOs} [lidx[DFunId(nt)]]] ==================== Simplifier ==================== Max iterations = 4 SimplMode {Phase = 1 [main], inline, rules, eta-expand, case-of-case} Result size of Simplifier = {terms: 2,005, types: 9,283, coercions: 962} lvl_swvg :: GHC.Types.Double [LclId, Str=DmdType b] lvl_swvg = GHC.Err.error @ GHC.Types.Double (GHC.CString.unpackCString# "Negative exponent"#) lvl_swve :: GHC.Types.Double [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}] lvl_swve = GHC.Types.D# 1.0 lvl_swv0 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swv0 = __integer 1 lvl_swv2 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swv2 = __integer 1 lvl_swv4 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swv4 = __integer 2 lvl_swv6 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swv6 = __integer 2 Rec { g1_swuY [Occ=LoopBreaker] :: GHC.Types.Double -> GHC.Integer.Type.Integer -> GHC.Types.Double -> GHC.Types.Double [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0 0] 442 0}] g1_swuY = \ (x1_akDN :: GHC.Types.Double) (y1_akDO :: GHC.Integer.Type.Integer) (z_akDP :: GHC.Types.Double) -> case GHC.Integer.Type.eqInteger# (GHC.Integer.Type.remInteger y1_akDO GHC.Real.even2) GHC.Real.even1 of wild_akF2 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akF2 of _ [Occ=Dead] { GHC.Types.False -> case GHC.Integer.Type.eqInteger# y1_akDO lvl_swv0 of wild_a2f3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a2f3 of _ [Occ=Dead] { GHC.Types.False -> g1_swuY (GHC.Float.timesDouble x1_akDN x1_akDN) (GHC.Integer.Type.quotInteger (GHC.Integer.Type.minusInteger y1_akDO lvl_swv2) lvl_swv4) (GHC.Float.timesDouble x1_akDN z_akDP); GHC.Types.True -> GHC.Float.timesDouble x1_akDN z_akDP } }; GHC.Types.True -> g1_swuY (GHC.Float.timesDouble x1_akDN x1_akDN) (GHC.Integer.Type.quotInteger y1_akDO lvl_swv6) z_akDP } } end Rec } lvl_swuS :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swuS = __integer 1 lvl_swv8 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swv8 = __integer 1 lvl_swva :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swva = __integer 2 lvl_swvc :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swvc = __integer 2 Rec { f_swuQ [Occ=LoopBreaker] :: GHC.Types.Double -> GHC.Integer.Type.Integer -> GHC.Types.Double [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0] 372 0}] f_swuQ = \ (x_akDA :: GHC.Types.Double) (y_akDB :: GHC.Integer.Type.Integer) -> case GHC.Integer.Type.eqInteger# (GHC.Integer.Type.remInteger y_akDB GHC.Real.even2) GHC.Real.even1 of wild_akF2 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akF2 of _ [Occ=Dead] { GHC.Types.False -> case GHC.Integer.Type.eqInteger# y_akDB lvl_swuS of wild_a2f3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a2f3 of _ [Occ=Dead] { GHC.Types.False -> g1_swuY (GHC.Float.timesDouble x_akDA x_akDA) (GHC.Integer.Type.quotInteger (GHC.Integer.Type.minusInteger y_akDB lvl_swv8) lvl_swva) x_akDA; GHC.Types.True -> x_akDA } }; GHC.Types.True -> f_swuQ (GHC.Float.timesDouble x_akDA x_akDA) (GHC.Integer.Type.quotInteger y_akDB lvl_swvc) } } end Rec } lvl_swuH :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swuH = __integer 0 lvl_swuK :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swuK = __integer 0 $s^_swu6 [InlPrag=[1]] :: GHC.Types.Double -> GHC.Integer.Type.Integer -> GHC.Types.Double [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0] 152 0}] $s^_swu6 = \ (eta_akDk :: GHC.Types.Double) (eta1_akDl :: GHC.Integer.Type.Integer) -> case GHC.Integer.Type.ltInteger# eta1_akDl lvl_swuH of wild_a4It { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a4It of _ [Occ=Dead] { GHC.Types.False -> case GHC.Integer.Type.eqInteger# eta1_akDl lvl_swuK of wild_a2f3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a2f3 of _ [Occ=Dead] { GHC.Types.False -> f_swuQ eta_akDk eta1_akDl; GHC.Types.True -> lvl_swve } }; GHC.Types.True -> lvl_swvg } } lvl_swvh :: GHC.Types.Double [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}] lvl_swvh = GHC.Types.D# 2.0 a_swwS :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] a_swwS = GHC.CString.unpackCString# "Fixed"# a_swwV :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 0}] a_swwV = GHC.CString.unpackCString# "clash-prelude-0.5"# a_swwX :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 0}] a_swwX = GHC.CString.unpackCString# "CLaSH.Sized.Fixed"# a_swwT :: Language.Haskell.TH.Syntax.NameFlavour [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}] a_swwT = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.DataName (a_swwV `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a_swwX `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) lvl_swvo :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] lvl_swvo = Language.Haskell.TH.Syntax.Name (a_swwS `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a_swwT a_swwY :: forall (m_afx5 :: * -> *). Language.Haskell.TH.Syntax.Quasi m_afx5 => m_afx5 Language.Haskell.TH.Syntax.Exp [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [30] 60 0}] a_swwY = \ (@ (m_afx5 :: * -> *)) (eta_afx6 :: Language.Haskell.TH.Syntax.Quasi m_afx5) -> GHC.Base.return @ m_afx5 (Language.Haskell.TH.Syntax.$p1Quasi @ m_afx5 eta_afx6) @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.ConE lvl_swvo) a_swx0 :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 0}] a_swx0 = GHC.CString.unpackCString# "fromInteger"# a_swx3 :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 0}] a_swx3 = GHC.CString.unpackCString# "base"# a_swx5 :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] a_swx5 = GHC.CString.unpackCString# "GHC.Num"# a_swx1 :: Language.Haskell.TH.Syntax.NameFlavour [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}] a_swx1 = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.VarName (a_swx3 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a_swx5 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) lvl_swvw :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] lvl_swvw = Language.Haskell.TH.Syntax.Name (a_swx0 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a_swx1 a_swx6 :: forall (m_a5ye :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a5ye => m_a5ye Language.Haskell.TH.Syntax.Exp [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [30] 60 0}] a_swx6 = \ (@ (m_a5ye :: * -> *)) (eta_a5yf :: Language.Haskell.TH.Syntax.Quasi m_a5ye) -> GHC.Base.return @ m_a5ye (Language.Haskell.TH.Syntax.$p1Quasi @ m_a5ye eta_a5yf) @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.VarE lvl_swvw) a_swxS :: forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> forall (m_aw9c :: * -> *). Language.Haskell.TH.Syntax.Quasi m_aw9c => m_aw9c (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) [LclId, Arity=5, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] a_swxS = \ (@ (frac_avhM :: GHC.TypeLits.Nat)) (@ (rep_avhN :: GHC.TypeLits.Nat -> *)) (@ (size_avhO :: GHC.TypeLits.Nat)) ($dKnownNat_avlM :: GHC.TypeLits.KnownNat frac_avhM) _ [Occ=Dead] ($dBounded_avlO :: GHC.Enum.Bounded (rep_avhN size_avhO)) ($dIntegral_avlP :: GHC.Real.Integral (rep_avhN size_avhO)) (a_auGC :: GHC.Types.Double) -> Language.Haskell.TH.Syntax.unsafeTExpCoerce1 @ (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO) ((Language.Haskell.TH.Lib.appE1 (a_swwY `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp)) ((Language.Haskell.TH.Lib.appE1 (a_swx6 `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp)) (let { x_akVD :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=NEVER}] x_akVD = let { rMax_swu0 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] rMax_swu0 = GHC.Real.toInteger @ (rep_avhN size_avhO) $dIntegral_avlP (GHC.Enum.maxBound @ (rep_avhN size_avhO) $dBounded_avlO) } in let { truncated_swu2 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 540 0}] truncated_swu2 = case a_auGC of _ [Occ=Dead] { GHC.Types.D# x_aw80 -> case $s^_swu6 lvl_swvh ($dKnownNat_avlM `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_avhM ~# GHC.Integer.Type.Integer)) of _ [Occ=Dead] { GHC.Types.D# y_aw84 -> case GHC.Integer.Type.decodeDoubleInteger (GHC.Prim.*## x_aw80 y_aw84) of _ [Occ=Dead] { (# ipv_aw8Q, ipv1_aw8R #) -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# ipv1_aw8R 0) of _ [Occ=Dead] { GHC.Types.False -> GHC.Integer.Type.shiftLInteger ipv_aw8Q ipv1_aw8R; GHC.Types.True -> let { s_aw8X :: GHC.Prim.Int# [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 1 0}] s_aw8X = GHC.Prim.negateInt# ipv1_aw8R } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.># s_aw8X 52) of _ [Occ=Dead] { GHC.Types.False -> case GHC.Integer.Type.ltInteger# ipv_aw8Q (__integer 0) of wild3_aw92 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild3_aw92 of _ [Occ=Dead] { GHC.Types.False -> case GHC.Integer.Type.integerToInt ipv_aw8Q of n_aw96 { __DEFAULT -> GHC.Integer.Type.smallInteger (GHC.Prim.uncheckedIShiftRA# n_aw96 s_aw8X) }; GHC.Types.True -> case GHC.Integer.Type.integerToInt (GHC.Integer.Type.negateInteger ipv_aw8Q) of n_aw99 { __DEFAULT -> GHC.Integer.Type.smallInteger (GHC.Prim.negateInt# (GHC.Prim.uncheckedIShiftRA# n_aw99 s_aw8X)) } } }; GHC.Types.True -> __integer 0 } } } } } } in case GHC.Integer.Type.gtInteger# truncated_swu2 rMax_swu0 of wild_akJ6 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akJ6 of _ [Occ=Dead] { GHC.Types.False -> let { rMin_swu1 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] rMin_swu1 = GHC.Real.toInteger @ (rep_avhN size_avhO) $dIntegral_avlP (GHC.Enum.minBound @ (rep_avhN size_avhO) $dBounded_avlO) } in case GHC.Integer.Type.ltInteger# truncated_swu2 rMin_swu1 of wild_a4It { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a4It of _ [Occ=Dead] { GHC.Types.False -> truncated_swu2; GHC.Types.True -> rMin_swu1 } }; GHC.Types.True -> rMax_swu0 } } } in (\ (@ (m_akVE :: * -> *)) (eta_akVF :: Language.Haskell.TH.Syntax.Quasi m_akVE) -> GHC.Base.return @ m_akVE (Language.Haskell.TH.Syntax.$p1Quasi @ m_akVE eta_akVF) @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.LitE (Language.Haskell.TH.Syntax.IntegerL x_akVD))) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp))) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp))) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp)) CLaSH.Sized.Fixed.fLit :: forall (frac_auFI :: GHC.TypeLits.Nat) (rep_auFJ :: GHC.TypeLits.Nat -> *) (size_auFK :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_auFI, GHC.Num.Num (rep_auFJ size_auFK), GHC.Enum.Bounded (rep_auFJ size_auFK), GHC.Real.Integral (rep_auFJ size_auFK)) => GHC.Types.Double -> Language.Haskell.TH.Syntax.Q (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_auFI rep_auFJ size_auFK)) [LclIdX, Arity=5, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.fLit = a_swxS `cast` (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO))) ~# (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> Language.Haskell.TH.Syntax.Q (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)))) CLaSH.Sized.Fixed.satN2 :: forall (rep_auFL :: GHC.TypeLits.Nat -> *) (n_auFM :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.SatN2C rep_auFL n_auFM) => rep_auFL (n_auFM GHC.TypeLits.+ 2) -> rep_auFL n_auFM [LclIdX, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] CLaSH.Sized.Fixed.satN2 = \ (@ (rep_aviy :: GHC.TypeLits.Nat -> *)) (@ (n_aviz :: GHC.TypeLits.Nat)) (tup_avmQ :: CLaSH.Sized.Fixed.SatN2C rep_aviy n_aviz) (eta_B1 :: rep_aviy (n_aviz GHC.TypeLits.+ 2)) -> let { repBV_swtT :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 0}] repBV_swtT = case tup_avmQ of _ [Occ=Dead] { (tpl_X1g, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> case tpl_B6 of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6Z -> (CLaSH.Class.BitVector.toBV @ (rep_aviy (n_aviz GHC.TypeLits.+ 2)) tpl_B4 (tpl_B8 `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw6Z))_R :: GHC.TypeLits.KnownNat (n_aviz GHC.TypeLits.+ 2) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy (n_aviz GHC.TypeLits.+ 2))))) eta_B1) `cast` ((CLaSH.Sized.Vector.Vec cobox_dw6Z _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy (n_aviz GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit) } } } in let { cobox_swtU :: ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (n_aviz GHC.TypeLits.+ 2) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] cobox_swtU = case tup_avmQ of _ [Occ=Dead] { (tpl_X1l, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B2 } } in let { s_swtS :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] s_swtS = case cobox_swtU of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7d -> CLaSH.Sized.Vector.vtail @ n_aviz @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (repBV_swtT `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7d) _R)_R :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit))) } } in let { cobox_swtV :: CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz) ~ n_aviz [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] cobox_swtV = case tup_avmQ of _ [Occ=Dead] { (tpl_X1i, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B5 } } in case tup_avmQ of _ [Occ=Dead] { (tpl_X1t, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> case Data.Bits.isSigned @ (rep_aviy (n_aviz GHC.TypeLits.+ 2)) tpl_Ba eta_B1 of _ [Occ=Dead] { GHC.Types.False -> case cobox_swtU of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7j -> case CLaSH.Sized.Vector.vhead @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (repBV_swtT `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7j) _R)_R :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit)) of _ [Occ=Dead] { CLaSH.Bit.H -> case CLaSH.Sized.Vector.vhead @ n_aviz @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (repBV_swtT `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7j) _R)_R :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit))) of _ [Occ=Dead] { CLaSH.Bit.H -> GHC.Enum.minBound @ (rep_aviy n_aviz) tpl_B9; CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_aviy n_aviz) tpl_B3 (case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7b -> tpl_B7 `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw7b))_R :: GHC.TypeLits.KnownNat n_aviz ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz))) }) (case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7c -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7c) _R)_R :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) CLaSH.Bit.Bit) }) }; CLaSH.Bit.L -> case CLaSH.Sized.Vector.vhead @ n_aviz @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (repBV_swtT `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7j) _R)_R :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit))) of _ [Occ=Dead] { CLaSH.Bit.H -> GHC.Enum.maxBound @ (rep_aviy n_aviz) tpl_B9; CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_aviy n_aviz) tpl_B3 (case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7b -> tpl_B7 `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw7b))_R :: GHC.TypeLits.KnownNat n_aviz ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz))) }) (case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7c -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7c) _R)_R :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) CLaSH.Bit.Bit) }) } } }; GHC.Types.True -> case cobox_swtU of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7j -> case CLaSH.Sized.Vector.vhead @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (repBV_swtT `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7j) _R)_R :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit)) of _ [Occ=Dead] { CLaSH.Bit.H -> case CLaSH.Sized.Vector.vhead' @ n_aviz @ CLaSH.Bit.Bit tpl_X1t s_swtS of _ [Occ=Dead] { CLaSH.Bit.H -> CLaSH.Class.BitVector.fromBV @ (rep_aviy n_aviz) tpl_B3 (case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw79 -> tpl_B7 `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw79))_R :: GHC.TypeLits.KnownNat n_aviz ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz))) }) (case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7a -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7a) _R)_R :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) CLaSH.Bit.Bit) }); CLaSH.Bit.L -> GHC.Enum.minBound @ (rep_aviy n_aviz) tpl_B9 }; CLaSH.Bit.L -> case CLaSH.Sized.Vector.vhead' @ n_aviz @ CLaSH.Bit.Bit tpl_X1t s_swtS of _ [Occ=Dead] { CLaSH.Bit.H -> GHC.Enum.maxBound @ (rep_aviy n_aviz) tpl_B9; CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_aviy n_aviz) tpl_B3 (case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw79 -> tpl_B7 `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw79))_R :: GHC.TypeLits.KnownNat n_aviz ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz))) }) (case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7a -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7a) _R)_R :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) CLaSH.Bit.Bit) }) } } } } } lvl_swvz :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swvz = __integer 0 lvl_swvy :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swvy = __integer 0 lvl_swvB :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swvB = __integer 0 lvl_swvA :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swvA = __integer 0 CLaSH.Sized.Fixed.resizeF :: forall (frac1_auFN :: GHC.TypeLits.Nat) (frac2_auFO :: GHC.TypeLits.Nat) (rep_auFP :: GHC.TypeLits.Nat -> *) (size1_auFQ :: GHC.TypeLits.Nat) (size2_auFR :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.ResizeFC rep_auFP frac1_auFN frac2_auFO size1_auFQ size2_auFR) => CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ -> CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR [LclIdX, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] CLaSH.Sized.Fixed.resizeF = \ (@ (frac1_avjq :: GHC.TypeLits.Nat)) (@ (frac2_avjr :: GHC.TypeLits.Nat)) (@ (rep_avjs :: GHC.TypeLits.Nat -> *)) (@ (size1_avjt :: GHC.TypeLits.Nat)) (@ (size2_avju :: GHC.TypeLits.Nat)) (tup_avnK :: CLaSH.Sized.Fixed.ResizeFC rep_avjs frac1_avjq frac2_avjr size1_avjt size2_avju) (eta_B1 :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt) -> let { $dKnownNat_swtH :: GHC.TypeLits.KnownNat size2_avju [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swtH = case tup_avnK of _ [Occ=Dead] { (tpl_X1k, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 } } in let { $dKnownNat_swtI :: GHC.TypeLits.KnownNat size1_avjt [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swtI = case tup_avnK of _ [Occ=Dead] { (tpl_X1i, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B8 } } in case GHC.Integer.Type.leInteger# ($dKnownNat_swtI `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat size1_avjt ~# GHC.Integer.Type.Integer)) ($dKnownNat_swtH `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat size2_avju ~# GHC.Integer.Type.Integer)) of wild_akJ3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akJ3 of _ [Occ=Dead] { GHC.Types.False -> let { $dBounded_swtD :: GHC.Enum.Bounded (rep_avjs size2_avju) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBounded_swtD = case tup_avnK of _ [Occ=Dead] { (tpl_X1u, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X1u } } in let { fMax_swtA :: rep_avjs size2_avju [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 20 0}] fMax_swtA = GHC.Enum.maxBound @ (rep_avjs size2_avju) $dBounded_swtD } in let { $dBits_swtF :: Data.Bits.Bits (rep_avjs size1_avjt) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_swtF = case tup_avnK of _ [Occ=Dead] { (tpl_X5L, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B5 } } in let { mask_swtz :: rep_avjs size1_avjt [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 43 0}] mask_swtz = Data.Bits.complement @ (rep_avjs size1_avjt) $dBits_swtF (case tup_avnK of _ [Occ=Dead] { (tpl_X1m, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> (tpl_B6 `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_avjs ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_avjs a_ae8M -> rep_avjs b_ae8N))) @ size2_avju @ size1_avjt $dKnownNat_swtH $dKnownNat_swtI fMax_swtA }) } in let { $dNum_swtE :: GHC.Num.Num (rep_avjs size1_avjt) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dNum_swtE = case tup_avnK of _ [Occ=Dead] { (tpl_X1r, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B4 } } in case tup_avnK of _ [Occ=Dead] { (tpl_X1y, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> case GHC.Integer.Type.integerToInt (tpl_Bb `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac1_avjq ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> case GHC.Integer.Type.integerToInt (tpl_Ba `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac2_avjr ~# GHC.Integer.Type.Integer)) of wild_XkFQ { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# wild_akCB wild_XkFQ) of _ [Occ=Dead] { GHC.Types.False -> let { shiftedR_swty :: rep_avjs size1_avjt [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 51 0}] shiftedR_swty = Data.Bits.shiftR @ (rep_avjs size1_avjt) $dBits_swtF (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt)) (GHC.Types.I# (GHC.Prim.-# wild_akCB wild_XkFQ)) } in case GHC.Classes.>= @ (rep_avjs size1_avjt) tpl_B3 (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt)) (GHC.Num.fromInteger @ (rep_avjs size1_avjt) $dNum_swtE lvl_swvy) of _ [Occ=Dead] { GHC.Types.False -> case GHC.Classes.== @ (rep_avjs size1_avjt) (Data.Bits.$p1Bits @ (rep_avjs size1_avjt) $dBits_swtF) (Data.Bits..&. @ (rep_avjs size1_avjt) $dBits_swtF shiftedR_swty mask_swtz) mask_swtz of _ [Occ=Dead] { GHC.Types.False -> (GHC.Enum.minBound @ (rep_avjs size2_avju) $dBounded_swtD) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> ((tpl_B6 `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_avjs ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_avjs a_ae8M -> rep_avjs b_ae8N))) @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH shiftedR_swty) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) }; GHC.Types.True -> case GHC.Classes.== @ (rep_avjs size1_avjt) (Data.Bits.$p1Bits @ (rep_avjs size1_avjt) $dBits_swtF) (Data.Bits..&. @ (rep_avjs size1_avjt) $dBits_swtF shiftedR_swty mask_swtz) (GHC.Num.fromInteger @ (rep_avjs size1_avjt) $dNum_swtE lvl_swvz) of _ [Occ=Dead] { GHC.Types.False -> fMax_swtA `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> ((tpl_B6 `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_avjs ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_avjs a_ae8M -> rep_avjs b_ae8N))) @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH shiftedR_swty) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) } }; GHC.Types.True -> let { shiftedL_swtK :: rep_avjs size1_avjt [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 51 0}] shiftedL_swtK = Data.Bits.shiftL @ (rep_avjs size1_avjt) $dBits_swtF (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt)) (GHC.Types.I# (GHC.Prim.-# wild_XkFQ wild_akCB)) } in case GHC.Classes.>= @ (rep_avjs size1_avjt) tpl_B3 (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt)) (GHC.Num.fromInteger @ (rep_avjs size1_avjt) $dNum_swtE lvl_swvA) of _ [Occ=Dead] { GHC.Types.False -> case GHC.Classes.== @ (rep_avjs size1_avjt) (Data.Bits.$p1Bits @ (rep_avjs size1_avjt) $dBits_swtF) (Data.Bits..&. @ (rep_avjs size1_avjt) $dBits_swtF shiftedL_swtK mask_swtz) mask_swtz of _ [Occ=Dead] { GHC.Types.False -> (GHC.Enum.minBound @ (rep_avjs size2_avju) $dBounded_swtD) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> ((tpl_B6 `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_avjs ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_avjs a_ae8M -> rep_avjs b_ae8N))) @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH shiftedL_swtK) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) }; GHC.Types.True -> case GHC.Classes.== @ (rep_avjs size1_avjt) (Data.Bits.$p1Bits @ (rep_avjs size1_avjt) $dBits_swtF) (Data.Bits..&. @ (rep_avjs size1_avjt) $dBits_swtF shiftedL_swtK mask_swtz) (GHC.Num.fromInteger @ (rep_avjs size1_avjt) $dNum_swtE lvl_swvB) of _ [Occ=Dead] { GHC.Types.False -> fMax_swtA `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> ((tpl_B6 `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_avjs ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_avjs a_ae8M -> rep_avjs b_ae8N))) @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH shiftedL_swtK) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) } } } } } }; GHC.Types.True -> case tup_avnK of _ [Occ=Dead] { (tpl_X1y, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> case GHC.Integer.Type.integerToInt (tpl_Bb `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac1_avjq ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> case GHC.Integer.Type.integerToInt (tpl_Ba `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac2_avjr ~# GHC.Integer.Type.Integer)) of wild_XkFG { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# wild_akCB wild_XkFG) of _ [Occ=Dead] { GHC.Types.False -> (Data.Bits.shiftR @ (rep_avjs size2_avju) tpl_B9 ((tpl_B6 `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_avjs ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_avjs a_ae8M -> rep_avjs b_ae8N))) @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt))) (GHC.Types.I# (GHC.Prim.-# wild_akCB wild_XkFG))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> (Data.Bits.shiftL @ (rep_avjs size2_avju) tpl_B9 ((tpl_B6 `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_avjs ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_avjs a_ae8M -> rep_avjs b_ae8N))) @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt))) (GHC.Types.I# (GHC.Prim.-# wild_XkFG wild_akCB))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) } } } } } } CLaSH.Sized.Fixed.asRepProxy :: forall (frac_auFV :: GHC.TypeLits.Nat) (rep_auFW :: GHC.TypeLits.Nat -> *) (size_auFX :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFV rep_auFW size_auFX -> Data.Proxy.Proxy rep_auFW [LclIdX, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.asRepProxy = \ (@ (frac_avk6 :: GHC.TypeLits.Nat)) (@ (rep_avk7 :: GHC.TypeLits.Nat -> *)) (@ (size_avk8 :: GHC.TypeLits.Nat)) _ [Occ=Dead] -> Data.Proxy.Proxy @ (GHC.TypeLits.Nat -> *) @ rep_avk7 CLaSH.Sized.Fixed.asFracProxy :: forall (frac_auFY :: GHC.TypeLits.Nat) (rep_auFZ :: GHC.TypeLits.Nat -> *) (size_auG0 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFY rep_auFZ size_auG0 -> Data.Proxy.Proxy frac_auFY [LclIdX, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.asFracProxy = \ (@ (frac_avkp :: GHC.TypeLits.Nat)) (@ (rep_avkq :: GHC.TypeLits.Nat -> *)) (@ (size_avkr :: GHC.TypeLits.Nat)) _ [Occ=Dead] -> Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac_avkp CLaSH.Sized.Fixed.fracShift :: forall (frac_auFS :: GHC.TypeLits.Nat) (rep_auFT :: GHC.TypeLits.Nat -> *) (size_auFU :: GHC.TypeLits.Nat). GHC.TypeLits.KnownNat frac_auFS => CLaSH.Sized.Fixed.Fixed frac_auFS rep_auFT size_auFU -> GHC.Types.Int [LclIdX, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0] 40 20}] CLaSH.Sized.Fixed.fracShift = \ (@ (frac_avjN :: GHC.TypeLits.Nat)) (@ (rep_avjO :: GHC.TypeLits.Nat -> *)) (@ (size_avjP :: GHC.TypeLits.Nat)) ($dKnownNat_avxa :: GHC.TypeLits.KnownNat frac_avjN) _ [Occ=Dead] -> case GHC.Integer.Type.integerToInt ($dKnownNat_avxa `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_avjN ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> GHC.Types.I# wild_akCB } a_swaI :: forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaI = \ (@ (int_avkK :: GHC.TypeLits.Nat)) (@ (frac_avkL :: GHC.TypeLits.Nat)) (ds_dvZi :: CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL)) -> ds_dvZi CLaSH.Sized.Fixed.unUF :: forall (int_auG1 :: GHC.TypeLits.Nat) (frac_auG2 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.UFixed int_auG1 frac_auG2 -> CLaSH.Sized.Unsigned.Unsigned (int_auG1 GHC.TypeLits.+ frac_auG2) [LclIdX, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.unUF = a_swaI `cast` (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL)) ~# (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL))) a_swaJ :: forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaJ = \ (@ (frac_avl5 :: GHC.TypeLits.Nat)) (@ (int_avl6 :: GHC.TypeLits.Nat)) _ [Occ=Dead] (fRep_auGb :: CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) -> fRep_auGb CLaSH.Sized.Fixed.uf :: forall (frac_auG3 :: GHC.TypeLits.Nat) (int_auG4 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_auG3 -> CLaSH.Sized.Unsigned.Unsigned (int_auG4 GHC.TypeLits.+ frac_auG3) -> CLaSH.Sized.Fixed.UFixed int_auG4 frac_auG3 [LclIdX, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.uf = a_swaJ `cast` (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) ~# (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Fixed.Fixed frac_avl5 CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5))) a_swaK :: forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaK = \ (@ (int_avlp :: GHC.TypeLits.Nat)) (@ (frac_avlq :: GHC.TypeLits.Nat)) (ds_dvZu :: CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq)) -> ds_dvZu CLaSH.Sized.Fixed.unSF :: forall (int_auG5 :: GHC.TypeLits.Nat) (frac_auG6 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.SFixed int_auG5 frac_auG6 -> CLaSH.Sized.Signed.Signed (int_auG5 GHC.TypeLits.+ frac_auG6) [LclIdX, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.unSF = a_swaK `cast` (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq)) ~# (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq))) a_swaL :: forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaL = \ (@ (frac_avlK :: GHC.TypeLits.Nat)) (@ (int_avlL :: GHC.TypeLits.Nat)) _ [Occ=Dead] (fRep_auG9 :: CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) -> fRep_auG9 CLaSH.Sized.Fixed.sf :: forall (frac_auG7 :: GHC.TypeLits.Nat) (int_auG8 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_auG7 -> CLaSH.Sized.Signed.Signed (int_auG8 GHC.TypeLits.+ frac_auG7) -> CLaSH.Sized.Fixed.SFixed int_auG8 frac_auG7 [LclIdX, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.sf = a_swaL `cast` (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) ~# (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Fixed.Fixed frac_avlK CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK))) a_swaM :: forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaM = \ (@ (frac_auI2 :: GHC.TypeLits.Nat)) (@ (rep_auI3 :: GHC.TypeLits.Nat -> *)) (@ (size_auI4 :: GHC.TypeLits.Nat)) (ds_dvZF :: CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4) -> ds_dvZF CLaSH.Sized.Fixed.unFixed :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> rep_auFG size_auFH [LclIdX[[RecSel]], Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.unFixed = a_swaM `cast` (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4) ~# (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> rep_auI3 size_auI4)) lvl_swvD :: GHC.Types.Char [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}] lvl_swvD = GHC.Types.C# '-' lvl_swvC :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swvC = __integer 0 lvl_swvG :: GHC.Types.Char [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}] lvl_swvG = GHC.Types.C# '0' ds_swvM :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] ds_swvM = __integer 1 lvl_swvQ :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) -> GHC.Types.Bool [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [20] 61 0}] lvl_swvQ = \ (x_acXI :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) -> case x_acXI of _ [Occ=Dead] { (ds1_afnD, y_afnE) -> case y_afnE of _ [Occ=Dead] { GHC.Real.:% ds1_awdp y_awdq -> case GHC.Integer.Type.eqInteger# y_awdq ds_swvM of wild_a2f3 { __DEFAULT -> GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a2f3 } } } dt_akMa :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] dt_akMa = __integer 10 ds_swvT :: GHC.Real.Ratio GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] ds_swvT = GHC.Real.:% @ GHC.Integer.Type.Integer dt_akMa GHC.Real.$fEnumRatio1 lvl_swvV :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) -> (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [40] 101 30}] lvl_swvV = \ (ds_awe3 :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) -> (case ds_awe3 of _ [Occ=Dead] { (x_awe6, y_awe7) -> case x_awe6 of _ [Occ=Dead] { GHC.Types.I# x1_awdC -> case x1_awdC of wild1_awdE { __DEFAULT -> GHC.Types.I# (GHC.Prim.+# wild1_awdE 1); 9223372036854775807 -> GHC.Enum.$fEnumInt2 } } }, case ds_awe3 of _ [Occ=Dead] { (x_aweb, y_awec) -> GHC.Real.$fNumRatio_$s$c* y_awec ds_swvT }) lvl_swvX :: GHC.Types.Int [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}] lvl_swvX = GHC.Types.I# 0 lvl_sww5 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_sww5 = __integer 2 lvl_sww6 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_sww6 = __integer 1 lvl_sww7 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_sww7 = __integer 2 lvl_sww8 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_sww8 = __integer 1 lvl_sww4 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_sww4 = __integer 0 lvl_sww9 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_sww9 = __integer 2 $cshow_avFD :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> GHC.Base.String [LclId, Arity=5, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] $cshow_avFD = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) _ [Occ=Dead] _ [Occ=Dead] ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) (f_auHA :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) -> let { nF_swti :: GHC.Types.Int [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 20}] nF_swti = case GHC.Integer.Type.integerToInt ($dKnownNat_avFx `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_auHx ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> GHC.Types.I# wild_akCB } } in let { fRepI_swtk :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 30 0}] fRepI_swtk = GHC.Real.toInteger @ (rep_auHy size_auHz) $dIntegral_avFy (f_auHA `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz ~# rep_auHy size_auHz)) } in let { fRepI_abs_swtj :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 20 0}] fRepI_abs_swtj = GHC.Integer.Type.absInteger fRepI_swtk } in let { a_swOO :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=NEVER}] a_swOO = let { eta_awcR :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=NEVER}] eta_awcR = case GHC.List.iterateFB @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) @ [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)] (GHC.List.filterFB @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) @ [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)] (GHC.Types.: @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) lvl_swvQ) lvl_swvV (lvl_swvX, case GHC.Integer.Type.ltInteger# fRepI_swtk lvl_sww4 of wild_a4It { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a4It of _ [Occ=Dead] { GHC.Types.False -> case nF_swti of wild_awO7 { GHC.Types.I# x_awO9 -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# x_awO9 0) of _ [Occ=Dead] { GHC.Types.False -> let { a_swOs :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 72 0}] a_swOs = case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# x_awO9 0) of _ [Occ=Dead] { GHC.Types.False -> case x_awO9 of _ [Occ=Dead] { __DEFAULT -> GHC.Real.^_f1 lvl_sww9 wild_awO7; 0 -> GHC.Real.$fEnumRatio1 }; GHC.Types.True -> GHC.Real.^3 } } in case x_awO9 of _ [Occ=Dead] { __DEFAULT -> GHC.Real.%_$s% (GHC.Integer.Type.andInteger fRepI_swtk (GHC.Integer.Type.minusInteger (GHC.Real.^_f1 lvl_sww5 wild_awO7) lvl_sww6)) a_swOs; 0 -> GHC.Real.%_$s% (GHC.Integer.Type.andInteger fRepI_swtk (__integer 0)) a_swOs }; GHC.Types.True -> case GHC.Real.^3 of wild_00 { } } }; GHC.Types.True -> case nF_swti of wild_awO7 { GHC.Types.I# x_awO9 -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# x_awO9 0) of _ [Occ=Dead] { GHC.Types.False -> let { a_swOy :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 72 0}] a_swOy = case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# x_awO9 0) of _ [Occ=Dead] { GHC.Types.False -> case x_awO9 of _ [Occ=Dead] { __DEFAULT -> GHC.Real.^_f1 lvl_sww9 wild_awO7; 0 -> GHC.Real.$fEnumRatio1 }; GHC.Types.True -> GHC.Real.^3 } } in case x_awO9 of _ [Occ=Dead] { __DEFAULT -> GHC.Real.%_$s% (GHC.Integer.Type.andInteger fRepI_abs_swtj (GHC.Integer.Type.minusInteger (GHC.Real.^_f1 lvl_sww7 wild_awO7) lvl_sww8)) a_swOy; 0 -> GHC.Real.%_$s% (GHC.Integer.Type.andInteger fRepI_abs_swtj (__integer 0)) a_swOy }; GHC.Types.True -> case GHC.Real.^3 of wild_00 { } } } } }) of _ [Occ=Dead] { [] -> Data.Maybe.fromJust1 @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer); : a1_awdh ds1_awdi -> a1_awdh } } in let { str_auHK [OS=ProbOneShot] :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 0}] str_auHK = case eta_awcR of _ [Occ=Dead] { (x_awcZ, y_awd0) -> case y_awd0 of _ [Occ=Dead] { GHC.Real.:% x_awcK ds1_awcL -> GHC.Show.$fShowInteger_$cshowsPrec GHC.Show.shows27 x_awcK (GHC.Types.[] @ GHC.Types.Char) } } } in case eta_awcR of _ [Occ=Dead] { (x_awcU, y_awcV) -> case x_awcU of _ [Occ=Dead] { GHC.Types.I# x_akIV -> case GHC.List.lenAcc @ GHC.Types.Char str_auHK 0 of _ [Occ=Dead] { GHC.Types.I# y_akIZ -> let { n#_awbi :: GHC.Prim.Int# [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 1 0}] n#_awbi = GHC.Prim.-# x_akIV y_akIZ } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# n#_awbi 0) of _ [Occ=Dead] { GHC.Types.False -> GHC.List.repeatFB @ GHC.Types.Char @ (GHC.Prim.Int# -> [GHC.Types.Char]) (GHC.List.takeFB @ GHC.Types.Char @ [GHC.Types.Char] (GHC.Types.: @ GHC.Types.Char) str_auHK) lvl_swvG n#_awbi; GHC.Types.True -> str_auHK } } } } } in case GHC.Integer.Type.ltInteger# fRepI_swtk lvl_swvC of wild_a4It { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a4It of _ [Occ=Dead] { GHC.Types.False -> case nF_swti of _ [Occ=Dead] { GHC.Types.I# x_aiKN -> GHC.Base.++ @ GHC.Types.Char (GHC.Show.$fShowInteger_$cshowsPrec GHC.Show.shows27 (Data.Bits.$fBitsInteger_$cshift fRepI_swtk (GHC.Types.I# (GHC.Prim.negateInt# x_aiKN))) (GHC.Types.[] @ GHC.Types.Char)) (GHC.Types.: @ GHC.Types.Char (GHC.Types.C# '.') a_swOO) }; GHC.Types.True -> GHC.Base.++ @ GHC.Types.Char (GHC.Types.: @ GHC.Types.Char lvl_swvD (case nF_swti of _ [Occ=Dead] { GHC.Types.I# x_aiKN -> GHC.Show.$fShowInteger_$cshowsPrec GHC.Show.shows27 (Data.Bits.$fBitsInteger_$cshift fRepI_abs_swtj (GHC.Types.I# (GHC.Prim.negateInt# x_aiKN))) (GHC.Types.[] @ GHC.Types.Char) })) (GHC.Types.: @ GHC.Types.Char (GHC.Types.C# '.') a_swOO) } } $cshowsPrec_avFB :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => GHC.Types.Int -> CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> GHC.Show.ShowS [LclId, Arity=7, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=7, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0 0 0 0 0 0] 90 0}] $cshowsPrec_avFB = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) _ [Occ=Dead] (x_a2fY :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (s_a2fZ :: GHC.Base.String) -> GHC.Base.++ @ GHC.Types.Char ($cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy x_a2fY) s_a2fZ $cshowList_avIE :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz] -> GHC.Show.ShowS [LclId, Arity=6, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=6, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0 0 0 0 0] 150 0}] $cshowList_avIE = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) (eta_B2 :: [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz]) (eta_B1 :: GHC.Base.String) -> GHC.Show.showList__ @ (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (\ (x_a2fY :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (s_a2fZ [OS=OneShot] :: GHC.Base.String) -> GHC.Base.++ @ GHC.Types.Char ($cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy x_a2fY) s_a2fZ) eta_B2 eta_B1 CLaSH.Sized.Fixed.$fShowFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => GHC.Show.Show (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) [LclIdX[DFunId], Arity=4, Str=DmdType, Unf=DFun: \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) -> GHC.Show.D:Show TYPE CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz $cshowsPrec_avFB @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy $cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy $cshowList_avIE @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy] CLaSH.Sized.Fixed.$fShowFixed = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) -> GHC.Show.D:Show @ (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) ($cshowsPrec_avFB @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy) ($cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy) ($cshowList_avIE @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy) a_swjx :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu) [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swjx = \ (@ (frac1_auHq :: GHC.TypeLits.Nat)) (@ (rep_auHr :: GHC.TypeLits.Nat -> *)) (@ (size1_auHs :: GHC.TypeLits.Nat)) (@ (frac2_auHt :: GHC.TypeLits.Nat)) (@ (size2_auHu :: GHC.TypeLits.Nat)) (tup_avFg :: CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) (eta_B2 :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (eta_B1 :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) -> case tup_avFg of _ [Occ=Dead] { (tpl_X1z, tpl_X1B) -> case tpl_X1B of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw3M -> ((tpl_X1z `cast` (CLaSH.Class.Num.NTCo:Mult[0] _N _N :: CLaSH.Class.Num.Mult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# (rep_auHr size1_auHs -> rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu)))) (eta_B2 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs ~# rep_auHr size1_auHs)) (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu ~# rep_auHr size2_auHu))) `cast` (Sub cobox_dw3M :: CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) } } $cmult_avFi :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $cmult_avFi = a_swjx `cast` (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). _R -> _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:MResultFixedFixed[0] _N _N _N _N _N)) :: (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) ~# (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu))) CLaSH.Sized.Fixed.$fMultFixedFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) [LclIdX[DFunId(nt)], Arity=3, Str=DmdType, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= $cmult_avFi `cast` (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). _R -> Sym (CLaSH.Class.Num.NTCo:Mult[0] _N _N) :: (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_XuJ1 frac1_XuIZ frac2_XuJ5 size1_XuJ3 size2_XuJ7) => CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3 -> CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7 -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3) (CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7)) ~# (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_XuJ1 frac1_XuIZ frac2_XuJ5 size1_XuJ3 size2_XuJ7) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3) (CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7)))}] CLaSH.Sized.Fixed.$fMultFixedFixed = a_swjx `cast` (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). _R -> (_R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:MResultFixedFixed[0] _N _N _N _N _N))) ; Sym (CLaSH.Class.Num.NTCo:Mult[0] _N _N) :: (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) ~# (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu))) $cminus_avEx :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [40 0 0] 430 0}] $cminus_avEx = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (eta_X1I :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (eta_X3p :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> let { tup_swta :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_swta = case tup_avDN of _ [Occ=Dead] { (tpl_X1L, tpl_X1N, tpl_B3) -> tpl_X1N } } in let { $dBounded_swt9 :: GHC.Enum.Bounded (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBounded_swt9 = case tup_swta of _ [Occ=Dead] { (tpl_X1N, tpl_X1P, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X1N } } in let { $dBits_swt8 :: Data.Bits.Bits (rep_auHe size2_auHh) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_swt8 = case tup_swta of _ [Occ=Dead] { (tpl_X1P, tpl_X1R, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B5 } } in let { $dResize_swt7 :: CLaSH.Class.Num.Resize rep_auHe [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dResize_swt7 = case tup_swta of _ [Occ=Dead] { (tpl_X1R, tpl_X1T, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B6 } } in let { $dKnownNat_swt6 :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swt6 = case tup_swta of _ [Occ=Dead] { (tpl_X1T, tpl_X1V, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 } } in let { $dBits_swt5 :: Data.Bits.Bits (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_swt5 = case tup_swta of _ [Occ=Dead] { (tpl_X1V, tpl_X1X, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B9 } } in let { $dKnownNat_swt4 :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swt4 = case tup_swta of _ [Occ=Dead] { (tpl_X1X, tpl_X1Z, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Ba } } in case tup_avDN of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3) -> (GHC.Num.- @ (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) tpl_B3 (let { $dBits_swt2 :: Data.Bits.Bits (rep_auHe size1_auHf) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_swt2 = case tpl_X22 of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_X5p, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B5 } } in (CLaSH.Sized.Fixed.resizeF @ frac1_auHd @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size1_auHf @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ($dBounded_swt9, Data.Bits.$p1Bits @ (rep_auHe size1_auHf) $dBits_swt2, case tpl_X22 of _ [Occ=Dead] { (tpl_X43, tpl_X7q, tpl_X5q, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X5q }, case tpl_X22 of _ [Occ=Dead] { (tpl_X7n, tpl_X46, tpl_X5q, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B4 }, $dBits_swt2, $dResize_swt7, $dKnownNat_swt6, case tpl_X22 of _ [Occ=Dead] { (tpl_X7n, tpl_X7q, tpl_X5q, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B8 }, $dBits_swt5, $dKnownNat_swt4, case tpl_X22 of _ [Occ=Dead] { (tpl_X7n, tpl_X7q, tpl_X5q, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bb }, case tpl_X22 of _ [Occ=Dead] { (tpl_X7n, tpl_X7q, tpl_X5q, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bc }) eta_X1I) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1))) ((CLaSH.Sized.Fixed.resizeF @ frac2_auHg @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size2_auHh @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ($dBounded_swt9, Data.Bits.$p1Bits @ (rep_auHe size2_auHh) $dBits_swt8, case tup_swta of _ [Occ=Dead] { (tpl_X7k, tpl_X7n, tpl_X5n, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X5n }, case tup_swta of _ [Occ=Dead] { (tpl_X7k, tpl_X7n, tpl_X5n, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B4 }, $dBits_swt8, $dResize_swt7, $dKnownNat_swt6, case tup_swta of _ [Occ=Dead] { (tpl_X7k, tpl_X7n, tpl_X5n, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B8 }, $dBits_swt5, $dKnownNat_swt4, case tup_swta of _ [Occ=Dead] { (tpl_X7k, tpl_X7n, tpl_X5n, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bb }, case tup_swta of _ [Occ=Dead] { (tpl_X7k, tpl_X7n, tpl_X5n, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bc }) eta_X3p) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:AResultFixedFixed[0] _N _N _N _N _N)) :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh)) } $cplus_avDP :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [40 0 0] 430 0}] $cplus_avDP = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (eta_X1J :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (eta_X3r :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> let { tup_swsS :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_swsS = case tup_avDN of _ [Occ=Dead] { (tpl_X1M, tpl_X1O, tpl_B3) -> tpl_X1O } } in let { $dBounded_swsR :: GHC.Enum.Bounded (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBounded_swsR = case tup_swsS of _ [Occ=Dead] { (tpl_X1O, tpl_X1Q, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X1O } } in let { $dBits_swsQ :: Data.Bits.Bits (rep_auHe size2_auHh) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_swsQ = case tup_swsS of _ [Occ=Dead] { (tpl_X1Q, tpl_X1S, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B5 } } in let { $dResize_swsP :: CLaSH.Class.Num.Resize rep_auHe [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dResize_swsP = case tup_swsS of _ [Occ=Dead] { (tpl_X1S, tpl_X1U, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B6 } } in let { $dKnownNat_swsO :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swsO = case tup_swsS of _ [Occ=Dead] { (tpl_X1U, tpl_X1W, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 } } in let { $dBits_swsN :: Data.Bits.Bits (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_swsN = case tup_swsS of _ [Occ=Dead] { (tpl_X1W, tpl_X1Y, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B9 } } in let { $dKnownNat_swsM :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swsM = case tup_swsS of _ [Occ=Dead] { (tpl_X1Y, tpl_X20, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Ba } } in case tup_avDN of _ [Occ=Dead] { (tpl_X23, tpl_X25, tpl_B3) -> (GHC.Num.+ @ (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) tpl_B3 (let { $dBits_swsK :: Data.Bits.Bits (rep_auHe size1_auHf) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_swsK = case tpl_X23 of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_X5q, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B5 } } in (CLaSH.Sized.Fixed.resizeF @ frac1_auHd @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size1_auHf @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ($dBounded_swsR, Data.Bits.$p1Bits @ (rep_auHe size1_auHf) $dBits_swsK, case tpl_X23 of _ [Occ=Dead] { (tpl_X45, tpl_X7s, tpl_X5r, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X5r }, case tpl_X23 of _ [Occ=Dead] { (tpl_X7p, tpl_X48, tpl_X5r, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B4 }, $dBits_swsK, $dResize_swsP, $dKnownNat_swsO, case tpl_X23 of _ [Occ=Dead] { (tpl_X7p, tpl_X7s, tpl_X5r, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B8 }, $dBits_swsN, $dKnownNat_swsM, case tpl_X23 of _ [Occ=Dead] { (tpl_X7p, tpl_X7s, tpl_X5r, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bb }, case tpl_X23 of _ [Occ=Dead] { (tpl_X7p, tpl_X7s, tpl_X5r, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bc }) eta_X1J) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1))) ((CLaSH.Sized.Fixed.resizeF @ frac2_auHg @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size2_auHh @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ($dBounded_swsR, Data.Bits.$p1Bits @ (rep_auHe size2_auHh) $dBits_swsQ, case tup_swsS of _ [Occ=Dead] { (tpl_X7m, tpl_X7p, tpl_X5o, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X5o }, case tup_swsS of _ [Occ=Dead] { (tpl_X7m, tpl_X7p, tpl_X5o, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B4 }, $dBits_swsQ, $dResize_swsP, $dKnownNat_swsO, case tup_swsS of _ [Occ=Dead] { (tpl_X7m, tpl_X7p, tpl_X5o, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B8 }, $dBits_swsN, $dKnownNat_swsM, case tup_swsS of _ [Occ=Dead] { (tpl_X7m, tpl_X7p, tpl_X5o, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bb }, case tup_swsS of _ [Occ=Dead] { (tpl_X7m, tpl_X7p, tpl_X5o, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bc }) eta_X3r) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:AResultFixedFixed[0] _N _N _N _N _N)) :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh)) } CLaSH.Sized.Fixed.$fAddFixedFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Class.Num.Add (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclIdX[DFunId], Arity=1, Str=DmdType, Unf=DFun: \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) -> CLaSH.Class.Num.D:Add TYPE CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf TYPE CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh $cplus_avDP @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN $cminus_avEx @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN] CLaSH.Sized.Fixed.$fAddFixedFixed = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) -> CLaSH.Class.Num.D:Add @ (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) @ (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) ($cplus_avDP @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN) ($cminus_avEx @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN) $cfromInteger_avDp :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => GHC.Integer.Type.Integer -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [20 0] 130 0}] $cfromInteger_avDp = \ (@ (frac_auGY :: GHC.TypeLits.Nat)) (@ (rep_auGZ :: GHC.TypeLits.Nat -> *)) (@ (size_auH0 :: GHC.TypeLits.Nat)) (tup_avBm :: CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) (eta_X1I :: GHC.Integer.Type.Integer) -> case tup_avBm of _ [Occ=Dead] { (tpl_X1L, tpl_X1N, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> case tpl_X1N of _ [Occ=Dead] { (tpl_X1M, tpl_X1O, tpl_X3i, tpl_X3k, tpl_X3m, tpl_X3o, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> (Data.Bits.shiftL @ (rep_auGZ size_auH0) tpl_B9 (GHC.Num.fromInteger @ (rep_auGZ size_auH0) tpl_B3 eta_X1I) (case GHC.Integer.Type.integerToInt (tpl_Ba `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_auGY ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> GHC.Types.I# wild_akCB })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auGZ size_auH0 ~# CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) } } a_swkh :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [20 0] 40 0}] a_swkh = \ (@ (frac_auGY :: GHC.TypeLits.Nat)) (@ (rep_auGZ :: GHC.TypeLits.Nat -> *)) (@ (size_auH0 :: GHC.TypeLits.Nat)) (tup_avBm :: CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) (eta_X1J :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) -> case tup_avBm of _ [Occ=Dead] { (tpl_X1L, tpl_X1N, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> GHC.Num.signum @ (rep_auGZ size_auH0) tpl_B3 (eta_X1J `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 ~# rep_auGZ size_auH0)) } $cabs_avCW :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0] 253 0}] $cabs_avCW = \ (@ (frac_XuIJ :: GHC.TypeLits.Nat)) (@ (rep_XuIL :: GHC.TypeLits.Nat -> *)) (@ (size_XuIN :: GHC.TypeLits.Nat)) (tup_XvDa :: CLaSH.Sized.Fixed.NumFixed frac_XuIJ rep_XuIL size_XuIN) (eta_X1Q :: CLaSH.Sized.Fixed.Fixed frac_XuIJ rep_XuIL size_XuIN) -> let { tup_swsy :: CLaSH.Sized.Fixed.ResizeFC rep_XuIL (frac_XuIJ GHC.TypeLits.+ frac_XuIJ) frac_XuIJ (size_XuIN GHC.TypeLits.+ size_XuIN) size_XuIN [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_swsy = case tup_XvDa of _ [Occ=Dead] { (tpl_X1T, tpl_X1V, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X1V } } in let { $dKnownNat_swsx :: GHC.TypeLits.KnownNat size_XuIN [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swsx = case tup_swsy of _ [Occ=Dead] { (tpl_X1V, tpl_X1X, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 } } in let { tup_swsw :: CLaSH.Sized.Fixed.SatN2C rep_XuIL size_XuIN [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_swsw = case tup_XvDa of _ [Occ=Dead] { (tpl_X1X, tpl_X1Z, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X1X } } in let { $dKnownNat_swsv :: GHC.TypeLits.KnownNat (size_XuIN GHC.TypeLits.+ 2) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swsv = case tup_swsw of _ [Occ=Dead] { (tpl_X1Z, tpl_X21, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B8 } } in (CLaSH.Sized.Fixed.satN2 @ rep_XuIL @ size_XuIN (case tup_swsw of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X20 }, case tup_swsw of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X22 }, case tup_swsw of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B3 }, case tup_swsw of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B4 }, case tup_swsw of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B5 }, case tup_swsw of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B6 }, $dKnownNat_swsx, $dKnownNat_swsv, case tup_swsy of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X20 }, case tup_swsw of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_Ba }) (case tup_XvDa of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> GHC.Num.abs @ (rep_XuIL (size_XuIN GHC.TypeLits.+ 2)) tpl_B4 (case tup_swsy of _ [Occ=Dead] { (tpl_X7i, tpl_X7l, tpl_X5n, tpl_X5p, tpl_X5r, tpl_X5t, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> (tpl_X5t `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuIL ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuIL a_ae8M -> rep_XuIL b_ae8N))) @ size_XuIN @ (size_XuIN GHC.TypeLits.+ 2) $dKnownNat_swsx $dKnownNat_swsv (eta_X1Q `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIJ rep_XuIL size_XuIN ~# rep_XuIL size_XuIN)) }) })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIL size_XuIN ~# CLaSH.Sized.Fixed.Fixed frac_XuIJ rep_XuIL size_XuIN) $cnegate_avCC :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0] 253 0}] $cnegate_avCC = \ (@ (frac_XuIK :: GHC.TypeLits.Nat)) (@ (rep_XuIM :: GHC.TypeLits.Nat -> *)) (@ (size_XuIO :: GHC.TypeLits.Nat)) (tup_XvDb :: CLaSH.Sized.Fixed.NumFixed frac_XuIK rep_XuIM size_XuIO) (eta_X1R :: CLaSH.Sized.Fixed.Fixed frac_XuIK rep_XuIM size_XuIO) -> let { tup_swsq :: CLaSH.Sized.Fixed.ResizeFC rep_XuIM (frac_XuIK GHC.TypeLits.+ frac_XuIK) frac_XuIK (size_XuIO GHC.TypeLits.+ size_XuIO) size_XuIO [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_swsq = case tup_XvDb of _ [Occ=Dead] { (tpl_X1U, tpl_X1W, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X1W } } in let { $dKnownNat_swsp :: GHC.TypeLits.KnownNat size_XuIO [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swsp = case tup_swsq of _ [Occ=Dead] { (tpl_X1W, tpl_X1Y, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 } } in let { tup_swso :: CLaSH.Sized.Fixed.SatN2C rep_XuIM size_XuIO [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_swso = case tup_XvDb of _ [Occ=Dead] { (tpl_X1Y, tpl_X20, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X1Y } } in let { $dKnownNat_swsn :: GHC.TypeLits.KnownNat (size_XuIO GHC.TypeLits.+ 2) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swsn = case tup_swso of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B8 } } in (CLaSH.Sized.Fixed.satN2 @ rep_XuIM @ size_XuIO (case tup_swso of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X21 }, case tup_swso of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X23 }, case tup_swso of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B3 }, case tup_swso of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B4 }, case tup_swso of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B5 }, case tup_swso of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B6 }, $dKnownNat_swsp, $dKnownNat_swsn, case tup_swsq of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X21 }, case tup_swso of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_Ba }) (case tup_XvDb of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> GHC.Num.negate @ (rep_XuIM (size_XuIO GHC.TypeLits.+ 2)) tpl_B4 (case tup_swsq of _ [Occ=Dead] { (tpl_X7k, tpl_X7n, tpl_X5o, tpl_X5q, tpl_X5s, tpl_X5u, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> (tpl_X5u `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuIM ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuIM a_ae8M -> rep_XuIM b_ae8N))) @ size_XuIO @ (size_XuIO GHC.TypeLits.+ 2) $dKnownNat_swsp $dKnownNat_swsn (eta_X1R `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIK rep_XuIM size_XuIO ~# rep_XuIM size_XuIO)) }) })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIM size_XuIO ~# CLaSH.Sized.Fixed.Fixed frac_XuIK rep_XuIM size_XuIO) $c-_avCb :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0 0] 276 0}] $c-_avCb = \ (@ (frac_XuIL :: GHC.TypeLits.Nat)) (@ (rep_XuIN :: GHC.TypeLits.Nat -> *)) (@ (size_XuIP :: GHC.TypeLits.Nat)) (tup_XvDc :: CLaSH.Sized.Fixed.NumFixed frac_XuIL rep_XuIN size_XuIP) (eta_X1T :: CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP) (eta_X3L :: CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP) -> let { tup_swsi :: CLaSH.Sized.Fixed.ResizeFC rep_XuIN (frac_XuIL GHC.TypeLits.+ frac_XuIL) frac_XuIL (size_XuIP GHC.TypeLits.+ size_XuIP) size_XuIP [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_swsi = case tup_XvDc of _ [Occ=Dead] { (tpl_X1W, tpl_X1Y, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X1Y } } in let { $dKnownNat_swsg :: GHC.TypeLits.KnownNat size_XuIP [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swsg = case tup_swsi of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 } } in let { tup_swsf :: CLaSH.Sized.Fixed.SatN2C rep_XuIN size_XuIP [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_swsf = case tup_XvDc of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X22 } } in let { $dKnownNat_swse :: GHC.TypeLits.KnownNat (size_XuIP GHC.TypeLits.+ 2) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swse = case tup_swsf of _ [Occ=Dead] { (tpl_X24, tpl_X26, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B8 } } in (CLaSH.Sized.Fixed.satN2 @ rep_XuIN @ size_XuIP (case tup_swsf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X25 }, case tup_swsf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X27 }, case tup_swsf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B3 }, case tup_swsf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B4 }, case tup_swsf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B5 }, case tup_swsf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B6 }, $dKnownNat_swsg, $dKnownNat_swse, case tup_swsi of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X25 }, case tup_swsf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_Ba }) (case tup_XvDc of _ [Occ=Dead] { (tpl_X49, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> GHC.Num.- @ (rep_XuIN (size_XuIP GHC.TypeLits.+ 2)) tpl_B4 (case tup_swsi of _ [Occ=Dead] { (tpl_X1Y, tpl_X20, tpl_X5s, tpl_X5u, tpl_X5w, tpl_X5y, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> (tpl_X5y `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuIN ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuIN a_ae8M -> rep_XuIN b_ae8N))) @ size_XuIP @ (size_XuIP GHC.TypeLits.+ 2) $dKnownNat_swsg $dKnownNat_swse (eta_X1T `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP ~# rep_XuIN size_XuIP)) }) (case tup_swsi of _ [Occ=Dead] { (tpl_X1Y, tpl_X20, tpl_X5s, tpl_X5u, tpl_X5w, tpl_X5y, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> (tpl_X5y `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuIN ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuIN a_ae8M -> rep_XuIN b_ae8N))) @ size_XuIP @ (size_XuIP GHC.TypeLits.+ 2) $dKnownNat_swsg $dKnownNat_swse (eta_X3L `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP ~# rep_XuIN size_XuIP)) }) })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIN size_XuIP ~# CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP) $c*_avBP :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [40 0 0] 222 0}] $c*_avBP = \ (@ (frac_XuIM :: GHC.TypeLits.Nat)) (@ (rep_XuIO :: GHC.TypeLits.Nat -> *)) (@ (size_XuIQ :: GHC.TypeLits.Nat)) (tup_XvDd :: CLaSH.Sized.Fixed.NumFixed frac_XuIM rep_XuIO size_XuIQ) (eta_X1U :: CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ) (eta_X3N :: CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ) -> let { tup_sws8 :: CLaSH.Sized.Fixed.ResizeFC rep_XuIO (frac_XuIM GHC.TypeLits.+ frac_XuIM) frac_XuIM (size_XuIQ GHC.TypeLits.+ size_XuIQ) size_XuIQ [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_sws8 = case tup_XvDd of _ [Occ=Dead] { (tpl_X1X, tpl_X1Z, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X1Z } } in let { $dBits_sws7 :: Data.Bits.Bits (rep_XuIO (size_XuIQ GHC.TypeLits.+ size_XuIQ)) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_sws7 = case tup_sws8 of _ [Occ=Dead] { (tpl_X1Z, tpl_X21, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B5 } } in CLaSH.Sized.Fixed.resizeF @ (frac_XuIM GHC.TypeLits.+ frac_XuIM) @ frac_XuIM @ rep_XuIO @ (size_XuIQ GHC.TypeLits.+ size_XuIQ) @ size_XuIQ (case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X20 }, Data.Bits.$p1Bits @ (rep_XuIO (size_XuIQ GHC.TypeLits.+ size_XuIQ)) $dBits_sws7, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B3 }, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B4 }, $dBits_sws7, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B6 }, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 }, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B8 }, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B9 }, case tup_sws8 of _ [Occ=Dead] { (tpl_X3Z, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Ba }, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X42, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bb }, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bc }) (case tup_XvDd of _ [Occ=Dead] { (tpl_Xk, tpl_Xm, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> case tpl_B6 of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw1a -> ((tpl_B5 `cast` (CLaSH.Class.Num.NTCo:Mult[0] _N _N :: CLaSH.Class.Num.Mult (rep_XuIO size_XuIQ) (rep_XuIO size_XuIQ) ~# (rep_XuIO size_XuIQ -> rep_XuIO size_XuIQ -> CLaSH.Class.Num.MResult (rep_XuIO size_XuIQ) (rep_XuIO size_XuIQ)))) (eta_X1U `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ ~# rep_XuIO size_XuIQ)) (eta_X3N `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ ~# rep_XuIO size_XuIQ))) `cast` (Sub cobox_dw1a ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: CLaSH.Class.Num.MResult (rep_XuIO size_XuIQ) (rep_XuIO size_XuIQ) ~# CLaSH.Sized.Fixed.Fixed (frac_XuIM GHC.TypeLits.+ frac_XuIM) rep_XuIO (size_XuIQ GHC.TypeLits.+ size_XuIQ)) } }) $c+_avBo :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0 0] 276 0}] $c+_avBo = \ (@ (frac_XuIN :: GHC.TypeLits.Nat)) (@ (rep_XuIP :: GHC.TypeLits.Nat -> *)) (@ (size_XuIR :: GHC.TypeLits.Nat)) (tup_XvDe :: CLaSH.Sized.Fixed.NumFixed frac_XuIN rep_XuIP size_XuIR) (eta_X1V :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) (eta_X3P :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) -> let { tup_sws4 :: CLaSH.Sized.Fixed.ResizeFC rep_XuIP (frac_XuIN GHC.TypeLits.+ frac_XuIN) frac_XuIN (size_XuIR GHC.TypeLits.+ size_XuIR) size_XuIR [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_sws4 = case tup_XvDe of _ [Occ=Dead] { (tpl_X1Y, tpl_X20, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X20 } } in let { $dKnownNat_sws2 :: GHC.TypeLits.KnownNat size_XuIR [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_sws2 = case tup_sws4 of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 } } in let { tup_sws1 :: CLaSH.Sized.Fixed.SatN2C rep_XuIP size_XuIR [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_sws1 = case tup_XvDe of _ [Occ=Dead] { (tpl_X24, tpl_X26, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X24 } } in let { $dKnownNat_sws0 :: GHC.TypeLits.KnownNat (size_XuIR GHC.TypeLits.+ 2) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_sws0 = case tup_sws1 of _ [Occ=Dead] { (tpl_X26, tpl_X28, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B8 } } in (CLaSH.Sized.Fixed.satN2 @ rep_XuIP @ size_XuIR (case tup_sws1 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X27 }, case tup_sws1 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X29 }, case tup_sws1 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B3 }, case tup_sws1 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B4 }, case tup_sws1 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B5 }, case tup_sws1 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B6 }, $dKnownNat_sws2, $dKnownNat_sws0, case tup_sws4 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X27 }, case tup_sws1 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_Ba }) (case tup_XvDe of _ [Occ=Dead] { (tpl_X4d, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> GHC.Num.+ @ (rep_XuIP (size_XuIR GHC.TypeLits.+ 2)) tpl_B4 (case tup_sws4 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_X5u, tpl_X5w, tpl_X5y, tpl_X5A, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> (tpl_X5A `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuIP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuIP a_ae8M -> rep_XuIP b_ae8N))) @ size_XuIR @ (size_XuIR GHC.TypeLits.+ 2) $dKnownNat_sws2 $dKnownNat_sws0 (eta_X1V `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR ~# rep_XuIP size_XuIR)) }) (case tup_sws4 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_X5u, tpl_X5w, tpl_X5y, tpl_X5A, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> (tpl_X5A `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuIP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuIP a_ae8M -> rep_XuIP b_ae8N))) @ size_XuIR @ (size_XuIR GHC.TypeLits.+ 2) $dKnownNat_sws2 $dKnownNat_sws0 (eta_X3P `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR ~# rep_XuIP size_XuIR)) }) })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIP size_XuIR ~# CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) CLaSH.Sized.Fixed.$fNumFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => GHC.Num.Num (CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) [LclIdX[DFunId], Arity=1, Str=DmdType, Unf=DFun: \ (@ (frac_XuIO :: GHC.TypeLits.Nat)) (@ (rep_XuIQ :: GHC.TypeLits.Nat -> *)) (@ (size_XuIS :: GHC.TypeLits.Nat)) (tup_XvDf :: CLaSH.Sized.Fixed.NumFixed frac_XuIO rep_XuIQ size_XuIS) -> GHC.Num.D:Num TYPE CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS $c+_avBo @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $c*_avBP @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $c-_avCb @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $cnegate_avCC @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $cabs_avCW @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf (a_swkh @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) `cast` (_R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> rep_XuIQ size_XuIS) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS)) $cfromInteger_avDp @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf] CLaSH.Sized.Fixed.$fNumFixed = \ (@ (frac_XuIO :: GHC.TypeLits.Nat)) (@ (rep_XuIQ :: GHC.TypeLits.Nat -> *)) (@ (size_XuIS :: GHC.TypeLits.Nat)) (tup_XvDf :: CLaSH.Sized.Fixed.NumFixed frac_XuIO rep_XuIQ size_XuIS) -> GHC.Num.D:Num @ (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS) ($c+_avBo @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($c*_avBP @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($c-_avCb @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($cnegate_avCC @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($cabs_avCW @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ((a_swkh @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) `cast` (_R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> rep_XuIQ size_XuIS) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS))) ($cfromInteger_avDp @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) CLaSH.Sized.Fixed.$fBitVectorFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV) => CLaSH.Class.BitVector.BitVector (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV) [LclIdX[DFunId], Arity=1, Str=DmdType, Unf=DFun: \ (@ (frac_XuIN :: GHC.TypeLits.Nat)) (@ (rep_XuIP :: GHC.TypeLits.Nat -> *)) (@ (size_XuIR :: GHC.TypeLits.Nat)) ($dBitVector_XvCT :: CLaSH.Class.BitVector.BitVector (rep_XuIP size_XuIR)) -> CLaSH.Class.BitVector.D:BitVector TYPE CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR (\ ($dKnownNat_avB0 :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (ds_dw0H :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) -> CLaSH.Class.BitVector.toBV @ (rep_XuIP size_XuIR) $dBitVector_XvCT ($dKnownNat_avB0 `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (ds_dw0H `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR ~# rep_XuIP size_XuIR))) `cast` (_R -> _R -> (CLaSH.Sized.Vector.Vec (Sym (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N)) _R)_R :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit)) (\ ($dKnownNat_avBa :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (bv_auGX :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit) -> CLaSH.Class.BitVector.fromBV @ (rep_XuIP size_XuIR) $dBitVector_XvCT ($dKnownNat_avBa `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (bv_auGX `cast` ((CLaSH.Sized.Vector.Vec (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit))) `cast` (_R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> rep_XuIP size_XuIR) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))] CLaSH.Sized.Fixed.$fBitVectorFixed = \ (@ (frac_XuIN :: GHC.TypeLits.Nat)) (@ (rep_XuIP :: GHC.TypeLits.Nat -> *)) (@ (size_XuIR :: GHC.TypeLits.Nat)) ($dBitVector_XvCT :: CLaSH.Class.BitVector.BitVector (rep_XuIP size_XuIR)) -> CLaSH.Class.BitVector.D:BitVector @ (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) ((\ ($dKnownNat_avB0 :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (ds_dw0H :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) -> CLaSH.Class.BitVector.toBV @ (rep_XuIP size_XuIR) $dBitVector_XvCT ($dKnownNat_avB0 `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (ds_dw0H `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR ~# rep_XuIP size_XuIR))) `cast` (_R -> _R -> (CLaSH.Sized.Vector.Vec (Sym (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N)) _R)_R :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit))) ((\ ($dKnownNat_avBa :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (bv_auGX :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit) -> CLaSH.Class.BitVector.fromBV @ (rep_XuIP size_XuIR) $dBitVector_XvCT ($dKnownNat_avBa `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (bv_auGX `cast` ((CLaSH.Sized.Vector.Vec (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit))) `cast` (_R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> rep_XuIP size_XuIR) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) a_swC4 :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => Data.Default.Class.Default (rep_auGM size_auGN) [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swC4 = \ (@ (frac_auGL :: GHC.TypeLits.Nat)) (@ (rep_auGM :: GHC.TypeLits.Nat -> *)) (@ (size_auGN :: GHC.TypeLits.Nat)) ($dDefault_avAe :: Data.Default.Class.Default (rep_auGM size_auGN)) -> $dDefault_avAe $cdef_avAg :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => CLaSH.Sized.Fixed.Fixed frac_auGL rep_auGM size_auGN [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $cdef_avAg = a_swC4 `cast` (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). _R -> Data.Default.Class.NTCo:Default[0] _N ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => Data.Default.Class.Default (rep_XuLZ size_XuM1)) ~# (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => CLaSH.Sized.Fixed.Fixed frac_XuLX rep_XuLZ size_XuM1)) CLaSH.Sized.Fixed.$fDefaultFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_auGL rep_auGM size_auGN) [LclIdX[DFunId(nt)], Arity=1, Str=DmdType, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= $cdef_avAg `cast` (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). _R -> Sym (Data.Default.Class.NTCo:Default[0] _N) :: (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuIO size_XuIQ) => CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ) ~# (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuIO size_XuIQ) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ)))}] CLaSH.Sized.Fixed.$fDefaultFixed = a_swC4 `cast` (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). _R -> Data.Default.Class.NTCo:Default[0] _N ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sym (Data.Default.Class.NTCo:Default[0] _N) :: (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => Data.Default.Class.Default (rep_XuLZ size_XuM1)) ~# (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_XuLX rep_XuLZ size_XuM1))) CLaSH.Sized.Fixed.$fBoundedFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_auGJ size_auGK) => GHC.Enum.Bounded (CLaSH.Sized.Fixed.Fixed frac_auGI rep_auGJ size_auGK) [LclIdX[DFunId], Arity=1, Str=DmdType, Unf=DFun: \ (@ (frac_XuIW :: GHC.TypeLits.Nat)) (@ (rep_XuIY :: GHC.TypeLits.Nat -> *)) (@ (size_XuJ0 :: GHC.TypeLits.Nat)) ($dBounded_XvCa :: GHC.Enum.Bounded (rep_XuIY size_XuJ0)) -> GHC.Enum.D:Bounded TYPE CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0 (GHC.Enum.minBound @ (rep_XuIY size_XuJ0) $dBounded_XvCa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0) (GHC.Enum.maxBound @ (rep_XuIY size_XuJ0) $dBounded_XvCa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0)] CLaSH.Sized.Fixed.$fBoundedFixed = \ (@ (frac_XuIW :: GHC.TypeLits.Nat)) (@ (rep_XuIY :: GHC.TypeLits.Nat -> *)) (@ (size_XuJ0 :: GHC.TypeLits.Nat)) ($dBounded_XvCa :: GHC.Enum.Bounded (rep_XuIY size_XuJ0)) -> GHC.Enum.D:Bounded @ (CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0) ((GHC.Enum.minBound @ (rep_XuIY size_XuJ0) $dBounded_XvCa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0)) ((GHC.Enum.maxBound @ (rep_XuIY size_XuJ0) $dBounded_XvCa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0)) CLaSH.Sized.Fixed.$fOrdFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => GHC.Classes.Ord (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) [LclIdX[DFunId[1]], Arity=2, Str=DmdType, Unf=DFun: \ (@ (frac_XuIv :: GHC.TypeLits.Nat)) (@ (rep_XuIx :: GHC.TypeLits.Nat -> *)) (@ (size_XuIz :: GHC.TypeLits.Nat)) ($dEq_XvB3 :: GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) ($dOrd_XvB5 :: GHC.Classes.Ord (rep_XuIx size_XuIz)) -> GHC.Classes.D:Ord TYPE CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz $dEq_XvB3 (GHC.Classes.compare @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Ordering) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Ordering)) (GHC.Classes.< @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) (GHC.Classes.>= @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) (GHC.Classes.> @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) (GHC.Classes.<= @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) (GHC.Classes.max @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) (GHC.Classes.min @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz))] CLaSH.Sized.Fixed.$fOrdFixed = \ (@ (frac_XuIv :: GHC.TypeLits.Nat)) (@ (rep_XuIx :: GHC.TypeLits.Nat -> *)) (@ (size_XuIz :: GHC.TypeLits.Nat)) ($dEq_XvB3 :: GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) ($dOrd_XvB5 :: GHC.Classes.Ord (rep_XuIx size_XuIz)) -> GHC.Classes.D:Ord @ (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz) $dEq_XvB3 ((GHC.Classes.compare @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Ordering) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Ordering))) ((GHC.Classes.< @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.>= @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.> @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.<= @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.max @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz))) ((GHC.Classes.min @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz))) CLaSH.Sized.Fixed.$fEqFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_auFG size_auFH) => GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) [LclIdX[DFunId], Arity=1, Str=DmdType, Unf=DFun: \ (@ (frac_XuII :: GHC.TypeLits.Nat)) (@ (rep_XuIK :: GHC.TypeLits.Nat -> *)) (@ (size_XuIM :: GHC.TypeLits.Nat)) ($dEq_XvAL :: GHC.Classes.Eq (rep_XuIK size_XuIM)) -> GHC.Classes.D:Eq TYPE CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM (GHC.Classes.== @ (rep_XuIK size_XuIM) $dEq_XvAL) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool)) (GHC.Classes./= @ (rep_XuIK size_XuIM) $dEq_XvAL) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool))] CLaSH.Sized.Fixed.$fEqFixed = \ (@ (frac_XuII :: GHC.TypeLits.Nat)) (@ (rep_XuIK :: GHC.TypeLits.Nat -> *)) (@ (size_XuIM :: GHC.TypeLits.Nat)) ($dEq_XvAL :: GHC.Classes.Eq (rep_XuIK size_XuIM)) -> GHC.Classes.D:Eq @ (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM) ((GHC.Classes.== @ (rep_XuIK size_XuIM) $dEq_XvAL) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool))) ((GHC.Classes./= @ (rep_XuIK size_XuIM) $dEq_XvAL) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool))) a_swC6 :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] a_swC6 = GHC.CString.unpackCString# "Fixed"# a_swC9 :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 0}] a_swC9 = GHC.CString.unpackCString# "clash-prelude-0.5"# a_swCb :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 0}] a_swCb = GHC.CString.unpackCString# "CLaSH.Sized.Fixed"# a_swC7 :: Language.Haskell.TH.Syntax.NameFlavour [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}] a_swC7 = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.DataName (a_swC9 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a_swCb `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) lvl_swwh :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] lvl_swwh = Language.Haskell.TH.Syntax.Name (a_swC6 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a_swC7 a_swCc :: forall (m_XfCO :: * -> *). Language.Haskell.TH.Syntax.Quasi m_XfCO => m_XfCO Language.Haskell.TH.Syntax.Exp [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [30] 60 0}] a_swCc = \ (@ (m_XfCO :: * -> *)) (eta_XfCQ :: Language.Haskell.TH.Syntax.Quasi m_XfCO) -> GHC.Base.return @ m_XfCO (Language.Haskell.TH.Syntax.$p1Quasi @ m_XfCO eta_XfCQ) @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.ConE lvl_swwh) a_swCe :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] a_swCe = GHC.CString.unpackCString# "Fixed"# a_swCh :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 0}] a_swCh = GHC.CString.unpackCString# "clash-prelude-0.5"# a_swCj :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 0}] a_swCj = GHC.CString.unpackCString# "CLaSH.Sized.Fixed"# a_swCf :: Language.Haskell.TH.Syntax.NameFlavour [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}] a_swCf = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.TcClsName (a_swCh `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a_swCj `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) lvl_swwp :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] lvl_swwp = Language.Haskell.TH.Syntax.Name (a_swCe `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a_swCf a_swCk :: forall (m_a4Ni :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4Ni => m_a4Ni Language.Haskell.TH.Syntax.Type [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [30] 60 0}] a_swCk = \ (@ (m_a4Ni :: * -> *)) (eta_a4Nj :: Language.Haskell.TH.Syntax.Quasi m_a4Ni) -> GHC.Base.return @ m_a4Ni (Language.Haskell.TH.Syntax.$p1Quasi @ m_a4Ni eta_a4Nj) @ Language.Haskell.TH.Syntax.Type (Language.Haskell.TH.Syntax.ConT lvl_swwp) a_swCv :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> forall (m_akMz :: * -> *). Language.Haskell.TH.Syntax.Quasi m_akMz => m_akMz Language.Haskell.TH.Syntax.Exp [LclId, Arity=5, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0 0 0 0] 654 60}] a_swCv = \ (@ (frac_auGO :: GHC.TypeLits.Nat)) (@ (rep_auGP :: GHC.TypeLits.Nat -> *)) (@ (size_auGQ :: GHC.TypeLits.Nat)) ($dLift_avAq :: Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ)) ($dKnownNat_avAr :: GHC.TypeLits.KnownNat frac_auGO) ($dKnownNat_avAs :: GHC.TypeLits.KnownNat size_auGQ) ($dTypeable_avAt :: Data.Typeable.Internal.Typeable rep_auGP) (f_auGR :: CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ) -> Language.Haskell.TH.Lib.sigE1 ((Language.Haskell.TH.Lib.appE1 (a_swCc `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp)) (($dLift_avAq `cast` (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N :: Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ) ~# (rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp))) (f_auGR `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ ~# rep_auGP size_auGQ)))) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp)) (letrec { lgo_awhL [Occ=LoopBreaker] :: Language.Haskell.TH.Lib.TypeQ -> [Language.Haskell.TH.Lib.TypeQ] -> Language.Haskell.TH.Lib.TypeQ [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=, TopLvl=False, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 30] 80 0}] lgo_awhL = \ (z_awhM :: Language.Haskell.TH.Lib.TypeQ) (ds_awhN :: [Language.Haskell.TH.Lib.TypeQ]) -> case ds_awhN of _ [Occ=Dead] { [] -> z_awhM; : x_awhS xs_awhT -> lgo_awhL ((Language.Haskell.TH.Lib.appT1 z_awhM x_awhS) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) xs_awhT }; } in lgo_awhL (a_swCk `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (GHC.Types.: @ Language.Haskell.TH.Lib.TypeQ (let { l_a5DZ :: Language.Haskell.TH.Lib.TyLitQ [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 20 0}] l_a5DZ = Language.Haskell.TH.Lib.numTyLit ($dKnownNat_avAr `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_auGO ~# GHC.Integer.Type.Integer)) } in (\ (@ (m_a5E0 :: * -> *)) (eta_a5E1 :: Language.Haskell.TH.Syntax.Quasi m_a5E0) -> GHC.Base.fmap @ m_a5E0 (Control.Applicative.$p1Applicative @ m_a5E0 (Language.Haskell.TH.Syntax.$p2Quasi @ m_a5E0 eta_a5E1)) @ Language.Haskell.TH.Syntax.TyLit @ Language.Haskell.TH.Syntax.Type Language.Haskell.TH.Syntax.LitT ((l_a5DZ `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.TyLit ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.TyLit))) @ m_a5E0 eta_a5E1)) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (GHC.Types.: @ Language.Haskell.TH.Lib.TypeQ (let { x_X4Ts :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 101 0}] x_X4Ts = Language.Haskell.TH.Syntax.mkName_split (GHC.Types.[] @ GHC.Types.Char) (GHC.List.reverse1 @ GHC.Types.Char (Data.Typeable.Internal.$fShowTypeRep_$cshowsPrec GHC.Show.shows27 (($dTypeable_avAt `cast` (Data.Typeable.Internal.NTCo:Typeable[0] *>_N _N :: Data.Typeable.Internal.Typeable rep_auGP ~# (GHC.Prim.Proxy# rep_auGP -> Data.Typeable.Internal.TypeRep))) (GHC.Prim.proxy# @ (GHC.TypeLits.Nat -> *) @ rep_auGP)) (GHC.Types.[] @ GHC.Types.Char)) (GHC.Types.[] @ GHC.Types.Char)) } in (\ (@ (m_X4Tv :: * -> *)) (eta_X4Tx :: Language.Haskell.TH.Syntax.Quasi m_X4Tv) -> GHC.Base.return @ m_X4Tv (Language.Haskell.TH.Syntax.$p1Quasi @ m_X4Tv eta_X4Tx) @ Language.Haskell.TH.Syntax.Type (Language.Haskell.TH.Syntax.ConT x_X4Ts)) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (GHC.Types.: @ Language.Haskell.TH.Lib.TypeQ (let { l_a5DZ :: Language.Haskell.TH.Lib.TyLitQ [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 20 0}] l_a5DZ = Language.Haskell.TH.Lib.numTyLit ($dKnownNat_avAs `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat size_auGQ ~# GHC.Integer.Type.Integer)) } in (\ (@ (m_a5E0 :: * -> *)) (eta_a5E1 :: Language.Haskell.TH.Syntax.Quasi m_a5E0) -> GHC.Base.fmap @ m_a5E0 (Control.Applicative.$p1Applicative @ m_a5E0 (Language.Haskell.TH.Syntax.$p2Quasi @ m_a5E0 eta_a5E1)) @ Language.Haskell.TH.Syntax.TyLit @ Language.Haskell.TH.Syntax.Type Language.Haskell.TH.Syntax.LitT ((l_a5DZ `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.TyLit ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.TyLit))) @ m_a5E0 eta_a5E1)) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (GHC.Types.[] @ Language.Haskell.TH.Lib.TypeQ))))) $clift_avAv :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp [LclId, Arity=5, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $clift_avAv = a_swCv `cast` (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp)) CLaSH.Sized.Fixed.$fLiftFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ) [LclIdX[DFunId(nt)], Arity=5, Str=DmdType, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=4, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= $clift_avAv `cast` (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N) :: (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ)))}] CLaSH.Sized.Fixed.$fLiftFixed = a_swCv `cast` (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> (_R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N)) ; Sym (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N) :: (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ))) ------ Local rules for imported ids -------- "SPEC GHC.Real.^ [GHC.Types.Double, GHC.Integer.Type.Integer]" [1] forall ($dNum_swu4 :: GHC.Num.Num GHC.Types.Double) ($dIntegral_swu5 :: GHC.Real.Integral GHC.Integer.Type.Integer). GHC.Real.^ @ GHC.Types.Double @ GHC.Integer.Type.Integer $dNum_swu4 $dIntegral_swu5 = $s^_swu6 *** Simplifier: SimplBind [lvl_swvg{v} [lid]] SimplBind [lvl_swve{v} [lid]] SimplBind [lvl_swv0{v} [lid]] SimplBind [lvl_swv2{v} [lid]] SimplBind [lvl_swv4{v} [lid]] SimplBind [lvl_swv6{v} [lid]] SimplBind [g1{v swuY} [lid]] SimplBind [lvl_swuS{v} [lid]] SimplBind [lvl_swv8{v} [lid]] SimplBind [lvl_swva{v} [lid]] SimplBind [lvl_swvc{v} [lid]] SimplBind [f{v swuQ} [lid]] SimplBind [lvl_swuH{v} [lid]] SimplBind [lvl_swuK{v} [lid]] SimplBind [$s^{v swu6} [lid]] SimplBind [lvl_swvh{v} [lid]] SimplBind [a_swwS{v} [lid]] SimplBind [a_swwV{v} [lid]] SimplBind [a_swwX{v} [lid]] SimplBind [a_swwT{v} [lid]] SimplBind [lvl_swvo{v} [lid]] SimplBind [a_swwY{v} [lid]] SimplBind [a_swx0{v} [lid]] SimplBind [a_swx3{v} [lid]] SimplBind [a_swx5{v} [lid]] SimplBind [a_swx1{v} [lid]] SimplBind [lvl_swvw{v} [lid]] SimplBind [a_swx6{v} [lid]] SimplBind [a_swxS{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.fLit{v ruEL} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.satN2{v ruEK} [lidx]] SimplBind [lvl_swvz{v} [lid]] SimplBind [lvl_swvy{v} [lid]] SimplBind [lvl_swvB{v} [lid]] SimplBind [lvl_swvA{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.resizeF{v ruEJ} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.asRepProxy{v ruEG} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.asFracProxy{v ruEF} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.fracShift{v ruEH} [lidx]] SimplBind [a_swaI{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unUF{v ruEE} [lidx]] SimplBind [a_swaJ{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.uf{v ruED} [lidx]] SimplBind [a_swaK{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unSF{v ruEC} [lidx]] SimplBind [a_swaL{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.sf{v ruEB} [lidx]] SimplBind [a_swaM{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unFixed{v ruEA} [lidx[[RecSel]]]] SimplBind [lvl_swvD{v} [lid]] SimplBind [lvl_swvC{v} [lid]] SimplBind [lvl_swvG{v} [lid]] SimplBind [ds_swvM{v} [lid]] SimplBind [lvl_swvQ{v} [lid]] SimplBind [dt{v akMa} [lid]] SimplBind [ds_swvT{v} [lid]] SimplBind [lvl_swvV{v} [lid]] SimplBind [lvl_swvX{v} [lid]] SimplBind [lvl_sww5{v} [lid]] SimplBind [lvl_sww6{v} [lid]] SimplBind [lvl_sww7{v} [lid]] SimplBind [lvl_sww8{v} [lid]] SimplBind [lvl_sww4{v} [lid]] SimplBind [lvl_sww9{v} [lid]] SimplBind [$cshow{v avFD} [lid]] SimplBind [$cshowsPrec{v avFB} [lid]] SimplBind [$cshowList{v avIE} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fShowFixed{v ruTI} [lidx[DFunId]]] SimplBind [a_swjx{v} [lid]] SimplBind [$cmult{v avFi} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fMultFixedFixed{v ruTC} [lidx[DFunId(nt)]]] SimplBind [$cminus{v avEx} [lid]] SimplBind [$cplus{v avDP} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fAddFixedFixed{v ruSO} [lidx[DFunId]]] SimplBind [$cfromInteger{v avDp} [lid]] SimplBind [a_swkh{v} [lid]] SimplBind [$cabs{v avCW} [lid]] SimplBind [$cnegate{v avCC} [lid]] SimplBind [$c-{v avCb} [lid]] SimplBind [$c*{v avBP} [lid]] SimplBind [$c+{v avBo} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fNumFixed{v ruPB} [lidx[DFunId]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fBitVectorFixed{v ruPx} [lidx[DFunId]]] SimplBind [a_swC4{v} [lid]] SimplBind [$cdef{v avAg} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fDefaultFixed{v ruO2} [lidx[DFunId(nt)]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fBoundedFixed{v ruHR} [lidx[DFunId]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fOrdFixed{v ruUw} [lidx[DFunId[1]]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fEqFixed{v ruUr} [lidx[DFunId]]] SimplBind [a_swC6{v} [lid]] SimplBind [a_swC9{v} [lid]] SimplBind [a_swCb{v} [lid]] SimplBind [a_swC7{v} [lid]] SimplBind [lvl_swwh{v} [lid]] SimplBind [a_swCc{v} [lid]] SimplBind [a_swCe{v} [lid]] SimplBind [a_swCh{v} [lid]] SimplBind [a_swCj{v} [lid]] SimplBind [a_swCf{v} [lid]] SimplBind [lvl_swwp{v} [lid]] SimplBind [a_swCk{v} [lid]] SimplBind [a_swCv{v} [lid]] SimplBind [$clift{v avAv} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fLiftFixed{v ruOs} [lidx[DFunId(nt)]]] Result size of Simplifier iteration=1 = {terms: 2,402, types: 10,054, coercions: 953} SimplBind [lvl_swvg{v} [lid]] SimplBind [lvl_swve{v} [lid]] SimplBind [lvl_swv0{v} [lid]] SimplBind [lvl_swv2{v} [lid]] SimplBind [lvl_swv4{v} [lid]] SimplBind [lvl_swv6{v} [lid]] SimplBind [g1{v swuY} [lid]] SimplBind [lvl_swuS{v} [lid]] SimplBind [lvl_swv8{v} [lid]] SimplBind [lvl_swva{v} [lid]] SimplBind [lvl_swvc{v} [lid]] SimplBind [f{v swuQ} [lid]] SimplBind [lvl_swuH{v} [lid]] SimplBind [lvl_swuK{v} [lid]] SimplBind [$s^{v swu6} [lid]] SimplBind [lvl_swvh{v} [lid]] SimplBind [a_swwS{v} [lid]] SimplBind [a_swwV{v} [lid]] SimplBind [a_swwX{v} [lid]] SimplBind [a_swwT{v} [lid]] SimplBind [lvl_swvo{v} [lid]] SimplBind [a_swx0{v} [lid]] SimplBind [a_swx3{v} [lid]] SimplBind [a_swx5{v} [lid]] SimplBind [a_swx1{v} [lid]] SimplBind [lvl_swvw{v} [lid]] SimplBind [a_swxS{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.fLit{v ruEL} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.satN2{v ruEK} [lidx]] SimplBind [lvl_swvz{v} [lid]] SimplBind [lvl_swvy{v} [lid]] SimplBind [lvl_swvB{v} [lid]] SimplBind [lvl_swvA{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.resizeF{v ruEJ} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.asRepProxy{v ruEG} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.asFracProxy{v ruEF} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.fracShift{v ruEH} [lidx]] SimplBind [a_swaI{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unUF{v ruEE} [lidx]] SimplBind [a_swaJ{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.uf{v ruED} [lidx]] SimplBind [a_swaK{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unSF{v ruEC} [lidx]] SimplBind [a_swaL{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.sf{v ruEB} [lidx]] SimplBind [a_swaM{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unFixed{v ruEA} [lidx[[RecSel]]]] SimplBind [lvl_swvD{v} [lid]] SimplBind [lvl_swvC{v} [lid]] SimplBind [lvl_swvG{v} [lid]] SimplBind [ds_swvM{v} [lid]] SimplBind [dt{v akMa} [lid]] SimplBind [lvl_swvV{v} [lid]] SimplBind [lvl_swvX{v} [lid]] SimplBind [lvl_sww5{v} [lid]] SimplBind [lvl_sww6{v} [lid]] SimplBind [lvl_sww7{v} [lid]] SimplBind [lvl_sww8{v} [lid]] SimplBind [lvl_sww4{v} [lid]] SimplBind [lvl_sww9{v} [lid]] SimplBind [$cshow{v avFD} [lid]] SimplBind [$cshowsPrec{v avFB} [lid]] SimplBind [$cshowList{v avIE} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fShowFixed{v ruTI} [lidx[DFunId]]] SimplBind [a_swjx{v} [lid]] SimplBind [$cmult{v avFi} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fMultFixedFixed{v ruTC} [lidx[DFunId(nt)]]] SimplBind [$cminus{v avEx} [lid]] SimplBind [$cplus{v avDP} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fAddFixedFixed{v ruSO} [lidx[DFunId]]] SimplBind [$cfromInteger{v avDp} [lid]] SimplBind [a_swkh{v} [lid]] SimplBind [$cabs{v avCW} [lid]] SimplBind [$cnegate{v avCC} [lid]] SimplBind [$c-{v avCb} [lid]] SimplBind [$c*{v avBP} [lid]] SimplBind [$c+{v avBo} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fNumFixed{v ruPB} [lidx[DFunId]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fBitVectorFixed{v ruPx} [lidx[DFunId]]] SimplBind [a_swC4{v} [lid]] SimplBind [$cdef{v avAg} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fDefaultFixed{v ruO2} [lidx[DFunId(nt)]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fBoundedFixed{v ruHR} [lidx[DFunId]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fOrdFixed{v ruUw} [lidx[DFunId[1]]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fEqFixed{v ruUr} [lidx[DFunId]]] SimplBind [a_swC6{v} [lid]] SimplBind [a_swC9{v} [lid]] SimplBind [a_swCb{v} [lid]] SimplBind [a_swC7{v} [lid]] SimplBind [lvl_swwh{v} [lid]] SimplBind [a_swCe{v} [lid]] SimplBind [a_swCh{v} [lid]] SimplBind [a_swCj{v} [lid]] SimplBind [a_swCf{v} [lid]] SimplBind [lvl_swwp{v} [lid]] SimplBind [a_swCk{v} [lid]] SimplBind [a_swCv{v} [lid]] SimplBind [$clift{v avAv} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fLiftFixed{v ruOs} [lidx[DFunId(nt)]]] Result size of Simplifier iteration=2 = {terms: 2,269, types: 9,622, coercions: 953} SimplBind [lvl_swvg{v} [lid]] SimplBind [lvl_swve{v} [lid]] SimplBind [lvl_swv0{v} [lid]] SimplBind [lvl_swv2{v} [lid]] SimplBind [lvl_swv4{v} [lid]] SimplBind [lvl_swv6{v} [lid]] SimplBind [g1{v swuY} [lid]] SimplBind [lvl_swuS{v} [lid]] SimplBind [lvl_swv8{v} [lid]] SimplBind [lvl_swva{v} [lid]] SimplBind [lvl_swvc{v} [lid]] SimplBind [f{v swuQ} [lid]] SimplBind [lvl_swuH{v} [lid]] SimplBind [lvl_swuK{v} [lid]] SimplBind [$s^{v swu6} [lid]] SimplBind [lvl_swvh{v} [lid]] SimplBind [a_swwS{v} [lid]] SimplBind [a_swwV{v} [lid]] SimplBind [a_swwX{v} [lid]] SimplBind [a_swwT{v} [lid]] SimplBind [lvl_swvo{v} [lid]] SimplBind [a_swx0{v} [lid]] SimplBind [a_swx3{v} [lid]] SimplBind [a_swx5{v} [lid]] SimplBind [a_swx1{v} [lid]] SimplBind [lvl_swvw{v} [lid]] SimplBind [a_swxS{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.fLit{v ruEL} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.satN2{v ruEK} [lidx]] SimplBind [lvl_swvz{v} [lid]] SimplBind [lvl_swvy{v} [lid]] SimplBind [lvl_swvB{v} [lid]] SimplBind [lvl_swvA{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.resizeF{v ruEJ} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.asRepProxy{v ruEG} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.asFracProxy{v ruEF} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.fracShift{v ruEH} [lidx]] SimplBind [a_swaI{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unUF{v ruEE} [lidx]] SimplBind [a_swaJ{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.uf{v ruED} [lidx]] SimplBind [a_swaK{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unSF{v ruEC} [lidx]] SimplBind [a_swaL{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.sf{v ruEB} [lidx]] SimplBind [a_swaM{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unFixed{v ruEA} [lidx[[RecSel]]]] SimplBind [lvl_swvD{v} [lid]] SimplBind [lvl_swvC{v} [lid]] SimplBind [lvl_swvG{v} [lid]] SimplBind [ds_swvM{v} [lid]] SimplBind [dt{v akMa} [lid]] SimplBind [lvl_swvV{v} [lid]] SimplBind [lvl_swvX{v} [lid]] SimplBind [lvl_sww5{v} [lid]] SimplBind [lvl_sww6{v} [lid]] SimplBind [lvl_sww7{v} [lid]] SimplBind [lvl_sww8{v} [lid]] SimplBind [lvl_sww4{v} [lid]] SimplBind [lvl_sww9{v} [lid]] SimplBind [$cshow{v avFD} [lid]] SimplBind [$cshowsPrec{v avFB} [lid]] SimplBind [$cshowList{v avIE} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fShowFixed{v ruTI} [lidx[DFunId]]] SimplBind [a_swjx{v} [lid]] SimplBind [$cmult{v avFi} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fMultFixedFixed{v ruTC} [lidx[DFunId(nt)]]] SimplBind [$cminus{v avEx} [lid]] SimplBind [$cplus{v avDP} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fAddFixedFixed{v ruSO} [lidx[DFunId]]] SimplBind [$cfromInteger{v avDp} [lid]] SimplBind [a_swkh{v} [lid]] SimplBind [$cabs{v avCW} [lid]] SimplBind [$cnegate{v avCC} [lid]] SimplBind [$c-{v avCb} [lid]] SimplBind [$c*{v avBP} [lid]] SimplBind [$c+{v avBo} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fNumFixed{v ruPB} [lidx[DFunId]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fBitVectorFixed{v ruPx} [lidx[DFunId]]] SimplBind [a_swC4{v} [lid]] SimplBind [$cdef{v avAg} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fDefaultFixed{v ruO2} [lidx[DFunId(nt)]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fBoundedFixed{v ruHR} [lidx[DFunId]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fOrdFixed{v ruUw} [lidx[DFunId[1]]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fEqFixed{v ruUr} [lidx[DFunId]]] SimplBind [a_swC6{v} [lid]] SimplBind [a_swC9{v} [lid]] SimplBind [a_swCb{v} [lid]] SimplBind [a_swC7{v} [lid]] SimplBind [lvl_swwh{v} [lid]] SimplBind [a_swCe{v} [lid]] SimplBind [a_swCh{v} [lid]] SimplBind [a_swCj{v} [lid]] SimplBind [a_swCf{v} [lid]] SimplBind [lvl_swwp{v} [lid]] SimplBind [a_swCk{v} [lid]] SimplBind [a_swCv{v} [lid]] SimplBind [$clift{v avAv} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fLiftFixed{v ruOs} [lidx[DFunId(nt)]]] ==================== Simplifier ==================== Max iterations = 4 SimplMode {Phase = 0 [main], inline, rules, eta-expand, case-of-case} Result size of Simplifier = {terms: 2,243, types: 9,616, coercions: 953} lvl_swvg :: GHC.Types.Double [LclId, Str=DmdType b] lvl_swvg = GHC.Err.error @ GHC.Types.Double (GHC.CString.unpackCString# "Negative exponent"#) lvl_swve :: GHC.Types.Double [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}] lvl_swve = GHC.Types.D# 1.0 lvl_swv0 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swv0 = __integer 1 lvl_swv2 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swv2 = __integer 1 lvl_swv4 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swv4 = __integer 2 lvl_swv6 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swv6 = __integer 2 Rec { g1_swuY [Occ=LoopBreaker] :: GHC.Types.Double -> GHC.Integer.Type.Integer -> GHC.Types.Double -> GHC.Types.Double [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0 0] 442 0}] g1_swuY = \ (x1_akDN :: GHC.Types.Double) (y1_akDO :: GHC.Integer.Type.Integer) (z_akDP :: GHC.Types.Double) -> case GHC.Integer.Type.eqInteger# (GHC.Integer.Type.remInteger y1_akDO GHC.Real.even2) GHC.Real.even1 of wild_akF2 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akF2 of _ [Occ=Dead] { GHC.Types.False -> case GHC.Integer.Type.eqInteger# y1_akDO lvl_swv0 of wild_a2f3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a2f3 of _ [Occ=Dead] { GHC.Types.False -> g1_swuY (GHC.Float.timesDouble x1_akDN x1_akDN) (GHC.Integer.Type.quotInteger (GHC.Integer.Type.minusInteger y1_akDO lvl_swv2) lvl_swv4) (GHC.Float.timesDouble x1_akDN z_akDP); GHC.Types.True -> GHC.Float.timesDouble x1_akDN z_akDP } }; GHC.Types.True -> g1_swuY (GHC.Float.timesDouble x1_akDN x1_akDN) (GHC.Integer.Type.quotInteger y1_akDO lvl_swv6) z_akDP } } end Rec } lvl_swuS :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swuS = __integer 1 lvl_swv8 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swv8 = __integer 1 lvl_swva :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swva = __integer 2 lvl_swvc :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swvc = __integer 2 Rec { f_swuQ [Occ=LoopBreaker] :: GHC.Types.Double -> GHC.Integer.Type.Integer -> GHC.Types.Double [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0] 372 0}] f_swuQ = \ (x_akDA :: GHC.Types.Double) (y_akDB :: GHC.Integer.Type.Integer) -> case GHC.Integer.Type.eqInteger# (GHC.Integer.Type.remInteger y_akDB GHC.Real.even2) GHC.Real.even1 of wild_akF2 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akF2 of _ [Occ=Dead] { GHC.Types.False -> case GHC.Integer.Type.eqInteger# y_akDB lvl_swuS of wild_a2f3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a2f3 of _ [Occ=Dead] { GHC.Types.False -> g1_swuY (GHC.Float.timesDouble x_akDA x_akDA) (GHC.Integer.Type.quotInteger (GHC.Integer.Type.minusInteger y_akDB lvl_swv8) lvl_swva) x_akDA; GHC.Types.True -> x_akDA } }; GHC.Types.True -> f_swuQ (GHC.Float.timesDouble x_akDA x_akDA) (GHC.Integer.Type.quotInteger y_akDB lvl_swvc) } } end Rec } lvl_swuH :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swuH = __integer 0 lvl_swuK :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swuK = __integer 0 $s^_swu6 [InlPrag=[1]] :: GHC.Types.Double -> GHC.Integer.Type.Integer -> GHC.Types.Double [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0] 152 0}] $s^_swu6 = \ (eta_akDk :: GHC.Types.Double) (eta1_akDl :: GHC.Integer.Type.Integer) -> case GHC.Integer.Type.ltInteger# eta1_akDl lvl_swuH of wild_a4It { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a4It of _ [Occ=Dead] { GHC.Types.False -> case GHC.Integer.Type.eqInteger# eta1_akDl lvl_swuK of wild_a2f3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a2f3 of _ [Occ=Dead] { GHC.Types.False -> f_swuQ eta_akDk eta1_akDl; GHC.Types.True -> lvl_swve } }; GHC.Types.True -> lvl_swvg } } lvl_swvh :: GHC.Types.Double [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}] lvl_swvh = GHC.Types.D# 2.0 a_swwS :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] a_swwS = GHC.CString.unpackCString# "Fixed"# a_swwV :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 0}] a_swwV = GHC.CString.unpackCString# "clash-prelude-0.5"# a_swwX :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 0}] a_swwX = GHC.CString.unpackCString# "CLaSH.Sized.Fixed"# a_swwT :: Language.Haskell.TH.Syntax.NameFlavour [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}] a_swwT = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.DataName (a_swwV `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a_swwX `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) lvl_swvo :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] lvl_swvo = Language.Haskell.TH.Syntax.Name (a_swwS `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a_swwT a_swx0 :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 0}] a_swx0 = GHC.CString.unpackCString# "fromInteger"# a_swx3 :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 0}] a_swx3 = GHC.CString.unpackCString# "base"# a_swx5 :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] a_swx5 = GHC.CString.unpackCString# "GHC.Num"# a_swx1 :: Language.Haskell.TH.Syntax.NameFlavour [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}] a_swx1 = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.VarName (a_swx3 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a_swx5 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) lvl_swvw :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] lvl_swvw = Language.Haskell.TH.Syntax.Name (a_swx0 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a_swx1 a_swxS :: forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> forall (m_aw9c :: * -> *). Language.Haskell.TH.Syntax.Quasi m_aw9c => m_aw9c (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) [LclId, Arity=5, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] a_swxS = \ (@ (frac_avhM :: GHC.TypeLits.Nat)) (@ (rep_avhN :: GHC.TypeLits.Nat -> *)) (@ (size_avhO :: GHC.TypeLits.Nat)) ($dKnownNat_avlM :: GHC.TypeLits.KnownNat frac_avhM) _ [Occ=Dead] ($dBounded_avlO :: GHC.Enum.Bounded (rep_avhN size_avhO)) ($dIntegral_avlP :: GHC.Real.Integral (rep_avhN size_avhO)) (a_auGC :: GHC.Types.Double) -> let { x_akVD :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=NEVER}] x_akVD = let { rMax_swu0 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] rMax_swu0 = GHC.Real.toInteger @ (rep_avhN size_avhO) $dIntegral_avlP (GHC.Enum.maxBound @ (rep_avhN size_avhO) $dBounded_avlO) } in let { truncated_swu2 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 540 0}] truncated_swu2 = case a_auGC of _ [Occ=Dead] { GHC.Types.D# x_aw80 -> case $s^_swu6 lvl_swvh ($dKnownNat_avlM `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_avhM ~# GHC.Integer.Type.Integer)) of _ [Occ=Dead] { GHC.Types.D# y_aw84 -> case GHC.Integer.Type.decodeDoubleInteger (GHC.Prim.*## x_aw80 y_aw84) of _ [Occ=Dead] { (# ipv_aw8Q, ipv1_aw8R #) -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# ipv1_aw8R 0) of _ [Occ=Dead] { GHC.Types.False -> GHC.Integer.Type.shiftLInteger ipv_aw8Q ipv1_aw8R; GHC.Types.True -> let { s_aw8X :: GHC.Prim.Int# [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 1 0}] s_aw8X = GHC.Prim.negateInt# ipv1_aw8R } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.># s_aw8X 52) of _ [Occ=Dead] { GHC.Types.False -> case GHC.Integer.Type.ltInteger# ipv_aw8Q (__integer 0) of wild3_aw92 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild3_aw92 of _ [Occ=Dead] { GHC.Types.False -> case GHC.Integer.Type.integerToInt ipv_aw8Q of n_aw96 { __DEFAULT -> GHC.Integer.Type.smallInteger (GHC.Prim.uncheckedIShiftRA# n_aw96 s_aw8X) }; GHC.Types.True -> case GHC.Integer.Type.integerToInt (GHC.Integer.Type.negateInteger ipv_aw8Q) of n_aw99 { __DEFAULT -> GHC.Integer.Type.smallInteger (GHC.Prim.negateInt# (GHC.Prim.uncheckedIShiftRA# n_aw99 s_aw8X)) } } }; GHC.Types.True -> __integer 0 } } } } } } in case GHC.Integer.Type.gtInteger# truncated_swu2 rMax_swu0 of wild_akJ6 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akJ6 of _ [Occ=Dead] { GHC.Types.False -> let { rMin_swu1 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] rMin_swu1 = GHC.Real.toInteger @ (rep_avhN size_avhO) $dIntegral_avlP (GHC.Enum.minBound @ (rep_avhN size_avhO) $dBounded_avlO) } in case GHC.Integer.Type.ltInteger# truncated_swu2 rMin_swu1 of wild_a4It { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a4It of _ [Occ=Dead] { GHC.Types.False -> truncated_swu2; GHC.Types.True -> rMin_swu1 } }; GHC.Types.True -> rMax_swu0 } } } in \ (@ (m_awx9 :: * -> *)) (w1_awxa :: Language.Haskell.TH.Syntax.Quasi m_awx9) -> case w1_awxa of _ [Occ=Dead] { Language.Haskell.TH.Syntax.D:Quasi ww1_awxd ww2_awxe ww3_awxf ww4_awxg ww5_awxh ww6_awxi ww7_awxj ww8_awxk ww9_awxl ww10_awxm ww11_awxn ww12_awxo ww13_awxp ww14_awxq ww15_awxr ww16_awxs ww17_awxt ww18_awxu -> case ww1_awxd of _ [Occ=Dead] { GHC.Base.D:Monad ww20_awxy ww21_awxz ww22_awxA ww23_awxB -> ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) (ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (ww22_awxA @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.ConE lvl_swvo)) (\ (x_acZW :: Language.Haskell.TH.Syntax.Exp) -> ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (ww22_awxA @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.VarE lvl_swvw)) (\ (x_Xd36 :: Language.Haskell.TH.Syntax.Exp) -> ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (ww22_awxA @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.LitE (Language.Haskell.TH.Syntax.IntegerL x_akVD))) (\ (x1_acZX :: Language.Haskell.TH.Syntax.Exp) -> ww22_awxA @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.AppE x_Xd36 x1_acZX)))) (\ (x1_acZX :: Language.Haskell.TH.Syntax.Exp) -> ww22_awxA @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.AppE x_acZW x1_acZX)))) (\ (x_awxD :: Language.Haskell.TH.Syntax.Exp) -> ww22_awxA @ (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) (x_awxD `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:TExp[0] _N) :: Language.Haskell.TH.Syntax.Exp ~# Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)))) } } CLaSH.Sized.Fixed.fLit :: forall (frac_auFI :: GHC.TypeLits.Nat) (rep_auFJ :: GHC.TypeLits.Nat -> *) (size_auFK :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_auFI, GHC.Num.Num (rep_auFJ size_auFK), GHC.Enum.Bounded (rep_auFJ size_auFK), GHC.Real.Integral (rep_auFJ size_auFK)) => GHC.Types.Double -> Language.Haskell.TH.Syntax.Q (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_auFI rep_auFJ size_auFK)) [LclIdX, Arity=5, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.fLit = a_swxS `cast` (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO))) ~# (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> Language.Haskell.TH.Syntax.Q (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)))) CLaSH.Sized.Fixed.satN2 :: forall (rep_auFL :: GHC.TypeLits.Nat -> *) (n_auFM :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.SatN2C rep_auFL n_auFM) => rep_auFL (n_auFM GHC.TypeLits.+ 2) -> rep_auFL n_auFM [LclIdX, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] CLaSH.Sized.Fixed.satN2 = \ (@ (rep_aviy :: GHC.TypeLits.Nat -> *)) (@ (n_aviz :: GHC.TypeLits.Nat)) (tup_avmQ :: CLaSH.Sized.Fixed.SatN2C rep_aviy n_aviz) (eta_B1 :: rep_aviy (n_aviz GHC.TypeLits.+ 2)) -> let { repBV_swtT :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 0}] repBV_swtT = case tup_avmQ of _ [Occ=Dead] { (tpl_X1g, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> case tpl_B6 of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw6Z -> (CLaSH.Class.BitVector.toBV @ (rep_aviy (n_aviz GHC.TypeLits.+ 2)) tpl_B4 (tpl_B8 `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw6Z))_R :: GHC.TypeLits.KnownNat (n_aviz GHC.TypeLits.+ 2) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy (n_aviz GHC.TypeLits.+ 2))))) eta_B1) `cast` ((CLaSH.Sized.Vector.Vec cobox_dw6Z _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy (n_aviz GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit) } } } in let { cobox_swtU :: ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (n_aviz GHC.TypeLits.+ 2) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] cobox_swtU = case tup_avmQ of _ [Occ=Dead] { (tpl_X1l, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B2 } } in let { s_swtS :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] s_swtS = case cobox_swtU of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7d -> CLaSH.Sized.Vector.vtail @ n_aviz @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (repBV_swtT `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7d) _R)_R :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit))) } } in let { cobox_swtV :: CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz) ~ n_aviz [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] cobox_swtV = case tup_avmQ of _ [Occ=Dead] { (tpl_X1i, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B5 } } in case tup_avmQ of _ [Occ=Dead] { (tpl_X1t, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> case Data.Bits.isSigned @ (rep_aviy (n_aviz GHC.TypeLits.+ 2)) tpl_Ba eta_B1 of _ [Occ=Dead] { GHC.Types.False -> case cobox_swtU of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7j -> case CLaSH.Sized.Vector.vhead @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (repBV_swtT `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7j) _R)_R :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit)) of _ [Occ=Dead] { CLaSH.Bit.H -> case CLaSH.Sized.Vector.vhead @ n_aviz @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (repBV_swtT `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7j) _R)_R :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit))) of _ [Occ=Dead] { CLaSH.Bit.H -> GHC.Enum.minBound @ (rep_aviy n_aviz) tpl_B9; CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_aviy n_aviz) tpl_B3 (case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7b -> tpl_B7 `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw7b))_R :: GHC.TypeLits.KnownNat n_aviz ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz))) }) (case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7c -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7c) _R)_R :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) CLaSH.Bit.Bit) }) }; CLaSH.Bit.L -> case CLaSH.Sized.Vector.vhead @ n_aviz @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (repBV_swtT `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7j) _R)_R :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit))) of _ [Occ=Dead] { CLaSH.Bit.H -> GHC.Enum.maxBound @ (rep_aviy n_aviz) tpl_B9; CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_aviy n_aviz) tpl_B3 (case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7b -> tpl_B7 `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw7b))_R :: GHC.TypeLits.KnownNat n_aviz ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz))) }) (case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7c -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7c) _R)_R :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) CLaSH.Bit.Bit) }) } } }; GHC.Types.True -> case cobox_swtU of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7j -> case CLaSH.Sized.Vector.vhead @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (repBV_swtT `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7j) _R)_R :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit)) of _ [Occ=Dead] { CLaSH.Bit.H -> case CLaSH.Sized.Vector.vhead' @ n_aviz @ CLaSH.Bit.Bit tpl_X1t s_swtS of _ [Occ=Dead] { CLaSH.Bit.H -> CLaSH.Class.BitVector.fromBV @ (rep_aviy n_aviz) tpl_B3 (case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw79 -> tpl_B7 `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw79))_R :: GHC.TypeLits.KnownNat n_aviz ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz))) }) (case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7a -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7a) _R)_R :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) CLaSH.Bit.Bit) }); CLaSH.Bit.L -> GHC.Enum.minBound @ (rep_aviy n_aviz) tpl_B9 }; CLaSH.Bit.L -> case CLaSH.Sized.Vector.vhead' @ n_aviz @ CLaSH.Bit.Bit tpl_X1t s_swtS of _ [Occ=Dead] { CLaSH.Bit.H -> GHC.Enum.maxBound @ (rep_aviy n_aviz) tpl_B9; CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_aviy n_aviz) tpl_B3 (case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw79 -> tpl_B7 `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw79))_R :: GHC.TypeLits.KnownNat n_aviz ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz))) }) (case cobox_swtV of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw7a -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7a) _R)_R :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) CLaSH.Bit.Bit) }) } } } } } lvl_swvz :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swvz = __integer 0 lvl_swvy :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swvy = __integer 0 lvl_swvB :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swvB = __integer 0 lvl_swvA :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swvA = __integer 0 CLaSH.Sized.Fixed.resizeF :: forall (frac1_auFN :: GHC.TypeLits.Nat) (frac2_auFO :: GHC.TypeLits.Nat) (rep_auFP :: GHC.TypeLits.Nat -> *) (size1_auFQ :: GHC.TypeLits.Nat) (size2_auFR :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.ResizeFC rep_auFP frac1_auFN frac2_auFO size1_auFQ size2_auFR) => CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ -> CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR [LclIdX, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] CLaSH.Sized.Fixed.resizeF = \ (@ (frac1_avjq :: GHC.TypeLits.Nat)) (@ (frac2_avjr :: GHC.TypeLits.Nat)) (@ (rep_avjs :: GHC.TypeLits.Nat -> *)) (@ (size1_avjt :: GHC.TypeLits.Nat)) (@ (size2_avju :: GHC.TypeLits.Nat)) (tup_avnK :: CLaSH.Sized.Fixed.ResizeFC rep_avjs frac1_avjq frac2_avjr size1_avjt size2_avju) (eta_B1 :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt) -> let { $dKnownNat_swtH :: GHC.TypeLits.KnownNat size2_avju [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swtH = case tup_avnK of _ [Occ=Dead] { (tpl_X1k, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 } } in let { $dKnownNat_swtI :: GHC.TypeLits.KnownNat size1_avjt [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swtI = case tup_avnK of _ [Occ=Dead] { (tpl_X1i, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B8 } } in case GHC.Integer.Type.leInteger# ($dKnownNat_swtI `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat size1_avjt ~# GHC.Integer.Type.Integer)) ($dKnownNat_swtH `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat size2_avju ~# GHC.Integer.Type.Integer)) of wild_akJ3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akJ3 of _ [Occ=Dead] { GHC.Types.False -> let { $dBounded_swtD :: GHC.Enum.Bounded (rep_avjs size2_avju) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBounded_swtD = case tup_avnK of _ [Occ=Dead] { (tpl_X1u, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X1u } } in let { fMax_swtA :: rep_avjs size2_avju [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 20 0}] fMax_swtA = GHC.Enum.maxBound @ (rep_avjs size2_avju) $dBounded_swtD } in let { $dBits_swtF :: Data.Bits.Bits (rep_avjs size1_avjt) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_swtF = case tup_avnK of _ [Occ=Dead] { (tpl_X5L, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B5 } } in let { mask_swtz :: rep_avjs size1_avjt [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 43 0}] mask_swtz = Data.Bits.complement @ (rep_avjs size1_avjt) $dBits_swtF (case tup_avnK of _ [Occ=Dead] { (tpl_X1m, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> (tpl_B6 `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_avjs ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_avjs a_ae8M -> rep_avjs b_ae8N))) @ size2_avju @ size1_avjt $dKnownNat_swtH $dKnownNat_swtI fMax_swtA }) } in let { $dNum_swtE :: GHC.Num.Num (rep_avjs size1_avjt) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dNum_swtE = case tup_avnK of _ [Occ=Dead] { (tpl_X1r, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B4 } } in case tup_avnK of _ [Occ=Dead] { (tpl_X1y, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> case GHC.Integer.Type.integerToInt (tpl_Bb `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac1_avjq ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> case GHC.Integer.Type.integerToInt (tpl_Ba `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac2_avjr ~# GHC.Integer.Type.Integer)) of wild_XkFQ { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# wild_akCB wild_XkFQ) of _ [Occ=Dead] { GHC.Types.False -> let { shiftedR_swty :: rep_avjs size1_avjt [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 51 0}] shiftedR_swty = Data.Bits.shiftR @ (rep_avjs size1_avjt) $dBits_swtF (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt)) (GHC.Types.I# (GHC.Prim.-# wild_akCB wild_XkFQ)) } in case GHC.Classes.>= @ (rep_avjs size1_avjt) tpl_B3 (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt)) (GHC.Num.fromInteger @ (rep_avjs size1_avjt) $dNum_swtE lvl_swvy) of _ [Occ=Dead] { GHC.Types.False -> case GHC.Classes.== @ (rep_avjs size1_avjt) (Data.Bits.$p1Bits @ (rep_avjs size1_avjt) $dBits_swtF) (Data.Bits..&. @ (rep_avjs size1_avjt) $dBits_swtF shiftedR_swty mask_swtz) mask_swtz of _ [Occ=Dead] { GHC.Types.False -> (GHC.Enum.minBound @ (rep_avjs size2_avju) $dBounded_swtD) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> ((tpl_B6 `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_avjs ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_avjs a_ae8M -> rep_avjs b_ae8N))) @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH shiftedR_swty) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) }; GHC.Types.True -> case GHC.Classes.== @ (rep_avjs size1_avjt) (Data.Bits.$p1Bits @ (rep_avjs size1_avjt) $dBits_swtF) (Data.Bits..&. @ (rep_avjs size1_avjt) $dBits_swtF shiftedR_swty mask_swtz) (GHC.Num.fromInteger @ (rep_avjs size1_avjt) $dNum_swtE lvl_swvz) of _ [Occ=Dead] { GHC.Types.False -> fMax_swtA `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> ((tpl_B6 `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_avjs ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_avjs a_ae8M -> rep_avjs b_ae8N))) @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH shiftedR_swty) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) } }; GHC.Types.True -> let { shiftedL_swtK :: rep_avjs size1_avjt [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 51 0}] shiftedL_swtK = Data.Bits.shiftL @ (rep_avjs size1_avjt) $dBits_swtF (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt)) (GHC.Types.I# (GHC.Prim.-# wild_XkFQ wild_akCB)) } in case GHC.Classes.>= @ (rep_avjs size1_avjt) tpl_B3 (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt)) (GHC.Num.fromInteger @ (rep_avjs size1_avjt) $dNum_swtE lvl_swvA) of _ [Occ=Dead] { GHC.Types.False -> case GHC.Classes.== @ (rep_avjs size1_avjt) (Data.Bits.$p1Bits @ (rep_avjs size1_avjt) $dBits_swtF) (Data.Bits..&. @ (rep_avjs size1_avjt) $dBits_swtF shiftedL_swtK mask_swtz) mask_swtz of _ [Occ=Dead] { GHC.Types.False -> (GHC.Enum.minBound @ (rep_avjs size2_avju) $dBounded_swtD) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> ((tpl_B6 `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_avjs ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_avjs a_ae8M -> rep_avjs b_ae8N))) @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH shiftedL_swtK) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) }; GHC.Types.True -> case GHC.Classes.== @ (rep_avjs size1_avjt) (Data.Bits.$p1Bits @ (rep_avjs size1_avjt) $dBits_swtF) (Data.Bits..&. @ (rep_avjs size1_avjt) $dBits_swtF shiftedL_swtK mask_swtz) (GHC.Num.fromInteger @ (rep_avjs size1_avjt) $dNum_swtE lvl_swvB) of _ [Occ=Dead] { GHC.Types.False -> fMax_swtA `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> ((tpl_B6 `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_avjs ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_avjs a_ae8M -> rep_avjs b_ae8N))) @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH shiftedL_swtK) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) } } } } } }; GHC.Types.True -> case tup_avnK of _ [Occ=Dead] { (tpl_X1y, tpl_B2, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> case GHC.Integer.Type.integerToInt (tpl_Bb `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac1_avjq ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> case GHC.Integer.Type.integerToInt (tpl_Ba `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac2_avjr ~# GHC.Integer.Type.Integer)) of wild_XkFG { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# wild_akCB wild_XkFG) of _ [Occ=Dead] { GHC.Types.False -> (Data.Bits.shiftR @ (rep_avjs size2_avju) tpl_B9 ((tpl_B6 `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_avjs ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_avjs a_ae8M -> rep_avjs b_ae8N))) @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt))) (GHC.Types.I# (GHC.Prim.-# wild_akCB wild_XkFG))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> (Data.Bits.shiftL @ (rep_avjs size2_avju) tpl_B9 ((tpl_B6 `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_avjs ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_avjs a_ae8M -> rep_avjs b_ae8N))) @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt))) (GHC.Types.I# (GHC.Prim.-# wild_XkFG wild_akCB))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) } } } } } } CLaSH.Sized.Fixed.asRepProxy :: forall (frac_auFV :: GHC.TypeLits.Nat) (rep_auFW :: GHC.TypeLits.Nat -> *) (size_auFX :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFV rep_auFW size_auFX -> Data.Proxy.Proxy rep_auFW [LclIdX, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.asRepProxy = \ (@ (frac_avk6 :: GHC.TypeLits.Nat)) (@ (rep_avk7 :: GHC.TypeLits.Nat -> *)) (@ (size_avk8 :: GHC.TypeLits.Nat)) _ [Occ=Dead] -> Data.Proxy.Proxy @ (GHC.TypeLits.Nat -> *) @ rep_avk7 CLaSH.Sized.Fixed.asFracProxy :: forall (frac_auFY :: GHC.TypeLits.Nat) (rep_auFZ :: GHC.TypeLits.Nat -> *) (size_auG0 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFY rep_auFZ size_auG0 -> Data.Proxy.Proxy frac_auFY [LclIdX, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.asFracProxy = \ (@ (frac_avkp :: GHC.TypeLits.Nat)) (@ (rep_avkq :: GHC.TypeLits.Nat -> *)) (@ (size_avkr :: GHC.TypeLits.Nat)) _ [Occ=Dead] -> Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac_avkp CLaSH.Sized.Fixed.fracShift :: forall (frac_auFS :: GHC.TypeLits.Nat) (rep_auFT :: GHC.TypeLits.Nat -> *) (size_auFU :: GHC.TypeLits.Nat). GHC.TypeLits.KnownNat frac_auFS => CLaSH.Sized.Fixed.Fixed frac_auFS rep_auFT size_auFU -> GHC.Types.Int [LclIdX, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0] 40 20}] CLaSH.Sized.Fixed.fracShift = \ (@ (frac_avjN :: GHC.TypeLits.Nat)) (@ (rep_avjO :: GHC.TypeLits.Nat -> *)) (@ (size_avjP :: GHC.TypeLits.Nat)) ($dKnownNat_avxa :: GHC.TypeLits.KnownNat frac_avjN) _ [Occ=Dead] -> case GHC.Integer.Type.integerToInt ($dKnownNat_avxa `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_avjN ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> GHC.Types.I# wild_akCB } a_swaI :: forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaI = \ (@ (int_avkK :: GHC.TypeLits.Nat)) (@ (frac_avkL :: GHC.TypeLits.Nat)) (ds_dvZi :: CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL)) -> ds_dvZi CLaSH.Sized.Fixed.unUF :: forall (int_auG1 :: GHC.TypeLits.Nat) (frac_auG2 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.UFixed int_auG1 frac_auG2 -> CLaSH.Sized.Unsigned.Unsigned (int_auG1 GHC.TypeLits.+ frac_auG2) [LclIdX, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.unUF = a_swaI `cast` (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL)) ~# (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL))) a_swaJ :: forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaJ = \ (@ (frac_avl5 :: GHC.TypeLits.Nat)) (@ (int_avl6 :: GHC.TypeLits.Nat)) _ [Occ=Dead] (fRep_auGb :: CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) -> fRep_auGb CLaSH.Sized.Fixed.uf :: forall (frac_auG3 :: GHC.TypeLits.Nat) (int_auG4 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_auG3 -> CLaSH.Sized.Unsigned.Unsigned (int_auG4 GHC.TypeLits.+ frac_auG3) -> CLaSH.Sized.Fixed.UFixed int_auG4 frac_auG3 [LclIdX, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.uf = a_swaJ `cast` (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) ~# (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Fixed.Fixed frac_avl5 CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5))) a_swaK :: forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaK = \ (@ (int_avlp :: GHC.TypeLits.Nat)) (@ (frac_avlq :: GHC.TypeLits.Nat)) (ds_dvZu :: CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq)) -> ds_dvZu CLaSH.Sized.Fixed.unSF :: forall (int_auG5 :: GHC.TypeLits.Nat) (frac_auG6 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.SFixed int_auG5 frac_auG6 -> CLaSH.Sized.Signed.Signed (int_auG5 GHC.TypeLits.+ frac_auG6) [LclIdX, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.unSF = a_swaK `cast` (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq)) ~# (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq))) a_swaL :: forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaL = \ (@ (frac_avlK :: GHC.TypeLits.Nat)) (@ (int_avlL :: GHC.TypeLits.Nat)) _ [Occ=Dead] (fRep_auG9 :: CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) -> fRep_auG9 CLaSH.Sized.Fixed.sf :: forall (frac_auG7 :: GHC.TypeLits.Nat) (int_auG8 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_auG7 -> CLaSH.Sized.Signed.Signed (int_auG8 GHC.TypeLits.+ frac_auG7) -> CLaSH.Sized.Fixed.SFixed int_auG8 frac_auG7 [LclIdX, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.sf = a_swaL `cast` (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) ~# (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Fixed.Fixed frac_avlK CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK))) a_swaM :: forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaM = \ (@ (frac_auI2 :: GHC.TypeLits.Nat)) (@ (rep_auI3 :: GHC.TypeLits.Nat -> *)) (@ (size_auI4 :: GHC.TypeLits.Nat)) (ds_dvZF :: CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4) -> ds_dvZF CLaSH.Sized.Fixed.unFixed :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> rep_auFG size_auFH [LclIdX[[RecSel]], Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.unFixed = a_swaM `cast` (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4) ~# (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> rep_auI3 size_auI4)) lvl_swvD :: GHC.Types.Char [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}] lvl_swvD = GHC.Types.C# '-' lvl_swvC :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swvC = __integer 0 lvl_swvG :: GHC.Types.Char [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}] lvl_swvG = GHC.Types.C# '0' ds_swvM :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] ds_swvM = __integer 1 dt_akMa :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] dt_akMa = __integer 10 lvl_swvV :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) -> (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [40] 191 30}] lvl_swvV = \ (ds_awe3 :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) -> (case ds_awe3 of _ [Occ=Dead] { (x_awe6, y_awe7) -> case x_awe6 of _ [Occ=Dead] { GHC.Types.I# x1_awdC -> case x1_awdC of wild1_awdE { __DEFAULT -> GHC.Types.I# (GHC.Prim.+# wild1_awdE 1); 9223372036854775807 -> GHC.Enum.$fEnumInt2 } } }, case ds_awe3 of _ [Occ=Dead] { (x_aweb, y_awec) -> case y_awec of _ [Occ=Dead] { GHC.Real.:% ww1_awdJ ww2_awdK -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger ww1_awdJ dt_akMa) (GHC.Integer.Type.timesInteger ww2_awdK GHC.Real.$fEnumRatio1) of _ [Occ=Dead] { (# ww7_awdU, ww8_awdV #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww7_awdU ww8_awdV } } }) lvl_swvX :: GHC.Types.Int [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}] lvl_swvX = GHC.Types.I# 0 lvl_sww5 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_sww5 = __integer 2 lvl_sww6 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_sww6 = __integer 1 lvl_sww7 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_sww7 = __integer 2 lvl_sww8 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_sww8 = __integer 1 lvl_sww4 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_sww4 = __integer 0 lvl_sww9 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_sww9 = __integer 2 $cshow_avFD :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> GHC.Base.String [LclId, Arity=5, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] $cshow_avFD = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) _ [Occ=Dead] _ [Occ=Dead] ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) (f_auHA :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) -> let { nF_swti :: GHC.Types.Int [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 20}] nF_swti = case GHC.Integer.Type.integerToInt ($dKnownNat_avFx `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_auHx ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> GHC.Types.I# wild_akCB } } in let { fRepI_swtk :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 30 0}] fRepI_swtk = GHC.Real.toInteger @ (rep_auHy size_auHz) $dIntegral_avFy (f_auHA `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz ~# rep_auHy size_auHz)) } in let { fRepI_abs_swtj :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 20 0}] fRepI_abs_swtj = GHC.Integer.Type.absInteger fRepI_swtk } in let { a_swOO :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=NEVER}] a_swOO = let { eta_awcR :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=NEVER}] eta_awcR = case GHC.List.iterateFB @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) @ [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)] (\ (x_awzz :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) (r_awzA [OS=OneShot] :: [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)]) -> case x_awzz of wild_afnB { (ds1_afnD, y_afnE) -> case y_afnE of _ [Occ=Dead] { GHC.Real.:% ds1_awdp y_awdq -> case GHC.Integer.Type.eqInteger# y_awdq ds_swvM of wild_a2f3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a2f3 of _ [Occ=Dead] { GHC.Types.False -> r_awzA; GHC.Types.True -> GHC.Types.: @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) wild_afnB r_awzA } } } }) lvl_swvV (lvl_swvX, case GHC.Integer.Type.ltInteger# fRepI_swtk lvl_sww4 of wild_a4It { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a4It of _ [Occ=Dead] { GHC.Types.False -> case nF_swti of _ [Occ=Dead] { GHC.Types.I# x_awO9 -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# x_awO9 0) of _ [Occ=Dead] { GHC.Types.False -> let { a_swOs :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 72 0}] a_swOs = case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# x_awO9 0) of _ [Occ=Dead] { GHC.Types.False -> case x_awO9 of wild2_awOe { __DEFAULT -> GHC.Real.$wf1 lvl_sww9 wild2_awOe; 0 -> GHC.Real.$fEnumRatio1 }; GHC.Types.True -> GHC.Real.^3 } } in case x_awO9 of wild2_awOe { __DEFAULT -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger (GHC.Integer.Type.andInteger fRepI_swtk (GHC.Integer.Type.minusInteger (GHC.Real.$wf1 lvl_sww5 wild2_awOe) lvl_sww6)) (GHC.Integer.Type.signumInteger a_swOs)) (GHC.Integer.Type.absInteger a_swOs) of _ [Occ=Dead] { (# ww1_awf5, ww2_awf6 #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww1_awf5 ww2_awf6 }; 0 -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger (GHC.Integer.Type.andInteger fRepI_swtk (__integer 0)) (GHC.Integer.Type.signumInteger a_swOs)) (GHC.Integer.Type.absInteger a_swOs) of _ [Occ=Dead] { (# ww1_awf5, ww2_awf6 #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww1_awf5 ww2_awf6 } }; GHC.Types.True -> case GHC.Real.^3 of wild_00 { } } }; GHC.Types.True -> case nF_swti of _ [Occ=Dead] { GHC.Types.I# x_awO9 -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# x_awO9 0) of _ [Occ=Dead] { GHC.Types.False -> let { a_swOy :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 72 0}] a_swOy = case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# x_awO9 0) of _ [Occ=Dead] { GHC.Types.False -> case x_awO9 of wild2_awOe { __DEFAULT -> GHC.Real.$wf1 lvl_sww9 wild2_awOe; 0 -> GHC.Real.$fEnumRatio1 }; GHC.Types.True -> GHC.Real.^3 } } in case x_awO9 of wild2_awOe { __DEFAULT -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger (GHC.Integer.Type.andInteger fRepI_abs_swtj (GHC.Integer.Type.minusInteger (GHC.Real.$wf1 lvl_sww7 wild2_awOe) lvl_sww8)) (GHC.Integer.Type.signumInteger a_swOy)) (GHC.Integer.Type.absInteger a_swOy) of _ [Occ=Dead] { (# ww1_awf5, ww2_awf6 #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww1_awf5 ww2_awf6 }; 0 -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger (GHC.Integer.Type.andInteger fRepI_abs_swtj (__integer 0)) (GHC.Integer.Type.signumInteger a_swOy)) (GHC.Integer.Type.absInteger a_swOy) of _ [Occ=Dead] { (# ww1_awf5, ww2_awf6 #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww1_awf5 ww2_awf6 } }; GHC.Types.True -> case GHC.Real.^3 of wild_00 { } } } } }) of _ [Occ=Dead] { [] -> Data.Maybe.fromJust1 @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer); : a1_awdh ds1_awdi -> a1_awdh } } in let { str_auHK [OS=ProbOneShot] :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 30}] str_auHK = case eta_awcR of _ [Occ=Dead] { (x_awcZ, y_awd0) -> case y_awd0 of _ [Occ=Dead] { GHC.Real.:% x_awcK ds1_awcL -> case GHC.Show.$w$cshowsPrec 0 x_awcK (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead] { (# ww3_a2i0, ww4_a2i1 #) -> GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1 } } } } in case eta_awcR of _ [Occ=Dead] { (x_awcU, y_awcV) -> case x_awcU of _ [Occ=Dead] { GHC.Types.I# x_akIV -> case GHC.List.$wlenAcc @ GHC.Types.Char str_auHK 0 of ww_awOK { __DEFAULT -> let { n#_awbi :: GHC.Prim.Int# [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 1 0}] n#_awbi = GHC.Prim.-# x_akIV ww_awOK } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# n#_awbi 0) of _ [Occ=Dead] { GHC.Types.False -> letrec { xs_awyT [Occ=LoopBreaker] :: GHC.Prim.Int# -> [GHC.Types.Char] [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0] 63 60}] xs_awyT = \ (m_awz0 :: GHC.Prim.Int#) -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# m_awz0 1) of _ [Occ=Dead] { GHC.Types.False -> GHC.Types.: @ GHC.Types.Char lvl_swvG (xs_awyT (GHC.Prim.-# m_awz0 1)); GHC.Types.True -> GHC.Types.: @ GHC.Types.Char lvl_swvG str_auHK }; } in xs_awyT n#_awbi; GHC.Types.True -> str_auHK } } } } } in case GHC.Integer.Type.ltInteger# fRepI_swtk lvl_swvC of wild_a4It { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a4It of _ [Occ=Dead] { GHC.Types.False -> case nF_swti of _ [Occ=Dead] { GHC.Types.I# x_aiKN -> let { ww_al4F :: GHC.Prim.Int# [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 1 0}] ww_al4F = GHC.Prim.negateInt# x_aiKN } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.>=# ww_al4F 0) of _ [Occ=Dead] { GHC.Types.False -> case GHC.Show.$w$cshowsPrec 0 (GHC.Integer.Type.shiftRInteger fRepI_swtk (GHC.Prim.negateInt# ww_al4F)) (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead] { (# ww3_a2i0, ww4_a2i1 #) -> GHC.Base.++ @ GHC.Types.Char (GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1) (GHC.Types.: @ GHC.Types.Char (GHC.Types.C# '.') a_swOO) }; GHC.Types.True -> case GHC.Show.$w$cshowsPrec 0 (GHC.Integer.Type.shiftLInteger fRepI_swtk ww_al4F) (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead] { (# ww3_a2i0, ww4_a2i1 #) -> GHC.Base.++ @ GHC.Types.Char (GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1) (GHC.Types.: @ GHC.Types.Char (GHC.Types.C# '.') a_swOO) } } }; GHC.Types.True -> GHC.Base.++ @ GHC.Types.Char (GHC.Types.: @ GHC.Types.Char lvl_swvD (case nF_swti of _ [Occ=Dead] { GHC.Types.I# x_aiKN -> let { ww_al4F :: GHC.Prim.Int# [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 1 0}] ww_al4F = GHC.Prim.negateInt# x_aiKN } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.>=# ww_al4F 0) of _ [Occ=Dead] { GHC.Types.False -> case GHC.Show.$w$cshowsPrec 0 (GHC.Integer.Type.shiftRInteger fRepI_abs_swtj (GHC.Prim.negateInt# ww_al4F)) (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead] { (# ww3_a2i0, ww4_a2i1 #) -> GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1 }; GHC.Types.True -> case GHC.Show.$w$cshowsPrec 0 (GHC.Integer.Type.shiftLInteger fRepI_abs_swtj ww_al4F) (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead] { (# ww3_a2i0, ww4_a2i1 #) -> GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1 } } })) (GHC.Types.: @ GHC.Types.Char (GHC.Types.C# '.') a_swOO) } } $cshowsPrec_avFB :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => GHC.Types.Int -> CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> GHC.Show.ShowS [LclId, Arity=7, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=7, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0 0 0 0 0 0] 90 0}] $cshowsPrec_avFB = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) _ [Occ=Dead] (x_a2fY :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (s_a2fZ :: GHC.Base.String) -> GHC.Base.++ @ GHC.Types.Char ($cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy x_a2fY) s_a2fZ $cshowList_avIE :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz] -> GHC.Show.ShowS [LclId, Arity=6, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=6, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0 0 0 0 0] 150 0}] $cshowList_avIE = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) (eta_B2 :: [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz]) (eta_B1 :: GHC.Base.String) -> GHC.Show.showList__ @ (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (\ (x_a2fY :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (s_a2fZ [OS=OneShot] :: GHC.Base.String) -> GHC.Base.++ @ GHC.Types.Char ($cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy x_a2fY) s_a2fZ) eta_B2 eta_B1 CLaSH.Sized.Fixed.$fShowFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => GHC.Show.Show (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) [LclIdX[DFunId], Arity=4, Str=DmdType, Unf=DFun: \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) -> GHC.Show.D:Show TYPE CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz $cshowsPrec_avFB @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy $cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy $cshowList_avIE @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy] CLaSH.Sized.Fixed.$fShowFixed = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) -> GHC.Show.D:Show @ (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) ($cshowsPrec_avFB @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy) ($cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy) ($cshowList_avIE @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy) a_swjx :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu) [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swjx = \ (@ (frac1_auHq :: GHC.TypeLits.Nat)) (@ (rep_auHr :: GHC.TypeLits.Nat -> *)) (@ (size1_auHs :: GHC.TypeLits.Nat)) (@ (frac2_auHt :: GHC.TypeLits.Nat)) (@ (size2_auHu :: GHC.TypeLits.Nat)) (tup_avFg :: CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) (eta_B2 :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (eta_B1 :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) -> case tup_avFg of _ [Occ=Dead] { (tpl_X1z, tpl_X1B) -> case tpl_X1B of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw3M -> ((tpl_X1z `cast` (CLaSH.Class.Num.NTCo:Mult[0] _N _N :: CLaSH.Class.Num.Mult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# (rep_auHr size1_auHs -> rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu)))) (eta_B2 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs ~# rep_auHr size1_auHs)) (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu ~# rep_auHr size2_auHu))) `cast` (Sub cobox_dw3M :: CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) } } $cmult_avFi :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $cmult_avFi = a_swjx `cast` (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). _R -> _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:MResultFixedFixed[0] _N _N _N _N _N)) :: (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) ~# (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu))) CLaSH.Sized.Fixed.$fMultFixedFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) [LclIdX[DFunId(nt)], Arity=3, Str=DmdType, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= $cmult_avFi `cast` (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). _R -> Sym (CLaSH.Class.Num.NTCo:Mult[0] _N _N) :: (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_XuJ1 frac1_XuIZ frac2_XuJ5 size1_XuJ3 size2_XuJ7) => CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3 -> CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7 -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3) (CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7)) ~# (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_XuJ1 frac1_XuIZ frac2_XuJ5 size1_XuJ3 size2_XuJ7) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3) (CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7)))}] CLaSH.Sized.Fixed.$fMultFixedFixed = a_swjx `cast` (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). _R -> (_R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:MResultFixedFixed[0] _N _N _N _N _N))) ; Sym (CLaSH.Class.Num.NTCo:Mult[0] _N _N) :: (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) ~# (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu))) $cminus_avEx :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [40 0 0] 430 0}] $cminus_avEx = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (eta_X1I :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (eta_X3p :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> let { tup_swta :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_swta = case tup_avDN of _ [Occ=Dead] { (tpl_X1L, tpl_X1N, tpl_B3) -> tpl_X1N } } in let { $dBounded_swt9 :: GHC.Enum.Bounded (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBounded_swt9 = case tup_swta of _ [Occ=Dead] { (tpl_X1N, tpl_X1P, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X1N } } in let { $dBits_swt8 :: Data.Bits.Bits (rep_auHe size2_auHh) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_swt8 = case tup_swta of _ [Occ=Dead] { (tpl_X1P, tpl_X1R, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B5 } } in let { $dResize_swt7 :: CLaSH.Class.Num.Resize rep_auHe [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dResize_swt7 = case tup_swta of _ [Occ=Dead] { (tpl_X1R, tpl_X1T, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B6 } } in let { $dKnownNat_swt6 :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swt6 = case tup_swta of _ [Occ=Dead] { (tpl_X1T, tpl_X1V, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 } } in let { $dBits_swt5 :: Data.Bits.Bits (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_swt5 = case tup_swta of _ [Occ=Dead] { (tpl_X1V, tpl_X1X, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B9 } } in let { $dKnownNat_swt4 :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swt4 = case tup_swta of _ [Occ=Dead] { (tpl_X1X, tpl_X1Z, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Ba } } in case tup_avDN of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3) -> (GHC.Num.- @ (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) tpl_B3 (let { $dBits_swt2 :: Data.Bits.Bits (rep_auHe size1_auHf) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_swt2 = case tpl_X22 of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_X5p, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B5 } } in (CLaSH.Sized.Fixed.resizeF @ frac1_auHd @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size1_auHf @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ($dBounded_swt9, Data.Bits.$p1Bits @ (rep_auHe size1_auHf) $dBits_swt2, case tpl_X22 of _ [Occ=Dead] { (tpl_X43, tpl_X7q, tpl_X5q, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X5q }, case tpl_X22 of _ [Occ=Dead] { (tpl_X7n, tpl_X46, tpl_X5q, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B4 }, $dBits_swt2, $dResize_swt7, $dKnownNat_swt6, case tpl_X22 of _ [Occ=Dead] { (tpl_X7n, tpl_X7q, tpl_X5q, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B8 }, $dBits_swt5, $dKnownNat_swt4, case tpl_X22 of _ [Occ=Dead] { (tpl_X7n, tpl_X7q, tpl_X5q, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bb }, case tpl_X22 of _ [Occ=Dead] { (tpl_X7n, tpl_X7q, tpl_X5q, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bc }) eta_X1I) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1))) ((CLaSH.Sized.Fixed.resizeF @ frac2_auHg @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size2_auHh @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ($dBounded_swt9, Data.Bits.$p1Bits @ (rep_auHe size2_auHh) $dBits_swt8, case tup_swta of _ [Occ=Dead] { (tpl_X7k, tpl_X7n, tpl_X5n, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X5n }, case tup_swta of _ [Occ=Dead] { (tpl_X7k, tpl_X7n, tpl_X5n, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B4 }, $dBits_swt8, $dResize_swt7, $dKnownNat_swt6, case tup_swta of _ [Occ=Dead] { (tpl_X7k, tpl_X7n, tpl_X5n, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B8 }, $dBits_swt5, $dKnownNat_swt4, case tup_swta of _ [Occ=Dead] { (tpl_X7k, tpl_X7n, tpl_X5n, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bb }, case tup_swta of _ [Occ=Dead] { (tpl_X7k, tpl_X7n, tpl_X5n, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bc }) eta_X3p) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:AResultFixedFixed[0] _N _N _N _N _N)) :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh)) } $cplus_avDP :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [40 0 0] 430 0}] $cplus_avDP = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (eta_X1J :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (eta_X3r :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> let { tup_swsS :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_swsS = case tup_avDN of _ [Occ=Dead] { (tpl_X1M, tpl_X1O, tpl_B3) -> tpl_X1O } } in let { $dBounded_swsR :: GHC.Enum.Bounded (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBounded_swsR = case tup_swsS of _ [Occ=Dead] { (tpl_X1O, tpl_X1Q, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X1O } } in let { $dBits_swsQ :: Data.Bits.Bits (rep_auHe size2_auHh) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_swsQ = case tup_swsS of _ [Occ=Dead] { (tpl_X1Q, tpl_X1S, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B5 } } in let { $dResize_swsP :: CLaSH.Class.Num.Resize rep_auHe [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dResize_swsP = case tup_swsS of _ [Occ=Dead] { (tpl_X1S, tpl_X1U, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B6 } } in let { $dKnownNat_swsO :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swsO = case tup_swsS of _ [Occ=Dead] { (tpl_X1U, tpl_X1W, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 } } in let { $dBits_swsN :: Data.Bits.Bits (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_swsN = case tup_swsS of _ [Occ=Dead] { (tpl_X1W, tpl_X1Y, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B9 } } in let { $dKnownNat_swsM :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swsM = case tup_swsS of _ [Occ=Dead] { (tpl_X1Y, tpl_X20, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Ba } } in case tup_avDN of _ [Occ=Dead] { (tpl_X23, tpl_X25, tpl_B3) -> (GHC.Num.+ @ (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) tpl_B3 (let { $dBits_swsK :: Data.Bits.Bits (rep_auHe size1_auHf) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_swsK = case tpl_X23 of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_X5q, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B5 } } in (CLaSH.Sized.Fixed.resizeF @ frac1_auHd @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size1_auHf @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ($dBounded_swsR, Data.Bits.$p1Bits @ (rep_auHe size1_auHf) $dBits_swsK, case tpl_X23 of _ [Occ=Dead] { (tpl_X45, tpl_X7s, tpl_X5r, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X5r }, case tpl_X23 of _ [Occ=Dead] { (tpl_X7p, tpl_X48, tpl_X5r, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B4 }, $dBits_swsK, $dResize_swsP, $dKnownNat_swsO, case tpl_X23 of _ [Occ=Dead] { (tpl_X7p, tpl_X7s, tpl_X5r, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B8 }, $dBits_swsN, $dKnownNat_swsM, case tpl_X23 of _ [Occ=Dead] { (tpl_X7p, tpl_X7s, tpl_X5r, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bb }, case tpl_X23 of _ [Occ=Dead] { (tpl_X7p, tpl_X7s, tpl_X5r, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bc }) eta_X1J) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1))) ((CLaSH.Sized.Fixed.resizeF @ frac2_auHg @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size2_auHh @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ($dBounded_swsR, Data.Bits.$p1Bits @ (rep_auHe size2_auHh) $dBits_swsQ, case tup_swsS of _ [Occ=Dead] { (tpl_X7m, tpl_X7p, tpl_X5o, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X5o }, case tup_swsS of _ [Occ=Dead] { (tpl_X7m, tpl_X7p, tpl_X5o, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B4 }, $dBits_swsQ, $dResize_swsP, $dKnownNat_swsO, case tup_swsS of _ [Occ=Dead] { (tpl_X7m, tpl_X7p, tpl_X5o, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B8 }, $dBits_swsN, $dKnownNat_swsM, case tup_swsS of _ [Occ=Dead] { (tpl_X7m, tpl_X7p, tpl_X5o, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bb }, case tup_swsS of _ [Occ=Dead] { (tpl_X7m, tpl_X7p, tpl_X5o, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bc }) eta_X3r) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:AResultFixedFixed[0] _N _N _N _N _N)) :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh)) } CLaSH.Sized.Fixed.$fAddFixedFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Class.Num.Add (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclIdX[DFunId], Arity=1, Str=DmdType, Unf=DFun: \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) -> CLaSH.Class.Num.D:Add TYPE CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf TYPE CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh $cplus_avDP @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN $cminus_avEx @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN] CLaSH.Sized.Fixed.$fAddFixedFixed = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) -> CLaSH.Class.Num.D:Add @ (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) @ (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) ($cplus_avDP @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN) ($cminus_avEx @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN) $cfromInteger_avDp :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => GHC.Integer.Type.Integer -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [20 0] 130 0}] $cfromInteger_avDp = \ (@ (frac_auGY :: GHC.TypeLits.Nat)) (@ (rep_auGZ :: GHC.TypeLits.Nat -> *)) (@ (size_auH0 :: GHC.TypeLits.Nat)) (tup_avBm :: CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) (eta_X1I :: GHC.Integer.Type.Integer) -> case tup_avBm of _ [Occ=Dead] { (tpl_X1L, tpl_X1N, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> case tpl_X1N of _ [Occ=Dead] { (tpl_X1M, tpl_X1O, tpl_X3i, tpl_X3k, tpl_X3m, tpl_X3o, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> (Data.Bits.shiftL @ (rep_auGZ size_auH0) tpl_B9 (GHC.Num.fromInteger @ (rep_auGZ size_auH0) tpl_B3 eta_X1I) (case GHC.Integer.Type.integerToInt (tpl_Ba `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_auGY ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> GHC.Types.I# wild_akCB })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auGZ size_auH0 ~# CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) } } a_swkh :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [20 0] 40 0}] a_swkh = \ (@ (frac_auGY :: GHC.TypeLits.Nat)) (@ (rep_auGZ :: GHC.TypeLits.Nat -> *)) (@ (size_auH0 :: GHC.TypeLits.Nat)) (tup_avBm :: CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) (eta_X1J :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) -> case tup_avBm of _ [Occ=Dead] { (tpl_X1L, tpl_X1N, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> GHC.Num.signum @ (rep_auGZ size_auH0) tpl_B3 (eta_X1J `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 ~# rep_auGZ size_auH0)) } $cabs_avCW :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0] 253 0}] $cabs_avCW = \ (@ (frac_XuIJ :: GHC.TypeLits.Nat)) (@ (rep_XuIL :: GHC.TypeLits.Nat -> *)) (@ (size_XuIN :: GHC.TypeLits.Nat)) (tup_XvDa :: CLaSH.Sized.Fixed.NumFixed frac_XuIJ rep_XuIL size_XuIN) (eta_X1Q :: CLaSH.Sized.Fixed.Fixed frac_XuIJ rep_XuIL size_XuIN) -> let { tup_swsy :: CLaSH.Sized.Fixed.ResizeFC rep_XuIL (frac_XuIJ GHC.TypeLits.+ frac_XuIJ) frac_XuIJ (size_XuIN GHC.TypeLits.+ size_XuIN) size_XuIN [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_swsy = case tup_XvDa of _ [Occ=Dead] { (tpl_X1T, tpl_X1V, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X1V } } in let { $dKnownNat_swsx :: GHC.TypeLits.KnownNat size_XuIN [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swsx = case tup_swsy of _ [Occ=Dead] { (tpl_X1V, tpl_X1X, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 } } in let { tup_swsw :: CLaSH.Sized.Fixed.SatN2C rep_XuIL size_XuIN [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_swsw = case tup_XvDa of _ [Occ=Dead] { (tpl_X1X, tpl_X1Z, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X1X } } in let { $dKnownNat_swsv :: GHC.TypeLits.KnownNat (size_XuIN GHC.TypeLits.+ 2) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swsv = case tup_swsw of _ [Occ=Dead] { (tpl_X1Z, tpl_X21, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B8 } } in (CLaSH.Sized.Fixed.satN2 @ rep_XuIL @ size_XuIN (case tup_swsw of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X20 }, case tup_swsw of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X22 }, case tup_swsw of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B3 }, case tup_swsw of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B4 }, case tup_swsw of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B5 }, case tup_swsw of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B6 }, $dKnownNat_swsx, $dKnownNat_swsv, case tup_swsy of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X20 }, case tup_swsw of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_Ba }) (case tup_XvDa of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> GHC.Num.abs @ (rep_XuIL (size_XuIN GHC.TypeLits.+ 2)) tpl_B4 (case tup_swsy of _ [Occ=Dead] { (tpl_X7i, tpl_X7l, tpl_X5n, tpl_X5p, tpl_X5r, tpl_X5t, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> (tpl_X5t `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuIL ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuIL a_ae8M -> rep_XuIL b_ae8N))) @ size_XuIN @ (size_XuIN GHC.TypeLits.+ 2) $dKnownNat_swsx $dKnownNat_swsv (eta_X1Q `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIJ rep_XuIL size_XuIN ~# rep_XuIL size_XuIN)) }) })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIL size_XuIN ~# CLaSH.Sized.Fixed.Fixed frac_XuIJ rep_XuIL size_XuIN) $cnegate_avCC :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0] 253 0}] $cnegate_avCC = \ (@ (frac_XuIK :: GHC.TypeLits.Nat)) (@ (rep_XuIM :: GHC.TypeLits.Nat -> *)) (@ (size_XuIO :: GHC.TypeLits.Nat)) (tup_XvDb :: CLaSH.Sized.Fixed.NumFixed frac_XuIK rep_XuIM size_XuIO) (eta_X1R :: CLaSH.Sized.Fixed.Fixed frac_XuIK rep_XuIM size_XuIO) -> let { tup_swsq :: CLaSH.Sized.Fixed.ResizeFC rep_XuIM (frac_XuIK GHC.TypeLits.+ frac_XuIK) frac_XuIK (size_XuIO GHC.TypeLits.+ size_XuIO) size_XuIO [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_swsq = case tup_XvDb of _ [Occ=Dead] { (tpl_X1U, tpl_X1W, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X1W } } in let { $dKnownNat_swsp :: GHC.TypeLits.KnownNat size_XuIO [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swsp = case tup_swsq of _ [Occ=Dead] { (tpl_X1W, tpl_X1Y, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 } } in let { tup_swso :: CLaSH.Sized.Fixed.SatN2C rep_XuIM size_XuIO [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_swso = case tup_XvDb of _ [Occ=Dead] { (tpl_X1Y, tpl_X20, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X1Y } } in let { $dKnownNat_swsn :: GHC.TypeLits.KnownNat (size_XuIO GHC.TypeLits.+ 2) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swsn = case tup_swso of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B8 } } in (CLaSH.Sized.Fixed.satN2 @ rep_XuIM @ size_XuIO (case tup_swso of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X21 }, case tup_swso of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X23 }, case tup_swso of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B3 }, case tup_swso of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B4 }, case tup_swso of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B5 }, case tup_swso of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B6 }, $dKnownNat_swsp, $dKnownNat_swsn, case tup_swsq of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X21 }, case tup_swso of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_Ba }) (case tup_XvDb of _ [Occ=Dead] { (tpl_X21, tpl_X23, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> GHC.Num.negate @ (rep_XuIM (size_XuIO GHC.TypeLits.+ 2)) tpl_B4 (case tup_swsq of _ [Occ=Dead] { (tpl_X7k, tpl_X7n, tpl_X5o, tpl_X5q, tpl_X5s, tpl_X5u, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> (tpl_X5u `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuIM ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuIM a_ae8M -> rep_XuIM b_ae8N))) @ size_XuIO @ (size_XuIO GHC.TypeLits.+ 2) $dKnownNat_swsp $dKnownNat_swsn (eta_X1R `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIK rep_XuIM size_XuIO ~# rep_XuIM size_XuIO)) }) })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIM size_XuIO ~# CLaSH.Sized.Fixed.Fixed frac_XuIK rep_XuIM size_XuIO) $c-_avCb :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0 0] 276 0}] $c-_avCb = \ (@ (frac_XuIL :: GHC.TypeLits.Nat)) (@ (rep_XuIN :: GHC.TypeLits.Nat -> *)) (@ (size_XuIP :: GHC.TypeLits.Nat)) (tup_XvDc :: CLaSH.Sized.Fixed.NumFixed frac_XuIL rep_XuIN size_XuIP) (eta_X1T :: CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP) (eta_X3L :: CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP) -> let { tup_swsi :: CLaSH.Sized.Fixed.ResizeFC rep_XuIN (frac_XuIL GHC.TypeLits.+ frac_XuIL) frac_XuIL (size_XuIP GHC.TypeLits.+ size_XuIP) size_XuIP [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_swsi = case tup_XvDc of _ [Occ=Dead] { (tpl_X1W, tpl_X1Y, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X1Y } } in let { $dKnownNat_swsg :: GHC.TypeLits.KnownNat size_XuIP [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swsg = case tup_swsi of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 } } in let { tup_swsf :: CLaSH.Sized.Fixed.SatN2C rep_XuIN size_XuIP [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_swsf = case tup_XvDc of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X22 } } in let { $dKnownNat_swse :: GHC.TypeLits.KnownNat (size_XuIP GHC.TypeLits.+ 2) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swse = case tup_swsf of _ [Occ=Dead] { (tpl_X24, tpl_X26, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B8 } } in (CLaSH.Sized.Fixed.satN2 @ rep_XuIN @ size_XuIP (case tup_swsf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X25 }, case tup_swsf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X27 }, case tup_swsf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B3 }, case tup_swsf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B4 }, case tup_swsf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B5 }, case tup_swsf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B6 }, $dKnownNat_swsg, $dKnownNat_swse, case tup_swsi of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X25 }, case tup_swsf of _ [Occ=Dead] { (tpl_X25, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_Ba }) (case tup_XvDc of _ [Occ=Dead] { (tpl_X49, tpl_X27, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> GHC.Num.- @ (rep_XuIN (size_XuIP GHC.TypeLits.+ 2)) tpl_B4 (case tup_swsi of _ [Occ=Dead] { (tpl_X1Y, tpl_X20, tpl_X5s, tpl_X5u, tpl_X5w, tpl_X5y, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> (tpl_X5y `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuIN ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuIN a_ae8M -> rep_XuIN b_ae8N))) @ size_XuIP @ (size_XuIP GHC.TypeLits.+ 2) $dKnownNat_swsg $dKnownNat_swse (eta_X1T `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP ~# rep_XuIN size_XuIP)) }) (case tup_swsi of _ [Occ=Dead] { (tpl_X1Y, tpl_X20, tpl_X5s, tpl_X5u, tpl_X5w, tpl_X5y, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> (tpl_X5y `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuIN ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuIN a_ae8M -> rep_XuIN b_ae8N))) @ size_XuIP @ (size_XuIP GHC.TypeLits.+ 2) $dKnownNat_swsg $dKnownNat_swse (eta_X3L `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP ~# rep_XuIN size_XuIP)) }) })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIN size_XuIP ~# CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP) $c*_avBP :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [40 0 0] 222 0}] $c*_avBP = \ (@ (frac_XuIM :: GHC.TypeLits.Nat)) (@ (rep_XuIO :: GHC.TypeLits.Nat -> *)) (@ (size_XuIQ :: GHC.TypeLits.Nat)) (tup_XvDd :: CLaSH.Sized.Fixed.NumFixed frac_XuIM rep_XuIO size_XuIQ) (eta_X1U :: CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ) (eta_X3N :: CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ) -> let { tup_sws8 :: CLaSH.Sized.Fixed.ResizeFC rep_XuIO (frac_XuIM GHC.TypeLits.+ frac_XuIM) frac_XuIM (size_XuIQ GHC.TypeLits.+ size_XuIQ) size_XuIQ [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_sws8 = case tup_XvDd of _ [Occ=Dead] { (tpl_X1X, tpl_X1Z, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X1Z } } in let { $dBits_sws7 :: Data.Bits.Bits (rep_XuIO (size_XuIQ GHC.TypeLits.+ size_XuIQ)) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_sws7 = case tup_sws8 of _ [Occ=Dead] { (tpl_X1Z, tpl_X21, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B5 } } in CLaSH.Sized.Fixed.resizeF @ (frac_XuIM GHC.TypeLits.+ frac_XuIM) @ frac_XuIM @ rep_XuIO @ (size_XuIQ GHC.TypeLits.+ size_XuIQ) @ size_XuIQ (case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X20 }, Data.Bits.$p1Bits @ (rep_XuIO (size_XuIQ GHC.TypeLits.+ size_XuIQ)) $dBits_sws7, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B3 }, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B4 }, $dBits_sws7, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B6 }, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 }, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B8 }, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B9 }, case tup_sws8 of _ [Occ=Dead] { (tpl_X3Z, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Ba }, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X42, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bb }, case tup_sws8 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_Bc }) (case tup_XvDd of _ [Occ=Dead] { (tpl_Xk, tpl_Xm, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> case tpl_B6 of _ [Occ=Dead] { GHC.Types.Eq# cobox_dw1a -> ((tpl_B5 `cast` (CLaSH.Class.Num.NTCo:Mult[0] _N _N :: CLaSH.Class.Num.Mult (rep_XuIO size_XuIQ) (rep_XuIO size_XuIQ) ~# (rep_XuIO size_XuIQ -> rep_XuIO size_XuIQ -> CLaSH.Class.Num.MResult (rep_XuIO size_XuIQ) (rep_XuIO size_XuIQ)))) (eta_X1U `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ ~# rep_XuIO size_XuIQ)) (eta_X3N `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ ~# rep_XuIO size_XuIQ))) `cast` (Sub cobox_dw1a ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: CLaSH.Class.Num.MResult (rep_XuIO size_XuIQ) (rep_XuIO size_XuIQ) ~# CLaSH.Sized.Fixed.Fixed (frac_XuIM GHC.TypeLits.+ frac_XuIM) rep_XuIO (size_XuIQ GHC.TypeLits.+ size_XuIQ)) } }) $c+_avBo :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=3, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0 0] 276 0}] $c+_avBo = \ (@ (frac_XuIN :: GHC.TypeLits.Nat)) (@ (rep_XuIP :: GHC.TypeLits.Nat -> *)) (@ (size_XuIR :: GHC.TypeLits.Nat)) (tup_XvDe :: CLaSH.Sized.Fixed.NumFixed frac_XuIN rep_XuIP size_XuIR) (eta_X1V :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) (eta_X3P :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) -> let { tup_sws4 :: CLaSH.Sized.Fixed.ResizeFC rep_XuIP (frac_XuIN GHC.TypeLits.+ frac_XuIN) frac_XuIN (size_XuIR GHC.TypeLits.+ size_XuIR) size_XuIR [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_sws4 = case tup_XvDe of _ [Occ=Dead] { (tpl_X1Y, tpl_X20, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X20 } } in let { $dKnownNat_sws2 :: GHC.TypeLits.KnownNat size_XuIR [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_sws2 = case tup_sws4 of _ [Occ=Dead] { (tpl_X22, tpl_X24, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_B7 } } in let { tup_sws1 :: CLaSH.Sized.Fixed.SatN2C rep_XuIP size_XuIR [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_sws1 = case tup_XvDe of _ [Occ=Dead] { (tpl_X24, tpl_X26, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> tpl_X24 } } in let { $dKnownNat_sws0 :: GHC.TypeLits.KnownNat (size_XuIR GHC.TypeLits.+ 2) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_sws0 = case tup_sws1 of _ [Occ=Dead] { (tpl_X26, tpl_X28, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B8 } } in (CLaSH.Sized.Fixed.satN2 @ rep_XuIP @ size_XuIR (case tup_sws1 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X27 }, case tup_sws1 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_X29 }, case tup_sws1 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B3 }, case tup_sws1 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B4 }, case tup_sws1 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B5 }, case tup_sws1 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_B6 }, $dKnownNat_sws2, $dKnownNat_sws0, case tup_sws4 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> tpl_X27 }, case tup_sws1 of _ [Occ=Dead] { (tpl_X27, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6, tpl_B7, tpl_B8, tpl_B9, tpl_Ba) -> tpl_Ba }) (case tup_XvDe of _ [Occ=Dead] { (tpl_X4d, tpl_X29, tpl_B3, tpl_B4, tpl_B5, tpl_B6) -> GHC.Num.+ @ (rep_XuIP (size_XuIR GHC.TypeLits.+ 2)) tpl_B4 (case tup_sws4 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_X5u, tpl_X5w, tpl_X5y, tpl_X5A, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> (tpl_X5A `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuIP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuIP a_ae8M -> rep_XuIP b_ae8N))) @ size_XuIR @ (size_XuIR GHC.TypeLits.+ 2) $dKnownNat_sws2 $dKnownNat_sws0 (eta_X1V `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR ~# rep_XuIP size_XuIR)) }) (case tup_sws4 of _ [Occ=Dead] { (tpl_X20, tpl_X22, tpl_X5u, tpl_X5w, tpl_X5y, tpl_X5A, tpl_B7, tpl_B8, tpl_B9, tpl_Ba, tpl_Bb, tpl_Bc) -> (tpl_X5A `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuIP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuIP a_ae8M -> rep_XuIP b_ae8N))) @ size_XuIR @ (size_XuIR GHC.TypeLits.+ 2) $dKnownNat_sws2 $dKnownNat_sws0 (eta_X3P `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR ~# rep_XuIP size_XuIR)) }) })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIP size_XuIR ~# CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) CLaSH.Sized.Fixed.$fNumFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => GHC.Num.Num (CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) [LclIdX[DFunId], Arity=1, Str=DmdType, Unf=DFun: \ (@ (frac_XuIO :: GHC.TypeLits.Nat)) (@ (rep_XuIQ :: GHC.TypeLits.Nat -> *)) (@ (size_XuIS :: GHC.TypeLits.Nat)) (tup_XvDf :: CLaSH.Sized.Fixed.NumFixed frac_XuIO rep_XuIQ size_XuIS) -> GHC.Num.D:Num TYPE CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS $c+_avBo @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $c*_avBP @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $c-_avCb @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $cnegate_avCC @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $cabs_avCW @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf (a_swkh @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) `cast` (_R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> rep_XuIQ size_XuIS) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS)) $cfromInteger_avDp @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf] CLaSH.Sized.Fixed.$fNumFixed = \ (@ (frac_XuIO :: GHC.TypeLits.Nat)) (@ (rep_XuIQ :: GHC.TypeLits.Nat -> *)) (@ (size_XuIS :: GHC.TypeLits.Nat)) (tup_XvDf :: CLaSH.Sized.Fixed.NumFixed frac_XuIO rep_XuIQ size_XuIS) -> GHC.Num.D:Num @ (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS) ($c+_avBo @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($c*_avBP @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($c-_avCb @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($cnegate_avCC @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($cabs_avCW @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ((a_swkh @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) `cast` (_R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> rep_XuIQ size_XuIS) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS))) ($cfromInteger_avDp @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) CLaSH.Sized.Fixed.$fBitVectorFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV) => CLaSH.Class.BitVector.BitVector (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV) [LclIdX[DFunId], Arity=1, Str=DmdType, Unf=DFun: \ (@ (frac_XuIN :: GHC.TypeLits.Nat)) (@ (rep_XuIP :: GHC.TypeLits.Nat -> *)) (@ (size_XuIR :: GHC.TypeLits.Nat)) ($dBitVector_XvCT :: CLaSH.Class.BitVector.BitVector (rep_XuIP size_XuIR)) -> CLaSH.Class.BitVector.D:BitVector TYPE CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR (\ ($dKnownNat_avB0 :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (ds_dw0H :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) -> CLaSH.Class.BitVector.toBV @ (rep_XuIP size_XuIR) $dBitVector_XvCT ($dKnownNat_avB0 `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (ds_dw0H `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR ~# rep_XuIP size_XuIR))) `cast` (_R -> _R -> (CLaSH.Sized.Vector.Vec (Sym (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N)) _R)_R :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit)) (\ ($dKnownNat_avBa :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (bv_auGX :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit) -> CLaSH.Class.BitVector.fromBV @ (rep_XuIP size_XuIR) $dBitVector_XvCT ($dKnownNat_avBa `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (bv_auGX `cast` ((CLaSH.Sized.Vector.Vec (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit))) `cast` (_R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> rep_XuIP size_XuIR) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))] CLaSH.Sized.Fixed.$fBitVectorFixed = \ (@ (frac_XuIN :: GHC.TypeLits.Nat)) (@ (rep_XuIP :: GHC.TypeLits.Nat -> *)) (@ (size_XuIR :: GHC.TypeLits.Nat)) ($dBitVector_XvCT :: CLaSH.Class.BitVector.BitVector (rep_XuIP size_XuIR)) -> CLaSH.Class.BitVector.D:BitVector @ (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) ((\ ($dKnownNat_avB0 :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (ds_dw0H :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) -> CLaSH.Class.BitVector.toBV @ (rep_XuIP size_XuIR) $dBitVector_XvCT ($dKnownNat_avB0 `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (ds_dw0H `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR ~# rep_XuIP size_XuIR))) `cast` (_R -> _R -> (CLaSH.Sized.Vector.Vec (Sym (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N)) _R)_R :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit))) ((\ ($dKnownNat_avBa :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (bv_auGX :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit) -> CLaSH.Class.BitVector.fromBV @ (rep_XuIP size_XuIR) $dBitVector_XvCT ($dKnownNat_avBa `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (bv_auGX `cast` ((CLaSH.Sized.Vector.Vec (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit))) `cast` (_R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> rep_XuIP size_XuIR) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) a_swC4 :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => Data.Default.Class.Default (rep_auGM size_auGN) [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swC4 = \ (@ (frac_auGL :: GHC.TypeLits.Nat)) (@ (rep_auGM :: GHC.TypeLits.Nat -> *)) (@ (size_auGN :: GHC.TypeLits.Nat)) ($dDefault_avAe :: Data.Default.Class.Default (rep_auGM size_auGN)) -> $dDefault_avAe $cdef_avAg :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => CLaSH.Sized.Fixed.Fixed frac_auGL rep_auGM size_auGN [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $cdef_avAg = a_swC4 `cast` (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). _R -> Data.Default.Class.NTCo:Default[0] _N ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => Data.Default.Class.Default (rep_XuLZ size_XuM1)) ~# (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => CLaSH.Sized.Fixed.Fixed frac_XuLX rep_XuLZ size_XuM1)) CLaSH.Sized.Fixed.$fDefaultFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_auGL rep_auGM size_auGN) [LclIdX[DFunId(nt)], Arity=1, Str=DmdType, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= $cdef_avAg `cast` (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). _R -> Sym (Data.Default.Class.NTCo:Default[0] _N) :: (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuIO size_XuIQ) => CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ) ~# (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuIO size_XuIQ) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ)))}] CLaSH.Sized.Fixed.$fDefaultFixed = a_swC4 `cast` (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). _R -> Data.Default.Class.NTCo:Default[0] _N ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sym (Data.Default.Class.NTCo:Default[0] _N) :: (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => Data.Default.Class.Default (rep_XuLZ size_XuM1)) ~# (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_XuLX rep_XuLZ size_XuM1))) CLaSH.Sized.Fixed.$fBoundedFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_auGJ size_auGK) => GHC.Enum.Bounded (CLaSH.Sized.Fixed.Fixed frac_auGI rep_auGJ size_auGK) [LclIdX[DFunId], Arity=1, Str=DmdType, Unf=DFun: \ (@ (frac_XuIW :: GHC.TypeLits.Nat)) (@ (rep_XuIY :: GHC.TypeLits.Nat -> *)) (@ (size_XuJ0 :: GHC.TypeLits.Nat)) ($dBounded_XvCa :: GHC.Enum.Bounded (rep_XuIY size_XuJ0)) -> GHC.Enum.D:Bounded TYPE CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0 (GHC.Enum.minBound @ (rep_XuIY size_XuJ0) $dBounded_XvCa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0) (GHC.Enum.maxBound @ (rep_XuIY size_XuJ0) $dBounded_XvCa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0)] CLaSH.Sized.Fixed.$fBoundedFixed = \ (@ (frac_XuIW :: GHC.TypeLits.Nat)) (@ (rep_XuIY :: GHC.TypeLits.Nat -> *)) (@ (size_XuJ0 :: GHC.TypeLits.Nat)) ($dBounded_XvCa :: GHC.Enum.Bounded (rep_XuIY size_XuJ0)) -> GHC.Enum.D:Bounded @ (CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0) ((GHC.Enum.minBound @ (rep_XuIY size_XuJ0) $dBounded_XvCa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0)) ((GHC.Enum.maxBound @ (rep_XuIY size_XuJ0) $dBounded_XvCa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0)) CLaSH.Sized.Fixed.$fOrdFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => GHC.Classes.Ord (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) [LclIdX[DFunId[1]], Arity=2, Str=DmdType, Unf=DFun: \ (@ (frac_XuIv :: GHC.TypeLits.Nat)) (@ (rep_XuIx :: GHC.TypeLits.Nat -> *)) (@ (size_XuIz :: GHC.TypeLits.Nat)) ($dEq_XvB3 :: GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) ($dOrd_XvB5 :: GHC.Classes.Ord (rep_XuIx size_XuIz)) -> GHC.Classes.D:Ord TYPE CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz $dEq_XvB3 (GHC.Classes.compare @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Ordering) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Ordering)) (GHC.Classes.< @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) (GHC.Classes.>= @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) (GHC.Classes.> @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) (GHC.Classes.<= @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) (GHC.Classes.max @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) (GHC.Classes.min @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz))] CLaSH.Sized.Fixed.$fOrdFixed = \ (@ (frac_XuIv :: GHC.TypeLits.Nat)) (@ (rep_XuIx :: GHC.TypeLits.Nat -> *)) (@ (size_XuIz :: GHC.TypeLits.Nat)) ($dEq_XvB3 :: GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) ($dOrd_XvB5 :: GHC.Classes.Ord (rep_XuIx size_XuIz)) -> GHC.Classes.D:Ord @ (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz) $dEq_XvB3 ((GHC.Classes.compare @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Ordering) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Ordering))) ((GHC.Classes.< @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.>= @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.> @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.<= @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.max @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz))) ((GHC.Classes.min @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz))) CLaSH.Sized.Fixed.$fEqFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_auFG size_auFH) => GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) [LclIdX[DFunId], Arity=1, Str=DmdType, Unf=DFun: \ (@ (frac_XuII :: GHC.TypeLits.Nat)) (@ (rep_XuIK :: GHC.TypeLits.Nat -> *)) (@ (size_XuIM :: GHC.TypeLits.Nat)) ($dEq_XvAL :: GHC.Classes.Eq (rep_XuIK size_XuIM)) -> GHC.Classes.D:Eq TYPE CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM (GHC.Classes.== @ (rep_XuIK size_XuIM) $dEq_XvAL) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool)) (GHC.Classes./= @ (rep_XuIK size_XuIM) $dEq_XvAL) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool))] CLaSH.Sized.Fixed.$fEqFixed = \ (@ (frac_XuII :: GHC.TypeLits.Nat)) (@ (rep_XuIK :: GHC.TypeLits.Nat -> *)) (@ (size_XuIM :: GHC.TypeLits.Nat)) ($dEq_XvAL :: GHC.Classes.Eq (rep_XuIK size_XuIM)) -> GHC.Classes.D:Eq @ (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM) ((GHC.Classes.== @ (rep_XuIK size_XuIM) $dEq_XvAL) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool))) ((GHC.Classes./= @ (rep_XuIK size_XuIM) $dEq_XvAL) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool))) a_swC6 :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] a_swC6 = GHC.CString.unpackCString# "Fixed"# a_swC9 :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 0}] a_swC9 = GHC.CString.unpackCString# "clash-prelude-0.5"# a_swCb :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 0}] a_swCb = GHC.CString.unpackCString# "CLaSH.Sized.Fixed"# a_swC7 :: Language.Haskell.TH.Syntax.NameFlavour [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}] a_swC7 = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.DataName (a_swC9 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a_swCb `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) lvl_swwh :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] lvl_swwh = Language.Haskell.TH.Syntax.Name (a_swC6 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a_swC7 a_swCe :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] a_swCe = GHC.CString.unpackCString# "Fixed"# a_swCh :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 0}] a_swCh = GHC.CString.unpackCString# "clash-prelude-0.5"# a_swCj :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 0}] a_swCj = GHC.CString.unpackCString# "CLaSH.Sized.Fixed"# a_swCf :: Language.Haskell.TH.Syntax.NameFlavour [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}] a_swCf = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.TcClsName (a_swCh `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a_swCj `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) lvl_swwp :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] lvl_swwp = Language.Haskell.TH.Syntax.Name (a_swCe `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a_swCf a_swCk :: forall (m_a4Ni :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4Ni => m_a4Ni Language.Haskell.TH.Syntax.Type [LclId, Arity=1, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [30] 60 0}] a_swCk = \ (@ (m_a4Ni :: * -> *)) (eta_a4Nj :: Language.Haskell.TH.Syntax.Quasi m_a4Ni) -> GHC.Base.return @ m_a4Ni (Language.Haskell.TH.Syntax.$p1Quasi @ m_a4Ni eta_a4Nj) @ Language.Haskell.TH.Syntax.Type (Language.Haskell.TH.Syntax.ConT lvl_swwp) a_swCv :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> forall (m_akMz :: * -> *). Language.Haskell.TH.Syntax.Quasi m_akMz => m_akMz Language.Haskell.TH.Syntax.Exp [LclId, Arity=5, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] a_swCv = \ (@ (frac_auGO :: GHC.TypeLits.Nat)) (@ (rep_auGP :: GHC.TypeLits.Nat -> *)) (@ (size_auGQ :: GHC.TypeLits.Nat)) ($dLift_avAq :: Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ)) ($dKnownNat_avAr :: GHC.TypeLits.KnownNat frac_auGO) ($dKnownNat_avAs :: GHC.TypeLits.KnownNat size_auGQ) ($dTypeable_avAt :: Data.Typeable.Internal.Typeable rep_auGP) (f_auGR :: CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ) -> let { w1_acZp :: Language.Haskell.TH.Lib.ExpQ [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 1 0}] w1_acZp = ($dLift_avAq `cast` (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N :: Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ) ~# (rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp))) (f_auGR `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ ~# rep_auGP size_auGQ)) } in let { w1_akV2 :: Language.Haskell.TH.Lib.TypeQ [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=NEVER}] w1_akV2 = letrec { lgo_awhL [Occ=LoopBreaker] :: Language.Haskell.TH.Lib.TypeQ -> [Language.Haskell.TH.Lib.TypeQ] -> Language.Haskell.TH.Lib.TypeQ [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=, TopLvl=False, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 30] 80 0}] lgo_awhL = \ (z_awhM :: Language.Haskell.TH.Lib.TypeQ) (ds_awhN :: [Language.Haskell.TH.Lib.TypeQ]) -> case ds_awhN of _ [Occ=Dead] { [] -> z_awhM; : x_awhS xs_awhT -> lgo_awhL ((Language.Haskell.TH.Lib.appT1 z_awhM x_awhS) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) xs_awhT }; } in lgo_awhL (a_swCk `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (GHC.Types.: @ Language.Haskell.TH.Lib.TypeQ (let { l_a5DZ :: Language.Haskell.TH.Lib.TyLitQ [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 20 0}] l_a5DZ = Language.Haskell.TH.Lib.numTyLit ($dKnownNat_avAr `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_auGO ~# GHC.Integer.Type.Integer)) } in (\ (@ (m_a5E0 :: * -> *)) (eta_a5E1 :: Language.Haskell.TH.Syntax.Quasi m_a5E0) -> GHC.Base.fmap @ m_a5E0 (Control.Applicative.$p1Applicative @ m_a5E0 (Language.Haskell.TH.Syntax.$p2Quasi @ m_a5E0 eta_a5E1)) @ Language.Haskell.TH.Syntax.TyLit @ Language.Haskell.TH.Syntax.Type Language.Haskell.TH.Syntax.LitT ((l_a5DZ `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.TyLit ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.TyLit))) @ m_a5E0 eta_a5E1)) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (GHC.Types.: @ Language.Haskell.TH.Lib.TypeQ (let { x_X4Ts :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 271 90}] x_X4Ts = case ($dTypeable_avAt `cast` (Data.Typeable.Internal.NTCo:Typeable[0] *>_N _N :: Data.Typeable.Internal.Typeable rep_auGP ~# (GHC.Prim.Proxy# rep_auGP -> Data.Typeable.Internal.TypeRep))) (GHC.Prim.proxy# @ (GHC.TypeLits.Nat -> *) @ rep_auGP) of _ [Occ=Dead] { Data.Typeable.Internal.TypeRep ww1_awCq ww2_awCr ww3_awCs ww4_awCt -> case GHC.List.reverse1 @ GHC.Types.Char (Data.Typeable.Internal.$w$cshowsPrec GHC.Show.shows27 ww3_awCs ww4_awCt (GHC.Types.[] @ GHC.Types.Char)) (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead] { [] -> Language.Haskell.TH.Syntax.Name ((GHC.Types.[] @ GHC.Types.Char) `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) Language.Haskell.TH.Syntax.NameS; : ds_a5Fa rev_a5Fb -> case ds_a5Fa of wild22_a5Fd { GHC.Types.C# ds1_a5Ff -> case ds1_a5Ff of _ [Occ=Dead] { __DEFAULT -> case Language.Haskell.TH.Syntax.mkName_$s$wsplit1 wild22_a5Fd (GHC.Types.[] @ GHC.Types.Char) rev_a5Fb of _ [Occ=Dead] { (# ww1_a5Aw, ww2_a5Ax #) -> Language.Haskell.TH.Syntax.Name ww1_a5Aw ww2_a5Ax }; '.' -> case Language.Haskell.TH.Syntax.mkName_$s$wsplit1 wild22_a5Fd (GHC.Types.[] @ GHC.Types.Char) rev_a5Fb of _ [Occ=Dead] { (# ww1_a5Aw, ww2_a5Ax #) -> Language.Haskell.TH.Syntax.Name ww1_a5Aw ww2_a5Ax } } } } } } in (\ (@ (m_X4Tv :: * -> *)) (eta_X4Tx :: Language.Haskell.TH.Syntax.Quasi m_X4Tv) -> GHC.Base.return @ m_X4Tv (Language.Haskell.TH.Syntax.$p1Quasi @ m_X4Tv eta_X4Tx) @ Language.Haskell.TH.Syntax.Type (Language.Haskell.TH.Syntax.ConT x_X4Ts)) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (GHC.Types.: @ Language.Haskell.TH.Lib.TypeQ (let { l_a5DZ :: Language.Haskell.TH.Lib.TyLitQ [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 20 0}] l_a5DZ = Language.Haskell.TH.Lib.numTyLit ($dKnownNat_avAs `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat size_auGQ ~# GHC.Integer.Type.Integer)) } in (\ (@ (m_a5E0 :: * -> *)) (eta_a5E1 :: Language.Haskell.TH.Syntax.Quasi m_a5E0) -> GHC.Base.fmap @ m_a5E0 (Control.Applicative.$p1Applicative @ m_a5E0 (Language.Haskell.TH.Syntax.$p2Quasi @ m_a5E0 eta_a5E1)) @ Language.Haskell.TH.Syntax.TyLit @ Language.Haskell.TH.Syntax.Type Language.Haskell.TH.Syntax.LitT ((l_a5DZ `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.TyLit ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.TyLit))) @ m_a5E0 eta_a5E1)) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (GHC.Types.[] @ Language.Haskell.TH.Lib.TypeQ)))) } in \ (@ (m_akV3 :: * -> *)) (w2_akV4 :: Language.Haskell.TH.Syntax.Quasi m_akV3) -> case w2_akV4 of _ [Occ=Dead] { Language.Haskell.TH.Syntax.D:Quasi ww1_akV7 ww2_akV8 ww3_akV9 ww4_akVa ww5_akVb ww6_akVc ww7_akVd ww8_akVe ww9_akVf ww10_akVg ww11_akVh ww12_akVi ww13_akVj ww14_akVk ww15_akVl ww16_akVm ww17_akVn ww18_akVo -> case ww1_akV7 of _ [Occ=Dead] { GHC.Base.D:Monad ww20_akVt ww21_akVu ww22_akVv ww23_akVw -> let { a_akVs :: GHC.Base.Monad m_akV3 [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 50}] a_akVs = GHC.Base.D:Monad @ m_akV3 ww20_akVt ww21_akVu ww22_akVv ww23_akVw } in let { eta_akVy :: Language.Haskell.TH.Syntax.Quasi m_akV3 [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 190}] eta_akVy = Language.Haskell.TH.Syntax.D:Quasi @ m_akV3 a_akVs ww2_akV8 ww3_akV9 ww4_akVa ww5_akVb ww6_akVc ww7_akVd ww8_akVe ww9_akVf ww10_akVg ww11_akVh ww12_akVi ww13_akVj ww14_akVk ww15_akVl ww16_akVm ww17_akVn ww18_akVo } in ww20_akVt @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (let { a_acZP :: GHC.Base.Monad m_akV3 [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 50}] a_acZP = GHC.Base.D:Monad @ m_akV3 ww20_akVt ww21_akVu ww22_akVv ww23_akVw } in let { eta_acZV :: Language.Haskell.TH.Syntax.Quasi m_akV3 [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 190}] eta_acZV = Language.Haskell.TH.Syntax.D:Quasi @ m_akV3 a_acZP ww2_akV8 ww3_akV9 ww4_akVa ww5_akVb ww6_akVc ww7_akVd ww8_akVe ww9_akVf ww10_akVg ww11_akVh ww12_akVi ww13_akVj ww14_akVk ww15_akVl ww16_akVm ww17_akVn ww18_akVo } in ww20_akVt @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (ww22_akVv @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.ConE lvl_swwh)) (\ (x_acZW :: Language.Haskell.TH.Syntax.Exp) -> ww20_akVt @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp ((w1_acZp `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp))) @ m_akV3 eta_acZV) (\ (x1_acZX :: Language.Haskell.TH.Syntax.Exp) -> ww22_akVv @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.AppE x_acZW x1_acZX)))) (\ (x_akVz :: Language.Haskell.TH.Syntax.Exp) -> ww20_akVt @ Language.Haskell.TH.Syntax.Type @ Language.Haskell.TH.Syntax.Exp ((w1_akV2 `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type))) @ m_akV3 eta_akVy) (\ (x1_akVA :: Language.Haskell.TH.Syntax.Type) -> ww22_akVv @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.SigE x_akVz x1_akVA))) } } $clift_avAv :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp [LclId, Arity=5, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $clift_avAv = a_swCv `cast` (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp)) CLaSH.Sized.Fixed.$fLiftFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ) [LclIdX[DFunId(nt)], Arity=5, Str=DmdType, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=4, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= $clift_avAv `cast` (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N) :: (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ)))}] CLaSH.Sized.Fixed.$fLiftFixed = a_swCv `cast` (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> (_R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N)) ; Sym (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N) :: (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ))) ------ Local rules for imported ids -------- "SPEC GHC.Real.^ [GHC.Types.Double, GHC.Integer.Type.Integer]" [1] forall ($dNum_swu4 :: GHC.Num.Num GHC.Types.Double) ($dIntegral_swu5 :: GHC.Real.Integral GHC.Integer.Type.Integer). GHC.Real.^ @ GHC.Types.Double @ GHC.Integer.Type.Integer $dNum_swu4 $dIntegral_swu5 = $s^_swu6 *** Demand analysis: ==================== Demand analysis ==================== Result size of Demand analysis = {terms: 2,243, types: 9,616, coercions: 953} lvl_swvg :: GHC.Types.Double [LclId, Str=DmdType b] lvl_swvg = GHC.Err.error @ GHC.Types.Double (GHC.CString.unpackCString# "Negative exponent"#) lvl_swve :: GHC.Types.Double [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}] lvl_swve = GHC.Types.D# 1.0 lvl_swv0 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swv0 = __integer 1 lvl_swv2 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swv2 = __integer 1 lvl_swv4 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swv4 = __integer 2 lvl_swv6 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swv6 = __integer 2 Rec { g1_swuY [Occ=LoopBreaker] :: GHC.Types.Double -> GHC.Integer.Type.Integer -> GHC.Types.Double -> GHC.Types.Double [LclId, Arity=3, Str=DmdType m, Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0 0] 442 0}] g1_swuY = \ (x1_akDN [Dmd=] :: GHC.Types.Double) (y1_akDO [Dmd=] :: GHC.Integer.Type.Integer) (z_akDP [Dmd=] :: GHC.Types.Double) -> case GHC.Integer.Type.eqInteger# (GHC.Integer.Type.remInteger y1_akDO GHC.Real.even2) GHC.Real.even1 of wild_akF2 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akF2 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case GHC.Integer.Type.eqInteger# y1_akDO lvl_swv0 of wild_a2f3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a2f3 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> g1_swuY (GHC.Float.timesDouble x1_akDN x1_akDN) (GHC.Integer.Type.quotInteger (GHC.Integer.Type.minusInteger y1_akDO lvl_swv2) lvl_swv4) (GHC.Float.timesDouble x1_akDN z_akDP); GHC.Types.True -> GHC.Float.timesDouble x1_akDN z_akDP } }; GHC.Types.True -> g1_swuY (GHC.Float.timesDouble x1_akDN x1_akDN) (GHC.Integer.Type.quotInteger y1_akDO lvl_swv6) z_akDP } } end Rec } lvl_swuS :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swuS = __integer 1 lvl_swv8 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swv8 = __integer 1 lvl_swva :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swva = __integer 2 lvl_swvc :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swvc = __integer 2 Rec { f_swuQ [Occ=LoopBreaker] :: GHC.Types.Double -> GHC.Integer.Type.Integer -> GHC.Types.Double [LclId, Arity=2, Str=DmdType m, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0] 372 0}] f_swuQ = \ (x_akDA [Dmd=] :: GHC.Types.Double) (y_akDB [Dmd=] :: GHC.Integer.Type.Integer) -> case GHC.Integer.Type.eqInteger# (GHC.Integer.Type.remInteger y_akDB GHC.Real.even2) GHC.Real.even1 of wild_akF2 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akF2 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case GHC.Integer.Type.eqInteger# y_akDB lvl_swuS of wild_a2f3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a2f3 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> g1_swuY (GHC.Float.timesDouble x_akDA x_akDA) (GHC.Integer.Type.quotInteger (GHC.Integer.Type.minusInteger y_akDB lvl_swv8) lvl_swva) x_akDA; GHC.Types.True -> x_akDA } }; GHC.Types.True -> f_swuQ (GHC.Float.timesDouble x_akDA x_akDA) (GHC.Integer.Type.quotInteger y_akDB lvl_swvc) } } end Rec } lvl_swuH :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swuH = __integer 0 lvl_swuK :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swuK = __integer 0 $s^_swu6 [InlPrag=[1]] :: GHC.Types.Double -> GHC.Integer.Type.Integer -> GHC.Types.Double [LclId, Arity=2, Str=DmdType m, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0] 152 0}] $s^_swu6 = \ (eta_akDk [Dmd=] :: GHC.Types.Double) (eta1_akDl [Dmd=] :: GHC.Integer.Type.Integer) -> case GHC.Integer.Type.ltInteger# eta1_akDl lvl_swuH of wild_a4It { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a4It of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case GHC.Integer.Type.eqInteger# eta1_akDl lvl_swuK of wild_a2f3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a2f3 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> f_swuQ eta_akDk eta1_akDl; GHC.Types.True -> lvl_swve } }; GHC.Types.True -> lvl_swvg } } lvl_swvh :: GHC.Types.Double [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}] lvl_swvh = GHC.Types.D# 2.0 a_swwS :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] a_swwS = GHC.CString.unpackCString# "Fixed"# a_swwV :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 0}] a_swwV = GHC.CString.unpackCString# "clash-prelude-0.5"# a_swwX :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 0}] a_swwX = GHC.CString.unpackCString# "CLaSH.Sized.Fixed"# a_swwT :: Language.Haskell.TH.Syntax.NameFlavour [LclId, Str=DmdType m5, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}] a_swwT = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.DataName (a_swwV `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a_swwX `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) lvl_swvo :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] lvl_swvo = Language.Haskell.TH.Syntax.Name (a_swwS `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a_swwT a_swx0 :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 0}] a_swx0 = GHC.CString.unpackCString# "fromInteger"# a_swx3 :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 0}] a_swx3 = GHC.CString.unpackCString# "base"# a_swx5 :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] a_swx5 = GHC.CString.unpackCString# "GHC.Num"# a_swx1 :: Language.Haskell.TH.Syntax.NameFlavour [LclId, Str=DmdType m5, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}] a_swx1 = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.VarName (a_swx3 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a_swx5 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) lvl_swvw :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] lvl_swvw = Language.Haskell.TH.Syntax.Name (a_swx0 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a_swx1 a_swxS :: forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> forall (m_aw9c :: * -> *). Language.Haskell.TH.Syntax.Quasi m_aw9c => m_aw9c (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) [LclId, Arity=5, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] a_swxS = \ (@ (frac_avhM :: GHC.TypeLits.Nat)) (@ (rep_avhN :: GHC.TypeLits.Nat -> *)) (@ (size_avhO :: GHC.TypeLits.Nat)) ($dKnownNat_avlM :: GHC.TypeLits.KnownNat frac_avhM) _ [Occ=Dead, Dmd=] ($dBounded_avlO [Dmd=] :: GHC.Enum.Bounded (rep_avhN size_avhO)) ($dIntegral_avlP [Dmd=] :: GHC.Real.Integral (rep_avhN size_avhO)) (a_auGC [Dmd=] :: GHC.Types.Double) -> let { x_akVD :: GHC.Integer.Type.Integer [LclId, Str=DmdType {auGC-> avlM-> avlP->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=NEVER}] x_akVD = let { rMax_swu0 [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType {avlP->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] rMax_swu0 = GHC.Real.toInteger @ (rep_avhN size_avhO) $dIntegral_avlP (GHC.Enum.maxBound @ (rep_avhN size_avhO) $dBounded_avlO) } in let { truncated_swu2 [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType {auGC-> avlM->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 540 0}] truncated_swu2 = case a_auGC of _ [Occ=Dead, Dmd=] { GHC.Types.D# x_aw80 -> case $s^_swu6 lvl_swvh ($dKnownNat_avlM `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_avhM ~# GHC.Integer.Type.Integer)) of _ [Occ=Dead, Dmd=] { GHC.Types.D# y_aw84 -> case GHC.Integer.Type.decodeDoubleInteger (GHC.Prim.*## x_aw80 y_aw84) of _ [Occ=Dead, Dmd=] { (# ipv_aw8Q, ipv1_aw8R #) -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# ipv1_aw8R 0) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> GHC.Integer.Type.shiftLInteger ipv_aw8Q ipv1_aw8R; GHC.Types.True -> let { s_aw8X :: GHC.Prim.Int# [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 1 0}] s_aw8X = GHC.Prim.negateInt# ipv1_aw8R } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.># s_aw8X 52) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case GHC.Integer.Type.ltInteger# ipv_aw8Q (__integer 0) of wild3_aw92 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild3_aw92 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case GHC.Integer.Type.integerToInt ipv_aw8Q of n_aw96 { __DEFAULT -> GHC.Integer.Type.smallInteger (GHC.Prim.uncheckedIShiftRA# n_aw96 s_aw8X) }; GHC.Types.True -> case GHC.Integer.Type.integerToInt (GHC.Integer.Type.negateInteger ipv_aw8Q) of n_aw99 { __DEFAULT -> GHC.Integer.Type.smallInteger (GHC.Prim.negateInt# (GHC.Prim.uncheckedIShiftRA# n_aw99 s_aw8X)) } } }; GHC.Types.True -> __integer 0 } } } } } } in case GHC.Integer.Type.gtInteger# truncated_swu2 rMax_swu0 of wild_akJ6 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akJ6 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> let { rMin_swu1 [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType {avlP->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] rMin_swu1 = GHC.Real.toInteger @ (rep_avhN size_avhO) $dIntegral_avlP (GHC.Enum.minBound @ (rep_avhN size_avhO) $dBounded_avlO) } in case GHC.Integer.Type.ltInteger# truncated_swu2 rMin_swu1 of wild_a4It { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a4It of _ [Occ=Dead, Dmd=] { GHC.Types.False -> truncated_swu2; GHC.Types.True -> rMin_swu1 } }; GHC.Types.True -> rMax_swu0 } } } in \ (@ (m_awx9 :: * -> *)) (w1_awxa [Dmd=] :: Language.Haskell.TH.Syntax.Quasi m_awx9) -> case w1_awxa of _ [Occ=Dead, Dmd=] { Language.Haskell.TH.Syntax.D:Quasi ww1_awxd [Dmd=] ww2_awxe [Dmd=] ww3_awxf [Dmd=] ww4_awxg [Dmd=] ww5_awxh [Dmd=] ww6_awxi [Dmd=] ww7_awxj [Dmd=] ww8_awxk [Dmd=] ww9_awxl [Dmd=] ww10_awxm [Dmd=] ww11_awxn [Dmd=] ww12_awxo [Dmd=] ww13_awxp [Dmd=] ww14_awxq [Dmd=] ww15_awxr [Dmd=] ww16_awxs [Dmd=] ww17_awxt [Dmd=] ww18_awxu [Dmd=] -> case ww1_awxd of _ [Occ=Dead, Dmd=] { GHC.Base.D:Monad ww20_awxy [Dmd=] ww21_awxz [Dmd=] ww22_awxA [Dmd=] ww23_awxB [Dmd=] -> ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) (ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (ww22_awxA @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.ConE lvl_swvo)) (\ (x_acZW :: Language.Haskell.TH.Syntax.Exp) -> ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (ww22_awxA @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.VarE lvl_swvw)) (\ (x_Xd36 :: Language.Haskell.TH.Syntax.Exp) -> ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (ww22_awxA @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.LitE (Language.Haskell.TH.Syntax.IntegerL x_akVD))) (\ (x1_acZX :: Language.Haskell.TH.Syntax.Exp) -> ww22_awxA @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.AppE x_Xd36 x1_acZX)))) (\ (x1_acZX :: Language.Haskell.TH.Syntax.Exp) -> ww22_awxA @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.AppE x_acZW x1_acZX)))) (\ (x_awxD :: Language.Haskell.TH.Syntax.Exp) -> ww22_awxA @ (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) (x_awxD `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:TExp[0] _N) :: Language.Haskell.TH.Syntax.Exp ~# Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)))) } } CLaSH.Sized.Fixed.fLit :: forall (frac_auFI :: GHC.TypeLits.Nat) (rep_auFJ :: GHC.TypeLits.Nat -> *) (size_auFK :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_auFI, GHC.Num.Num (rep_auFJ size_auFK), GHC.Enum.Bounded (rep_auFJ size_auFK), GHC.Real.Integral (rep_auFJ size_auFK)) => GHC.Types.Double -> Language.Haskell.TH.Syntax.Q (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_auFI rep_auFJ size_auFK)) [LclIdX, Arity=5, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.fLit = a_swxS `cast` (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO))) ~# (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> Language.Haskell.TH.Syntax.Q (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)))) CLaSH.Sized.Fixed.satN2 :: forall (rep_auFL :: GHC.TypeLits.Nat -> *) (n_auFM :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.SatN2C rep_auFL n_auFM) => rep_auFL (n_auFM GHC.TypeLits.+ 2) -> rep_auFL n_auFM [LclIdX, Arity=2, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] CLaSH.Sized.Fixed.satN2 = \ (@ (rep_aviy :: GHC.TypeLits.Nat -> *)) (@ (n_aviz :: GHC.TypeLits.Nat)) (tup_avmQ [Dmd=] :: CLaSH.Sized.Fixed.SatN2C rep_aviy n_aviz) (eta_B1 :: rep_aviy (n_aviz GHC.TypeLits.+ 2)) -> let { repBV_swtT [Dmd=] :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit [LclId, Str=DmdType {avmQ->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 0}] repBV_swtT = case tup_avmQ of _ [Occ=Dead, Dmd=] { (tpl_X1g [Dmd=], tpl_B2 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8, tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> case tpl_B6 of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw6Z [Dmd=] -> (CLaSH.Class.BitVector.toBV @ (rep_aviy (n_aviz GHC.TypeLits.+ 2)) tpl_B4 (tpl_B8 `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw6Z))_R :: GHC.TypeLits.KnownNat (n_aviz GHC.TypeLits.+ 2) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy (n_aviz GHC.TypeLits.+ 2))))) eta_B1) `cast` ((CLaSH.Sized.Vector.Vec cobox_dw6Z _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy (n_aviz GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit) } } } in let { cobox_swtU [Dmd=] :: ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (n_aviz GHC.TypeLits.+ 2) [LclId, Str=DmdType {avmQ->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] cobox_swtU = case tup_avmQ of _ [Occ=Dead, Dmd=] { (tpl_X1l [Dmd=], tpl_B2 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_B2 } } in let { s_swtS :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit [LclId, Str=DmdType {avmQ-> swtT-> swtU->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] s_swtS = case cobox_swtU of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw7d [Dmd=] -> CLaSH.Sized.Vector.vtail @ n_aviz @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (repBV_swtT `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7d) _R)_R :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit))) } } in let { cobox_swtV [Dmd=] :: CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz) ~ n_aviz [LclId, Str=DmdType {avmQ->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] cobox_swtV = case tup_avmQ of _ [Occ=Dead, Dmd=] { (tpl_X1i [Dmd=], tpl_B2 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_B5 } } in case tup_avmQ of _ [Occ=Dead, Dmd=] { (tpl_X1t [Dmd=], tpl_B2 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> case Data.Bits.isSigned @ (rep_aviy (n_aviz GHC.TypeLits.+ 2)) tpl_Ba eta_B1 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case cobox_swtU of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw7j [Dmd=] -> case CLaSH.Sized.Vector.vhead @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (repBV_swtT `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7j) _R)_R :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit)) of _ [Occ=Dead, Dmd=] { CLaSH.Bit.H -> case CLaSH.Sized.Vector.vhead @ n_aviz @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (repBV_swtT `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7j) _R)_R :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit))) of _ [Occ=Dead, Dmd=] { CLaSH.Bit.H -> GHC.Enum.minBound @ (rep_aviy n_aviz) tpl_B9; CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_aviy n_aviz) tpl_B3 (case cobox_swtV of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw7b [Dmd=] -> tpl_B7 `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw7b))_R :: GHC.TypeLits.KnownNat n_aviz ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz))) }) (case cobox_swtV of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw7c [Dmd=] -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7c) _R)_R :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) CLaSH.Bit.Bit) }) }; CLaSH.Bit.L -> case CLaSH.Sized.Vector.vhead @ n_aviz @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (repBV_swtT `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7j) _R)_R :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit))) of _ [Occ=Dead, Dmd=] { CLaSH.Bit.H -> GHC.Enum.maxBound @ (rep_aviy n_aviz) tpl_B9; CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_aviy n_aviz) tpl_B3 (case cobox_swtV of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw7b [Dmd=] -> tpl_B7 `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw7b))_R :: GHC.TypeLits.KnownNat n_aviz ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz))) }) (case cobox_swtV of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw7c [Dmd=] -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7c) _R)_R :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) CLaSH.Bit.Bit) }) } } }; GHC.Types.True -> case cobox_swtU of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw7j [Dmd=] -> case CLaSH.Sized.Vector.vhead @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (repBV_swtT `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7j) _R)_R :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit)) of _ [Occ=Dead, Dmd=] { CLaSH.Bit.H -> case CLaSH.Sized.Vector.vhead' @ n_aviz @ CLaSH.Bit.Bit tpl_X1t s_swtS of _ [Occ=Dead, Dmd=] { CLaSH.Bit.H -> CLaSH.Class.BitVector.fromBV @ (rep_aviy n_aviz) tpl_B3 (case cobox_swtV of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw79 [Dmd=] -> tpl_B7 `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw79))_R :: GHC.TypeLits.KnownNat n_aviz ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz))) }) (case cobox_swtV of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw7a [Dmd=] -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7a) _R)_R :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) CLaSH.Bit.Bit) }); CLaSH.Bit.L -> GHC.Enum.minBound @ (rep_aviy n_aviz) tpl_B9 }; CLaSH.Bit.L -> case CLaSH.Sized.Vector.vhead' @ n_aviz @ CLaSH.Bit.Bit tpl_X1t s_swtS of _ [Occ=Dead, Dmd=] { CLaSH.Bit.H -> GHC.Enum.maxBound @ (rep_aviy n_aviz) tpl_B9; CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_aviy n_aviz) tpl_B3 (case cobox_swtV of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw79 [Dmd=] -> tpl_B7 `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw79))_R :: GHC.TypeLits.KnownNat n_aviz ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz))) }) (case cobox_swtV of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw7a [Dmd=] -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7a) _R)_R :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) CLaSH.Bit.Bit) }) } } } } } lvl_swvz :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swvz = __integer 0 lvl_swvy :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swvy = __integer 0 lvl_swvB :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swvB = __integer 0 lvl_swvA :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swvA = __integer 0 CLaSH.Sized.Fixed.resizeF :: forall (frac1_auFN :: GHC.TypeLits.Nat) (frac2_auFO :: GHC.TypeLits.Nat) (rep_auFP :: GHC.TypeLits.Nat -> *) (size1_auFQ :: GHC.TypeLits.Nat) (size2_auFR :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.ResizeFC rep_auFP frac1_auFN frac2_auFO size1_auFQ size2_auFR) => CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ -> CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR [LclIdX, Arity=2, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] CLaSH.Sized.Fixed.resizeF = \ (@ (frac1_avjq :: GHC.TypeLits.Nat)) (@ (frac2_avjr :: GHC.TypeLits.Nat)) (@ (rep_avjs :: GHC.TypeLits.Nat -> *)) (@ (size1_avjt :: GHC.TypeLits.Nat)) (@ (size2_avju :: GHC.TypeLits.Nat)) (tup_avnK [Dmd=] :: CLaSH.Sized.Fixed.ResizeFC rep_avjs frac1_avjq frac2_avjr size1_avjt size2_avju) (eta_B1 :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt) -> let { $dKnownNat_swtH [Dmd=] :: GHC.TypeLits.KnownNat size2_avju [LclId, Str=DmdType {avnK->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swtH = case tup_avnK of _ [Occ=Dead, Dmd=] { (tpl_X1k [Dmd=], tpl_B2 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B7 } } in let { $dKnownNat_swtI [Dmd=] :: GHC.TypeLits.KnownNat size1_avjt [LclId, Str=DmdType {avnK->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swtI = case tup_avnK of _ [Occ=Dead, Dmd=] { (tpl_X1i [Dmd=], tpl_B2 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B8 } } in case GHC.Integer.Type.leInteger# ($dKnownNat_swtI `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat size1_avjt ~# GHC.Integer.Type.Integer)) ($dKnownNat_swtH `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat size2_avju ~# GHC.Integer.Type.Integer)) of wild_akJ3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akJ3 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> let { $dBounded_swtD [Dmd=] :: GHC.Enum.Bounded (rep_avjs size2_avju) [LclId, Str=DmdType {avnK->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBounded_swtD = case tup_avnK of _ [Occ=Dead, Dmd=] { (tpl_X1u [Dmd=], tpl_B2 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X1u } } in let { fMax_swtA :: rep_avjs size2_avju [LclId, Str=DmdType {avnK-> swtD->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 20 0}] fMax_swtA = GHC.Enum.maxBound @ (rep_avjs size2_avju) $dBounded_swtD } in let { $dBits_swtF [Dmd=] :: Data.Bits.Bits (rep_avjs size1_avjt) [LclId, Str=DmdType {avnK->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_swtF = case tup_avnK of _ [Occ=Dead, Dmd=] { (tpl_X5L [Dmd=], tpl_B2 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B5 } } in let { mask_swtz :: rep_avjs size1_avjt [LclId, Str=DmdType {avnK-> swtF->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 43 0}] mask_swtz = Data.Bits.complement @ (rep_avjs size1_avjt) $dBits_swtF (case tup_avnK of _ [Occ=Dead, Dmd=] { (tpl_X1m [Dmd=], tpl_B2 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> (tpl_B6 `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_avjs ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_avjs a_ae8M -> rep_avjs b_ae8N))) @ size2_avju @ size1_avjt $dKnownNat_swtH $dKnownNat_swtI fMax_swtA }) } in let { $dNum_swtE [Dmd=] :: GHC.Num.Num (rep_avjs size1_avjt) [LclId, Str=DmdType {avnK->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dNum_swtE = case tup_avnK of _ [Occ=Dead, Dmd=] { (tpl_X1r [Dmd=], tpl_B2 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B4 } } in case tup_avnK of _ [Occ=Dead, Dmd=] { (tpl_X1y [Dmd=], tpl_B2 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> case GHC.Integer.Type.integerToInt (tpl_Bb `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac1_avjq ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> case GHC.Integer.Type.integerToInt (tpl_Ba `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac2_avjr ~# GHC.Integer.Type.Integer)) of wild_XkFQ { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# wild_akCB wild_XkFQ) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> let { shiftedR_swty :: rep_avjs size1_avjt [LclId, Str=DmdType {avnK-> swtF->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 51 0}] shiftedR_swty = Data.Bits.shiftR @ (rep_avjs size1_avjt) $dBits_swtF (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt)) (GHC.Types.I# (GHC.Prim.-# wild_akCB wild_XkFQ)) } in case GHC.Classes.>= @ (rep_avjs size1_avjt) tpl_B3 (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt)) (GHC.Num.fromInteger @ (rep_avjs size1_avjt) $dNum_swtE lvl_swvy) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case GHC.Classes.== @ (rep_avjs size1_avjt) (Data.Bits.$p1Bits @ (rep_avjs size1_avjt) $dBits_swtF) (Data.Bits..&. @ (rep_avjs size1_avjt) $dBits_swtF shiftedR_swty mask_swtz) mask_swtz of _ [Occ=Dead, Dmd=] { GHC.Types.False -> (GHC.Enum.minBound @ (rep_avjs size2_avju) $dBounded_swtD) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> ((tpl_B6 `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_avjs ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_avjs a_ae8M -> rep_avjs b_ae8N))) @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH shiftedR_swty) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) }; GHC.Types.True -> case GHC.Classes.== @ (rep_avjs size1_avjt) (Data.Bits.$p1Bits @ (rep_avjs size1_avjt) $dBits_swtF) (Data.Bits..&. @ (rep_avjs size1_avjt) $dBits_swtF shiftedR_swty mask_swtz) (GHC.Num.fromInteger @ (rep_avjs size1_avjt) $dNum_swtE lvl_swvz) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> fMax_swtA `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> ((tpl_B6 `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_avjs ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_avjs a_ae8M -> rep_avjs b_ae8N))) @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH shiftedR_swty) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) } }; GHC.Types.True -> let { shiftedL_swtK :: rep_avjs size1_avjt [LclId, Str=DmdType {avnK-> swtF->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 51 0}] shiftedL_swtK = Data.Bits.shiftL @ (rep_avjs size1_avjt) $dBits_swtF (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt)) (GHC.Types.I# (GHC.Prim.-# wild_XkFQ wild_akCB)) } in case GHC.Classes.>= @ (rep_avjs size1_avjt) tpl_B3 (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt)) (GHC.Num.fromInteger @ (rep_avjs size1_avjt) $dNum_swtE lvl_swvA) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case GHC.Classes.== @ (rep_avjs size1_avjt) (Data.Bits.$p1Bits @ (rep_avjs size1_avjt) $dBits_swtF) (Data.Bits..&. @ (rep_avjs size1_avjt) $dBits_swtF shiftedL_swtK mask_swtz) mask_swtz of _ [Occ=Dead, Dmd=] { GHC.Types.False -> (GHC.Enum.minBound @ (rep_avjs size2_avju) $dBounded_swtD) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> ((tpl_B6 `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_avjs ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_avjs a_ae8M -> rep_avjs b_ae8N))) @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH shiftedL_swtK) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) }; GHC.Types.True -> case GHC.Classes.== @ (rep_avjs size1_avjt) (Data.Bits.$p1Bits @ (rep_avjs size1_avjt) $dBits_swtF) (Data.Bits..&. @ (rep_avjs size1_avjt) $dBits_swtF shiftedL_swtK mask_swtz) (GHC.Num.fromInteger @ (rep_avjs size1_avjt) $dNum_swtE lvl_swvB) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> fMax_swtA `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> ((tpl_B6 `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_avjs ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_avjs a_ae8M -> rep_avjs b_ae8N))) @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH shiftedL_swtK) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) } } } } } }; GHC.Types.True -> case tup_avnK of _ [Occ=Dead, Dmd=] { (tpl_X1y [Dmd=], tpl_B2 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> case GHC.Integer.Type.integerToInt (tpl_Bb `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac1_avjq ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> case GHC.Integer.Type.integerToInt (tpl_Ba `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac2_avjr ~# GHC.Integer.Type.Integer)) of wild_XkFG { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# wild_akCB wild_XkFG) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> (Data.Bits.shiftR @ (rep_avjs size2_avju) tpl_B9 ((tpl_B6 `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_avjs ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_avjs a_ae8M -> rep_avjs b_ae8N))) @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt))) (GHC.Types.I# (GHC.Prim.-# wild_akCB wild_XkFG))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> (Data.Bits.shiftL @ (rep_avjs size2_avju) tpl_B9 ((tpl_B6 `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_avjs ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_avjs a_ae8M -> rep_avjs b_ae8N))) @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt))) (GHC.Types.I# (GHC.Prim.-# wild_XkFG wild_akCB))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) } } } } } } CLaSH.Sized.Fixed.asRepProxy :: forall (frac_auFV :: GHC.TypeLits.Nat) (rep_auFW :: GHC.TypeLits.Nat -> *) (size_auFX :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFV rep_auFW size_auFX -> Data.Proxy.Proxy rep_auFW [LclIdX, Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.asRepProxy = \ (@ (frac_avk6 :: GHC.TypeLits.Nat)) (@ (rep_avk7 :: GHC.TypeLits.Nat -> *)) (@ (size_avk8 :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] -> Data.Proxy.Proxy @ (GHC.TypeLits.Nat -> *) @ rep_avk7 CLaSH.Sized.Fixed.asFracProxy :: forall (frac_auFY :: GHC.TypeLits.Nat) (rep_auFZ :: GHC.TypeLits.Nat -> *) (size_auG0 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFY rep_auFZ size_auG0 -> Data.Proxy.Proxy frac_auFY [LclIdX, Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.asFracProxy = \ (@ (frac_avkp :: GHC.TypeLits.Nat)) (@ (rep_avkq :: GHC.TypeLits.Nat -> *)) (@ (size_avkr :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] -> Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac_avkp CLaSH.Sized.Fixed.fracShift :: forall (frac_auFS :: GHC.TypeLits.Nat) (rep_auFT :: GHC.TypeLits.Nat -> *) (size_auFU :: GHC.TypeLits.Nat). GHC.TypeLits.KnownNat frac_auFS => CLaSH.Sized.Fixed.Fixed frac_auFS rep_auFT size_auFU -> GHC.Types.Int [LclIdX, Arity=2, Str=DmdType m, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0] 40 20}] CLaSH.Sized.Fixed.fracShift = \ (@ (frac_avjN :: GHC.TypeLits.Nat)) (@ (rep_avjO :: GHC.TypeLits.Nat -> *)) (@ (size_avjP :: GHC.TypeLits.Nat)) ($dKnownNat_avxa [Dmd=] :: GHC.TypeLits.KnownNat frac_avjN) _ [Occ=Dead, Dmd=] -> case GHC.Integer.Type.integerToInt ($dKnownNat_avxa `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_avjN ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> GHC.Types.I# wild_akCB } a_swaI :: forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) [LclId, Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaI = \ (@ (int_avkK :: GHC.TypeLits.Nat)) (@ (frac_avkL :: GHC.TypeLits.Nat)) (ds_dvZi [Dmd=] :: CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL)) -> ds_dvZi CLaSH.Sized.Fixed.unUF :: forall (int_auG1 :: GHC.TypeLits.Nat) (frac_auG2 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.UFixed int_auG1 frac_auG2 -> CLaSH.Sized.Unsigned.Unsigned (int_auG1 GHC.TypeLits.+ frac_auG2) [LclIdX, Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.unUF = a_swaI `cast` (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL)) ~# (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL))) a_swaJ :: forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaJ = \ (@ (frac_avl5 :: GHC.TypeLits.Nat)) (@ (int_avl6 :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] (fRep_auGb [Dmd=] :: CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) -> fRep_auGb CLaSH.Sized.Fixed.uf :: forall (frac_auG3 :: GHC.TypeLits.Nat) (int_auG4 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_auG3 -> CLaSH.Sized.Unsigned.Unsigned (int_auG4 GHC.TypeLits.+ frac_auG3) -> CLaSH.Sized.Fixed.UFixed int_auG4 frac_auG3 [LclIdX, Arity=2, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.uf = a_swaJ `cast` (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) ~# (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Fixed.Fixed frac_avl5 CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5))) a_swaK :: forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) [LclId, Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaK = \ (@ (int_avlp :: GHC.TypeLits.Nat)) (@ (frac_avlq :: GHC.TypeLits.Nat)) (ds_dvZu [Dmd=] :: CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq)) -> ds_dvZu CLaSH.Sized.Fixed.unSF :: forall (int_auG5 :: GHC.TypeLits.Nat) (frac_auG6 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.SFixed int_auG5 frac_auG6 -> CLaSH.Sized.Signed.Signed (int_auG5 GHC.TypeLits.+ frac_auG6) [LclIdX, Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.unSF = a_swaK `cast` (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq)) ~# (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq))) a_swaL :: forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaL = \ (@ (frac_avlK :: GHC.TypeLits.Nat)) (@ (int_avlL :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] (fRep_auG9 [Dmd=] :: CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) -> fRep_auG9 CLaSH.Sized.Fixed.sf :: forall (frac_auG7 :: GHC.TypeLits.Nat) (int_auG8 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_auG7 -> CLaSH.Sized.Signed.Signed (int_auG8 GHC.TypeLits.+ frac_auG7) -> CLaSH.Sized.Fixed.SFixed int_auG8 frac_auG7 [LclIdX, Arity=2, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.sf = a_swaL `cast` (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) ~# (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Fixed.Fixed frac_avlK CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK))) a_swaM :: forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 [LclId, Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaM = \ (@ (frac_auI2 :: GHC.TypeLits.Nat)) (@ (rep_auI3 :: GHC.TypeLits.Nat -> *)) (@ (size_auI4 :: GHC.TypeLits.Nat)) (ds_dvZF [Dmd=] :: CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4) -> ds_dvZF CLaSH.Sized.Fixed.unFixed :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> rep_auFG size_auFH [LclIdX[[RecSel]], Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.unFixed = a_swaM `cast` (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4) ~# (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> rep_auI3 size_auI4)) lvl_swvD :: GHC.Types.Char [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}] lvl_swvD = GHC.Types.C# '-' lvl_swvC :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swvC = __integer 0 lvl_swvG :: GHC.Types.Char [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}] lvl_swvG = GHC.Types.C# '0' ds_swvM :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] ds_swvM = __integer 1 dt_akMa :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] dt_akMa = __integer 10 lvl_swvV :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) -> (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) [LclId, Arity=1, Str=DmdType m, Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [40] 191 30}] lvl_swvV = \ (ds_awe3 [Dmd=] :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) -> (case ds_awe3 of _ [Occ=Dead, Dmd=] { (x_awe6 [Dmd=], y_awe7 [Dmd=]) -> case x_awe6 of _ [Occ=Dead, Dmd=] { GHC.Types.I# x1_awdC [Dmd=] -> case x1_awdC of wild1_awdE { __DEFAULT -> GHC.Types.I# (GHC.Prim.+# wild1_awdE 1); 9223372036854775807 -> GHC.Enum.$fEnumInt2 } } }, case ds_awe3 of _ [Occ=Dead, Dmd=] { (x_aweb [Dmd=], y_awec [Dmd=]) -> case y_awec of _ [Occ=Dead, Dmd=] { GHC.Real.:% ww1_awdJ [Dmd=] ww2_awdK [Dmd=] -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger ww1_awdJ dt_akMa) (GHC.Integer.Type.timesInteger ww2_awdK GHC.Real.$fEnumRatio1) of _ [Occ=Dead, Dmd=] { (# ww7_awdU, ww8_awdV #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww7_awdU ww8_awdV } } }) lvl_swvX :: GHC.Types.Int [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}] lvl_swvX = GHC.Types.I# 0 lvl_sww5 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_sww5 = __integer 2 lvl_sww6 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_sww6 = __integer 1 lvl_sww7 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_sww7 = __integer 2 lvl_sww8 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_sww8 = __integer 1 lvl_sww4 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_sww4 = __integer 0 lvl_sww9 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_sww9 = __integer 2 $cshow_avFD :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> GHC.Base.String [LclId, Arity=5, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] $cshow_avFD = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] _ [Occ=Dead, Dmd=] ($dKnownNat_avFx [Dmd=] :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy [Dmd=] :: GHC.Real.Integral (rep_auHy size_auHz)) (f_auHA :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) -> let { nF_swti [Dmd=] :: GHC.Types.Int [LclId, Str=DmdType {avFx->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 20}] nF_swti = case GHC.Integer.Type.integerToInt ($dKnownNat_avFx `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_auHx ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> GHC.Types.I# wild_akCB } } in let { fRepI_swtk [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType {avFy->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 30 0}] fRepI_swtk = GHC.Real.toInteger @ (rep_auHy size_auHz) $dIntegral_avFy (f_auHA `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz ~# rep_auHy size_auHz)) } in let { fRepI_abs_swtj :: GHC.Integer.Type.Integer [LclId, Str=DmdType {avFy-> swtk->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 20 0}] fRepI_abs_swtj = GHC.Integer.Type.absInteger fRepI_swtk } in let { a_swOO :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=NEVER}] a_swOO = let { eta_awcR [Dmd=] :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=NEVER}] eta_awcR = case GHC.List.iterateFB @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) @ [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)] (\ (x_awzz [Dmd=] :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) (r_awzA [OS=OneShot] :: [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)]) -> case x_awzz of wild_afnB { (ds1_afnD [Dmd=], y_afnE [Dmd=]) -> case y_afnE of _ [Occ=Dead, Dmd=] { GHC.Real.:% ds1_awdp [Dmd=] y_awdq [Dmd=] -> case GHC.Integer.Type.eqInteger# y_awdq ds_swvM of wild_a2f3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a2f3 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> r_awzA; GHC.Types.True -> GHC.Types.: @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) wild_afnB r_awzA } } } }) lvl_swvV (lvl_swvX, case GHC.Integer.Type.ltInteger# fRepI_swtk lvl_sww4 of wild_a4It { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a4It of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case nF_swti of _ [Occ=Dead, Dmd=] { GHC.Types.I# x_awO9 [Dmd=] -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# x_awO9 0) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> let { a_swOs [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType {awO9->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 72 0}] a_swOs = case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# x_awO9 0) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case x_awO9 of wild2_awOe { __DEFAULT -> GHC.Real.$wf1 lvl_sww9 wild2_awOe; 0 -> GHC.Real.$fEnumRatio1 }; GHC.Types.True -> GHC.Real.^3 } } in case x_awO9 of wild2_awOe { __DEFAULT -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger (GHC.Integer.Type.andInteger fRepI_swtk (GHC.Integer.Type.minusInteger (GHC.Real.$wf1 lvl_sww5 wild2_awOe) lvl_sww6)) (GHC.Integer.Type.signumInteger a_swOs)) (GHC.Integer.Type.absInteger a_swOs) of _ [Occ=Dead, Dmd=] { (# ww1_awf5, ww2_awf6 #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww1_awf5 ww2_awf6 }; 0 -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger (GHC.Integer.Type.andInteger fRepI_swtk (__integer 0)) (GHC.Integer.Type.signumInteger a_swOs)) (GHC.Integer.Type.absInteger a_swOs) of _ [Occ=Dead, Dmd=] { (# ww1_awf5, ww2_awf6 #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww1_awf5 ww2_awf6 } }; GHC.Types.True -> case GHC.Real.^3 of wild_00 [Dmd=] { } } }; GHC.Types.True -> case nF_swti of _ [Occ=Dead, Dmd=] { GHC.Types.I# x_awO9 [Dmd=] -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# x_awO9 0) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> let { a_swOy [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType {awO9->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 72 0}] a_swOy = case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# x_awO9 0) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case x_awO9 of wild2_awOe { __DEFAULT -> GHC.Real.$wf1 lvl_sww9 wild2_awOe; 0 -> GHC.Real.$fEnumRatio1 }; GHC.Types.True -> GHC.Real.^3 } } in case x_awO9 of wild2_awOe { __DEFAULT -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger (GHC.Integer.Type.andInteger fRepI_abs_swtj (GHC.Integer.Type.minusInteger (GHC.Real.$wf1 lvl_sww7 wild2_awOe) lvl_sww8)) (GHC.Integer.Type.signumInteger a_swOy)) (GHC.Integer.Type.absInteger a_swOy) of _ [Occ=Dead, Dmd=] { (# ww1_awf5, ww2_awf6 #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww1_awf5 ww2_awf6 }; 0 -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger (GHC.Integer.Type.andInteger fRepI_abs_swtj (__integer 0)) (GHC.Integer.Type.signumInteger a_swOy)) (GHC.Integer.Type.absInteger a_swOy) of _ [Occ=Dead, Dmd=] { (# ww1_awf5, ww2_awf6 #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww1_awf5 ww2_awf6 } }; GHC.Types.True -> case GHC.Real.^3 of wild_00 [Dmd=] { } } } } }) of _ [Occ=Dead, Dmd=] { [] -> Data.Maybe.fromJust1 @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer); : a1_awdh [Dmd=] ds1_awdi [Dmd=] -> a1_awdh } } in let { str_auHK [Dmd=, OS=ProbOneShot] :: [GHC.Types.Char] [LclId, Str=DmdType {awcR->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 30}] str_auHK = case eta_awcR of _ [Occ=Dead, Dmd=] { (x_awcZ [Dmd=], y_awd0 [Dmd=]) -> case y_awd0 of _ [Occ=Dead, Dmd=] { GHC.Real.:% x_awcK [Dmd=] ds1_awcL [Dmd=] -> case GHC.Show.$w$cshowsPrec 0 x_awcK (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead, Dmd=] { (# ww3_a2i0, ww4_a2i1 #) -> GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1 } } } } in case eta_awcR of _ [Occ=Dead, Dmd=] { (x_awcU [Dmd=], y_awcV [Dmd=]) -> case x_awcU of _ [Occ=Dead, Dmd=] { GHC.Types.I# x_akIV -> case GHC.List.$wlenAcc @ GHC.Types.Char str_auHK 0 of ww_awOK { __DEFAULT -> let { n#_awbi :: GHC.Prim.Int# [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 1 0}] n#_awbi = GHC.Prim.-# x_akIV ww_awOK } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# n#_awbi 0) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> letrec { xs_awyT [Occ=LoopBreaker] :: GHC.Prim.Int# -> [GHC.Types.Char] [LclId, Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=False, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0] 63 60}] xs_awyT = \ (m_awz0 :: GHC.Prim.Int#) -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# m_awz0 1) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> GHC.Types.: @ GHC.Types.Char lvl_swvG (xs_awyT (GHC.Prim.-# m_awz0 1)); GHC.Types.True -> GHC.Types.: @ GHC.Types.Char lvl_swvG str_auHK }; } in xs_awyT n#_awbi; GHC.Types.True -> str_auHK } } } } } in case GHC.Integer.Type.ltInteger# fRepI_swtk lvl_swvC of wild_a4It { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a4It of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case nF_swti of _ [Occ=Dead, Dmd=] { GHC.Types.I# x_aiKN -> let { ww_al4F :: GHC.Prim.Int# [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 1 0}] ww_al4F = GHC.Prim.negateInt# x_aiKN } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.>=# ww_al4F 0) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case GHC.Show.$w$cshowsPrec 0 (GHC.Integer.Type.shiftRInteger fRepI_swtk (GHC.Prim.negateInt# ww_al4F)) (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead, Dmd=] { (# ww3_a2i0, ww4_a2i1 #) -> GHC.Base.++ @ GHC.Types.Char (GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1) (GHC.Types.: @ GHC.Types.Char (GHC.Types.C# '.') a_swOO) }; GHC.Types.True -> case GHC.Show.$w$cshowsPrec 0 (GHC.Integer.Type.shiftLInteger fRepI_swtk ww_al4F) (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead, Dmd=] { (# ww3_a2i0, ww4_a2i1 #) -> GHC.Base.++ @ GHC.Types.Char (GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1) (GHC.Types.: @ GHC.Types.Char (GHC.Types.C# '.') a_swOO) } } }; GHC.Types.True -> GHC.Base.++ @ GHC.Types.Char (GHC.Types.: @ GHC.Types.Char lvl_swvD (case nF_swti of _ [Occ=Dead, Dmd=] { GHC.Types.I# x_aiKN -> let { ww_al4F :: GHC.Prim.Int# [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 1 0}] ww_al4F = GHC.Prim.negateInt# x_aiKN } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.>=# ww_al4F 0) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case GHC.Show.$w$cshowsPrec 0 (GHC.Integer.Type.shiftRInteger fRepI_abs_swtj (GHC.Prim.negateInt# ww_al4F)) (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead, Dmd=] { (# ww3_a2i0, ww4_a2i1 #) -> GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1 }; GHC.Types.True -> case GHC.Show.$w$cshowsPrec 0 (GHC.Integer.Type.shiftLInteger fRepI_abs_swtj ww_al4F) (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead, Dmd=] { (# ww3_a2i0, ww4_a2i1 #) -> GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1 } } })) (GHC.Types.: @ GHC.Types.Char (GHC.Types.C# '.') a_swOO) } } $cshowsPrec_avFB :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => GHC.Types.Int -> CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> GHC.Show.ShowS [LclId, Arity=7, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=7, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0 0 0 0 0 0] 90 0}] $cshowsPrec_avFB = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv [Dmd=] :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw [Dmd=] :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx [Dmd=] :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy [Dmd=] :: GHC.Real.Integral (rep_auHy size_auHz)) _ [Occ=Dead, Dmd=] (x_a2fY :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (s_a2fZ [Dmd=] :: GHC.Base.String) -> GHC.Base.++ @ GHC.Types.Char ($cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy x_a2fY) s_a2fZ $cshowList_avIE :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz] -> GHC.Show.ShowS [LclId, Arity=6, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=6, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0 0 0 0 0] 150 0}] $cshowList_avIE = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv [Dmd=] :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw [Dmd=] :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy [Dmd=] :: GHC.Real.Integral (rep_auHy size_auHz)) (eta_B2 [Dmd=] :: [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz]) (eta_B1 :: GHC.Base.String) -> GHC.Show.showList__ @ (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (\ (x_a2fY :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (s_a2fZ [Dmd=, OS=OneShot] :: GHC.Base.String) -> GHC.Base.++ @ GHC.Types.Char ($cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy x_a2fY) s_a2fZ) eta_B2 eta_B1 CLaSH.Sized.Fixed.$fShowFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => GHC.Show.Show (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) [LclIdX[DFunId], Arity=4, Str=DmdType m, Unf=DFun: \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) -> GHC.Show.D:Show TYPE CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz $cshowsPrec_avFB @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy $cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy $cshowList_avIE @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy] CLaSH.Sized.Fixed.$fShowFixed = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv [Dmd=] :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw [Dmd=] :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy [Dmd=] :: GHC.Real.Integral (rep_auHy size_auHz)) -> GHC.Show.D:Show @ (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) ($cshowsPrec_avFB @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy) ($cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy) ($cshowList_avIE @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy) a_swjx :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu) [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swjx = \ (@ (frac1_auHq :: GHC.TypeLits.Nat)) (@ (rep_auHr :: GHC.TypeLits.Nat -> *)) (@ (size1_auHs :: GHC.TypeLits.Nat)) (@ (frac2_auHt :: GHC.TypeLits.Nat)) (@ (size2_auHu :: GHC.TypeLits.Nat)) (tup_avFg [Dmd=] :: CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) (eta_B2 :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (eta_B1 :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) -> case tup_avFg of _ [Occ=Dead, Dmd=] { (tpl_X1z [Dmd=], tpl_X1B [Dmd=]) -> case tpl_X1B of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw3M [Dmd=] -> ((tpl_X1z `cast` (CLaSH.Class.Num.NTCo:Mult[0] _N _N :: CLaSH.Class.Num.Mult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# (rep_auHr size1_auHs -> rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu)))) (eta_B2 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs ~# rep_auHr size1_auHs)) (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu ~# rep_auHr size2_auHu))) `cast` (Sub cobox_dw3M :: CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) } } $cmult_avFi :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $cmult_avFi = a_swjx `cast` (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). _R -> _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:MResultFixedFixed[0] _N _N _N _N _N)) :: (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) ~# (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu))) CLaSH.Sized.Fixed.$fMultFixedFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) [LclIdX[DFunId(nt)], Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= $cmult_avFi `cast` (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). _R -> Sym (CLaSH.Class.Num.NTCo:Mult[0] _N _N) :: (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_XuJ1 frac1_XuIZ frac2_XuJ5 size1_XuJ3 size2_XuJ7) => CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3 -> CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7 -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3) (CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7)) ~# (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_XuJ1 frac1_XuIZ frac2_XuJ5 size1_XuJ3 size2_XuJ7) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3) (CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7)))}] CLaSH.Sized.Fixed.$fMultFixedFixed = a_swjx `cast` (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). _R -> (_R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:MResultFixedFixed[0] _N _N _N _N _N))) ; Sym (CLaSH.Class.Num.NTCo:Mult[0] _N _N) :: (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) ~# (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu))) $cminus_avEx :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [40 0 0] 430 0}] $cminus_avEx = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN [Dmd=] :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (eta_X1I :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (eta_X3p :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> let { tup_swta [Dmd=] :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType {avDN->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_swta = case tup_avDN of _ [Occ=Dead, Dmd=] { (tpl_X1L [Dmd=], tpl_X1N [Dmd=], tpl_B3 [Dmd=]) -> tpl_X1N } } in let { $dBounded_swt9 [Dmd=] :: GHC.Enum.Bounded (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType {avDN-> swta->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBounded_swt9 = case tup_swta of _ [Occ=Dead, Dmd=] { (tpl_X1N [Dmd=], tpl_X1P [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X1N } } in let { $dBits_swt8 [Dmd=] :: Data.Bits.Bits (rep_auHe size2_auHh) [LclId, Str=DmdType {avDN-> swta->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_swt8 = case tup_swta of _ [Occ=Dead, Dmd=] { (tpl_X1P [Dmd=], tpl_X1R [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B5 } } in let { $dResize_swt7 [Dmd=] :: CLaSH.Class.Num.Resize rep_auHe [LclId, Str=DmdType {avDN-> swta->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dResize_swt7 = case tup_swta of _ [Occ=Dead, Dmd=] { (tpl_X1R [Dmd=], tpl_X1T [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B6 } } in let { $dKnownNat_swt6 :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType {avDN-> swta->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swt6 = case tup_swta of _ [Occ=Dead, Dmd=] { (tpl_X1T [Dmd=], tpl_X1V [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B7 } } in let { $dBits_swt5 [Dmd=] :: Data.Bits.Bits (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType {avDN-> swta->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_swt5 = case tup_swta of _ [Occ=Dead, Dmd=] { (tpl_X1V [Dmd=], tpl_X1X [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B9 } } in let { $dKnownNat_swt4 :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) [LclId, Str=DmdType {avDN-> swta->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swt4 = case tup_swta of _ [Occ=Dead, Dmd=] { (tpl_X1X [Dmd=], tpl_X1Z [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_Ba } } in case tup_avDN of _ [Occ=Dead, Dmd=] { (tpl_X22 [Dmd=], tpl_X24 [Dmd=], tpl_B3 [Dmd=]) -> (GHC.Num.- @ (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) tpl_B3 (let { $dBits_swt2 [Dmd=] :: Data.Bits.Bits (rep_auHe size1_auHf) [LclId, Str=DmdType {X22->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_swt2 = case tpl_X22 of _ [Occ=Dead, Dmd=] { (tpl_X21 [Dmd=], tpl_X23 [Dmd=], tpl_X5p [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B5 } } in (CLaSH.Sized.Fixed.resizeF @ frac1_auHd @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size1_auHf @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ($dBounded_swt9, Data.Bits.$p1Bits @ (rep_auHe size1_auHf) $dBits_swt2, case tpl_X22 of _ [Occ=Dead, Dmd=] { (tpl_X43 [Dmd=], tpl_X7q [Dmd=], tpl_X5q [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X5q }, case tpl_X22 of _ [Occ=Dead, Dmd=] { (tpl_X7n [Dmd=], tpl_X46 [Dmd=], tpl_X5q [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B4 }, $dBits_swt2, $dResize_swt7, $dKnownNat_swt6, case tpl_X22 of _ [Occ=Dead, Dmd=] { (tpl_X7n [Dmd=], tpl_X7q [Dmd=], tpl_X5q [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B8 }, $dBits_swt5, $dKnownNat_swt4, case tpl_X22 of _ [Occ=Dead, Dmd=] { (tpl_X7n [Dmd=], tpl_X7q [Dmd=], tpl_X5q [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_Bb }, case tpl_X22 of _ [Occ=Dead, Dmd=] { (tpl_X7n [Dmd=], tpl_X7q [Dmd=], tpl_X5q [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_Bc }) eta_X1I) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1))) ((CLaSH.Sized.Fixed.resizeF @ frac2_auHg @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size2_auHh @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ($dBounded_swt9, Data.Bits.$p1Bits @ (rep_auHe size2_auHh) $dBits_swt8, case tup_swta of _ [Occ=Dead, Dmd=] { (tpl_X7k [Dmd=], tpl_X7n [Dmd=], tpl_X5n [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X5n }, case tup_swta of _ [Occ=Dead, Dmd=] { (tpl_X7k [Dmd=], tpl_X7n [Dmd=], tpl_X5n [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B4 }, $dBits_swt8, $dResize_swt7, $dKnownNat_swt6, case tup_swta of _ [Occ=Dead, Dmd=] { (tpl_X7k [Dmd=], tpl_X7n [Dmd=], tpl_X5n [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B8 }, $dBits_swt5, $dKnownNat_swt4, case tup_swta of _ [Occ=Dead, Dmd=] { (tpl_X7k [Dmd=], tpl_X7n [Dmd=], tpl_X5n [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_Bb }, case tup_swta of _ [Occ=Dead, Dmd=] { (tpl_X7k [Dmd=], tpl_X7n [Dmd=], tpl_X5n [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_Bc }) eta_X3p) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:AResultFixedFixed[0] _N _N _N _N _N)) :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh)) } $cplus_avDP :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [40 0 0] 430 0}] $cplus_avDP = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN [Dmd=] :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (eta_X1J :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (eta_X3r :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> let { tup_swsS [Dmd=] :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType {avDN->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_swsS = case tup_avDN of _ [Occ=Dead, Dmd=] { (tpl_X1M [Dmd=], tpl_X1O [Dmd=], tpl_B3 [Dmd=]) -> tpl_X1O } } in let { $dBounded_swsR [Dmd=] :: GHC.Enum.Bounded (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType {avDN-> swsS->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBounded_swsR = case tup_swsS of _ [Occ=Dead, Dmd=] { (tpl_X1O [Dmd=], tpl_X1Q [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X1O } } in let { $dBits_swsQ [Dmd=] :: Data.Bits.Bits (rep_auHe size2_auHh) [LclId, Str=DmdType {avDN-> swsS->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_swsQ = case tup_swsS of _ [Occ=Dead, Dmd=] { (tpl_X1Q [Dmd=], tpl_X1S [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B5 } } in let { $dResize_swsP [Dmd=] :: CLaSH.Class.Num.Resize rep_auHe [LclId, Str=DmdType {avDN-> swsS->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dResize_swsP = case tup_swsS of _ [Occ=Dead, Dmd=] { (tpl_X1S [Dmd=], tpl_X1U [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B6 } } in let { $dKnownNat_swsO :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType {avDN-> swsS->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swsO = case tup_swsS of _ [Occ=Dead, Dmd=] { (tpl_X1U [Dmd=], tpl_X1W [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B7 } } in let { $dBits_swsN [Dmd=] :: Data.Bits.Bits (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType {avDN-> swsS->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_swsN = case tup_swsS of _ [Occ=Dead, Dmd=] { (tpl_X1W [Dmd=], tpl_X1Y [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B9 } } in let { $dKnownNat_swsM :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) [LclId, Str=DmdType {avDN-> swsS->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swsM = case tup_swsS of _ [Occ=Dead, Dmd=] { (tpl_X1Y [Dmd=], tpl_X20 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_Ba } } in case tup_avDN of _ [Occ=Dead, Dmd=] { (tpl_X23 [Dmd=], tpl_X25 [Dmd=], tpl_B3 [Dmd=]) -> (GHC.Num.+ @ (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) tpl_B3 (let { $dBits_swsK [Dmd=] :: Data.Bits.Bits (rep_auHe size1_auHf) [LclId, Str=DmdType {X23->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_swsK = case tpl_X23 of _ [Occ=Dead, Dmd=] { (tpl_X22 [Dmd=], tpl_X24 [Dmd=], tpl_X5q [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B5 } } in (CLaSH.Sized.Fixed.resizeF @ frac1_auHd @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size1_auHf @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ($dBounded_swsR, Data.Bits.$p1Bits @ (rep_auHe size1_auHf) $dBits_swsK, case tpl_X23 of _ [Occ=Dead, Dmd=] { (tpl_X45 [Dmd=], tpl_X7s [Dmd=], tpl_X5r [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X5r }, case tpl_X23 of _ [Occ=Dead, Dmd=] { (tpl_X7p [Dmd=], tpl_X48 [Dmd=], tpl_X5r [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B4 }, $dBits_swsK, $dResize_swsP, $dKnownNat_swsO, case tpl_X23 of _ [Occ=Dead, Dmd=] { (tpl_X7p [Dmd=], tpl_X7s [Dmd=], tpl_X5r [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B8 }, $dBits_swsN, $dKnownNat_swsM, case tpl_X23 of _ [Occ=Dead, Dmd=] { (tpl_X7p [Dmd=], tpl_X7s [Dmd=], tpl_X5r [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_Bb }, case tpl_X23 of _ [Occ=Dead, Dmd=] { (tpl_X7p [Dmd=], tpl_X7s [Dmd=], tpl_X5r [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_Bc }) eta_X1J) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1))) ((CLaSH.Sized.Fixed.resizeF @ frac2_auHg @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size2_auHh @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ($dBounded_swsR, Data.Bits.$p1Bits @ (rep_auHe size2_auHh) $dBits_swsQ, case tup_swsS of _ [Occ=Dead, Dmd=] { (tpl_X7m [Dmd=], tpl_X7p [Dmd=], tpl_X5o [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X5o }, case tup_swsS of _ [Occ=Dead, Dmd=] { (tpl_X7m [Dmd=], tpl_X7p [Dmd=], tpl_X5o [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B4 }, $dBits_swsQ, $dResize_swsP, $dKnownNat_swsO, case tup_swsS of _ [Occ=Dead, Dmd=] { (tpl_X7m [Dmd=], tpl_X7p [Dmd=], tpl_X5o [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B8 }, $dBits_swsN, $dKnownNat_swsM, case tup_swsS of _ [Occ=Dead, Dmd=] { (tpl_X7m [Dmd=], tpl_X7p [Dmd=], tpl_X5o [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_Bb }, case tup_swsS of _ [Occ=Dead, Dmd=] { (tpl_X7m [Dmd=], tpl_X7p [Dmd=], tpl_X5o [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_Bc }) eta_X3r) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:AResultFixedFixed[0] _N _N _N _N _N)) :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh)) } CLaSH.Sized.Fixed.$fAddFixedFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Class.Num.Add (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclIdX[DFunId], Arity=1, Str=DmdType m, Unf=DFun: \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) -> CLaSH.Class.Num.D:Add TYPE CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf TYPE CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh $cplus_avDP @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN $cminus_avEx @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN] CLaSH.Sized.Fixed.$fAddFixedFixed = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN [Dmd=] :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) -> CLaSH.Class.Num.D:Add @ (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) @ (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) ($cplus_avDP @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN) ($cminus_avEx @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN) $cfromInteger_avDp :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => GHC.Integer.Type.Integer -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [20 0] 130 0}] $cfromInteger_avDp = \ (@ (frac_auGY :: GHC.TypeLits.Nat)) (@ (rep_auGZ :: GHC.TypeLits.Nat -> *)) (@ (size_auH0 :: GHC.TypeLits.Nat)) (tup_avBm [Dmd=] :: CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) (eta_X1I :: GHC.Integer.Type.Integer) -> case tup_avBm of _ [Occ=Dead, Dmd=] { (tpl_X1L [Dmd=], tpl_X1N [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=]) -> case tpl_X1N of _ [Occ=Dead, Dmd=] { (tpl_X1M [Dmd=], tpl_X1O [Dmd=], tpl_X3i [Dmd=], tpl_X3k [Dmd=], tpl_X3m [Dmd=], tpl_X3o [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> (Data.Bits.shiftL @ (rep_auGZ size_auH0) tpl_B9 (GHC.Num.fromInteger @ (rep_auGZ size_auH0) tpl_B3 eta_X1I) (case GHC.Integer.Type.integerToInt (tpl_Ba `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_auGY ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> GHC.Types.I# wild_akCB })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auGZ size_auH0 ~# CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) } } a_swkh :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [20 0] 40 0}] a_swkh = \ (@ (frac_auGY :: GHC.TypeLits.Nat)) (@ (rep_auGZ :: GHC.TypeLits.Nat -> *)) (@ (size_auH0 :: GHC.TypeLits.Nat)) (tup_avBm [Dmd=] :: CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) (eta_X1J :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) -> case tup_avBm of _ [Occ=Dead, Dmd=] { (tpl_X1L [Dmd=], tpl_X1N [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=]) -> GHC.Num.signum @ (rep_auGZ size_auH0) tpl_B3 (eta_X1J `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 ~# rep_auGZ size_auH0)) } $cabs_avCW :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0] 253 0}] $cabs_avCW = \ (@ (frac_XuIJ :: GHC.TypeLits.Nat)) (@ (rep_XuIL :: GHC.TypeLits.Nat -> *)) (@ (size_XuIN :: GHC.TypeLits.Nat)) (tup_XvDa [Dmd=] :: CLaSH.Sized.Fixed.NumFixed frac_XuIJ rep_XuIL size_XuIN) (eta_X1Q :: CLaSH.Sized.Fixed.Fixed frac_XuIJ rep_XuIL size_XuIN) -> let { tup_swsy [Dmd=] :: CLaSH.Sized.Fixed.ResizeFC rep_XuIL (frac_XuIJ GHC.TypeLits.+ frac_XuIJ) frac_XuIJ (size_XuIN GHC.TypeLits.+ size_XuIN) size_XuIN [LclId, Str=DmdType {XvDa->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_swsy = case tup_XvDa of _ [Occ=Dead, Dmd=] { (tpl_X1T [Dmd=], tpl_X1V [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=]) -> tpl_X1V } } in let { $dKnownNat_swsx :: GHC.TypeLits.KnownNat size_XuIN [LclId, Str=DmdType {XvDa-> swsy->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swsx = case tup_swsy of _ [Occ=Dead, Dmd=] { (tpl_X1V [Dmd=], tpl_X1X [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B7 } } in let { tup_swsw [Dmd=] :: CLaSH.Sized.Fixed.SatN2C rep_XuIL size_XuIN [LclId, Str=DmdType {XvDa->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_swsw = case tup_XvDa of _ [Occ=Dead, Dmd=] { (tpl_X1X [Dmd=], tpl_X1Z [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=]) -> tpl_X1X } } in let { $dKnownNat_swsv :: GHC.TypeLits.KnownNat (size_XuIN GHC.TypeLits.+ 2) [LclId, Str=DmdType {XvDa-> swsw->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swsv = case tup_swsw of _ [Occ=Dead, Dmd=] { (tpl_X1Z [Dmd=], tpl_X21 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_B8 } } in (CLaSH.Sized.Fixed.satN2 @ rep_XuIL @ size_XuIN (case tup_swsw of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_X20 }, case tup_swsw of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_X22 }, case tup_swsw of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_B3 }, case tup_swsw of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_B4 }, case tup_swsw of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_B5 }, case tup_swsw of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_B6 }, $dKnownNat_swsx, $dKnownNat_swsv, case tup_swsy of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X20 }, case tup_swsw of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_Ba }) (case tup_XvDa of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=]) -> GHC.Num.abs @ (rep_XuIL (size_XuIN GHC.TypeLits.+ 2)) tpl_B4 (case tup_swsy of _ [Occ=Dead, Dmd=] { (tpl_X7i [Dmd=], tpl_X7l [Dmd=], tpl_X5n [Dmd=], tpl_X5p [Dmd=], tpl_X5r [Dmd=], tpl_X5t [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> (tpl_X5t `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuIL ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuIL a_ae8M -> rep_XuIL b_ae8N))) @ size_XuIN @ (size_XuIN GHC.TypeLits.+ 2) $dKnownNat_swsx $dKnownNat_swsv (eta_X1Q `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIJ rep_XuIL size_XuIN ~# rep_XuIL size_XuIN)) }) })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIL size_XuIN ~# CLaSH.Sized.Fixed.Fixed frac_XuIJ rep_XuIL size_XuIN) $cnegate_avCC :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0] 253 0}] $cnegate_avCC = \ (@ (frac_XuIK :: GHC.TypeLits.Nat)) (@ (rep_XuIM :: GHC.TypeLits.Nat -> *)) (@ (size_XuIO :: GHC.TypeLits.Nat)) (tup_XvDb [Dmd=] :: CLaSH.Sized.Fixed.NumFixed frac_XuIK rep_XuIM size_XuIO) (eta_X1R :: CLaSH.Sized.Fixed.Fixed frac_XuIK rep_XuIM size_XuIO) -> let { tup_swsq [Dmd=] :: CLaSH.Sized.Fixed.ResizeFC rep_XuIM (frac_XuIK GHC.TypeLits.+ frac_XuIK) frac_XuIK (size_XuIO GHC.TypeLits.+ size_XuIO) size_XuIO [LclId, Str=DmdType {XvDb->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_swsq = case tup_XvDb of _ [Occ=Dead, Dmd=] { (tpl_X1U [Dmd=], tpl_X1W [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=]) -> tpl_X1W } } in let { $dKnownNat_swsp :: GHC.TypeLits.KnownNat size_XuIO [LclId, Str=DmdType {XvDb-> swsq->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swsp = case tup_swsq of _ [Occ=Dead, Dmd=] { (tpl_X1W [Dmd=], tpl_X1Y [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B7 } } in let { tup_swso [Dmd=] :: CLaSH.Sized.Fixed.SatN2C rep_XuIM size_XuIO [LclId, Str=DmdType {XvDb->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_swso = case tup_XvDb of _ [Occ=Dead, Dmd=] { (tpl_X1Y [Dmd=], tpl_X20 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=]) -> tpl_X1Y } } in let { $dKnownNat_swsn :: GHC.TypeLits.KnownNat (size_XuIO GHC.TypeLits.+ 2) [LclId, Str=DmdType {XvDb-> swso->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swsn = case tup_swso of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_B8 } } in (CLaSH.Sized.Fixed.satN2 @ rep_XuIM @ size_XuIO (case tup_swso of _ [Occ=Dead, Dmd=] { (tpl_X21 [Dmd=], tpl_X23 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_X21 }, case tup_swso of _ [Occ=Dead, Dmd=] { (tpl_X21 [Dmd=], tpl_X23 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_X23 }, case tup_swso of _ [Occ=Dead, Dmd=] { (tpl_X21 [Dmd=], tpl_X23 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_B3 }, case tup_swso of _ [Occ=Dead, Dmd=] { (tpl_X21 [Dmd=], tpl_X23 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_B4 }, case tup_swso of _ [Occ=Dead, Dmd=] { (tpl_X21 [Dmd=], tpl_X23 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_B5 }, case tup_swso of _ [Occ=Dead, Dmd=] { (tpl_X21 [Dmd=], tpl_X23 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_B6 }, $dKnownNat_swsp, $dKnownNat_swsn, case tup_swsq of _ [Occ=Dead, Dmd=] { (tpl_X21 [Dmd=], tpl_X23 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X21 }, case tup_swso of _ [Occ=Dead, Dmd=] { (tpl_X21 [Dmd=], tpl_X23 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_Ba }) (case tup_XvDb of _ [Occ=Dead, Dmd=] { (tpl_X21 [Dmd=], tpl_X23 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=]) -> GHC.Num.negate @ (rep_XuIM (size_XuIO GHC.TypeLits.+ 2)) tpl_B4 (case tup_swsq of _ [Occ=Dead, Dmd=] { (tpl_X7k [Dmd=], tpl_X7n [Dmd=], tpl_X5o [Dmd=], tpl_X5q [Dmd=], tpl_X5s [Dmd=], tpl_X5u [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> (tpl_X5u `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuIM ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuIM a_ae8M -> rep_XuIM b_ae8N))) @ size_XuIO @ (size_XuIO GHC.TypeLits.+ 2) $dKnownNat_swsp $dKnownNat_swsn (eta_X1R `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIK rep_XuIM size_XuIO ~# rep_XuIM size_XuIO)) }) })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIM size_XuIO ~# CLaSH.Sized.Fixed.Fixed frac_XuIK rep_XuIM size_XuIO) $c-_avCb :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0 0] 276 0}] $c-_avCb = \ (@ (frac_XuIL :: GHC.TypeLits.Nat)) (@ (rep_XuIN :: GHC.TypeLits.Nat -> *)) (@ (size_XuIP :: GHC.TypeLits.Nat)) (tup_XvDc [Dmd=] :: CLaSH.Sized.Fixed.NumFixed frac_XuIL rep_XuIN size_XuIP) (eta_X1T :: CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP) (eta_X3L :: CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP) -> let { tup_swsi [Dmd=] :: CLaSH.Sized.Fixed.ResizeFC rep_XuIN (frac_XuIL GHC.TypeLits.+ frac_XuIL) frac_XuIL (size_XuIP GHC.TypeLits.+ size_XuIP) size_XuIP [LclId, Str=DmdType {XvDc->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_swsi = case tup_XvDc of _ [Occ=Dead, Dmd=] { (tpl_X1W [Dmd=], tpl_X1Y [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=]) -> tpl_X1Y } } in let { $dKnownNat_swsg :: GHC.TypeLits.KnownNat size_XuIP [LclId, Str=DmdType {XvDc-> swsi->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swsg = case tup_swsi of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B7 } } in let { tup_swsf [Dmd=] :: CLaSH.Sized.Fixed.SatN2C rep_XuIN size_XuIP [LclId, Str=DmdType {XvDc->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_swsf = case tup_XvDc of _ [Occ=Dead, Dmd=] { (tpl_X22 [Dmd=], tpl_X24 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=]) -> tpl_X22 } } in let { $dKnownNat_swse :: GHC.TypeLits.KnownNat (size_XuIP GHC.TypeLits.+ 2) [LclId, Str=DmdType {XvDc-> swsf->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swse = case tup_swsf of _ [Occ=Dead, Dmd=] { (tpl_X24 [Dmd=], tpl_X26 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_B8 } } in (CLaSH.Sized.Fixed.satN2 @ rep_XuIN @ size_XuIP (case tup_swsf of _ [Occ=Dead, Dmd=] { (tpl_X25 [Dmd=], tpl_X27 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_X25 }, case tup_swsf of _ [Occ=Dead, Dmd=] { (tpl_X25 [Dmd=], tpl_X27 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_X27 }, case tup_swsf of _ [Occ=Dead, Dmd=] { (tpl_X25 [Dmd=], tpl_X27 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_B3 }, case tup_swsf of _ [Occ=Dead, Dmd=] { (tpl_X25 [Dmd=], tpl_X27 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_B4 }, case tup_swsf of _ [Occ=Dead, Dmd=] { (tpl_X25 [Dmd=], tpl_X27 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_B5 }, case tup_swsf of _ [Occ=Dead, Dmd=] { (tpl_X25 [Dmd=], tpl_X27 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_B6 }, $dKnownNat_swsg, $dKnownNat_swse, case tup_swsi of _ [Occ=Dead, Dmd=] { (tpl_X25 [Dmd=], tpl_X27 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X25 }, case tup_swsf of _ [Occ=Dead, Dmd=] { (tpl_X25 [Dmd=], tpl_X27 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_Ba }) (case tup_XvDc of _ [Occ=Dead, Dmd=] { (tpl_X49 [Dmd=], tpl_X27 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=]) -> GHC.Num.- @ (rep_XuIN (size_XuIP GHC.TypeLits.+ 2)) tpl_B4 (case tup_swsi of _ [Occ=Dead, Dmd=] { (tpl_X1Y [Dmd=], tpl_X20 [Dmd=], tpl_X5s [Dmd=], tpl_X5u [Dmd=], tpl_X5w [Dmd=], tpl_X5y [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> (tpl_X5y `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuIN ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuIN a_ae8M -> rep_XuIN b_ae8N))) @ size_XuIP @ (size_XuIP GHC.TypeLits.+ 2) $dKnownNat_swsg $dKnownNat_swse (eta_X1T `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP ~# rep_XuIN size_XuIP)) }) (case tup_swsi of _ [Occ=Dead, Dmd=] { (tpl_X1Y [Dmd=], tpl_X20 [Dmd=], tpl_X5s [Dmd=], tpl_X5u [Dmd=], tpl_X5w [Dmd=], tpl_X5y [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> (tpl_X5y `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuIN ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuIN a_ae8M -> rep_XuIN b_ae8N))) @ size_XuIP @ (size_XuIP GHC.TypeLits.+ 2) $dKnownNat_swsg $dKnownNat_swse (eta_X3L `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP ~# rep_XuIN size_XuIP)) }) })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIN size_XuIP ~# CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP) $c*_avBP :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [40 0 0] 222 0}] $c*_avBP = \ (@ (frac_XuIM :: GHC.TypeLits.Nat)) (@ (rep_XuIO :: GHC.TypeLits.Nat -> *)) (@ (size_XuIQ :: GHC.TypeLits.Nat)) (tup_XvDd [Dmd=] :: CLaSH.Sized.Fixed.NumFixed frac_XuIM rep_XuIO size_XuIQ) (eta_X1U :: CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ) (eta_X3N :: CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ) -> let { tup_sws8 [Dmd=] :: CLaSH.Sized.Fixed.ResizeFC rep_XuIO (frac_XuIM GHC.TypeLits.+ frac_XuIM) frac_XuIM (size_XuIQ GHC.TypeLits.+ size_XuIQ) size_XuIQ [LclId, Str=DmdType {XvDd->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_sws8 = case tup_XvDd of _ [Occ=Dead, Dmd=] { (tpl_X1X [Dmd=], tpl_X1Z [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=]) -> tpl_X1Z } } in let { $dBits_sws7 [Dmd=] :: Data.Bits.Bits (rep_XuIO (size_XuIQ GHC.TypeLits.+ size_XuIQ)) [LclId, Str=DmdType {XvDd-> sws8->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_sws7 = case tup_sws8 of _ [Occ=Dead, Dmd=] { (tpl_X1Z [Dmd=], tpl_X21 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B5 } } in CLaSH.Sized.Fixed.resizeF @ (frac_XuIM GHC.TypeLits.+ frac_XuIM) @ frac_XuIM @ rep_XuIO @ (size_XuIQ GHC.TypeLits.+ size_XuIQ) @ size_XuIQ (case tup_sws8 of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X20 }, Data.Bits.$p1Bits @ (rep_XuIO (size_XuIQ GHC.TypeLits.+ size_XuIQ)) $dBits_sws7, case tup_sws8 of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B3 }, case tup_sws8 of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B4 }, $dBits_sws7, case tup_sws8 of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B6 }, case tup_sws8 of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B7 }, case tup_sws8 of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B8 }, case tup_sws8 of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B9 }, case tup_sws8 of _ [Occ=Dead, Dmd=] { (tpl_X3Z [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_Ba }, case tup_sws8 of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X42 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_Bb }, case tup_sws8 of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_Bc }) (case tup_XvDd of _ [Occ=Dead, Dmd=] { (tpl_Xk [Dmd=], tpl_Xm [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=]) -> case tpl_B6 of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw1a [Dmd=] -> ((tpl_B5 `cast` (CLaSH.Class.Num.NTCo:Mult[0] _N _N :: CLaSH.Class.Num.Mult (rep_XuIO size_XuIQ) (rep_XuIO size_XuIQ) ~# (rep_XuIO size_XuIQ -> rep_XuIO size_XuIQ -> CLaSH.Class.Num.MResult (rep_XuIO size_XuIQ) (rep_XuIO size_XuIQ)))) (eta_X1U `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ ~# rep_XuIO size_XuIQ)) (eta_X3N `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ ~# rep_XuIO size_XuIQ))) `cast` (Sub cobox_dw1a ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: CLaSH.Class.Num.MResult (rep_XuIO size_XuIQ) (rep_XuIO size_XuIQ) ~# CLaSH.Sized.Fixed.Fixed (frac_XuIM GHC.TypeLits.+ frac_XuIM) rep_XuIO (size_XuIQ GHC.TypeLits.+ size_XuIQ)) } }) $c+_avBo :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [60 0 0] 276 0}] $c+_avBo = \ (@ (frac_XuIN :: GHC.TypeLits.Nat)) (@ (rep_XuIP :: GHC.TypeLits.Nat -> *)) (@ (size_XuIR :: GHC.TypeLits.Nat)) (tup_XvDe [Dmd=] :: CLaSH.Sized.Fixed.NumFixed frac_XuIN rep_XuIP size_XuIR) (eta_X1V :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) (eta_X3P :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) -> let { tup_sws4 [Dmd=] :: CLaSH.Sized.Fixed.ResizeFC rep_XuIP (frac_XuIN GHC.TypeLits.+ frac_XuIN) frac_XuIN (size_XuIR GHC.TypeLits.+ size_XuIR) size_XuIR [LclId, Str=DmdType {XvDe->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_sws4 = case tup_XvDe of _ [Occ=Dead, Dmd=] { (tpl_X1Y [Dmd=], tpl_X20 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=]) -> tpl_X20 } } in let { $dKnownNat_sws2 :: GHC.TypeLits.KnownNat size_XuIR [LclId, Str=DmdType {XvDe-> sws4->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_sws2 = case tup_sws4 of _ [Occ=Dead, Dmd=] { (tpl_X22 [Dmd=], tpl_X24 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B7 } } in let { tup_sws1 [Dmd=] :: CLaSH.Sized.Fixed.SatN2C rep_XuIP size_XuIR [LclId, Str=DmdType {XvDe->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_sws1 = case tup_XvDe of _ [Occ=Dead, Dmd=] { (tpl_X24 [Dmd=], tpl_X26 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=]) -> tpl_X24 } } in let { $dKnownNat_sws0 :: GHC.TypeLits.KnownNat (size_XuIR GHC.TypeLits.+ 2) [LclId, Str=DmdType {XvDe-> sws1->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_sws0 = case tup_sws1 of _ [Occ=Dead, Dmd=] { (tpl_X26 [Dmd=], tpl_X28 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_B8 } } in (CLaSH.Sized.Fixed.satN2 @ rep_XuIP @ size_XuIR (case tup_sws1 of _ [Occ=Dead, Dmd=] { (tpl_X27 [Dmd=], tpl_X29 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_X27 }, case tup_sws1 of _ [Occ=Dead, Dmd=] { (tpl_X27 [Dmd=], tpl_X29 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_X29 }, case tup_sws1 of _ [Occ=Dead, Dmd=] { (tpl_X27 [Dmd=], tpl_X29 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_B3 }, case tup_sws1 of _ [Occ=Dead, Dmd=] { (tpl_X27 [Dmd=], tpl_X29 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_B4 }, case tup_sws1 of _ [Occ=Dead, Dmd=] { (tpl_X27 [Dmd=], tpl_X29 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_B5 }, case tup_sws1 of _ [Occ=Dead, Dmd=] { (tpl_X27 [Dmd=], tpl_X29 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_B6 }, $dKnownNat_sws2, $dKnownNat_sws0, case tup_sws4 of _ [Occ=Dead, Dmd=] { (tpl_X27 [Dmd=], tpl_X29 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X27 }, case tup_sws1 of _ [Occ=Dead, Dmd=] { (tpl_X27 [Dmd=], tpl_X29 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_Ba }) (case tup_XvDe of _ [Occ=Dead, Dmd=] { (tpl_X4d [Dmd=], tpl_X29 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=]) -> GHC.Num.+ @ (rep_XuIP (size_XuIR GHC.TypeLits.+ 2)) tpl_B4 (case tup_sws4 of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_X5u [Dmd=], tpl_X5w [Dmd=], tpl_X5y [Dmd=], tpl_X5A [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> (tpl_X5A `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuIP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuIP a_ae8M -> rep_XuIP b_ae8N))) @ size_XuIR @ (size_XuIR GHC.TypeLits.+ 2) $dKnownNat_sws2 $dKnownNat_sws0 (eta_X1V `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR ~# rep_XuIP size_XuIR)) }) (case tup_sws4 of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_X5u [Dmd=], tpl_X5w [Dmd=], tpl_X5y [Dmd=], tpl_X5A [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> (tpl_X5A `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuIP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuIP a_ae8M -> rep_XuIP b_ae8N))) @ size_XuIR @ (size_XuIR GHC.TypeLits.+ 2) $dKnownNat_sws2 $dKnownNat_sws0 (eta_X3P `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR ~# rep_XuIP size_XuIR)) }) })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIP size_XuIR ~# CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) CLaSH.Sized.Fixed.$fNumFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => GHC.Num.Num (CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) [LclIdX[DFunId], Arity=1, Str=DmdType m, Unf=DFun: \ (@ (frac_XuIO :: GHC.TypeLits.Nat)) (@ (rep_XuIQ :: GHC.TypeLits.Nat -> *)) (@ (size_XuIS :: GHC.TypeLits.Nat)) (tup_XvDf :: CLaSH.Sized.Fixed.NumFixed frac_XuIO rep_XuIQ size_XuIS) -> GHC.Num.D:Num TYPE CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS $c+_avBo @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $c*_avBP @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $c-_avCb @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $cnegate_avCC @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $cabs_avCW @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf (a_swkh @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) `cast` (_R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> rep_XuIQ size_XuIS) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS)) $cfromInteger_avDp @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf] CLaSH.Sized.Fixed.$fNumFixed = \ (@ (frac_XuIO :: GHC.TypeLits.Nat)) (@ (rep_XuIQ :: GHC.TypeLits.Nat -> *)) (@ (size_XuIS :: GHC.TypeLits.Nat)) (tup_XvDf [Dmd=] :: CLaSH.Sized.Fixed.NumFixed frac_XuIO rep_XuIQ size_XuIS) -> GHC.Num.D:Num @ (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS) ($c+_avBo @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($c*_avBP @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($c-_avCb @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($cnegate_avCC @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($cabs_avCW @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ((a_swkh @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) `cast` (_R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> rep_XuIQ size_XuIS) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS))) ($cfromInteger_avDp @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) CLaSH.Sized.Fixed.$fBitVectorFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV) => CLaSH.Class.BitVector.BitVector (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV) [LclIdX[DFunId], Arity=1, Str=DmdType m, Unf=DFun: \ (@ (frac_XuIN :: GHC.TypeLits.Nat)) (@ (rep_XuIP :: GHC.TypeLits.Nat -> *)) (@ (size_XuIR :: GHC.TypeLits.Nat)) ($dBitVector_XvCT :: CLaSH.Class.BitVector.BitVector (rep_XuIP size_XuIR)) -> CLaSH.Class.BitVector.D:BitVector TYPE CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR (\ ($dKnownNat_avB0 :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (ds_dw0H :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) -> CLaSH.Class.BitVector.toBV @ (rep_XuIP size_XuIR) $dBitVector_XvCT ($dKnownNat_avB0 `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (ds_dw0H `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR ~# rep_XuIP size_XuIR))) `cast` (_R -> _R -> (CLaSH.Sized.Vector.Vec (Sym (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N)) _R)_R :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit)) (\ ($dKnownNat_avBa :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (bv_auGX :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit) -> CLaSH.Class.BitVector.fromBV @ (rep_XuIP size_XuIR) $dBitVector_XvCT ($dKnownNat_avBa `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (bv_auGX `cast` ((CLaSH.Sized.Vector.Vec (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit))) `cast` (_R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> rep_XuIP size_XuIR) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))] CLaSH.Sized.Fixed.$fBitVectorFixed = \ (@ (frac_XuIN :: GHC.TypeLits.Nat)) (@ (rep_XuIP :: GHC.TypeLits.Nat -> *)) (@ (size_XuIR :: GHC.TypeLits.Nat)) ($dBitVector_XvCT [Dmd=] :: CLaSH.Class.BitVector.BitVector (rep_XuIP size_XuIR)) -> CLaSH.Class.BitVector.D:BitVector @ (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) ((\ ($dKnownNat_avB0 :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (ds_dw0H :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) -> CLaSH.Class.BitVector.toBV @ (rep_XuIP size_XuIR) $dBitVector_XvCT ($dKnownNat_avB0 `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (ds_dw0H `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR ~# rep_XuIP size_XuIR))) `cast` (_R -> _R -> (CLaSH.Sized.Vector.Vec (Sym (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N)) _R)_R :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit))) ((\ ($dKnownNat_avBa :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (bv_auGX :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit) -> CLaSH.Class.BitVector.fromBV @ (rep_XuIP size_XuIR) $dBitVector_XvCT ($dKnownNat_avBa `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (bv_auGX `cast` ((CLaSH.Sized.Vector.Vec (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit))) `cast` (_R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> rep_XuIP size_XuIR) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) a_swC4 :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => Data.Default.Class.Default (rep_auGM size_auGN) [LclId, Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swC4 = \ (@ (frac_auGL :: GHC.TypeLits.Nat)) (@ (rep_auGM :: GHC.TypeLits.Nat -> *)) (@ (size_auGN :: GHC.TypeLits.Nat)) ($dDefault_avAe [Dmd=] :: Data.Default.Class.Default (rep_auGM size_auGN)) -> $dDefault_avAe $cdef_avAg :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => CLaSH.Sized.Fixed.Fixed frac_auGL rep_auGM size_auGN [LclId, Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $cdef_avAg = a_swC4 `cast` (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). _R -> Data.Default.Class.NTCo:Default[0] _N ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => Data.Default.Class.Default (rep_XuLZ size_XuM1)) ~# (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => CLaSH.Sized.Fixed.Fixed frac_XuLX rep_XuLZ size_XuM1)) CLaSH.Sized.Fixed.$fDefaultFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_auGL rep_auGM size_auGN) [LclIdX[DFunId(nt)], Arity=1, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= $cdef_avAg `cast` (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). _R -> Sym (Data.Default.Class.NTCo:Default[0] _N) :: (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuIO size_XuIQ) => CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ) ~# (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuIO size_XuIQ) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ)))}] CLaSH.Sized.Fixed.$fDefaultFixed = a_swC4 `cast` (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). _R -> Data.Default.Class.NTCo:Default[0] _N ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sym (Data.Default.Class.NTCo:Default[0] _N) :: (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => Data.Default.Class.Default (rep_XuLZ size_XuM1)) ~# (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_XuLX rep_XuLZ size_XuM1))) CLaSH.Sized.Fixed.$fBoundedFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_auGJ size_auGK) => GHC.Enum.Bounded (CLaSH.Sized.Fixed.Fixed frac_auGI rep_auGJ size_auGK) [LclIdX[DFunId], Arity=1, Str=DmdType m, Unf=DFun: \ (@ (frac_XuIW :: GHC.TypeLits.Nat)) (@ (rep_XuIY :: GHC.TypeLits.Nat -> *)) (@ (size_XuJ0 :: GHC.TypeLits.Nat)) ($dBounded_XvCa :: GHC.Enum.Bounded (rep_XuIY size_XuJ0)) -> GHC.Enum.D:Bounded TYPE CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0 (GHC.Enum.minBound @ (rep_XuIY size_XuJ0) $dBounded_XvCa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0) (GHC.Enum.maxBound @ (rep_XuIY size_XuJ0) $dBounded_XvCa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0)] CLaSH.Sized.Fixed.$fBoundedFixed = \ (@ (frac_XuIW :: GHC.TypeLits.Nat)) (@ (rep_XuIY :: GHC.TypeLits.Nat -> *)) (@ (size_XuJ0 :: GHC.TypeLits.Nat)) ($dBounded_XvCa [Dmd=] :: GHC.Enum.Bounded (rep_XuIY size_XuJ0)) -> GHC.Enum.D:Bounded @ (CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0) ((GHC.Enum.minBound @ (rep_XuIY size_XuJ0) $dBounded_XvCa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0)) ((GHC.Enum.maxBound @ (rep_XuIY size_XuJ0) $dBounded_XvCa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0)) CLaSH.Sized.Fixed.$fOrdFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => GHC.Classes.Ord (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) [LclIdX[DFunId[1]], Arity=2, Str=DmdType m, Unf=DFun: \ (@ (frac_XuIv :: GHC.TypeLits.Nat)) (@ (rep_XuIx :: GHC.TypeLits.Nat -> *)) (@ (size_XuIz :: GHC.TypeLits.Nat)) ($dEq_XvB3 :: GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) ($dOrd_XvB5 :: GHC.Classes.Ord (rep_XuIx size_XuIz)) -> GHC.Classes.D:Ord TYPE CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz $dEq_XvB3 (GHC.Classes.compare @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Ordering) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Ordering)) (GHC.Classes.< @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) (GHC.Classes.>= @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) (GHC.Classes.> @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) (GHC.Classes.<= @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) (GHC.Classes.max @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) (GHC.Classes.min @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz))] CLaSH.Sized.Fixed.$fOrdFixed = \ (@ (frac_XuIv :: GHC.TypeLits.Nat)) (@ (rep_XuIx :: GHC.TypeLits.Nat -> *)) (@ (size_XuIz :: GHC.TypeLits.Nat)) ($dEq_XvB3 :: GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) ($dOrd_XvB5 [Dmd=] :: GHC.Classes.Ord (rep_XuIx size_XuIz)) -> GHC.Classes.D:Ord @ (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz) $dEq_XvB3 ((GHC.Classes.compare @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Ordering) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Ordering))) ((GHC.Classes.< @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.>= @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.> @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.<= @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.max @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz))) ((GHC.Classes.min @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz))) CLaSH.Sized.Fixed.$fEqFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_auFG size_auFH) => GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) [LclIdX[DFunId], Arity=1, Str=DmdType m, Unf=DFun: \ (@ (frac_XuII :: GHC.TypeLits.Nat)) (@ (rep_XuIK :: GHC.TypeLits.Nat -> *)) (@ (size_XuIM :: GHC.TypeLits.Nat)) ($dEq_XvAL :: GHC.Classes.Eq (rep_XuIK size_XuIM)) -> GHC.Classes.D:Eq TYPE CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM (GHC.Classes.== @ (rep_XuIK size_XuIM) $dEq_XvAL) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool)) (GHC.Classes./= @ (rep_XuIK size_XuIM) $dEq_XvAL) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool))] CLaSH.Sized.Fixed.$fEqFixed = \ (@ (frac_XuII :: GHC.TypeLits.Nat)) (@ (rep_XuIK :: GHC.TypeLits.Nat -> *)) (@ (size_XuIM :: GHC.TypeLits.Nat)) ($dEq_XvAL [Dmd=] :: GHC.Classes.Eq (rep_XuIK size_XuIM)) -> GHC.Classes.D:Eq @ (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM) ((GHC.Classes.== @ (rep_XuIK size_XuIM) $dEq_XvAL) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool))) ((GHC.Classes./= @ (rep_XuIK size_XuIM) $dEq_XvAL) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool))) a_swC6 :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] a_swC6 = GHC.CString.unpackCString# "Fixed"# a_swC9 :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 0}] a_swC9 = GHC.CString.unpackCString# "clash-prelude-0.5"# a_swCb :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 0}] a_swCb = GHC.CString.unpackCString# "CLaSH.Sized.Fixed"# a_swC7 :: Language.Haskell.TH.Syntax.NameFlavour [LclId, Str=DmdType m5, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}] a_swC7 = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.DataName (a_swC9 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a_swCb `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) lvl_swwh :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] lvl_swwh = Language.Haskell.TH.Syntax.Name (a_swC6 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a_swC7 a_swCe :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] a_swCe = GHC.CString.unpackCString# "Fixed"# a_swCh :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 0}] a_swCh = GHC.CString.unpackCString# "clash-prelude-0.5"# a_swCj :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 0}] a_swCj = GHC.CString.unpackCString# "CLaSH.Sized.Fixed"# a_swCf :: Language.Haskell.TH.Syntax.NameFlavour [LclId, Str=DmdType m5, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}] a_swCf = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.TcClsName (a_swCh `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a_swCj `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) lvl_swwp :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] lvl_swwp = Language.Haskell.TH.Syntax.Name (a_swCe `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a_swCf a_swCk :: forall (m_a4Ni :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4Ni => m_a4Ni Language.Haskell.TH.Syntax.Type [LclId, Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [30] 60 0}] a_swCk = \ (@ (m_a4Ni :: * -> *)) (eta_a4Nj [Dmd=] :: Language.Haskell.TH.Syntax.Quasi m_a4Ni) -> GHC.Base.return @ m_a4Ni (Language.Haskell.TH.Syntax.$p1Quasi @ m_a4Ni eta_a4Nj) @ Language.Haskell.TH.Syntax.Type (Language.Haskell.TH.Syntax.ConT lvl_swwp) a_swCv :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> forall (m_akMz :: * -> *). Language.Haskell.TH.Syntax.Quasi m_akMz => m_akMz Language.Haskell.TH.Syntax.Exp [LclId, Arity=5, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] a_swCv = \ (@ (frac_auGO :: GHC.TypeLits.Nat)) (@ (rep_auGP :: GHC.TypeLits.Nat -> *)) (@ (size_auGQ :: GHC.TypeLits.Nat)) ($dLift_avAq [Dmd=] :: Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ)) ($dKnownNat_avAr :: GHC.TypeLits.KnownNat frac_auGO) ($dKnownNat_avAs :: GHC.TypeLits.KnownNat size_auGQ) ($dTypeable_avAt [Dmd=] :: Data.Typeable.Internal.Typeable rep_auGP) (f_auGR :: CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ) -> let { w1_acZp [Dmd=] :: Language.Haskell.TH.Lib.ExpQ [LclId, Str=DmdType {avAq->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 1 0}] w1_acZp = ($dLift_avAq `cast` (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N :: Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ) ~# (rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp))) (f_auGR `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ ~# rep_auGP size_auGQ)) } in let { w1_akV2 [Dmd=] :: Language.Haskell.TH.Lib.TypeQ [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=NEVER}] w1_akV2 = letrec { lgo_awhL [Occ=LoopBreaker] :: Language.Haskell.TH.Lib.TypeQ -> [Language.Haskell.TH.Lib.TypeQ] -> Language.Haskell.TH.Lib.TypeQ [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=, TopLvl=False, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 30] 80 0}] lgo_awhL = \ (z_awhM :: Language.Haskell.TH.Lib.TypeQ) (ds_awhN [Dmd=] :: [Language.Haskell.TH.Lib.TypeQ]) -> case ds_awhN of _ [Occ=Dead, Dmd=] { [] -> z_awhM; : x_awhS [Dmd=] xs_awhT [Dmd=] -> lgo_awhL ((Language.Haskell.TH.Lib.appT1 z_awhM x_awhS) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) xs_awhT }; } in lgo_awhL (a_swCk `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (GHC.Types.: @ Language.Haskell.TH.Lib.TypeQ (let { l_a5DZ [Dmd=] :: Language.Haskell.TH.Lib.TyLitQ [LclId, Str=DmdType {avAr->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 20 0}] l_a5DZ = Language.Haskell.TH.Lib.numTyLit ($dKnownNat_avAr `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_auGO ~# GHC.Integer.Type.Integer)) } in (\ (@ (m_a5E0 :: * -> *)) (eta_a5E1 [Dmd=] :: Language.Haskell.TH.Syntax.Quasi m_a5E0) -> GHC.Base.fmap @ m_a5E0 (Control.Applicative.$p1Applicative @ m_a5E0 (Language.Haskell.TH.Syntax.$p2Quasi @ m_a5E0 eta_a5E1)) @ Language.Haskell.TH.Syntax.TyLit @ Language.Haskell.TH.Syntax.Type Language.Haskell.TH.Syntax.LitT ((l_a5DZ `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.TyLit ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.TyLit))) @ m_a5E0 eta_a5E1)) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (GHC.Types.: @ Language.Haskell.TH.Lib.TypeQ (let { x_X4Ts :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType {avAt->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 271 90}] x_X4Ts = case ($dTypeable_avAt `cast` (Data.Typeable.Internal.NTCo:Typeable[0] *>_N _N :: Data.Typeable.Internal.Typeable rep_auGP ~# (GHC.Prim.Proxy# rep_auGP -> Data.Typeable.Internal.TypeRep))) (GHC.Prim.proxy# @ (GHC.TypeLits.Nat -> *) @ rep_auGP) of _ [Occ=Dead, Dmd=] { Data.Typeable.Internal.TypeRep ww1_awCq [Dmd=] ww2_awCr [Dmd=] ww3_awCs [Dmd=] ww4_awCt [Dmd=] -> case GHC.List.reverse1 @ GHC.Types.Char (Data.Typeable.Internal.$w$cshowsPrec GHC.Show.shows27 ww3_awCs ww4_awCt (GHC.Types.[] @ GHC.Types.Char)) (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead, Dmd=] { [] -> Language.Haskell.TH.Syntax.Name ((GHC.Types.[] @ GHC.Types.Char) `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) Language.Haskell.TH.Syntax.NameS; : ds_a5Fa [Dmd=] rev_a5Fb [Dmd=] -> case ds_a5Fa of wild22_a5Fd { GHC.Types.C# ds1_a5Ff [Dmd=] -> case ds1_a5Ff of _ [Occ=Dead, Dmd=] { __DEFAULT -> case Language.Haskell.TH.Syntax.mkName_$s$wsplit1 wild22_a5Fd (GHC.Types.[] @ GHC.Types.Char) rev_a5Fb of _ [Occ=Dead, Dmd=] { (# ww1_a5Aw, ww2_a5Ax #) -> Language.Haskell.TH.Syntax.Name ww1_a5Aw ww2_a5Ax }; '.' -> case Language.Haskell.TH.Syntax.mkName_$s$wsplit1 wild22_a5Fd (GHC.Types.[] @ GHC.Types.Char) rev_a5Fb of _ [Occ=Dead, Dmd=] { (# ww1_a5Aw, ww2_a5Ax #) -> Language.Haskell.TH.Syntax.Name ww1_a5Aw ww2_a5Ax } } } } } } in (\ (@ (m_X4Tv :: * -> *)) (eta_X4Tx [Dmd=] :: Language.Haskell.TH.Syntax.Quasi m_X4Tv) -> GHC.Base.return @ m_X4Tv (Language.Haskell.TH.Syntax.$p1Quasi @ m_X4Tv eta_X4Tx) @ Language.Haskell.TH.Syntax.Type (Language.Haskell.TH.Syntax.ConT x_X4Ts)) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (GHC.Types.: @ Language.Haskell.TH.Lib.TypeQ (let { l_a5DZ [Dmd=] :: Language.Haskell.TH.Lib.TyLitQ [LclId, Str=DmdType {avAs->}, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 20 0}] l_a5DZ = Language.Haskell.TH.Lib.numTyLit ($dKnownNat_avAs `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat size_auGQ ~# GHC.Integer.Type.Integer)) } in (\ (@ (m_a5E0 :: * -> *)) (eta_a5E1 [Dmd=] :: Language.Haskell.TH.Syntax.Quasi m_a5E0) -> GHC.Base.fmap @ m_a5E0 (Control.Applicative.$p1Applicative @ m_a5E0 (Language.Haskell.TH.Syntax.$p2Quasi @ m_a5E0 eta_a5E1)) @ Language.Haskell.TH.Syntax.TyLit @ Language.Haskell.TH.Syntax.Type Language.Haskell.TH.Syntax.LitT ((l_a5DZ `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.TyLit ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.TyLit))) @ m_a5E0 eta_a5E1)) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (GHC.Types.[] @ Language.Haskell.TH.Lib.TypeQ)))) } in \ (@ (m_akV3 :: * -> *)) (w2_akV4 [Dmd=] :: Language.Haskell.TH.Syntax.Quasi m_akV3) -> case w2_akV4 of _ [Occ=Dead, Dmd=] { Language.Haskell.TH.Syntax.D:Quasi ww1_akV7 [Dmd=] ww2_akV8 ww3_akV9 ww4_akVa ww5_akVb ww6_akVc ww7_akVd ww8_akVe ww9_akVf ww10_akVg ww11_akVh ww12_akVi ww13_akVj ww14_akVk ww15_akVl ww16_akVm ww17_akVn ww18_akVo -> case ww1_akV7 of _ [Occ=Dead, Dmd=] { GHC.Base.D:Monad ww20_akVt [Dmd=] ww21_akVu ww22_akVv ww23_akVw -> let { a_akVs :: GHC.Base.Monad m_akV3 [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 50}] a_akVs = GHC.Base.D:Monad @ m_akV3 ww20_akVt ww21_akVu ww22_akVv ww23_akVw } in let { eta_akVy :: Language.Haskell.TH.Syntax.Quasi m_akV3 [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 190}] eta_akVy = Language.Haskell.TH.Syntax.D:Quasi @ m_akV3 a_akVs ww2_akV8 ww3_akV9 ww4_akVa ww5_akVb ww6_akVc ww7_akVd ww8_akVe ww9_akVf ww10_akVg ww11_akVh ww12_akVi ww13_akVj ww14_akVk ww15_akVl ww16_akVm ww17_akVn ww18_akVo } in ww20_akVt @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (let { a_acZP :: GHC.Base.Monad m_akV3 [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 50}] a_acZP = GHC.Base.D:Monad @ m_akV3 ww20_akVt ww21_akVu ww22_akVv ww23_akVw } in let { eta_acZV :: Language.Haskell.TH.Syntax.Quasi m_akV3 [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 190}] eta_acZV = Language.Haskell.TH.Syntax.D:Quasi @ m_akV3 a_acZP ww2_akV8 ww3_akV9 ww4_akVa ww5_akVb ww6_akVc ww7_akVd ww8_akVe ww9_akVf ww10_akVg ww11_akVh ww12_akVi ww13_akVj ww14_akVk ww15_akVl ww16_akVm ww17_akVn ww18_akVo } in ww20_akVt @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (ww22_akVv @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.ConE lvl_swwh)) (\ (x_acZW :: Language.Haskell.TH.Syntax.Exp) -> ww20_akVt @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp ((w1_acZp `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp))) @ m_akV3 eta_acZV) (\ (x1_acZX :: Language.Haskell.TH.Syntax.Exp) -> ww22_akVv @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.AppE x_acZW x1_acZX)))) (\ (x_akVz :: Language.Haskell.TH.Syntax.Exp) -> ww20_akVt @ Language.Haskell.TH.Syntax.Type @ Language.Haskell.TH.Syntax.Exp ((w1_akV2 `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type))) @ m_akV3 eta_akVy) (\ (x1_akVA :: Language.Haskell.TH.Syntax.Type) -> ww22_akVv @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.SigE x_akVz x1_akVA))) } } $clift_avAv :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp [LclId, Arity=5, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $clift_avAv = a_swCv `cast` (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp)) CLaSH.Sized.Fixed.$fLiftFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ) [LclIdX[DFunId(nt)], Arity=5, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=4, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= $clift_avAv `cast` (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N) :: (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ)))}] CLaSH.Sized.Fixed.$fLiftFixed = a_swCv `cast` (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> (_R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N)) ; Sym (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N) :: (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ))) ------ Local rules for imported ids -------- "SPEC GHC.Real.^ [GHC.Types.Double, GHC.Integer.Type.Integer]" [1] forall ($dNum_swu4 :: GHC.Num.Num GHC.Types.Double) ($dIntegral_swu5 :: GHC.Real.Integral GHC.Integer.Type.Integer). GHC.Real.^ @ GHC.Types.Double @ GHC.Integer.Type.Integer $dNum_swu4 $dIntegral_swu5 = $s^_swu6 *** Worker Wrapper binds: ==================== Worker Wrapper binds ==================== Result size of Worker Wrapper binds = {terms: 4,083, types: 18,590, coercions: 959} lvl_swvg :: GHC.Types.Double [LclId, Str=DmdType b] lvl_swvg = GHC.Err.error @ GHC.Types.Double (GHC.CString.unpackCString# "Negative exponent"#) lvl_swve :: GHC.Types.Double [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}] lvl_swve = GHC.Types.D# 1.0 lvl_swv0 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swv0 = __integer 1 lvl_swv2 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swv2 = __integer 1 lvl_swv4 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swv4 = __integer 2 lvl_swv6 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swv6 = __integer 2 Rec { $wg1_sxaw [Occ=LoopBreaker] :: GHC.Prim.Double# -> GHC.Integer.Type.Integer -> GHC.Prim.Double# -> GHC.Prim.Double# [LclId, Arity=3, Str=DmdType ] $wg1_sxaw = \ (ww_sxan :: GHC.Prim.Double#) (w_sxaj [Dmd=] :: GHC.Integer.Type.Integer) (ww_sxar :: GHC.Prim.Double#) -> let { w_sxai [Dmd=] :: GHC.Types.Double [LclId, Str=DmdType] w_sxai = GHC.Types.D# ww_sxan } in let { w_sxak [Dmd=] :: GHC.Types.Double [LclId, Str=DmdType] w_sxak = GHC.Types.D# ww_sxar } in case (\ (x1_akDN [Dmd=] :: GHC.Types.Double) (y1_akDO [Dmd=] :: GHC.Integer.Type.Integer) (z_akDP [Dmd=] :: GHC.Types.Double) -> case GHC.Integer.Type.eqInteger# (GHC.Integer.Type.remInteger y1_akDO GHC.Real.even2) GHC.Real.even1 of wild_akF2 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akF2 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case GHC.Integer.Type.eqInteger# y1_akDO lvl_swv0 of wild_a2f3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a2f3 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> g1_swuY (GHC.Float.timesDouble x1_akDN x1_akDN) (GHC.Integer.Type.quotInteger (GHC.Integer.Type.minusInteger y1_akDO lvl_swv2) lvl_swv4) (GHC.Float.timesDouble x1_akDN z_akDP); GHC.Types.True -> GHC.Float.timesDouble x1_akDN z_akDP } }; GHC.Types.True -> g1_swuY (GHC.Float.timesDouble x1_akDN x1_akDN) (GHC.Integer.Type.quotInteger y1_akDO lvl_swv6) z_akDP } }) w_sxai w_sxaj w_sxak of ww_sxau { GHC.Types.D# ww_sxav -> ww_sxav } g1_swuY [InlPrag=INLINE[0]] :: GHC.Types.Double -> GHC.Integer.Type.Integer -> GHC.Types.Double -> GHC.Types.Double [LclId, Arity=3, Str=DmdType m, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (w_sxai [Occ=Once!, Dmd=] :: GHC.Types.Double) (w_sxaj [Occ=Once, Dmd=] :: GHC.Integer.Type.Integer) (w_sxak [Occ=Once!, Dmd=] :: GHC.Types.Double) -> case case w_sxai of _ [Occ=Dead] { GHC.Types.D# ww_sxan [Occ=Once] -> case w_sxak of _ [Occ=Dead] { GHC.Types.D# ww_sxar [Occ=Once] -> $wg1_sxaw ww_sxan w_sxaj ww_sxar } } of ww_sxav { __DEFAULT -> GHC.Types.D# ww_sxav }}] g1_swuY = \ (w_sxai [Dmd=] :: GHC.Types.Double) (w_sxaj [Dmd=] :: GHC.Integer.Type.Integer) (w_sxak [Dmd=] :: GHC.Types.Double) -> case case w_sxai of ww_sxam { GHC.Types.D# ww_sxan -> case w_sxak of ww_sxaq { GHC.Types.D# ww_sxar -> $wg1_sxaw ww_sxan w_sxaj ww_sxar } } of ww_sxav { __DEFAULT -> GHC.Types.D# ww_sxav } end Rec } lvl_swuS :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swuS = __integer 1 lvl_swv8 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swv8 = __integer 1 lvl_swva :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swva = __integer 2 lvl_swvc :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swvc = __integer 2 Rec { $wf_sxaG [Occ=LoopBreaker] :: GHC.Prim.Double# -> GHC.Integer.Type.Integer -> GHC.Prim.Double# [LclId, Arity=2, Str=DmdType ] $wf_sxaG = \ (ww_sxaB :: GHC.Prim.Double#) (w_sxay [Dmd=] :: GHC.Integer.Type.Integer) -> let { w_sxax [Dmd=] :: GHC.Types.Double [LclId, Str=DmdType] w_sxax = GHC.Types.D# ww_sxaB } in case (\ (x_akDA [Dmd=] :: GHC.Types.Double) (y_akDB [Dmd=] :: GHC.Integer.Type.Integer) -> case GHC.Integer.Type.eqInteger# (GHC.Integer.Type.remInteger y_akDB GHC.Real.even2) GHC.Real.even1 of wild_akF2 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akF2 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case GHC.Integer.Type.eqInteger# y_akDB lvl_swuS of wild_a2f3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a2f3 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> g1_swuY (GHC.Float.timesDouble x_akDA x_akDA) (GHC.Integer.Type.quotInteger (GHC.Integer.Type.minusInteger y_akDB lvl_swv8) lvl_swva) x_akDA; GHC.Types.True -> x_akDA } }; GHC.Types.True -> f_swuQ (GHC.Float.timesDouble x_akDA x_akDA) (GHC.Integer.Type.quotInteger y_akDB lvl_swvc) } }) w_sxax w_sxay of ww_sxaE { GHC.Types.D# ww_sxaF -> ww_sxaF } f_swuQ [InlPrag=INLINE[0]] :: GHC.Types.Double -> GHC.Integer.Type.Integer -> GHC.Types.Double [LclId, Arity=2, Str=DmdType m, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (w_sxax [Occ=Once!, Dmd=] :: GHC.Types.Double) (w_sxay [Occ=Once, Dmd=] :: GHC.Integer.Type.Integer) -> case case w_sxax of _ [Occ=Dead] { GHC.Types.D# ww_sxaB [Occ=Once] -> $wf_sxaG ww_sxaB w_sxay } of ww_sxaF { __DEFAULT -> GHC.Types.D# ww_sxaF }}] f_swuQ = \ (w_sxax [Dmd=] :: GHC.Types.Double) (w_sxay [Dmd=] :: GHC.Integer.Type.Integer) -> case case w_sxax of ww_sxaA { GHC.Types.D# ww_sxaB -> $wf_sxaG ww_sxaB w_sxay } of ww_sxaF { __DEFAULT -> GHC.Types.D# ww_sxaF } end Rec } lvl_swuH :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swuH = __integer 0 lvl_swuK :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swuK = __integer 0 $w$s^_sxaM [InlPrag=[1]] :: GHC.Types.Double -> GHC.Integer.Type.Integer -> GHC.Prim.Double# [LclId, Arity=2, Str=DmdType ] $w$s^_sxaM = \ (w_sxaH [Dmd=] :: GHC.Types.Double) (w_sxaI [Dmd=] :: GHC.Integer.Type.Integer) -> case (\ (eta_akDk [Dmd=] :: GHC.Types.Double) (eta1_akDl [Dmd=] :: GHC.Integer.Type.Integer) -> case GHC.Integer.Type.ltInteger# eta1_akDl lvl_swuH of wild_a4It { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a4It of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case GHC.Integer.Type.eqInteger# eta1_akDl lvl_swuK of wild_a2f3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a2f3 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> f_swuQ eta_akDk eta1_akDl; GHC.Types.True -> lvl_swve } }; GHC.Types.True -> lvl_swvg } }) w_sxaH w_sxaI of ww_sxaK { GHC.Types.D# ww_sxaL -> ww_sxaL } $s^_swu6 [InlPrag=INLINE[0]] :: GHC.Types.Double -> GHC.Integer.Type.Integer -> GHC.Types.Double [LclId, Arity=2, Str=DmdType m, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (w_sxaH [Occ=Once, Dmd=] :: GHC.Types.Double) (w_sxaI [Occ=Once, Dmd=] :: GHC.Integer.Type.Integer) -> case $w$s^_sxaM w_sxaH w_sxaI of ww_sxaL { __DEFAULT -> GHC.Types.D# ww_sxaL }}] $s^_swu6 = \ (w_sxaH [Dmd=] :: GHC.Types.Double) (w_sxaI [Dmd=] :: GHC.Integer.Type.Integer) -> case $w$s^_sxaM w_sxaH w_sxaI of ww_sxaL { __DEFAULT -> GHC.Types.D# ww_sxaL } lvl_swvh :: GHC.Types.Double [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}] lvl_swvh = GHC.Types.D# 2.0 a_swwS :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] a_swwS = GHC.CString.unpackCString# "Fixed"# a_swwV :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 0}] a_swwV = GHC.CString.unpackCString# "clash-prelude-0.5"# a_swwX :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 0}] a_swwX = GHC.CString.unpackCString# "CLaSH.Sized.Fixed"# a_swwT :: Language.Haskell.TH.Syntax.NameFlavour [LclId, Str=DmdType m5, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}] a_swwT = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.DataName (a_swwV `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a_swwX `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) lvl_swvo :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] lvl_swvo = Language.Haskell.TH.Syntax.Name (a_swwS `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a_swwT a_swx0 :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 0}] a_swx0 = GHC.CString.unpackCString# "fromInteger"# a_swx3 :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 0}] a_swx3 = GHC.CString.unpackCString# "base"# a_swx5 :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] a_swx5 = GHC.CString.unpackCString# "GHC.Num"# a_swx1 :: Language.Haskell.TH.Syntax.NameFlavour [LclId, Str=DmdType m5, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}] a_swx1 = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.VarName (a_swx3 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a_swx5 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) lvl_swvw :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] lvl_swvw = Language.Haskell.TH.Syntax.Name (a_swx0 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a_swx1 $wa_sxaS :: forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> forall (m_awx9 :: * -> *). Language.Haskell.TH.Syntax.Quasi m_awx9 => m_awx9 (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) [LclId, Arity=4, Str=DmdType ] $wa_sxaS = \ (@ (frac_avhM :: GHC.TypeLits.Nat)) (@ (rep_avhN :: GHC.TypeLits.Nat -> *)) (@ (size_avhO :: GHC.TypeLits.Nat)) (w_sxaN :: GHC.TypeLits.KnownNat frac_avhM) (w_sxaP [Dmd=] :: GHC.Enum.Bounded (rep_avhN size_avhO)) (w_sxaQ [Dmd=] :: GHC.Real.Integral (rep_avhN size_avhO)) (w_sxaR [Dmd=] :: GHC.Types.Double) -> let { w_sxaO [Dmd=] :: GHC.Num.Num (rep_avhN size_avhO) [LclId, Str=DmdType] w_sxaO = Control.Exception.Base.absentError @ (GHC.Num.Num (rep_avhN size_avhO)) "w_sxaO{v} [lid] base:GHC.Num.Num{tc 2b}\n\ \ (rep{tv avhN} [tv] size{tv avhO} [tv])"# } in (\ (@ (frac_avhM :: GHC.TypeLits.Nat)) (@ (rep_avhN :: GHC.TypeLits.Nat -> *)) (@ (size_avhO :: GHC.TypeLits.Nat)) ($dKnownNat_avlM :: GHC.TypeLits.KnownNat frac_avhM) _ [Occ=Dead, Dmd=] ($dBounded_avlO [Dmd=] :: GHC.Enum.Bounded (rep_avhN size_avhO)) ($dIntegral_avlP [Dmd=] :: GHC.Real.Integral (rep_avhN size_avhO)) (a_auGC [Dmd=] :: GHC.Types.Double) -> let { x_akVD :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=NEVER}] x_akVD = let { rMax_swu0 [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] rMax_swu0 = GHC.Real.toInteger @ (rep_avhN size_avhO) $dIntegral_avlP (GHC.Enum.maxBound @ (rep_avhN size_avhO) $dBounded_avlO) } in let { truncated_swu2 [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 540 0}] truncated_swu2 = case a_auGC of _ [Occ=Dead, Dmd=] { GHC.Types.D# x_aw80 -> case $s^_swu6 lvl_swvh ($dKnownNat_avlM `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_avhM ~# GHC.Integer.Type.Integer)) of _ [Occ=Dead, Dmd=] { GHC.Types.D# y_aw84 -> case GHC.Integer.Type.decodeDoubleInteger (GHC.Prim.*## x_aw80 y_aw84) of _ [Occ=Dead, Dmd=] { (# ipv_aw8Q, ipv1_aw8R #) -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# ipv1_aw8R 0) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> GHC.Integer.Type.shiftLInteger ipv_aw8Q ipv1_aw8R; GHC.Types.True -> let { s_aw8X :: GHC.Prim.Int# [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 1 0}] s_aw8X = GHC.Prim.negateInt# ipv1_aw8R } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.># s_aw8X 52) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case GHC.Integer.Type.ltInteger# ipv_aw8Q (__integer 0) of wild3_aw92 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild3_aw92 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case GHC.Integer.Type.integerToInt ipv_aw8Q of n_aw96 { __DEFAULT -> GHC.Integer.Type.smallInteger (GHC.Prim.uncheckedIShiftRA# n_aw96 s_aw8X) }; GHC.Types.True -> case GHC.Integer.Type.integerToInt (GHC.Integer.Type.negateInteger ipv_aw8Q) of n_aw99 { __DEFAULT -> GHC.Integer.Type.smallInteger (GHC.Prim.negateInt# (GHC.Prim.uncheckedIShiftRA# n_aw99 s_aw8X)) } } }; GHC.Types.True -> __integer 0 } } } } } } in case GHC.Integer.Type.gtInteger# truncated_swu2 rMax_swu0 of wild_akJ6 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akJ6 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> let { rMin_swu1 [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] rMin_swu1 = GHC.Real.toInteger @ (rep_avhN size_avhO) $dIntegral_avlP (GHC.Enum.minBound @ (rep_avhN size_avhO) $dBounded_avlO) } in case GHC.Integer.Type.ltInteger# truncated_swu2 rMin_swu1 of wild_a4It { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a4It of _ [Occ=Dead, Dmd=] { GHC.Types.False -> truncated_swu2; GHC.Types.True -> rMin_swu1 } }; GHC.Types.True -> rMax_swu0 } } } in \ (@ (m_awx9 :: * -> *)) (w1_awxa [Dmd=] :: Language.Haskell.TH.Syntax.Quasi m_awx9) -> case w1_awxa of _ [Occ=Dead, Dmd=] { Language.Haskell.TH.Syntax.D:Quasi ww1_awxd [Dmd=] ww2_awxe [Dmd=] ww3_awxf [Dmd=] ww4_awxg [Dmd=] ww5_awxh [Dmd=] ww6_awxi [Dmd=] ww7_awxj [Dmd=] ww8_awxk [Dmd=] ww9_awxl [Dmd=] ww10_awxm [Dmd=] ww11_awxn [Dmd=] ww12_awxo [Dmd=] ww13_awxp [Dmd=] ww14_awxq [Dmd=] ww15_awxr [Dmd=] ww16_awxs [Dmd=] ww17_awxt [Dmd=] ww18_awxu [Dmd=] -> case ww1_awxd of _ [Occ=Dead, Dmd=] { GHC.Base.D:Monad ww20_awxy [Dmd=] ww21_awxz [Dmd=] ww22_awxA [Dmd=] ww23_awxB [Dmd=] -> ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) (ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (ww22_awxA @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.ConE lvl_swvo)) (\ (x_acZW :: Language.Haskell.TH.Syntax.Exp) -> ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (ww22_awxA @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.VarE lvl_swvw)) (\ (x_Xd36 :: Language.Haskell.TH.Syntax.Exp) -> ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (ww22_awxA @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.LitE (Language.Haskell.TH.Syntax.IntegerL x_akVD))) (\ (x1_acZX :: Language.Haskell.TH.Syntax.Exp) -> ww22_awxA @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.AppE x_Xd36 x1_acZX)))) (\ (x1_acZX :: Language.Haskell.TH.Syntax.Exp) -> ww22_awxA @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.AppE x_acZW x1_acZX)))) (\ (x_awxD :: Language.Haskell.TH.Syntax.Exp) -> ww22_awxA @ (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) (x_awxD `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:TExp[0] _N) :: Language.Haskell.TH.Syntax.Exp ~# Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)))) } }) @ frac_avhM @ rep_avhN @ size_avhO w_sxaN w_sxaO w_sxaP w_sxaQ w_sxaR a_swxS [InlPrag=INLINE[0]] :: forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> forall (m_aw9c :: * -> *). Language.Haskell.TH.Syntax.Quasi m_aw9c => m_aw9c (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) [LclId, Arity=5, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_avhM :: GHC.TypeLits.Nat)) (@ (rep_avhN :: GHC.TypeLits.Nat -> *)) (@ (size_avhO :: GHC.TypeLits.Nat)) (w_sxaN [Occ=Once] :: GHC.TypeLits.KnownNat frac_avhM) _ [Occ=Dead, Dmd=] (w_sxaP [Occ=Once, Dmd=] :: GHC.Enum.Bounded (rep_avhN size_avhO)) (w_sxaQ [Occ=Once, Dmd=] :: GHC.Real.Integral (rep_avhN size_avhO)) (w_sxaR [Occ=Once, Dmd=] :: GHC.Types.Double) -> $wa_sxaS @ frac_avhM @ rep_avhN @ size_avhO w_sxaN w_sxaP w_sxaQ w_sxaR}] a_swxS = \ (@ (frac_avhM :: GHC.TypeLits.Nat)) (@ (rep_avhN :: GHC.TypeLits.Nat -> *)) (@ (size_avhO :: GHC.TypeLits.Nat)) (w_sxaN :: GHC.TypeLits.KnownNat frac_avhM) (w_sxaO [Dmd=] :: GHC.Num.Num (rep_avhN size_avhO)) (w_sxaP [Dmd=] :: GHC.Enum.Bounded (rep_avhN size_avhO)) (w_sxaQ [Dmd=] :: GHC.Real.Integral (rep_avhN size_avhO)) (w_sxaR [Dmd=] :: GHC.Types.Double) -> $wa_sxaS @ frac_avhM @ rep_avhN @ size_avhO w_sxaN w_sxaP w_sxaQ w_sxaR CLaSH.Sized.Fixed.fLit :: forall (frac_auFI :: GHC.TypeLits.Nat) (rep_auFJ :: GHC.TypeLits.Nat -> *) (size_auFK :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_auFI, GHC.Num.Num (rep_auFJ size_auFK), GHC.Enum.Bounded (rep_auFJ size_auFK), GHC.Real.Integral (rep_auFJ size_auFK)) => GHC.Types.Double -> Language.Haskell.TH.Syntax.Q (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_auFI rep_auFJ size_auFK)) [LclIdX, Arity=5, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= a_swxS `cast` (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO))) ~# (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> Language.Haskell.TH.Syntax.Q (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO))))}] CLaSH.Sized.Fixed.fLit = a_swxS `cast` (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO))) ~# (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> Language.Haskell.TH.Syntax.Q (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)))) $wsatN2_sxbN :: forall (rep_auFL :: GHC.TypeLits.Nat -> *) (n_auFM :: GHC.TypeLits.Nat). (((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) GHC.Prim.~# (n_auFM GHC.TypeLits.+ 2)) -> CLaSH.Class.BitVector.BitVector (rep_auFL n_auFM) => (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) => rep_auFL (n_auFM GHC.TypeLits.+ 2) -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit) -> (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM) ~ n_auFM, CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2)) ~ (n_auFM GHC.TypeLits.+ 2), GHC.TypeLits.KnownNat n_auFM, GHC.TypeLits.KnownNat (n_auFM GHC.TypeLits.+ 2), GHC.Enum.Bounded (rep_auFL n_auFM)) => (rep_auFL (n_auFM GHC.TypeLits.+ 2) -> GHC.Types.Bool) -> rep_auFL (n_auFM GHC.TypeLits.+ 2) -> rep_auFL n_auFM [LclId, Arity=10, Str=DmdType ] $wsatN2_sxbN = \ (@ (rep_auFL :: GHC.TypeLits.Nat -> *)) (@ (n_auFM :: GHC.TypeLits.Nat)) (ww_sxb7 :: ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) GHC.Prim.~# (n_auFM GHC.TypeLits.+ 2)) (ww_sxb9 [Dmd=] :: CLaSH.Class.BitVector.BitVector (rep_auFL n_auFM)) (ww_sxbd [Dmd=] :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) => rep_auFL (n_auFM GHC.TypeLits.+ 2) -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit) (ww_sxbg [Dmd=] :: CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM) ~ n_auFM) (ww_sxbh [Dmd=] :: CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2)) ~ (n_auFM GHC.TypeLits.+ 2) Unf=OtherCon []) (ww_sxbi [Dmd=] :: GHC.TypeLits.KnownNat n_auFM) (ww_sxbj :: GHC.TypeLits.KnownNat (n_auFM GHC.TypeLits.+ 2)) (ww_sxbk [Dmd=] :: GHC.Enum.Bounded (rep_auFL n_auFM)) (ww_sxbD [Dmd=] :: rep_auFL (n_auFM GHC.TypeLits.+ 2) -> GHC.Types.Bool) (w_sxb0 :: rep_auFL (n_auFM GHC.TypeLits.+ 2)) -> let { ww_sxb3 [Dmd=] :: 1 GHC.TypeLits.<= n_auFM [LclId, Str=DmdType] ww_sxb3 = Control.Exception.Base.absentError @ (1 GHC.TypeLits.<= n_auFM) "ww_sxb3{v} [lid] 1 base:GHC.TypeLits.<={tc r4y} n{tv auFM} [tv]"# } in let { ww_sxb4 [Dmd=] :: ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (n_auFM GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxb4 = GHC.Types.Eq# @ GHC.TypeLits.Nat @ ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) @ (n_auFM GHC.TypeLits.+ 2) @~ ww_sxb7 } in let { ww_sxbe [Dmd=] :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit -> rep_auFL (n_auFM GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxbe = Control.Exception.Base.absentError @ (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit -> rep_auFL (n_auFM GHC.TypeLits.+ 2)) "ww_sxbe{v} [lid] base:GHC.TypeLits.KnownNat{tc 2G}\n\ \ (clash-prelude-0.5:CLaSH.Class.BitVector.BitSize{tc rjwV}\n\ \ (rep{tv auFL} [tv] (n{tv auFM} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2))) =>\n\ \ clash-prelude-0.5:CLaSH.Sized.Vector.Vec{tc rejp}\n\ \ (clash-prelude-0.5:CLaSH.Class.BitVector.BitSize{tc rjwV}\n\ \ (rep{tv auFL} [tv] (n{tv auFM} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)))\n\ \ clash-prelude-0.5:CLaSH.Bit.Bit{tc riFj}\n\ \ -> rep{tv auFL} [tv] (n{tv auFM} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxba [Dmd=] :: CLaSH.Class.BitVector.BitVector (rep_auFL (n_auFM GHC.TypeLits.+ 2)) [LclId, Str=DmdType] ww_sxba = CLaSH.Class.BitVector.D:BitVector @ (rep_auFL (n_auFM GHC.TypeLits.+ 2)) ww_sxbd ww_sxbe } in let { ww_sxbo [Dmd=] :: GHC.Classes.Eq (rep_auFL (n_auFM GHC.TypeLits.+ 2)) [LclId, Str=DmdType] ww_sxbo = Control.Exception.Base.absentError @ (GHC.Classes.Eq (rep_auFL (n_auFM GHC.TypeLits.+ 2))) "ww_sxbo{v} [lid] ghc-prim:GHC.Classes.Eq{tc 23}\n\ \ (rep{tv auFL} [tv] (n{tv auFM} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2))"# } in let { ww_sxbp [Dmd=] :: rep_auFL (n_auFM GHC.TypeLits.+ 2) -> rep_auFL (n_auFM GHC.TypeLits.+ 2) -> rep_auFL (n_auFM GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxbp = Control.Exception.Base.absentError @ (rep_auFL (n_auFM GHC.TypeLits.+ 2) -> rep_auFL (n_auFM GHC.TypeLits.+ 2) -> rep_auFL (n_auFM GHC.TypeLits.+ 2)) "ww_sxbp{v} [lid] rep{tv auFL} [tv] (n{tv auFM} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> rep{tv auFL} [tv] (n{tv auFM} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> rep{tv auFL} [tv] (n{tv auFM} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxbq [Dmd=] :: rep_auFL (n_auFM GHC.TypeLits.+ 2) -> rep_auFL (n_auFM GHC.TypeLits.+ 2) -> rep_auFL (n_auFM GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxbq = Control.Exception.Base.absentError @ (rep_auFL (n_auFM GHC.TypeLits.+ 2) -> rep_auFL (n_auFM GHC.TypeLits.+ 2) -> rep_auFL (n_auFM GHC.TypeLits.+ 2)) "ww_sxbq{v} [lid] rep{tv auFL} [tv] (n{tv auFM} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> rep{tv auFL} [tv] (n{tv auFM} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> rep{tv auFL} [tv] (n{tv auFM} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxbr [Dmd=] :: rep_auFL (n_auFM GHC.TypeLits.+ 2) -> rep_auFL (n_auFM GHC.TypeLits.+ 2) -> rep_auFL (n_auFM GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxbr = Control.Exception.Base.absentError @ (rep_auFL (n_auFM GHC.TypeLits.+ 2) -> rep_auFL (n_auFM GHC.TypeLits.+ 2) -> rep_auFL (n_auFM GHC.TypeLits.+ 2)) "ww_sxbr{v} [lid] rep{tv auFL} [tv] (n{tv auFM} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> rep{tv auFL} [tv] (n{tv auFM} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> rep{tv auFL} [tv] (n{tv auFM} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxbs [Dmd=] :: rep_auFL (n_auFM GHC.TypeLits.+ 2) -> rep_auFL (n_auFM GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxbs = Control.Exception.Base.absentError @ (rep_auFL (n_auFM GHC.TypeLits.+ 2) -> rep_auFL (n_auFM GHC.TypeLits.+ 2)) "ww_sxbs{v} [lid] rep{tv auFL} [tv] (n{tv auFM} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> rep{tv auFL} [tv] (n{tv auFM} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxbt [Dmd=] :: rep_auFL (n_auFM GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_auFL (n_auFM GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxbt = Control.Exception.Base.absentError @ (rep_auFL (n_auFM GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_auFL (n_auFM GHC.TypeLits.+ 2)) "ww_sxbt{v} [lid] rep{tv auFL} [tv] (n{tv auFM} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv auFL} [tv] (n{tv auFM} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxbu [Dmd=] :: rep_auFL (n_auFM GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_auFL (n_auFM GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxbu = Control.Exception.Base.absentError @ (rep_auFL (n_auFM GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_auFL (n_auFM GHC.TypeLits.+ 2)) "ww_sxbu{v} [lid] rep{tv auFL} [tv] (n{tv auFM} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv auFL} [tv] (n{tv auFM} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxbv [Dmd=] :: rep_auFL (n_auFM GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxbv = Control.Exception.Base.absentError @ (rep_auFL (n_auFM GHC.TypeLits.+ 2)) "ww_sxbv{v} [lid] rep{tv auFL} [tv] (n{tv auFM} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxbw [Dmd=] :: GHC.Types.Int -> rep_auFL (n_auFM GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxbw = Control.Exception.Base.absentError @ (GHC.Types.Int -> rep_auFL (n_auFM GHC.TypeLits.+ 2)) "ww_sxbw{v} [lid] ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv auFL} [tv] (n{tv auFM} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxbx [Dmd=] :: rep_auFL (n_auFM GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_auFL (n_auFM GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxbx = Control.Exception.Base.absentError @ (rep_auFL (n_auFM GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_auFL (n_auFM GHC.TypeLits.+ 2)) "ww_sxbx{v} [lid] rep{tv auFL} [tv] (n{tv auFM} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv auFL} [tv] (n{tv auFM} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxby [Dmd=] :: rep_auFL (n_auFM GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_auFL (n_auFM GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxby = Control.Exception.Base.absentError @ (rep_auFL (n_auFM GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_auFL (n_auFM GHC.TypeLits.+ 2)) "ww_sxby{v} [lid] rep{tv auFL} [tv] (n{tv auFM} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv auFL} [tv] (n{tv auFM} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxbz [Dmd=] :: rep_auFL (n_auFM GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_auFL (n_auFM GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxbz = Control.Exception.Base.absentError @ (rep_auFL (n_auFM GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_auFL (n_auFM GHC.TypeLits.+ 2)) "ww_sxbz{v} [lid] rep{tv auFL} [tv] (n{tv auFM} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv auFL} [tv] (n{tv auFM} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxbA [Dmd=] :: rep_auFL (n_auFM GHC.TypeLits.+ 2) -> GHC.Types.Int -> GHC.Types.Bool [LclId, Str=DmdType] ww_sxbA = Control.Exception.Base.absentError @ (rep_auFL (n_auFM GHC.TypeLits.+ 2) -> GHC.Types.Int -> GHC.Types.Bool) "ww_sxbA{v} [lid] rep{tv auFL} [tv] (n{tv auFM} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> ghc-prim:GHC.Types.Bool{(w) tc 3c}"# } in let { ww_sxbB [Dmd=] :: rep_auFL (n_auFM GHC.TypeLits.+ 2) -> Data.Maybe.Maybe GHC.Types.Int [LclId, Str=DmdType] ww_sxbB = Control.Exception.Base.absentError @ (rep_auFL (n_auFM GHC.TypeLits.+ 2) -> Data.Maybe.Maybe GHC.Types.Int) "ww_sxbB{v} [lid] rep{tv auFL} [tv] (n{tv auFM} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> base:Data.Maybe.Maybe{tc r1b} ghc-prim:GHC.Types.Int{(w) tc 3J}"# } in let { ww_sxbC [Dmd=] :: rep_auFL (n_auFM GHC.TypeLits.+ 2) -> GHC.Types.Int [LclId, Str=DmdType] ww_sxbC = Control.Exception.Base.absentError @ (rep_auFL (n_auFM GHC.TypeLits.+ 2) -> GHC.Types.Int) "ww_sxbC{v} [lid] rep{tv auFL} [tv] (n{tv auFM} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}"# } in let { ww_sxbE [Dmd=] :: rep_auFL (n_auFM GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_auFL (n_auFM GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxbE = Control.Exception.Base.absentError @ (rep_auFL (n_auFM GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_auFL (n_auFM GHC.TypeLits.+ 2)) "ww_sxbE{v} [lid] rep{tv auFL} [tv] (n{tv auFM} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv auFL} [tv] (n{tv auFM} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxbF [Dmd=] :: rep_auFL (n_auFM GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_auFL (n_auFM GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxbF = Control.Exception.Base.absentError @ (rep_auFL (n_auFM GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_auFL (n_auFM GHC.TypeLits.+ 2)) "ww_sxbF{v} [lid] rep{tv auFL} [tv] (n{tv auFM} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv auFL} [tv] (n{tv auFM} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxbG [Dmd=] :: rep_auFL (n_auFM GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_auFL (n_auFM GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxbG = Control.Exception.Base.absentError @ (rep_auFL (n_auFM GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_auFL (n_auFM GHC.TypeLits.+ 2)) "ww_sxbG{v} [lid] rep{tv auFL} [tv] (n{tv auFM} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv auFL} [tv] (n{tv auFM} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxbH [Dmd=] :: rep_auFL (n_auFM GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_auFL (n_auFM GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxbH = Control.Exception.Base.absentError @ (rep_auFL (n_auFM GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_auFL (n_auFM GHC.TypeLits.+ 2)) "ww_sxbH{v} [lid] rep{tv auFL} [tv] (n{tv auFM} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv auFL} [tv] (n{tv auFM} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxbI [Dmd=] :: rep_auFL (n_auFM GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_auFL (n_auFM GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxbI = Control.Exception.Base.absentError @ (rep_auFL (n_auFM GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_auFL (n_auFM GHC.TypeLits.+ 2)) "ww_sxbI{v} [lid] rep{tv auFL} [tv] (n{tv auFM} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv auFL} [tv] (n{tv auFM} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxbJ [Dmd=] :: rep_auFL (n_auFM GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_auFL (n_auFM GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxbJ = Control.Exception.Base.absentError @ (rep_auFL (n_auFM GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_auFL (n_auFM GHC.TypeLits.+ 2)) "ww_sxbJ{v} [lid] rep{tv auFL} [tv] (n{tv auFM} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv auFL} [tv] (n{tv auFM} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxbK [Dmd=] :: rep_auFL (n_auFM GHC.TypeLits.+ 2) -> GHC.Types.Int [LclId, Str=DmdType] ww_sxbK = Control.Exception.Base.absentError @ (rep_auFL (n_auFM GHC.TypeLits.+ 2) -> GHC.Types.Int) "ww_sxbK{v} [lid] rep{tv auFL} [tv] (n{tv auFM} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}"# } in let { ww_sxbl [Dmd=] :: Data.Bits.Bits (rep_auFL (n_auFM GHC.TypeLits.+ 2)) [LclId, Str=DmdType] ww_sxbl = Data.Bits.D:Bits @ (rep_auFL (n_auFM GHC.TypeLits.+ 2)) ww_sxbo ww_sxbp ww_sxbq ww_sxbr ww_sxbs ww_sxbt ww_sxbu ww_sxbv ww_sxbw ww_sxbx ww_sxby ww_sxbz ww_sxbA ww_sxbB ww_sxbC ww_sxbD ww_sxbE ww_sxbF ww_sxbG ww_sxbH ww_sxbI ww_sxbJ ww_sxbK } in let { w_sxaZ [Dmd=] :: CLaSH.Sized.Fixed.SatN2C rep_auFL n_auFM [LclId, Str=DmdType] w_sxaZ = (ww_sxb3, ww_sxb4, ww_sxb9, ww_sxba, ww_sxbg, ww_sxbh, ww_sxbi, ww_sxbj, ww_sxbk, ww_sxbl) } in (\ (@ (rep_aviy :: GHC.TypeLits.Nat -> *)) (@ (n_aviz :: GHC.TypeLits.Nat)) (tup_avmQ [Dmd=] :: CLaSH.Sized.Fixed.SatN2C rep_aviy n_aviz) (eta_B1 :: rep_aviy (n_aviz GHC.TypeLits.+ 2)) -> let { repBV_swtT [Dmd=] :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 0}] repBV_swtT = case tup_avmQ of _ [Occ=Dead, Dmd=] { (tpl_X1g [Dmd=], tpl_B2 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8, tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> case tpl_B6 of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw6Z [Dmd=] -> (CLaSH.Class.BitVector.toBV @ (rep_aviy (n_aviz GHC.TypeLits.+ 2)) tpl_B4 (tpl_B8 `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw6Z))_R :: GHC.TypeLits.KnownNat (n_aviz GHC.TypeLits.+ 2) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy (n_aviz GHC.TypeLits.+ 2))))) eta_B1) `cast` ((CLaSH.Sized.Vector.Vec cobox_dw6Z _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy (n_aviz GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit) } } } in let { cobox_swtU [Dmd=] :: ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (n_aviz GHC.TypeLits.+ 2) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] cobox_swtU = let { cobox_swtU [Dmd=] :: ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (n_aviz GHC.TypeLits.+ 2) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] cobox_swtU = case tup_avmQ of _ [Occ=Dead, Dmd=] { (tpl_X1l [Dmd=], tpl_B2 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_B2 } } in case cobox_swtU of cobox_swtU { __DEFAULT -> cobox_swtU } } in let { s_swtS :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] s_swtS = case cobox_swtU of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw7d [Dmd=] -> CLaSH.Sized.Vector.vtail @ n_aviz @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (repBV_swtT `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7d) _R)_R :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit))) } } in let { cobox_swtV [Dmd=] :: CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz) ~ n_aviz [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] cobox_swtV = case tup_avmQ of _ [Occ=Dead, Dmd=] { (tpl_X1i [Dmd=], tpl_B2 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_B5 } } in case tup_avmQ of _ [Occ=Dead, Dmd=] { (tpl_X1t [Dmd=], tpl_B2 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> case Data.Bits.isSigned @ (rep_aviy (n_aviz GHC.TypeLits.+ 2)) tpl_Ba eta_B1 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case cobox_swtU of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw7j [Dmd=] -> case CLaSH.Sized.Vector.vhead @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (repBV_swtT `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7j) _R)_R :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit)) of _ [Occ=Dead, Dmd=] { CLaSH.Bit.H -> case CLaSH.Sized.Vector.vhead @ n_aviz @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (repBV_swtT `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7j) _R)_R :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit))) of _ [Occ=Dead, Dmd=] { CLaSH.Bit.H -> GHC.Enum.minBound @ (rep_aviy n_aviz) tpl_B9; CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_aviy n_aviz) tpl_B3 (case cobox_swtV of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw7b [Dmd=] -> tpl_B7 `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw7b))_R :: GHC.TypeLits.KnownNat n_aviz ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz))) }) (case cobox_swtV of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw7c [Dmd=] -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7c) _R)_R :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) CLaSH.Bit.Bit) }) }; CLaSH.Bit.L -> case CLaSH.Sized.Vector.vhead @ n_aviz @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (repBV_swtT `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7j) _R)_R :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit))) of _ [Occ=Dead, Dmd=] { CLaSH.Bit.H -> GHC.Enum.maxBound @ (rep_aviy n_aviz) tpl_B9; CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_aviy n_aviz) tpl_B3 (case cobox_swtV of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw7b [Dmd=] -> tpl_B7 `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw7b))_R :: GHC.TypeLits.KnownNat n_aviz ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz))) }) (case cobox_swtV of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw7c [Dmd=] -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7c) _R)_R :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) CLaSH.Bit.Bit) }) } } }; GHC.Types.True -> case cobox_swtU of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw7j [Dmd=] -> case CLaSH.Sized.Vector.vhead @ (n_aviz GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (repBV_swtT `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7j) _R)_R :: CLaSH.Sized.Vector.Vec (n_aviz GHC.TypeLits.+ 2) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_aviz GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit)) of _ [Occ=Dead, Dmd=] { CLaSH.Bit.H -> case CLaSH.Sized.Vector.vhead' @ n_aviz @ CLaSH.Bit.Bit tpl_X1t s_swtS of _ [Occ=Dead, Dmd=] { CLaSH.Bit.H -> CLaSH.Class.BitVector.fromBV @ (rep_aviy n_aviz) tpl_B3 (case cobox_swtV of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw79 [Dmd=] -> tpl_B7 `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw79))_R :: GHC.TypeLits.KnownNat n_aviz ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz))) }) (case cobox_swtV of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw7a [Dmd=] -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7a) _R)_R :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) CLaSH.Bit.Bit) }); CLaSH.Bit.L -> GHC.Enum.minBound @ (rep_aviy n_aviz) tpl_B9 }; CLaSH.Bit.L -> case CLaSH.Sized.Vector.vhead' @ n_aviz @ CLaSH.Bit.Bit tpl_X1t s_swtS of _ [Occ=Dead, Dmd=] { CLaSH.Bit.H -> GHC.Enum.maxBound @ (rep_aviy n_aviz) tpl_B9; CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_aviy n_aviz) tpl_B3 (case cobox_swtV of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw79 [Dmd=] -> tpl_B7 `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw79))_R :: GHC.TypeLits.KnownNat n_aviz ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz))) }) (case cobox_swtV of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw7a [Dmd=] -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7a) _R)_R :: CLaSH.Sized.Vector.Vec n_aviz CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_aviy n_aviz)) CLaSH.Bit.Bit) }) } } } } }) @ rep_auFL @ n_auFM w_sxaZ w_sxb0 CLaSH.Sized.Fixed.satN2 [InlPrag=INLINE[0]] :: forall (rep_auFL :: GHC.TypeLits.Nat -> *) (n_auFM :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.SatN2C rep_auFL n_auFM) => rep_auFL (n_auFM GHC.TypeLits.+ 2) -> rep_auFL n_auFM [LclIdX, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (rep_auFL :: GHC.TypeLits.Nat -> *)) (@ (n_auFM :: GHC.TypeLits.Nat)) (w_sxaZ [Occ=Once!, Dmd=] :: CLaSH.Sized.Fixed.SatN2C rep_auFL n_auFM) (w_sxb0 [Occ=Once] :: rep_auFL (n_auFM GHC.TypeLits.+ 2)) -> case w_sxaZ of _ [Occ=Dead] { (_ [Occ=Dead], ww_sxb4 [Occ=Once!], ww_sxb9 [Occ=Once], ww_sxba [Occ=Once!], ww_sxbg [Occ=Once], ww_sxbh [Occ=Once], ww_sxbi [Occ=Once], ww_sxbj [Occ=Once], ww_sxbk [Occ=Once], ww_sxbl [Occ=Once!]) -> case ww_sxb4 of _ [Occ=Dead] { GHC.Types.Eq# ww_sxb7 -> case ww_sxba of _ [Occ=Dead] { CLaSH.Class.BitVector.D:BitVector ww_sxbd [Occ=Once] _ [Occ=Dead] -> case ww_sxbh of ww_XxbC { __DEFAULT -> case ww_sxbl of _ [Occ=Dead] { Data.Bits.D:Bits _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] ww_sxbD [Occ=Once] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> $wsatN2_sxbN @ rep_auFL @ n_auFM @~ ww_sxb7 ww_sxb9 ww_sxbd ww_sxbg ww_XxbC ww_sxbi ww_sxbj ww_sxbk ww_sxbD w_sxb0 } } } } }}] CLaSH.Sized.Fixed.satN2 = \ (@ (rep_auFL :: GHC.TypeLits.Nat -> *)) (@ (n_auFM :: GHC.TypeLits.Nat)) (w_sxaZ [Dmd=] :: CLaSH.Sized.Fixed.SatN2C rep_auFL n_auFM) (w_sxb0 :: rep_auFL (n_auFM GHC.TypeLits.+ 2)) -> case w_sxaZ of ww_sxb2 { (ww_sxb3, ww_sxb4, ww_sxb9, ww_sxba, ww_sxbg, ww_sxbh, ww_sxbi, ww_sxbj, ww_sxbk, ww_sxbl) -> case ww_sxb4 of ww_sxb6 { GHC.Types.Eq# ww_sxb7 -> case ww_sxba of ww_sxbc { CLaSH.Class.BitVector.D:BitVector ww_sxbd ww_sxbe -> case ww_sxbh of ww_sxbh { __DEFAULT -> case ww_sxbl of ww_sxbn { Data.Bits.D:Bits ww_sxbo ww_sxbp ww_sxbq ww_sxbr ww_sxbs ww_sxbt ww_sxbu ww_sxbv ww_sxbw ww_sxbx ww_sxby ww_sxbz ww_sxbA ww_sxbB ww_sxbC ww_sxbD ww_sxbE ww_sxbF ww_sxbG ww_sxbH ww_sxbI ww_sxbJ ww_sxbK -> $wsatN2_sxbN @ rep_auFL @ n_auFM @~ ww_sxb7 ww_sxb9 ww_sxbd ww_sxbg ww_sxbh ww_sxbi ww_sxbj ww_sxbk ww_sxbD w_sxb0 } } } } } lvl_swvz :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swvz = __integer 0 lvl_swvy :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swvy = __integer 0 lvl_swvB :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swvB = __integer 0 lvl_swvA :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swvA = __integer 0 $wresizeF_sxcA :: forall (frac1_auFN :: GHC.TypeLits.Nat) (frac2_auFO :: GHC.TypeLits.Nat) (rep_auFP :: GHC.TypeLits.Nat -> *) (size1_auFQ :: GHC.TypeLits.Nat) (size2_auFR :: GHC.TypeLits.Nat). (GHC.Enum.Bounded (rep_auFP size2_auFR), GHC.Classes.Ord (rep_auFP size1_auFQ), GHC.Num.Num (rep_auFP size1_auFQ), Data.Bits.Bits (rep_auFP size1_auFQ), CLaSH.Class.Num.Resize rep_auFP, GHC.TypeLits.KnownNat size2_auFR, GHC.TypeLits.KnownNat size1_auFQ, Data.Bits.Bits (rep_auFP size2_auFR), GHC.TypeLits.KnownNat frac2_auFO, GHC.TypeLits.KnownNat frac1_auFN) => CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ -> CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR [LclId, Arity=11, Str=DmdType ] $wresizeF_sxcA = \ (@ (frac1_auFN :: GHC.TypeLits.Nat)) (@ (frac2_auFO :: GHC.TypeLits.Nat)) (@ (rep_auFP :: GHC.TypeLits.Nat -> *)) (@ (size1_auFQ :: GHC.TypeLits.Nat)) (@ (size2_auFR :: GHC.TypeLits.Nat)) (ww_sxcn [Dmd=] :: GHC.Enum.Bounded (rep_auFP size2_auFR)) (ww_sxcp [Dmd=] :: GHC.Classes.Ord (rep_auFP size1_auFQ)) (ww_sxcq [Dmd=] :: GHC.Num.Num (rep_auFP size1_auFQ)) (ww_sxcr [Dmd=] :: Data.Bits.Bits (rep_auFP size1_auFQ)) (ww_sxcs [Dmd=] :: CLaSH.Class.Num.Resize rep_auFP) (ww_sxct [Dmd=] :: GHC.TypeLits.KnownNat size2_auFR) (ww_sxcu [Dmd=] :: GHC.TypeLits.KnownNat size1_auFQ) (ww_sxcv [Dmd=] :: Data.Bits.Bits (rep_auFP size2_auFR)) (ww_sxcw [Dmd=] :: GHC.TypeLits.KnownNat frac2_auFO) (ww_sxcx [Dmd=] :: GHC.TypeLits.KnownNat frac1_auFN) (w_sxck :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ) -> let { ww_sxco [Dmd=] :: GHC.Classes.Eq (rep_auFP size1_auFQ) [LclId, Str=DmdType] ww_sxco = Control.Exception.Base.absentError @ (GHC.Classes.Eq (rep_auFP size1_auFQ)) "ww_sxco{v} [lid] ghc-prim:GHC.Classes.Eq{tc 23}\n\ \ (rep{tv auFP} [tv] size1{tv auFQ} [tv])"# } in let { ww_sxcy [Dmd=] :: GHC.Enum.Bounded (rep_auFP size1_auFQ) [LclId, Str=DmdType] ww_sxcy = Control.Exception.Base.absentError @ (GHC.Enum.Bounded (rep_auFP size1_auFQ)) "ww_sxcy{v} [lid] base:GHC.Enum.Bounded{tc 21}\n\ \ (rep{tv auFP} [tv] size1{tv auFQ} [tv])"# } in let { w_sxcj [Dmd=] :: CLaSH.Sized.Fixed.ResizeFC rep_auFP frac1_auFN frac2_auFO size1_auFQ size2_auFR [LclId, Str=DmdType] w_sxcj = (ww_sxcn, ww_sxco, ww_sxcp, ww_sxcq, ww_sxcr, ww_sxcs, ww_sxct, ww_sxcu, ww_sxcv, ww_sxcw, ww_sxcx, ww_sxcy) } in (\ (@ (frac1_avjq :: GHC.TypeLits.Nat)) (@ (frac2_avjr :: GHC.TypeLits.Nat)) (@ (rep_avjs :: GHC.TypeLits.Nat -> *)) (@ (size1_avjt :: GHC.TypeLits.Nat)) (@ (size2_avju :: GHC.TypeLits.Nat)) (tup_avnK [Dmd=] :: CLaSH.Sized.Fixed.ResizeFC rep_avjs frac1_avjq frac2_avjr size1_avjt size2_avju) (eta_B1 :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt) -> let { $dKnownNat_swtH [Dmd=] :: GHC.TypeLits.KnownNat size2_avju [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swtH = case tup_avnK of _ [Occ=Dead, Dmd=] { (tpl_X1k [Dmd=], tpl_B2 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B7 } } in let { $dKnownNat_swtI [Dmd=] :: GHC.TypeLits.KnownNat size1_avjt [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swtI = case tup_avnK of _ [Occ=Dead, Dmd=] { (tpl_X1i [Dmd=], tpl_B2 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B8 } } in case GHC.Integer.Type.leInteger# ($dKnownNat_swtI `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat size1_avjt ~# GHC.Integer.Type.Integer)) ($dKnownNat_swtH `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat size2_avju ~# GHC.Integer.Type.Integer)) of wild_akJ3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akJ3 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> let { $dBounded_swtD [Dmd=] :: GHC.Enum.Bounded (rep_avjs size2_avju) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBounded_swtD = case tup_avnK of _ [Occ=Dead, Dmd=] { (tpl_X1u [Dmd=], tpl_B2 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X1u } } in let { fMax_swtA :: rep_avjs size2_avju [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 20 0}] fMax_swtA = GHC.Enum.maxBound @ (rep_avjs size2_avju) $dBounded_swtD } in let { $dBits_swtF [Dmd=] :: Data.Bits.Bits (rep_avjs size1_avjt) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_swtF = let { $dBits_swtF [Dmd=] :: Data.Bits.Bits (rep_avjs size1_avjt) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_swtF = case tup_avnK of _ [Occ=Dead, Dmd=] { (tpl_X5L [Dmd=], tpl_B2 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B5 } } in case $dBits_swtF of ww_sxbP { Data.Bits.D:Bits ww_sxbQ ww_sxbW ww_sxbX ww_sxbY ww_sxbZ ww_sxc0 ww_sxc1 ww_sxc2 ww_sxc3 ww_sxc4 ww_sxc5 ww_sxc6 ww_sxc7 ww_sxc8 ww_sxc9 ww_sxca ww_sxcb ww_sxcc ww_sxcd ww_sxce ww_sxcf ww_sxcg ww_sxch -> case ww_sxbQ of ww_sxbS { GHC.Classes.D:Eq ww_sxbT ww_sxbU -> let { ww_sxbU [Dmd=] :: rep_avjs size1_avjt -> rep_avjs size1_avjt -> GHC.Types.Bool [LclId, Str=DmdType] ww_sxbU = Control.Exception.Base.absentError @ (rep_avjs size1_avjt -> rep_avjs size1_avjt -> GHC.Types.Bool) "ww_sxbU{v} [lid] rep{tv avjs} [tv] size1{tv avjt} [tv]\n\ \ -> rep{tv avjs} [tv] size1{tv avjt} [tv]\n\ \ -> ghc-prim:GHC.Types.Bool{(w) tc 3c}"# } in let { ww_sxbQ [Dmd=] :: GHC.Classes.Eq (rep_avjs size1_avjt) [LclId, Str=DmdType] ww_sxbQ = GHC.Classes.D:Eq @ (rep_avjs size1_avjt) ww_sxbT ww_sxbU } in let { ww_sxbX [Dmd=] :: rep_avjs size1_avjt -> rep_avjs size1_avjt -> rep_avjs size1_avjt [LclId, Str=DmdType] ww_sxbX = Control.Exception.Base.absentError @ (rep_avjs size1_avjt -> rep_avjs size1_avjt -> rep_avjs size1_avjt) "ww_sxbX{v} [lid] rep{tv avjs} [tv] size1{tv avjt} [tv]\n\ \ -> rep{tv avjs} [tv] size1{tv avjt} [tv]\n\ \ -> rep{tv avjs} [tv] size1{tv avjt} [tv]"# } in let { ww_sxbY [Dmd=] :: rep_avjs size1_avjt -> rep_avjs size1_avjt -> rep_avjs size1_avjt [LclId, Str=DmdType] ww_sxbY = Control.Exception.Base.absentError @ (rep_avjs size1_avjt -> rep_avjs size1_avjt -> rep_avjs size1_avjt) "ww_sxbY{v} [lid] rep{tv avjs} [tv] size1{tv avjt} [tv]\n\ \ -> rep{tv avjs} [tv] size1{tv avjt} [tv]\n\ \ -> rep{tv avjs} [tv] size1{tv avjt} [tv]"# } in let { ww_sxc0 [Dmd=] :: rep_avjs size1_avjt -> GHC.Types.Int -> rep_avjs size1_avjt [LclId, Str=DmdType] ww_sxc0 = Control.Exception.Base.absentError @ (rep_avjs size1_avjt -> GHC.Types.Int -> rep_avjs size1_avjt) "ww_sxc0{v} [lid] rep{tv avjs} [tv] size1{tv avjt} [tv]\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv avjs} [tv] size1{tv avjt} [tv]"# } in let { ww_sxc1 [Dmd=] :: rep_avjs size1_avjt -> GHC.Types.Int -> rep_avjs size1_avjt [LclId, Str=DmdType] ww_sxc1 = Control.Exception.Base.absentError @ (rep_avjs size1_avjt -> GHC.Types.Int -> rep_avjs size1_avjt) "ww_sxc1{v} [lid] rep{tv avjs} [tv] size1{tv avjt} [tv]\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv avjs} [tv] size1{tv avjt} [tv]"# } in let { ww_sxc2 [Dmd=] :: rep_avjs size1_avjt [LclId, Str=DmdType] ww_sxc2 = Control.Exception.Base.absentError @ (rep_avjs size1_avjt) "ww_sxc2{v} [lid] rep{tv avjs} [tv] size1{tv avjt} [tv]"# } in let { ww_sxc3 [Dmd=] :: GHC.Types.Int -> rep_avjs size1_avjt [LclId, Str=DmdType] ww_sxc3 = Control.Exception.Base.absentError @ (GHC.Types.Int -> rep_avjs size1_avjt) "ww_sxc3{v} [lid] ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv avjs} [tv] size1{tv avjt} [tv]"# } in let { ww_sxc4 [Dmd=] :: rep_avjs size1_avjt -> GHC.Types.Int -> rep_avjs size1_avjt [LclId, Str=DmdType] ww_sxc4 = Control.Exception.Base.absentError @ (rep_avjs size1_avjt -> GHC.Types.Int -> rep_avjs size1_avjt) "ww_sxc4{v} [lid] rep{tv avjs} [tv] size1{tv avjt} [tv]\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv avjs} [tv] size1{tv avjt} [tv]"# } in let { ww_sxc5 [Dmd=] :: rep_avjs size1_avjt -> GHC.Types.Int -> rep_avjs size1_avjt [LclId, Str=DmdType] ww_sxc5 = Control.Exception.Base.absentError @ (rep_avjs size1_avjt -> GHC.Types.Int -> rep_avjs size1_avjt) "ww_sxc5{v} [lid] rep{tv avjs} [tv] size1{tv avjt} [tv]\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv avjs} [tv] size1{tv avjt} [tv]"# } in let { ww_sxc6 [Dmd=] :: rep_avjs size1_avjt -> GHC.Types.Int -> rep_avjs size1_avjt [LclId, Str=DmdType] ww_sxc6 = Control.Exception.Base.absentError @ (rep_avjs size1_avjt -> GHC.Types.Int -> rep_avjs size1_avjt) "ww_sxc6{v} [lid] rep{tv avjs} [tv] size1{tv avjt} [tv]\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv avjs} [tv] size1{tv avjt} [tv]"# } in let { ww_sxc7 [Dmd=] :: rep_avjs size1_avjt -> GHC.Types.Int -> GHC.Types.Bool [LclId, Str=DmdType] ww_sxc7 = Control.Exception.Base.absentError @ (rep_avjs size1_avjt -> GHC.Types.Int -> GHC.Types.Bool) "ww_sxc7{v} [lid] rep{tv avjs} [tv] size1{tv avjt} [tv]\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> ghc-prim:GHC.Types.Bool{(w) tc 3c}"# } in let { ww_sxc8 [Dmd=] :: rep_avjs size1_avjt -> Data.Maybe.Maybe GHC.Types.Int [LclId, Str=DmdType] ww_sxc8 = Control.Exception.Base.absentError @ (rep_avjs size1_avjt -> Data.Maybe.Maybe GHC.Types.Int) "ww_sxc8{v} [lid] rep{tv avjs} [tv] size1{tv avjt} [tv]\n\ \ -> base:Data.Maybe.Maybe{tc r1b} ghc-prim:GHC.Types.Int{(w) tc 3J}"# } in let { ww_sxc9 [Dmd=] :: rep_avjs size1_avjt -> GHC.Types.Int [LclId, Str=DmdType] ww_sxc9 = Control.Exception.Base.absentError @ (rep_avjs size1_avjt -> GHC.Types.Int) "ww_sxc9{v} [lid] rep{tv avjs} [tv] size1{tv avjt} [tv]\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}"# } in let { ww_sxca [Dmd=] :: rep_avjs size1_avjt -> GHC.Types.Bool [LclId, Str=DmdType] ww_sxca = Control.Exception.Base.absentError @ (rep_avjs size1_avjt -> GHC.Types.Bool) "ww_sxca{v} [lid] rep{tv avjs} [tv] size1{tv avjt} [tv]\n\ \ -> ghc-prim:GHC.Types.Bool{(w) tc 3c}"# } in let { ww_sxcc [Dmd=] :: rep_avjs size1_avjt -> GHC.Types.Int -> rep_avjs size1_avjt [LclId, Str=DmdType] ww_sxcc = Control.Exception.Base.absentError @ (rep_avjs size1_avjt -> GHC.Types.Int -> rep_avjs size1_avjt) "ww_sxcc{v} [lid] rep{tv avjs} [tv] size1{tv avjt} [tv]\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv avjs} [tv] size1{tv avjt} [tv]"# } in let { ww_sxce [Dmd=] :: rep_avjs size1_avjt -> GHC.Types.Int -> rep_avjs size1_avjt [LclId, Str=DmdType] ww_sxce = Control.Exception.Base.absentError @ (rep_avjs size1_avjt -> GHC.Types.Int -> rep_avjs size1_avjt) "ww_sxce{v} [lid] rep{tv avjs} [tv] size1{tv avjt} [tv]\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv avjs} [tv] size1{tv avjt} [tv]"# } in let { ww_sxcf [Dmd=] :: rep_avjs size1_avjt -> GHC.Types.Int -> rep_avjs size1_avjt [LclId, Str=DmdType] ww_sxcf = Control.Exception.Base.absentError @ (rep_avjs size1_avjt -> GHC.Types.Int -> rep_avjs size1_avjt) "ww_sxcf{v} [lid] rep{tv avjs} [tv] size1{tv avjt} [tv]\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv avjs} [tv] size1{tv avjt} [tv]"# } in let { ww_sxcg [Dmd=] :: rep_avjs size1_avjt -> GHC.Types.Int -> rep_avjs size1_avjt [LclId, Str=DmdType] ww_sxcg = Control.Exception.Base.absentError @ (rep_avjs size1_avjt -> GHC.Types.Int -> rep_avjs size1_avjt) "ww_sxcg{v} [lid] rep{tv avjs} [tv] size1{tv avjt} [tv]\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv avjs} [tv] size1{tv avjt} [tv]"# } in let { ww_sxch [Dmd=] :: rep_avjs size1_avjt -> GHC.Types.Int [LclId, Str=DmdType] ww_sxch = Control.Exception.Base.absentError @ (rep_avjs size1_avjt -> GHC.Types.Int) "ww_sxch{v} [lid] rep{tv avjs} [tv] size1{tv avjt} [tv]\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}"# } in let { $dBits_swtF [Dmd=] :: Data.Bits.Bits (rep_avjs size1_avjt) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_swtF = Data.Bits.D:Bits @ (rep_avjs size1_avjt) ww_sxbQ ww_sxbW ww_sxbX ww_sxbY ww_sxbZ ww_sxc0 ww_sxc1 ww_sxc2 ww_sxc3 ww_sxc4 ww_sxc5 ww_sxc6 ww_sxc7 ww_sxc8 ww_sxc9 ww_sxca ww_sxcb ww_sxcc ww_sxcd ww_sxce ww_sxcf ww_sxcg ww_sxch } in $dBits_swtF } } } in let { mask_swtz :: rep_avjs size1_avjt [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 43 0}] mask_swtz = Data.Bits.complement @ (rep_avjs size1_avjt) $dBits_swtF (case tup_avnK of _ [Occ=Dead, Dmd=] { (tpl_X1m [Dmd=], tpl_B2 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> (tpl_B6 `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_avjs ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_avjs a_ae8M -> rep_avjs b_ae8N))) @ size2_avju @ size1_avjt $dKnownNat_swtH $dKnownNat_swtI fMax_swtA }) } in let { $dNum_swtE [Dmd=] :: GHC.Num.Num (rep_avjs size1_avjt) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dNum_swtE = case tup_avnK of _ [Occ=Dead, Dmd=] { (tpl_X1r [Dmd=], tpl_B2 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B4 } } in case tup_avnK of _ [Occ=Dead, Dmd=] { (tpl_X1y [Dmd=], tpl_B2 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> case GHC.Integer.Type.integerToInt (tpl_Bb `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac1_avjq ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> case GHC.Integer.Type.integerToInt (tpl_Ba `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac2_avjr ~# GHC.Integer.Type.Integer)) of wild_XkFQ { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# wild_akCB wild_XkFQ) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> let { shiftedR_swty :: rep_avjs size1_avjt [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 51 0}] shiftedR_swty = Data.Bits.shiftR @ (rep_avjs size1_avjt) $dBits_swtF (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt)) (GHC.Types.I# (GHC.Prim.-# wild_akCB wild_XkFQ)) } in case GHC.Classes.>= @ (rep_avjs size1_avjt) tpl_B3 (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt)) (GHC.Num.fromInteger @ (rep_avjs size1_avjt) $dNum_swtE lvl_swvy) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case GHC.Classes.== @ (rep_avjs size1_avjt) (Data.Bits.$p1Bits @ (rep_avjs size1_avjt) $dBits_swtF) (Data.Bits..&. @ (rep_avjs size1_avjt) $dBits_swtF shiftedR_swty mask_swtz) mask_swtz of _ [Occ=Dead, Dmd=] { GHC.Types.False -> (GHC.Enum.minBound @ (rep_avjs size2_avju) $dBounded_swtD) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> ((tpl_B6 `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_avjs ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_avjs a_ae8M -> rep_avjs b_ae8N))) @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH shiftedR_swty) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) }; GHC.Types.True -> case GHC.Classes.== @ (rep_avjs size1_avjt) (Data.Bits.$p1Bits @ (rep_avjs size1_avjt) $dBits_swtF) (Data.Bits..&. @ (rep_avjs size1_avjt) $dBits_swtF shiftedR_swty mask_swtz) (GHC.Num.fromInteger @ (rep_avjs size1_avjt) $dNum_swtE lvl_swvz) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> fMax_swtA `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> ((tpl_B6 `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_avjs ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_avjs a_ae8M -> rep_avjs b_ae8N))) @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH shiftedR_swty) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) } }; GHC.Types.True -> let { shiftedL_swtK :: rep_avjs size1_avjt [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 51 0}] shiftedL_swtK = Data.Bits.shiftL @ (rep_avjs size1_avjt) $dBits_swtF (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt)) (GHC.Types.I# (GHC.Prim.-# wild_XkFQ wild_akCB)) } in case GHC.Classes.>= @ (rep_avjs size1_avjt) tpl_B3 (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt)) (GHC.Num.fromInteger @ (rep_avjs size1_avjt) $dNum_swtE lvl_swvA) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case GHC.Classes.== @ (rep_avjs size1_avjt) (Data.Bits.$p1Bits @ (rep_avjs size1_avjt) $dBits_swtF) (Data.Bits..&. @ (rep_avjs size1_avjt) $dBits_swtF shiftedL_swtK mask_swtz) mask_swtz of _ [Occ=Dead, Dmd=] { GHC.Types.False -> (GHC.Enum.minBound @ (rep_avjs size2_avju) $dBounded_swtD) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> ((tpl_B6 `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_avjs ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_avjs a_ae8M -> rep_avjs b_ae8N))) @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH shiftedL_swtK) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) }; GHC.Types.True -> case GHC.Classes.== @ (rep_avjs size1_avjt) (Data.Bits.$p1Bits @ (rep_avjs size1_avjt) $dBits_swtF) (Data.Bits..&. @ (rep_avjs size1_avjt) $dBits_swtF shiftedL_swtK mask_swtz) (GHC.Num.fromInteger @ (rep_avjs size1_avjt) $dNum_swtE lvl_swvB) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> fMax_swtA `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> ((tpl_B6 `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_avjs ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_avjs a_ae8M -> rep_avjs b_ae8N))) @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH shiftedL_swtK) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) } } } } } }; GHC.Types.True -> case tup_avnK of _ [Occ=Dead, Dmd=] { (tpl_X1y [Dmd=], tpl_B2 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> case GHC.Integer.Type.integerToInt (tpl_Bb `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac1_avjq ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> case GHC.Integer.Type.integerToInt (tpl_Ba `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac2_avjr ~# GHC.Integer.Type.Integer)) of wild_XkFG { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# wild_akCB wild_XkFG) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> (Data.Bits.shiftR @ (rep_avjs size2_avju) tpl_B9 ((tpl_B6 `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_avjs ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_avjs a_ae8M -> rep_avjs b_ae8N))) @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt))) (GHC.Types.I# (GHC.Prim.-# wild_akCB wild_XkFG))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju); GHC.Types.True -> (Data.Bits.shiftL @ (rep_avjs size2_avju) tpl_B9 ((tpl_B6 `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_avjs ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_avjs a_ae8M -> rep_avjs b_ae8N))) @ size1_avjt @ size2_avju $dKnownNat_swtI $dKnownNat_swtH (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_avjq rep_avjs size1_avjt ~# rep_avjs size1_avjt))) (GHC.Types.I# (GHC.Prim.-# wild_XkFG wild_akCB))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_avjs size2_avju ~# CLaSH.Sized.Fixed.Fixed frac2_avjr rep_avjs size2_avju) } } } } } }) @ frac1_auFN @ frac2_auFO @ rep_auFP @ size1_auFQ @ size2_auFR w_sxcj w_sxck CLaSH.Sized.Fixed.resizeF [InlPrag=INLINE[0]] :: forall (frac1_auFN :: GHC.TypeLits.Nat) (frac2_auFO :: GHC.TypeLits.Nat) (rep_auFP :: GHC.TypeLits.Nat -> *) (size1_auFQ :: GHC.TypeLits.Nat) (size2_auFR :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.ResizeFC rep_auFP frac1_auFN frac2_auFO size1_auFQ size2_auFR) => CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ -> CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR [LclIdX, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac1_auFN :: GHC.TypeLits.Nat)) (@ (frac2_auFO :: GHC.TypeLits.Nat)) (@ (rep_auFP :: GHC.TypeLits.Nat -> *)) (@ (size1_auFQ :: GHC.TypeLits.Nat)) (@ (size2_auFR :: GHC.TypeLits.Nat)) (w_sxcj [Occ=Once!, Dmd=] :: CLaSH.Sized.Fixed.ResizeFC rep_auFP frac1_auFN frac2_auFO size1_auFQ size2_auFR) (w_sxck [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ) -> case w_sxcj of _ [Occ=Dead] { (ww_sxcn [Occ=Once], _ [Occ=Dead], ww_sxcp [Occ=Once], ww_sxcq [Occ=Once], ww_sxcr [Occ=Once], ww_sxcs [Occ=Once], ww_sxct [Occ=Once], ww_sxcu [Occ=Once], ww_sxcv [Occ=Once], ww_sxcw [Occ=Once], ww_sxcx [Occ=Once], _ [Occ=Dead]) -> $wresizeF_sxcA @ frac1_auFN @ frac2_auFO @ rep_auFP @ size1_auFQ @ size2_auFR ww_sxcn ww_sxcp ww_sxcq ww_sxcr ww_sxcs ww_sxct ww_sxcu ww_sxcv ww_sxcw ww_sxcx w_sxck }}] CLaSH.Sized.Fixed.resizeF = \ (@ (frac1_auFN :: GHC.TypeLits.Nat)) (@ (frac2_auFO :: GHC.TypeLits.Nat)) (@ (rep_auFP :: GHC.TypeLits.Nat -> *)) (@ (size1_auFQ :: GHC.TypeLits.Nat)) (@ (size2_auFR :: GHC.TypeLits.Nat)) (w_sxcj [Dmd=] :: CLaSH.Sized.Fixed.ResizeFC rep_auFP frac1_auFN frac2_auFO size1_auFQ size2_auFR) (w_sxck :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ) -> case w_sxcj of ww_sxcm { (ww_sxcn, ww_sxco, ww_sxcp, ww_sxcq, ww_sxcr, ww_sxcs, ww_sxct, ww_sxcu, ww_sxcv, ww_sxcw, ww_sxcx, ww_sxcy) -> $wresizeF_sxcA @ frac1_auFN @ frac2_auFO @ rep_auFP @ size1_auFQ @ size2_auFR ww_sxcn ww_sxcp ww_sxcq ww_sxcr ww_sxcs ww_sxct ww_sxcu ww_sxcv ww_sxcw ww_sxcx w_sxck } CLaSH.Sized.Fixed.asRepProxy :: forall (frac_auFV :: GHC.TypeLits.Nat) (rep_auFW :: GHC.TypeLits.Nat -> *) (size_auFX :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFV rep_auFW size_auFX -> Data.Proxy.Proxy rep_auFW [LclIdX, Arity=1, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= \ (@ (frac_avk6 :: GHC.TypeLits.Nat)) (@ (rep_avk7 :: GHC.TypeLits.Nat -> *)) (@ (size_avk8 :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] -> Data.Proxy.Proxy @ (GHC.TypeLits.Nat -> *) @ rep_avk7}] CLaSH.Sized.Fixed.asRepProxy = \ (@ (frac_avk6 :: GHC.TypeLits.Nat)) (@ (rep_avk7 :: GHC.TypeLits.Nat -> *)) (@ (size_avk8 :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] -> Data.Proxy.Proxy @ (GHC.TypeLits.Nat -> *) @ rep_avk7 CLaSH.Sized.Fixed.asFracProxy :: forall (frac_auFY :: GHC.TypeLits.Nat) (rep_auFZ :: GHC.TypeLits.Nat -> *) (size_auG0 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFY rep_auFZ size_auG0 -> Data.Proxy.Proxy frac_auFY [LclIdX, Arity=1, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= \ (@ (frac_avkp :: GHC.TypeLits.Nat)) (@ (rep_avkq :: GHC.TypeLits.Nat -> *)) (@ (size_avkr :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] -> Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac_avkp}] CLaSH.Sized.Fixed.asFracProxy = \ (@ (frac_avkp :: GHC.TypeLits.Nat)) (@ (rep_avkq :: GHC.TypeLits.Nat -> *)) (@ (size_avkr :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] -> Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac_avkp CLaSH.Sized.Fixed.fracShift :: forall (frac_auFS :: GHC.TypeLits.Nat) (rep_auFT :: GHC.TypeLits.Nat -> *) (size_auFU :: GHC.TypeLits.Nat). GHC.TypeLits.KnownNat frac_auFS => CLaSH.Sized.Fixed.Fixed frac_auFS rep_auFT size_auFU -> GHC.Types.Int [LclIdX, Arity=2, Str=DmdType m, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_avjN :: GHC.TypeLits.Nat)) (@ (rep_avjO :: GHC.TypeLits.Nat -> *)) (@ (size_avjP :: GHC.TypeLits.Nat)) ($dKnownNat_avxa [Occ=Once, Dmd=] :: GHC.TypeLits.KnownNat frac_avjN) _ [Occ=Dead, Dmd=] -> case GHC.Integer.Type.integerToInt ($dKnownNat_avxa `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_avjN ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> GHC.Types.I# wild_akCB }}] CLaSH.Sized.Fixed.fracShift = \ (@ (frac_avjN :: GHC.TypeLits.Nat)) (@ (rep_avjO :: GHC.TypeLits.Nat -> *)) (@ (size_avjP :: GHC.TypeLits.Nat)) ($dKnownNat_avxa [Dmd=] :: GHC.TypeLits.KnownNat frac_avjN) _ [Occ=Dead, Dmd=] -> case GHC.Integer.Type.integerToInt ($dKnownNat_avxa `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_avjN ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> GHC.Types.I# wild_akCB } a_swaI :: forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) [LclId, Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaI = \ (@ (int_avkK :: GHC.TypeLits.Nat)) (@ (frac_avkL :: GHC.TypeLits.Nat)) (ds_dvZi [Dmd=] :: CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL)) -> ds_dvZi CLaSH.Sized.Fixed.unUF :: forall (int_auG1 :: GHC.TypeLits.Nat) (frac_auG2 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.UFixed int_auG1 frac_auG2 -> CLaSH.Sized.Unsigned.Unsigned (int_auG1 GHC.TypeLits.+ frac_auG2) [LclIdX, Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.unUF = a_swaI `cast` (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL)) ~# (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL))) a_swaJ :: forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= \ (@ (frac_avl5 :: GHC.TypeLits.Nat)) (@ (int_avl6 :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] (fRep_auGb [Occ=Once, Dmd=] :: CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) -> fRep_auGb}] a_swaJ = \ (@ (frac_avl5 :: GHC.TypeLits.Nat)) (@ (int_avl6 :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] (fRep_auGb [Dmd=] :: CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) -> fRep_auGb CLaSH.Sized.Fixed.uf :: forall (frac_auG3 :: GHC.TypeLits.Nat) (int_auG4 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_auG3 -> CLaSH.Sized.Unsigned.Unsigned (int_auG4 GHC.TypeLits.+ frac_auG3) -> CLaSH.Sized.Fixed.UFixed int_auG4 frac_auG3 [LclIdX, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= a_swaJ `cast` (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) ~# (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Fixed.Fixed frac_avl5 CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)))}] CLaSH.Sized.Fixed.uf = a_swaJ `cast` (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) ~# (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Fixed.Fixed frac_avl5 CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5))) a_swaK :: forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) [LclId, Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaK = \ (@ (int_avlp :: GHC.TypeLits.Nat)) (@ (frac_avlq :: GHC.TypeLits.Nat)) (ds_dvZu [Dmd=] :: CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq)) -> ds_dvZu CLaSH.Sized.Fixed.unSF :: forall (int_auG5 :: GHC.TypeLits.Nat) (frac_auG6 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.SFixed int_auG5 frac_auG6 -> CLaSH.Sized.Signed.Signed (int_auG5 GHC.TypeLits.+ frac_auG6) [LclIdX, Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.unSF = a_swaK `cast` (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq)) ~# (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq))) a_swaL :: forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= \ (@ (frac_avlK :: GHC.TypeLits.Nat)) (@ (int_avlL :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] (fRep_auG9 [Occ=Once, Dmd=] :: CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) -> fRep_auG9}] a_swaL = \ (@ (frac_avlK :: GHC.TypeLits.Nat)) (@ (int_avlL :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] (fRep_auG9 [Dmd=] :: CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) -> fRep_auG9 CLaSH.Sized.Fixed.sf :: forall (frac_auG7 :: GHC.TypeLits.Nat) (int_auG8 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_auG7 -> CLaSH.Sized.Signed.Signed (int_auG8 GHC.TypeLits.+ frac_auG7) -> CLaSH.Sized.Fixed.SFixed int_auG8 frac_auG7 [LclIdX, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= a_swaL `cast` (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) ~# (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Fixed.Fixed frac_avlK CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)))}] CLaSH.Sized.Fixed.sf = a_swaL `cast` (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) ~# (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Fixed.Fixed frac_avlK CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK))) a_swaM :: forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 [LclId, Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaM = \ (@ (frac_auI2 :: GHC.TypeLits.Nat)) (@ (rep_auI3 :: GHC.TypeLits.Nat -> *)) (@ (size_auI4 :: GHC.TypeLits.Nat)) (ds_dvZF [Dmd=] :: CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4) -> ds_dvZF CLaSH.Sized.Fixed.unFixed :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> rep_auFG size_auFH [LclIdX[[RecSel]], Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.unFixed = a_swaM `cast` (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4) ~# (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> rep_auI3 size_auI4)) lvl_swvD :: GHC.Types.Char [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}] lvl_swvD = GHC.Types.C# '-' lvl_swvC :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swvC = __integer 0 lvl_swvG :: GHC.Types.Char [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}] lvl_swvG = GHC.Types.C# '0' ds_swvM :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] ds_swvM = __integer 1 dt_akMa :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] dt_akMa = __integer 10 $wlvl_sxd6 :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) -> (# GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer #) [LclId, Arity=1, Str=DmdType ] $wlvl_sxd6 = \ (w_sxd3 [Dmd=] :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) -> case (\ (ds_awe3 [Dmd=] :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) -> (case ds_awe3 of _ [Occ=Dead, Dmd=] { (x_awe6 [Dmd=], y_awe7 [Dmd=]) -> case x_awe6 of _ [Occ=Dead, Dmd=] { GHC.Types.I# x1_awdC [Dmd=] -> case x1_awdC of wild1_awdE { __DEFAULT -> GHC.Types.I# (GHC.Prim.+# wild1_awdE 1); 9223372036854775807 -> GHC.Enum.$fEnumInt2 } } }, case ds_awe3 of _ [Occ=Dead, Dmd=] { (x_aweb [Dmd=], y_awec [Dmd=]) -> case y_awec of _ [Occ=Dead, Dmd=] { GHC.Real.:% ww1_awdJ [Dmd=] ww2_awdK [Dmd=] -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger ww1_awdJ dt_akMa) (GHC.Integer.Type.timesInteger ww2_awdK GHC.Real.$fEnumRatio1) of _ [Occ=Dead, Dmd=] { (# ww7_awdU, ww8_awdV #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww7_awdU ww8_awdV } } })) w_sxd3 of ww_sxd5 { (ww_sxn9, ww_sxna) -> (# ww_sxn9, ww_sxna #) } lvl_swvV [InlPrag=INLINE[0]] :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) -> (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) [LclId, Arity=1, Str=DmdType m, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (w_sxd3 [Occ=Once, Dmd=] :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) -> case $wlvl_sxd6 w_sxd3 of _ [Occ=Dead] { (# ww_sxn9 [Occ=Once], ww_sxna [Occ=Once] #) -> (ww_sxn9, ww_sxna) }}] lvl_swvV = \ (w_sxd3 [Dmd=] :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) -> case $wlvl_sxd6 w_sxd3 of ww_sxn8 { (# ww_sxn9, ww_sxna #) -> (ww_sxn9, ww_sxna) } lvl_swvX :: GHC.Types.Int [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}] lvl_swvX = GHC.Types.I# 0 lvl_sww5 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_sww5 = __integer 2 lvl_sww6 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_sww6 = __integer 1 lvl_sww7 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_sww7 = __integer 2 lvl_sww8 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_sww8 = __integer 1 lvl_sww4 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_sww4 = __integer 0 lvl_sww9 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_sww9 = __integer 2 $w$cshow_sxdD :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). GHC.TypeLits.KnownNat frac_auHx => (rep_auHy size_auHz -> GHC.Integer.Type.Integer) -> CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> [GHC.Types.Char] [LclId, Arity=3, Str=DmdType ] $w$cshow_sxdD = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) (w_sxdo [Dmd=] :: GHC.TypeLits.KnownNat frac_auHx) (ww_sxdB [Dmd=] :: rep_auHy size_auHz -> GHC.Integer.Type.Integer) (w_sxdq :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) -> let { w_sxdm [Dmd=] :: GHC.Show.Show (rep_auHy size_auHz) [LclId, Str=DmdType] w_sxdm = Control.Exception.Base.absentError @ (GHC.Show.Show (rep_auHy size_auHz)) "w_sxdm{v} [lid] base:GHC.Show.Show{tc 2h}\n\ \ (rep{tv auHy} [tv] size{tv auHz} [tv])"# } in let { w_sxdn [Dmd=] :: Data.Bits.Bits (rep_auHy size_auHz) [LclId, Str=DmdType] w_sxdn = Control.Exception.Base.absentError @ (Data.Bits.Bits (rep_auHy size_auHz)) "w_sxdn{v} [lid] base:Data.Bits.Bits{tc rc5e}\n\ \ (rep{tv auHy} [tv] size{tv auHz} [tv])"# } in let { ww_sxdt [Dmd=] :: GHC.Real.Real (rep_auHy size_auHz) [LclId, Str=DmdType] ww_sxdt = Control.Exception.Base.absentError @ (GHC.Real.Real (rep_auHy size_auHz)) "ww_sxdt{v} [lid] base:GHC.Real.Real{tc 2e}\n\ \ (rep{tv auHy} [tv] size{tv auHz} [tv])"# } in let { ww_sxdu [Dmd=] :: GHC.Enum.Enum (rep_auHy size_auHz) [LclId, Str=DmdType] ww_sxdu = Control.Exception.Base.absentError @ (GHC.Enum.Enum (rep_auHy size_auHz)) "ww_sxdu{v} [lid] base:GHC.Enum.Enum{tc 22}\n\ \ (rep{tv auHy} [tv] size{tv auHz} [tv])"# } in let { ww_sxdv [Dmd=] :: rep_auHy size_auHz -> rep_auHy size_auHz -> rep_auHy size_auHz [LclId, Str=DmdType] ww_sxdv = Control.Exception.Base.absentError @ (rep_auHy size_auHz -> rep_auHy size_auHz -> rep_auHy size_auHz) "ww_sxdv{v} [lid] rep{tv auHy} [tv] size{tv auHz} [tv]\n\ \ -> rep{tv auHy} [tv] size{tv auHz} [tv]\n\ \ -> rep{tv auHy} [tv] size{tv auHz} [tv]"# } in let { ww_sxdw [Dmd=] :: rep_auHy size_auHz -> rep_auHy size_auHz -> rep_auHy size_auHz [LclId, Str=DmdType] ww_sxdw = Control.Exception.Base.absentError @ (rep_auHy size_auHz -> rep_auHy size_auHz -> rep_auHy size_auHz) "ww_sxdw{v} [lid] rep{tv auHy} [tv] size{tv auHz} [tv]\n\ \ -> rep{tv auHy} [tv] size{tv auHz} [tv]\n\ \ -> rep{tv auHy} [tv] size{tv auHz} [tv]"# } in let { ww_sxdx [Dmd=] :: rep_auHy size_auHz -> rep_auHy size_auHz -> rep_auHy size_auHz [LclId, Str=DmdType] ww_sxdx = Control.Exception.Base.absentError @ (rep_auHy size_auHz -> rep_auHy size_auHz -> rep_auHy size_auHz) "ww_sxdx{v} [lid] rep{tv auHy} [tv] size{tv auHz} [tv]\n\ \ -> rep{tv auHy} [tv] size{tv auHz} [tv]\n\ \ -> rep{tv auHy} [tv] size{tv auHz} [tv]"# } in let { ww_sxdy [Dmd=] :: rep_auHy size_auHz -> rep_auHy size_auHz -> rep_auHy size_auHz [LclId, Str=DmdType] ww_sxdy = Control.Exception.Base.absentError @ (rep_auHy size_auHz -> rep_auHy size_auHz -> rep_auHy size_auHz) "ww_sxdy{v} [lid] rep{tv auHy} [tv] size{tv auHz} [tv]\n\ \ -> rep{tv auHy} [tv] size{tv auHz} [tv]\n\ \ -> rep{tv auHy} [tv] size{tv auHz} [tv]"# } in let { ww_sxdz [Dmd=] :: rep_auHy size_auHz -> rep_auHy size_auHz -> (rep_auHy size_auHz, rep_auHy size_auHz) [LclId, Str=DmdType] ww_sxdz = Control.Exception.Base.absentError @ (rep_auHy size_auHz -> rep_auHy size_auHz -> (rep_auHy size_auHz, rep_auHy size_auHz)) "ww_sxdz{v} [lid] rep{tv auHy} [tv] size{tv auHz} [tv]\n\ \ -> rep{tv auHy} [tv] size{tv auHz} [tv]\n\ \ -> (rep{tv auHy} [tv] size{tv auHz} [tv],\n\ \ rep{tv auHy} [tv] size{tv auHz} [tv])"# } in let { ww_sxdA [Dmd=] :: rep_auHy size_auHz -> rep_auHy size_auHz -> (rep_auHy size_auHz, rep_auHy size_auHz) [LclId, Str=DmdType] ww_sxdA = Control.Exception.Base.absentError @ (rep_auHy size_auHz -> rep_auHy size_auHz -> (rep_auHy size_auHz, rep_auHy size_auHz)) "ww_sxdA{v} [lid] rep{tv auHy} [tv] size{tv auHz} [tv]\n\ \ -> rep{tv auHy} [tv] size{tv auHz} [tv]\n\ \ -> (rep{tv auHy} [tv] size{tv auHz} [tv],\n\ \ rep{tv auHy} [tv] size{tv auHz} [tv])"# } in let { w_sxdp [Dmd=] :: GHC.Real.Integral (rep_auHy size_auHz) [LclId, Str=DmdType] w_sxdp = GHC.Real.D:Integral @ (rep_auHy size_auHz) ww_sxdt ww_sxdu ww_sxdv ww_sxdw ww_sxdx ww_sxdy ww_sxdz ww_sxdA ww_sxdB } in (\ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] _ [Occ=Dead, Dmd=] ($dKnownNat_avFx [Dmd=] :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy [Dmd=] :: GHC.Real.Integral (rep_auHy size_auHz)) (f_auHA :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) -> let { nF_swti [Dmd=] :: GHC.Types.Int [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 20}] nF_swti = case GHC.Integer.Type.integerToInt ($dKnownNat_avFx `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_auHx ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> GHC.Types.I# wild_akCB } } in let { fRepI_swtk [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 30 0}] fRepI_swtk = GHC.Real.toInteger @ (rep_auHy size_auHz) $dIntegral_avFy (f_auHA `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz ~# rep_auHy size_auHz)) } in let { fRepI_abs_swtj :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 20 0}] fRepI_abs_swtj = GHC.Integer.Type.absInteger fRepI_swtk } in let { a_swOO :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=NEVER}] a_swOO = let { eta_awcR [Dmd=] :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=NEVER}] eta_awcR = let { eta_awcR [Dmd=] :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=NEVER}] eta_awcR = case GHC.List.iterateFB @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) @ [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)] (\ (x_awzz [Dmd=] :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) (r_awzA [OS=OneShot] :: [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)]) -> case x_awzz of wild_afnB { (ds1_afnD [Dmd=], y_afnE [Dmd=]) -> case y_afnE of _ [Occ=Dead, Dmd=] { GHC.Real.:% ds1_awdp [Dmd=] y_awdq [Dmd=] -> case GHC.Integer.Type.eqInteger# y_awdq ds_swvM of wild_a2f3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a2f3 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> r_awzA; GHC.Types.True -> GHC.Types.: @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) wild_afnB r_awzA } } } }) lvl_swvV (lvl_swvX, case GHC.Integer.Type.ltInteger# fRepI_swtk lvl_sww4 of wild_a4It { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a4It of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case nF_swti of _ [Occ=Dead, Dmd=] { GHC.Types.I# x_awO9 [Dmd=] -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# x_awO9 0) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> let { a_swOs [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 72 0}] a_swOs = case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# x_awO9 0) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case x_awO9 of wild2_awOe { __DEFAULT -> GHC.Real.$wf1 lvl_sww9 wild2_awOe; 0 -> GHC.Real.$fEnumRatio1 }; GHC.Types.True -> GHC.Real.^3 } } in case x_awO9 of wild2_awOe { __DEFAULT -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger (GHC.Integer.Type.andInteger fRepI_swtk (GHC.Integer.Type.minusInteger (GHC.Real.$wf1 lvl_sww5 wild2_awOe) lvl_sww6)) (GHC.Integer.Type.signumInteger a_swOs)) (GHC.Integer.Type.absInteger a_swOs) of _ [Occ=Dead, Dmd=] { (# ww1_awf5, ww2_awf6 #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww1_awf5 ww2_awf6 }; 0 -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger (GHC.Integer.Type.andInteger fRepI_swtk (__integer 0)) (GHC.Integer.Type.signumInteger a_swOs)) (GHC.Integer.Type.absInteger a_swOs) of _ [Occ=Dead, Dmd=] { (# ww1_awf5, ww2_awf6 #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww1_awf5 ww2_awf6 } }; GHC.Types.True -> case GHC.Real.^3 of wild_00 [Dmd=] { } } }; GHC.Types.True -> case nF_swti of _ [Occ=Dead, Dmd=] { GHC.Types.I# x_awO9 [Dmd=] -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# x_awO9 0) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> let { a_swOy [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 72 0}] a_swOy = case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# x_awO9 0) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case x_awO9 of wild2_awOe { __DEFAULT -> GHC.Real.$wf1 lvl_sww9 wild2_awOe; 0 -> GHC.Real.$fEnumRatio1 }; GHC.Types.True -> GHC.Real.^3 } } in case x_awO9 of wild2_awOe { __DEFAULT -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger (GHC.Integer.Type.andInteger fRepI_abs_swtj (GHC.Integer.Type.minusInteger (GHC.Real.$wf1 lvl_sww7 wild2_awOe) lvl_sww8)) (GHC.Integer.Type.signumInteger a_swOy)) (GHC.Integer.Type.absInteger a_swOy) of _ [Occ=Dead, Dmd=] { (# ww1_awf5, ww2_awf6 #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww1_awf5 ww2_awf6 }; 0 -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger (GHC.Integer.Type.andInteger fRepI_abs_swtj (__integer 0)) (GHC.Integer.Type.signumInteger a_swOy)) (GHC.Integer.Type.absInteger a_swOy) of _ [Occ=Dead, Dmd=] { (# ww1_awf5, ww2_awf6 #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww1_awf5 ww2_awf6 } }; GHC.Types.True -> case GHC.Real.^3 of wild_00 [Dmd=] { } } } } }) of _ [Occ=Dead, Dmd=] { [] -> Data.Maybe.fromJust1 @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer); : a1_awdh [Dmd=] ds1_awdi [Dmd=] -> a1_awdh } } in case eta_awcR of ww_sxd8 { (ww_sxd9, ww_sxde) -> case ww_sxd9 of ww_sxdb { GHC.Types.I# ww_sxdc -> case ww_sxde of ww_sxdg { GHC.Real.:% ww_sxdh ww_sxdi -> case ww_sxdi of ww_sxdi { __DEFAULT -> let { ww_sxd9 [Dmd=] :: GHC.Types.Int [LclId, Str=DmdType] ww_sxd9 = GHC.Types.I# ww_sxdc } in let { ww_sxde [Dmd=] :: GHC.Real.Ratio GHC.Integer.Type.Integer [LclId, Str=DmdType] ww_sxde = GHC.Real.:% @ GHC.Integer.Type.Integer ww_sxdh ww_sxdi } in let { eta_awcR [Dmd=] :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=NEVER}] eta_awcR = (ww_sxd9, ww_sxde) } in eta_awcR } } } } } in let { str_auHK [Dmd=, OS=ProbOneShot] :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 30}] str_auHK = case eta_awcR of _ [Occ=Dead, Dmd=] { (x_awcZ [Dmd=], y_awd0 [Dmd=]) -> case y_awd0 of _ [Occ=Dead, Dmd=] { GHC.Real.:% x_awcK [Dmd=] ds1_awcL [Dmd=] -> case GHC.Show.$w$cshowsPrec 0 x_awcK (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead, Dmd=] { (# ww3_a2i0, ww4_a2i1 #) -> GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1 } } } } in case eta_awcR of _ [Occ=Dead, Dmd=] { (x_awcU [Dmd=], y_awcV [Dmd=]) -> case x_awcU of _ [Occ=Dead, Dmd=] { GHC.Types.I# x_akIV -> case GHC.List.$wlenAcc @ GHC.Types.Char str_auHK 0 of ww_awOK { __DEFAULT -> let { n#_awbi :: GHC.Prim.Int# [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 1 0}] n#_awbi = GHC.Prim.-# x_akIV ww_awOK } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# n#_awbi 0) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> letrec { xs_awyT [Occ=LoopBreaker] :: GHC.Prim.Int# -> [GHC.Types.Char] [LclId, Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=False, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0] 63 60}] xs_awyT = \ (m_awz0 :: GHC.Prim.Int#) -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# m_awz0 1) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> GHC.Types.: @ GHC.Types.Char lvl_swvG (xs_awyT (GHC.Prim.-# m_awz0 1)); GHC.Types.True -> GHC.Types.: @ GHC.Types.Char lvl_swvG str_auHK }; } in xs_awyT n#_awbi; GHC.Types.True -> str_auHK } } } } } in case GHC.Integer.Type.ltInteger# fRepI_swtk lvl_swvC of wild_a4It { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a4It of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case nF_swti of _ [Occ=Dead, Dmd=] { GHC.Types.I# x_aiKN -> let { ww_al4F :: GHC.Prim.Int# [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 1 0}] ww_al4F = GHC.Prim.negateInt# x_aiKN } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.>=# ww_al4F 0) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case GHC.Show.$w$cshowsPrec 0 (GHC.Integer.Type.shiftRInteger fRepI_swtk (GHC.Prim.negateInt# ww_al4F)) (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead, Dmd=] { (# ww3_a2i0, ww4_a2i1 #) -> GHC.Base.++ @ GHC.Types.Char (GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1) (GHC.Types.: @ GHC.Types.Char (GHC.Types.C# '.') a_swOO) }; GHC.Types.True -> case GHC.Show.$w$cshowsPrec 0 (GHC.Integer.Type.shiftLInteger fRepI_swtk ww_al4F) (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead, Dmd=] { (# ww3_a2i0, ww4_a2i1 #) -> GHC.Base.++ @ GHC.Types.Char (GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1) (GHC.Types.: @ GHC.Types.Char (GHC.Types.C# '.') a_swOO) } } }; GHC.Types.True -> GHC.Base.++ @ GHC.Types.Char (GHC.Types.: @ GHC.Types.Char lvl_swvD (case nF_swti of _ [Occ=Dead, Dmd=] { GHC.Types.I# x_aiKN -> let { ww_al4F :: GHC.Prim.Int# [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 1 0}] ww_al4F = GHC.Prim.negateInt# x_aiKN } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.>=# ww_al4F 0) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case GHC.Show.$w$cshowsPrec 0 (GHC.Integer.Type.shiftRInteger fRepI_abs_swtj (GHC.Prim.negateInt# ww_al4F)) (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead, Dmd=] { (# ww3_a2i0, ww4_a2i1 #) -> GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1 }; GHC.Types.True -> case GHC.Show.$w$cshowsPrec 0 (GHC.Integer.Type.shiftLInteger fRepI_abs_swtj ww_al4F) (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead, Dmd=] { (# ww3_a2i0, ww4_a2i1 #) -> GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1 } } })) (GHC.Types.: @ GHC.Types.Char (GHC.Types.C# '.') a_swOO) } }) @ frac_auHx @ rep_auHy @ size_auHz w_sxdm w_sxdn w_sxdo w_sxdp w_sxdq $cshow_avFD [InlPrag=INLINE[0]] :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> GHC.Base.String [LclId, Arity=5, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] _ [Occ=Dead, Dmd=] (w_sxdo [Occ=Once, Dmd=] :: GHC.TypeLits.KnownNat frac_auHx) (w_sxdp [Occ=Once!, Dmd=] :: GHC.Real.Integral (rep_auHy size_auHz)) (w_sxdq [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) -> case w_sxdp of _ [Occ=Dead] { GHC.Real.D:Integral _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] ww_sxdB [Occ=Once] -> $w$cshow_sxdD @ frac_auHx @ rep_auHy @ size_auHz w_sxdo ww_sxdB w_sxdq }}] $cshow_avFD = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) (w_sxdm [Dmd=] :: GHC.Show.Show (rep_auHy size_auHz)) (w_sxdn [Dmd=] :: Data.Bits.Bits (rep_auHy size_auHz)) (w_sxdo [Dmd=] :: GHC.TypeLits.KnownNat frac_auHx) (w_sxdp [Dmd=] :: GHC.Real.Integral (rep_auHy size_auHz)) (w_sxdq :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) -> case w_sxdp of ww_sxds { GHC.Real.D:Integral ww_sxdt ww_sxdu ww_sxdv ww_sxdw ww_sxdx ww_sxdy ww_sxdz ww_sxdA ww_sxdB -> $w$cshow_sxdD @ frac_auHx @ rep_auHy @ size_auHz w_sxdo ww_sxdB w_sxdq } $cshowsPrec_avFB :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => GHC.Types.Int -> CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> GHC.Show.ShowS [LclId, Arity=7, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=7, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv [Occ=Once, Dmd=] :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw [Occ=Once, Dmd=] :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx [Occ=Once, Dmd=] :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy [Occ=Once, Dmd=] :: GHC.Real.Integral (rep_auHy size_auHz)) _ [Occ=Dead, Dmd=] (x_a2fY [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (s_a2fZ [Occ=Once, Dmd=] :: GHC.Base.String) -> GHC.Base.++ @ GHC.Types.Char ($cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy x_a2fY) s_a2fZ}] $cshowsPrec_avFB = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv [Dmd=] :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw [Dmd=] :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx [Dmd=] :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy [Dmd=] :: GHC.Real.Integral (rep_auHy size_auHz)) _ [Occ=Dead, Dmd=] (x_a2fY :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (s_a2fZ [Dmd=] :: GHC.Base.String) -> GHC.Base.++ @ GHC.Types.Char ($cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy x_a2fY) s_a2fZ $w$cshowList_sxe4 :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz] -> GHC.Base.String -> GHC.Base.String [LclId, Arity=4, Str=DmdType ] $w$cshowList_sxe4 = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) (w_sxe0 :: GHC.TypeLits.KnownNat frac_auHx) (w_sxe1 [Dmd=] :: GHC.Real.Integral (rep_auHy size_auHz)) (w_sxe2 [Dmd=] :: [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz]) (w_sxe3 :: GHC.Base.String) -> let { w_sxdY [Dmd=] :: GHC.Show.Show (rep_auHy size_auHz) [LclId, Str=DmdType] w_sxdY = Control.Exception.Base.absentError @ (GHC.Show.Show (rep_auHy size_auHz)) "w_sxdY{v} [lid] base:GHC.Show.Show{tc 2h}\n\ \ (rep{tv auHy} [tv] size{tv auHz} [tv])"# } in let { w_sxdZ [Dmd=] :: Data.Bits.Bits (rep_auHy size_auHz) [LclId, Str=DmdType] w_sxdZ = Control.Exception.Base.absentError @ (Data.Bits.Bits (rep_auHy size_auHz)) "w_sxdZ{v} [lid] base:Data.Bits.Bits{tc rc5e}\n\ \ (rep{tv auHy} [tv] size{tv auHz} [tv])"# } in (\ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv [Dmd=] :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw [Dmd=] :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy [Dmd=] :: GHC.Real.Integral (rep_auHy size_auHz)) (eta_B2 [Dmd=] :: [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz]) (eta_B1 :: GHC.Base.String) -> GHC.Show.showList__ @ (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (\ (x_a2fY :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (s_a2fZ [Dmd=, OS=OneShot] :: GHC.Base.String) -> GHC.Base.++ @ GHC.Types.Char ($cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy x_a2fY) s_a2fZ) eta_B2 eta_B1) @ frac_auHx @ rep_auHy @ size_auHz w_sxdY w_sxdZ w_sxe0 w_sxe1 w_sxe2 w_sxe3 $cshowList_avIE [InlPrag=INLINE[0]] :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz] -> GHC.Show.ShowS [LclId, Arity=6, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=6, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] _ [Occ=Dead, Dmd=] (w_sxe0 [Occ=Once] :: GHC.TypeLits.KnownNat frac_auHx) (w_sxe1 [Occ=Once, Dmd=] :: GHC.Real.Integral (rep_auHy size_auHz)) (w_sxe2 [Occ=Once, Dmd=] :: [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz]) (w_sxe3 [Occ=Once] :: GHC.Base.String) -> $w$cshowList_sxe4 @ frac_auHx @ rep_auHy @ size_auHz w_sxe0 w_sxe1 w_sxe2 w_sxe3}] $cshowList_avIE = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) (w_sxdY [Dmd=] :: GHC.Show.Show (rep_auHy size_auHz)) (w_sxdZ [Dmd=] :: Data.Bits.Bits (rep_auHy size_auHz)) (w_sxe0 :: GHC.TypeLits.KnownNat frac_auHx) (w_sxe1 [Dmd=] :: GHC.Real.Integral (rep_auHy size_auHz)) (w_sxe2 [Dmd=] :: [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz]) (w_sxe3 :: GHC.Base.String) -> $w$cshowList_sxe4 @ frac_auHx @ rep_auHy @ size_auHz w_sxe0 w_sxe1 w_sxe2 w_sxe3 CLaSH.Sized.Fixed.$fShowFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => GHC.Show.Show (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) [LclIdX[DFunId], Arity=4, Str=DmdType m, Unf=DFun: \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) -> GHC.Show.D:Show TYPE CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz $cshowsPrec_avFB @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy $cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy $cshowList_avIE @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy] CLaSH.Sized.Fixed.$fShowFixed = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv [Dmd=] :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw [Dmd=] :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy [Dmd=] :: GHC.Real.Integral (rep_auHy size_auHz)) -> GHC.Show.D:Show @ (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) ($cshowsPrec_avFB @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy) ($cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy) ($cshowList_avIE @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy) a_swjx :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu) [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac1_auHq :: GHC.TypeLits.Nat)) (@ (rep_auHr :: GHC.TypeLits.Nat -> *)) (@ (size1_auHs :: GHC.TypeLits.Nat)) (@ (frac2_auHt :: GHC.TypeLits.Nat)) (@ (size2_auHu :: GHC.TypeLits.Nat)) (tup_avFg [Occ=Once!, Dmd=] :: CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) (eta_B2 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (eta_B1 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) -> case tup_avFg of _ [Occ=Dead, Dmd=] { (tpl_X1z [Occ=Once, Dmd=], tpl_X1B [Occ=Once!, Dmd=]) -> case tpl_X1B of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw3M -> ((tpl_X1z `cast` (CLaSH.Class.Num.NTCo:Mult[0] _N _N :: CLaSH.Class.Num.Mult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# (rep_auHr size1_auHs -> rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu)))) (eta_B2 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs ~# rep_auHr size1_auHs)) (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu ~# rep_auHr size2_auHu))) `cast` (Sub cobox_dw3M :: CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) } }}] a_swjx = \ (@ (frac1_auHq :: GHC.TypeLits.Nat)) (@ (rep_auHr :: GHC.TypeLits.Nat -> *)) (@ (size1_auHs :: GHC.TypeLits.Nat)) (@ (frac2_auHt :: GHC.TypeLits.Nat)) (@ (size2_auHu :: GHC.TypeLits.Nat)) (tup_avFg [Dmd=] :: CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) (eta_B2 :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (eta_B1 :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) -> case tup_avFg of _ [Occ=Dead, Dmd=] { (tpl_X1z [Dmd=], tpl_X1B [Dmd=]) -> case tpl_X1B of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw3M [Dmd=] -> ((tpl_X1z `cast` (CLaSH.Class.Num.NTCo:Mult[0] _N _N :: CLaSH.Class.Num.Mult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# (rep_auHr size1_auHs -> rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu)))) (eta_B2 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs ~# rep_auHr size1_auHs)) (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu ~# rep_auHr size2_auHu))) `cast` (Sub cobox_dw3M :: CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) } } $cmult_avFi :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= a_swjx `cast` (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). _R -> _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:MResultFixedFixed[0] _N _N _N _N _N)) :: (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) ~# (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu)))}] $cmult_avFi = a_swjx `cast` (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). _R -> _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:MResultFixedFixed[0] _N _N _N _N _N)) :: (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) ~# (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu))) CLaSH.Sized.Fixed.$fMultFixedFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) [LclIdX[DFunId(nt)], Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= $cmult_avFi `cast` (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). _R -> Sym (CLaSH.Class.Num.NTCo:Mult[0] _N _N) :: (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_XuJ1 frac1_XuIZ frac2_XuJ5 size1_XuJ3 size2_XuJ7) => CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3 -> CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7 -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3) (CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7)) ~# (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_XuJ1 frac1_XuIZ frac2_XuJ5 size1_XuJ3 size2_XuJ7) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3) (CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7)))}] CLaSH.Sized.Fixed.$fMultFixedFixed = a_swjx `cast` (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). _R -> (_R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:MResultFixedFixed[0] _N _N _N _N _N))) ; Sym (CLaSH.Class.Num.NTCo:Mult[0] _N _N) :: (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) ~# (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu))) $w$cminus_sxeW :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1), CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) => (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) -> CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclId, Arity=5, Str=DmdType ] $w$cminus_sxeW = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (ww_sxeI [Dmd=] :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (ww_sxeJ [Dmd=] :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (ww_sxeP [Dmd=] :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (w_sxeE :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w_sxeF :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> let { ww_sxeN [Dmd=] :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] ww_sxeN = Control.Exception.Base.absentError @ (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) "ww_sxeN{v} [lid] rep{tv auHe} [tv] (clash-prelude-0.5:CLaSH.Promoted.Ord.Max{tc r1ty}\n\ \ size1{tv auHf} [tv] size2{tv auHh} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 1)\n\ \ -> rep{tv auHe} [tv] (clash-prelude-0.5:CLaSH.Promoted.Ord.Max{tc r1ty}\n\ \ size1{tv auHf} [tv] size2{tv auHh} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 1)\n\ \ -> rep{tv auHe} [tv] (clash-prelude-0.5:CLaSH.Promoted.Ord.Max{tc r1ty}\n\ \ size1{tv auHf} [tv] size2{tv auHh} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 1)"# } in let { ww_sxeO [Dmd=] :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] ww_sxeO = Control.Exception.Base.absentError @ (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) "ww_sxeO{v} [lid] rep{tv auHe} [tv] (clash-prelude-0.5:CLaSH.Promoted.Ord.Max{tc r1ty}\n\ \ size1{tv auHf} [tv] size2{tv auHh} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 1)\n\ \ -> rep{tv auHe} [tv] (clash-prelude-0.5:CLaSH.Promoted.Ord.Max{tc r1ty}\n\ \ size1{tv auHf} [tv] size2{tv auHh} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 1)\n\ \ -> rep{tv auHe} [tv] (clash-prelude-0.5:CLaSH.Promoted.Ord.Max{tc r1ty}\n\ \ size1{tv auHf} [tv] size2{tv auHh} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 1)"# } in let { ww_sxeQ [Dmd=] :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] ww_sxeQ = Control.Exception.Base.absentError @ (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) "ww_sxeQ{v} [lid] rep{tv auHe} [tv] (clash-prelude-0.5:CLaSH.Promoted.Ord.Max{tc r1ty}\n\ \ size1{tv auHf} [tv] size2{tv auHh} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 1)\n\ \ -> rep{tv auHe} [tv] (clash-prelude-0.5:CLaSH.Promoted.Ord.Max{tc r1ty}\n\ \ size1{tv auHf} [tv] size2{tv auHh} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 1)"# } in let { ww_sxeR [Dmd=] :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] ww_sxeR = Control.Exception.Base.absentError @ (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) "ww_sxeR{v} [lid] rep{tv auHe} [tv] (clash-prelude-0.5:CLaSH.Promoted.Ord.Max{tc r1ty}\n\ \ size1{tv auHf} [tv] size2{tv auHh} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 1)\n\ \ -> rep{tv auHe} [tv] (clash-prelude-0.5:CLaSH.Promoted.Ord.Max{tc r1ty}\n\ \ size1{tv auHf} [tv] size2{tv auHh} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 1)"# } in let { ww_sxeS [Dmd=] :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] ww_sxeS = Control.Exception.Base.absentError @ (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) "ww_sxeS{v} [lid] rep{tv auHe} [tv] (clash-prelude-0.5:CLaSH.Promoted.Ord.Max{tc r1ty}\n\ \ size1{tv auHf} [tv] size2{tv auHh} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 1)\n\ \ -> rep{tv auHe} [tv] (clash-prelude-0.5:CLaSH.Promoted.Ord.Max{tc r1ty}\n\ \ size1{tv auHf} [tv] size2{tv auHh} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 1)"# } in let { ww_sxeT [Dmd=] :: GHC.Integer.Type.Integer -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] ww_sxeT = Control.Exception.Base.absentError @ (GHC.Integer.Type.Integer -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) "ww_sxeT{v} [lid] integer-gmp:GHC.Integer.Type.Integer{tc 314}\n\ \ -> rep{tv auHe} [tv] (clash-prelude-0.5:CLaSH.Promoted.Ord.Max{tc r1ty}\n\ \ size1{tv auHf} [tv] size2{tv auHh} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 1)"# } in let { ww_sxeK [Dmd=] :: GHC.Num.Num (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType] ww_sxeK = GHC.Num.D:Num @ (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) ww_sxeN ww_sxeO ww_sxeP ww_sxeQ ww_sxeR ww_sxeS ww_sxeT } in let { w_sxeD [Dmd=] :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh [LclId, Str=DmdType] w_sxeD = (ww_sxeI, ww_sxeJ, ww_sxeK) } in (\ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN [Dmd=] :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (eta_X1I :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (eta_X3p :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> let { tup_swta [Dmd=] :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_swta = case tup_avDN of _ [Occ=Dead, Dmd=] { (tpl_X1L [Dmd=], tpl_X1N [Dmd=], tpl_B3 [Dmd=]) -> tpl_X1N } } in let { $dBounded_swt9 [Dmd=] :: GHC.Enum.Bounded (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBounded_swt9 = case tup_swta of _ [Occ=Dead, Dmd=] { (tpl_X1N [Dmd=], tpl_X1P [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X1N } } in let { $dBits_swt8 [Dmd=] :: Data.Bits.Bits (rep_auHe size2_auHh) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_swt8 = case tup_swta of _ [Occ=Dead, Dmd=] { (tpl_X1P [Dmd=], tpl_X1R [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B5 } } in let { $dResize_swt7 [Dmd=] :: CLaSH.Class.Num.Resize rep_auHe [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dResize_swt7 = case tup_swta of _ [Occ=Dead, Dmd=] { (tpl_X1R [Dmd=], tpl_X1T [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B6 } } in let { $dKnownNat_swt6 :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swt6 = case tup_swta of _ [Occ=Dead, Dmd=] { (tpl_X1T [Dmd=], tpl_X1V [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B7 } } in let { $dBits_swt5 [Dmd=] :: Data.Bits.Bits (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_swt5 = case tup_swta of _ [Occ=Dead, Dmd=] { (tpl_X1V [Dmd=], tpl_X1X [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B9 } } in let { $dKnownNat_swt4 :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swt4 = case tup_swta of _ [Occ=Dead, Dmd=] { (tpl_X1X [Dmd=], tpl_X1Z [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_Ba } } in case tup_avDN of _ [Occ=Dead, Dmd=] { (tpl_X22 [Dmd=], tpl_X24 [Dmd=], tpl_B3 [Dmd=]) -> (GHC.Num.- @ (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) tpl_B3 (let { $dBits_swt2 [Dmd=] :: Data.Bits.Bits (rep_auHe size1_auHf) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_swt2 = case tpl_X22 of _ [Occ=Dead, Dmd=] { (tpl_X21 [Dmd=], tpl_X23 [Dmd=], tpl_X5p [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B5 } } in (CLaSH.Sized.Fixed.resizeF @ frac1_auHd @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size1_auHf @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ($dBounded_swt9, Data.Bits.$p1Bits @ (rep_auHe size1_auHf) $dBits_swt2, case tpl_X22 of _ [Occ=Dead, Dmd=] { (tpl_X43 [Dmd=], tpl_X7q [Dmd=], tpl_X5q [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X5q }, case tpl_X22 of _ [Occ=Dead, Dmd=] { (tpl_X7n [Dmd=], tpl_X46 [Dmd=], tpl_X5q [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B4 }, $dBits_swt2, $dResize_swt7, $dKnownNat_swt6, case tpl_X22 of _ [Occ=Dead, Dmd=] { (tpl_X7n [Dmd=], tpl_X7q [Dmd=], tpl_X5q [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B8 }, $dBits_swt5, $dKnownNat_swt4, case tpl_X22 of _ [Occ=Dead, Dmd=] { (tpl_X7n [Dmd=], tpl_X7q [Dmd=], tpl_X5q [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_Bb }, case tpl_X22 of _ [Occ=Dead, Dmd=] { (tpl_X7n [Dmd=], tpl_X7q [Dmd=], tpl_X5q [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_Bc }) eta_X1I) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1))) ((CLaSH.Sized.Fixed.resizeF @ frac2_auHg @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size2_auHh @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ($dBounded_swt9, Data.Bits.$p1Bits @ (rep_auHe size2_auHh) $dBits_swt8, case tup_swta of _ [Occ=Dead, Dmd=] { (tpl_X7k [Dmd=], tpl_X7n [Dmd=], tpl_X5n [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X5n }, case tup_swta of _ [Occ=Dead, Dmd=] { (tpl_X7k [Dmd=], tpl_X7n [Dmd=], tpl_X5n [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B4 }, $dBits_swt8, $dResize_swt7, $dKnownNat_swt6, case tup_swta of _ [Occ=Dead, Dmd=] { (tpl_X7k [Dmd=], tpl_X7n [Dmd=], tpl_X5n [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B8 }, $dBits_swt5, $dKnownNat_swt4, case tup_swta of _ [Occ=Dead, Dmd=] { (tpl_X7k [Dmd=], tpl_X7n [Dmd=], tpl_X5n [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_Bb }, case tup_swta of _ [Occ=Dead, Dmd=] { (tpl_X7k [Dmd=], tpl_X7n [Dmd=], tpl_X5n [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_Bc }) eta_X3p) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:AResultFixedFixed[0] _N _N _N _N _N)) :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh)) }) @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh w_sxeD w_sxeE w_sxeF $cminus_avEx [InlPrag=INLINE[0]] :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (w_sxeD [Occ=Once!, Dmd=] :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (w_sxeE [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w_sxeF [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> case w_sxeD of _ [Occ=Dead] { (ww_sxeI [Occ=Once], ww_sxeJ [Occ=Once], ww_sxeK [Occ=Once!]) -> case ww_sxeK of _ [Occ=Dead] { GHC.Num.D:Num _ [Occ=Dead] _ [Occ=Dead] ww_sxeP [Occ=Once] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> $w$cminus_sxeW @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh ww_sxeI ww_sxeJ ww_sxeP w_sxeE w_sxeF } }}] $cminus_avEx = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (w_sxeD [Dmd=] :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (w_sxeE :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w_sxeF :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> case w_sxeD of ww_sxeH { (ww_sxeI, ww_sxeJ, ww_sxeK) -> case ww_sxeK of ww_sxeM { GHC.Num.D:Num ww_sxeN ww_sxeO ww_sxeP ww_sxeQ ww_sxeR ww_sxeS ww_sxeT -> $w$cminus_sxeW @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh ww_sxeI ww_sxeJ ww_sxeP w_sxeE w_sxeF } } $w$cplus_sxfg :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1), CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) => (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) -> CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclId, Arity=5, Str=DmdType ] $w$cplus_sxfg = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (ww_sxf2 [Dmd=] :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (ww_sxf3 [Dmd=] :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (ww_sxf7 [Dmd=] :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (w_sxeY :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w_sxeZ :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> let { ww_sxf8 [Dmd=] :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] ww_sxf8 = Control.Exception.Base.absentError @ (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) "ww_sxf8{v} [lid] rep{tv auHe} [tv] (clash-prelude-0.5:CLaSH.Promoted.Ord.Max{tc r1ty}\n\ \ size1{tv auHf} [tv] size2{tv auHh} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 1)\n\ \ -> rep{tv auHe} [tv] (clash-prelude-0.5:CLaSH.Promoted.Ord.Max{tc r1ty}\n\ \ size1{tv auHf} [tv] size2{tv auHh} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 1)\n\ \ -> rep{tv auHe} [tv] (clash-prelude-0.5:CLaSH.Promoted.Ord.Max{tc r1ty}\n\ \ size1{tv auHf} [tv] size2{tv auHh} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 1)"# } in let { ww_sxf9 [Dmd=] :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] ww_sxf9 = Control.Exception.Base.absentError @ (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) "ww_sxf9{v} [lid] rep{tv auHe} [tv] (clash-prelude-0.5:CLaSH.Promoted.Ord.Max{tc r1ty}\n\ \ size1{tv auHf} [tv] size2{tv auHh} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 1)\n\ \ -> rep{tv auHe} [tv] (clash-prelude-0.5:CLaSH.Promoted.Ord.Max{tc r1ty}\n\ \ size1{tv auHf} [tv] size2{tv auHh} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 1)\n\ \ -> rep{tv auHe} [tv] (clash-prelude-0.5:CLaSH.Promoted.Ord.Max{tc r1ty}\n\ \ size1{tv auHf} [tv] size2{tv auHh} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 1)"# } in let { ww_sxfa [Dmd=] :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] ww_sxfa = Control.Exception.Base.absentError @ (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) "ww_sxfa{v} [lid] rep{tv auHe} [tv] (clash-prelude-0.5:CLaSH.Promoted.Ord.Max{tc r1ty}\n\ \ size1{tv auHf} [tv] size2{tv auHh} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 1)\n\ \ -> rep{tv auHe} [tv] (clash-prelude-0.5:CLaSH.Promoted.Ord.Max{tc r1ty}\n\ \ size1{tv auHf} [tv] size2{tv auHh} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 1)"# } in let { ww_sxfb [Dmd=] :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] ww_sxfb = Control.Exception.Base.absentError @ (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) "ww_sxfb{v} [lid] rep{tv auHe} [tv] (clash-prelude-0.5:CLaSH.Promoted.Ord.Max{tc r1ty}\n\ \ size1{tv auHf} [tv] size2{tv auHh} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 1)\n\ \ -> rep{tv auHe} [tv] (clash-prelude-0.5:CLaSH.Promoted.Ord.Max{tc r1ty}\n\ \ size1{tv auHf} [tv] size2{tv auHh} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 1)"# } in let { ww_sxfc [Dmd=] :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] ww_sxfc = Control.Exception.Base.absentError @ (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) "ww_sxfc{v} [lid] rep{tv auHe} [tv] (clash-prelude-0.5:CLaSH.Promoted.Ord.Max{tc r1ty}\n\ \ size1{tv auHf} [tv] size2{tv auHh} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 1)\n\ \ -> rep{tv auHe} [tv] (clash-prelude-0.5:CLaSH.Promoted.Ord.Max{tc r1ty}\n\ \ size1{tv auHf} [tv] size2{tv auHh} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 1)"# } in let { ww_sxfd [Dmd=] :: GHC.Integer.Type.Integer -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] ww_sxfd = Control.Exception.Base.absentError @ (GHC.Integer.Type.Integer -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) "ww_sxfd{v} [lid] integer-gmp:GHC.Integer.Type.Integer{tc 314}\n\ \ -> rep{tv auHe} [tv] (clash-prelude-0.5:CLaSH.Promoted.Ord.Max{tc r1ty}\n\ \ size1{tv auHf} [tv] size2{tv auHh} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 1)"# } in let { ww_sxf4 [Dmd=] :: GHC.Num.Num (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType] ww_sxf4 = GHC.Num.D:Num @ (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) ww_sxf7 ww_sxf8 ww_sxf9 ww_sxfa ww_sxfb ww_sxfc ww_sxfd } in let { w_sxeX [Dmd=] :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh [LclId, Str=DmdType] w_sxeX = (ww_sxf2, ww_sxf3, ww_sxf4) } in (\ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN [Dmd=] :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (eta_X1J :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (eta_X3r :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> let { tup_swsS [Dmd=] :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_swsS = case tup_avDN of _ [Occ=Dead, Dmd=] { (tpl_X1M [Dmd=], tpl_X1O [Dmd=], tpl_B3 [Dmd=]) -> tpl_X1O } } in let { $dBounded_swsR [Dmd=] :: GHC.Enum.Bounded (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBounded_swsR = case tup_swsS of _ [Occ=Dead, Dmd=] { (tpl_X1O [Dmd=], tpl_X1Q [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X1O } } in let { $dBits_swsQ [Dmd=] :: Data.Bits.Bits (rep_auHe size2_auHh) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_swsQ = case tup_swsS of _ [Occ=Dead, Dmd=] { (tpl_X1Q [Dmd=], tpl_X1S [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B5 } } in let { $dResize_swsP [Dmd=] :: CLaSH.Class.Num.Resize rep_auHe [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dResize_swsP = case tup_swsS of _ [Occ=Dead, Dmd=] { (tpl_X1S [Dmd=], tpl_X1U [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B6 } } in let { $dKnownNat_swsO :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swsO = case tup_swsS of _ [Occ=Dead, Dmd=] { (tpl_X1U [Dmd=], tpl_X1W [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B7 } } in let { $dBits_swsN [Dmd=] :: Data.Bits.Bits (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_swsN = case tup_swsS of _ [Occ=Dead, Dmd=] { (tpl_X1W [Dmd=], tpl_X1Y [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B9 } } in let { $dKnownNat_swsM :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swsM = case tup_swsS of _ [Occ=Dead, Dmd=] { (tpl_X1Y [Dmd=], tpl_X20 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_Ba } } in case tup_avDN of _ [Occ=Dead, Dmd=] { (tpl_X23 [Dmd=], tpl_X25 [Dmd=], tpl_B3 [Dmd=]) -> (GHC.Num.+ @ (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) tpl_B3 (let { $dBits_swsK [Dmd=] :: Data.Bits.Bits (rep_auHe size1_auHf) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_swsK = case tpl_X23 of _ [Occ=Dead, Dmd=] { (tpl_X22 [Dmd=], tpl_X24 [Dmd=], tpl_X5q [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B5 } } in (CLaSH.Sized.Fixed.resizeF @ frac1_auHd @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size1_auHf @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ($dBounded_swsR, Data.Bits.$p1Bits @ (rep_auHe size1_auHf) $dBits_swsK, case tpl_X23 of _ [Occ=Dead, Dmd=] { (tpl_X45 [Dmd=], tpl_X7s [Dmd=], tpl_X5r [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X5r }, case tpl_X23 of _ [Occ=Dead, Dmd=] { (tpl_X7p [Dmd=], tpl_X48 [Dmd=], tpl_X5r [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B4 }, $dBits_swsK, $dResize_swsP, $dKnownNat_swsO, case tpl_X23 of _ [Occ=Dead, Dmd=] { (tpl_X7p [Dmd=], tpl_X7s [Dmd=], tpl_X5r [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B8 }, $dBits_swsN, $dKnownNat_swsM, case tpl_X23 of _ [Occ=Dead, Dmd=] { (tpl_X7p [Dmd=], tpl_X7s [Dmd=], tpl_X5r [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_Bb }, case tpl_X23 of _ [Occ=Dead, Dmd=] { (tpl_X7p [Dmd=], tpl_X7s [Dmd=], tpl_X5r [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_Bc }) eta_X1J) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1))) ((CLaSH.Sized.Fixed.resizeF @ frac2_auHg @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size2_auHh @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ($dBounded_swsR, Data.Bits.$p1Bits @ (rep_auHe size2_auHh) $dBits_swsQ, case tup_swsS of _ [Occ=Dead, Dmd=] { (tpl_X7m [Dmd=], tpl_X7p [Dmd=], tpl_X5o [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X5o }, case tup_swsS of _ [Occ=Dead, Dmd=] { (tpl_X7m [Dmd=], tpl_X7p [Dmd=], tpl_X5o [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B4 }, $dBits_swsQ, $dResize_swsP, $dKnownNat_swsO, case tup_swsS of _ [Occ=Dead, Dmd=] { (tpl_X7m [Dmd=], tpl_X7p [Dmd=], tpl_X5o [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B8 }, $dBits_swsN, $dKnownNat_swsM, case tup_swsS of _ [Occ=Dead, Dmd=] { (tpl_X7m [Dmd=], tpl_X7p [Dmd=], tpl_X5o [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_Bb }, case tup_swsS of _ [Occ=Dead, Dmd=] { (tpl_X7m [Dmd=], tpl_X7p [Dmd=], tpl_X5o [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_Bc }) eta_X3r) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:AResultFixedFixed[0] _N _N _N _N _N)) :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh)) }) @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh w_sxeX w_sxeY w_sxeZ $cplus_avDP [InlPrag=INLINE[0]] :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (w_sxeX [Occ=Once!, Dmd=] :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (w_sxeY [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w_sxeZ [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> case w_sxeX of _ [Occ=Dead] { (ww_sxf2 [Occ=Once], ww_sxf3 [Occ=Once], ww_sxf4 [Occ=Once!]) -> case ww_sxf4 of _ [Occ=Dead] { GHC.Num.D:Num ww_sxf7 [Occ=Once] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> $w$cplus_sxfg @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh ww_sxf2 ww_sxf3 ww_sxf7 w_sxeY w_sxeZ } }}] $cplus_avDP = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (w_sxeX [Dmd=] :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (w_sxeY :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w_sxeZ :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> case w_sxeX of ww_sxf1 { (ww_sxf2, ww_sxf3, ww_sxf4) -> case ww_sxf4 of ww_sxf6 { GHC.Num.D:Num ww_sxf7 ww_sxf8 ww_sxf9 ww_sxfa ww_sxfb ww_sxfc ww_sxfd -> $w$cplus_sxfg @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh ww_sxf2 ww_sxf3 ww_sxf7 w_sxeY w_sxeZ } } CLaSH.Sized.Fixed.$fAddFixedFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Class.Num.Add (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclIdX[DFunId], Arity=1, Str=DmdType m, Unf=DFun: \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) -> CLaSH.Class.Num.D:Add TYPE CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf TYPE CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh $cplus_avDP @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN $cminus_avEx @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN] CLaSH.Sized.Fixed.$fAddFixedFixed = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN [Dmd=] :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) -> CLaSH.Class.Num.D:Add @ (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) @ (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) ($cplus_avDP @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN) ($cminus_avEx @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN) $w$cfromInteger_sxgb :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (rep_auGZ size_auH0 -> GHC.Types.Int -> rep_auGZ size_auH0) -> (GHC.TypeLits.KnownNat frac_auGY, GHC.Num.Num (rep_auGZ size_auH0)) => GHC.Integer.Type.Integer -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=4, Str=DmdType ] $w$cfromInteger_sxgb = \ (@ (frac_auGY :: GHC.TypeLits.Nat)) (@ (rep_auGZ :: GHC.TypeLits.Nat -> *)) (@ (size_auH0 :: GHC.TypeLits.Nat)) (ww_sxfU [Dmd=] :: rep_auGZ size_auH0 -> GHC.Types.Int -> rep_auGZ size_auH0) (ww_sxg2 [Dmd=] :: GHC.TypeLits.KnownNat frac_auGY) (ww_sxg6 [Dmd=] :: GHC.Num.Num (rep_auGZ size_auH0)) (w_sxfm :: GHC.Integer.Type.Integer) -> let { ww_sxfp [Dmd=] :: CLaSH.Sized.Fixed.SatN2C rep_auGZ size_auH0 [LclId, Str=DmdType] ww_sxfp = Control.Exception.Base.absentError @ (CLaSH.Sized.Fixed.SatN2C rep_auGZ size_auH0) "ww_sxfp{v} [lid] clash-prelude-0.5:CLaSH.Sized.Fixed.SatN2C{tc ruEj}\n\ \ rep{tv auGZ} [tv] size{tv auH0} [tv]"# } in let { ww_sxft [Dmd=] :: GHC.Enum.Bounded (rep_auGZ size_auH0) [LclId, Str=DmdType] ww_sxft = Control.Exception.Base.absentError @ (GHC.Enum.Bounded (rep_auGZ size_auH0)) "ww_sxft{v} [lid] base:GHC.Enum.Bounded{tc 21}\n\ \ (rep{tv auGZ} [tv] size{tv auH0} [tv])"# } in let { ww_sxfu [Dmd=] :: GHC.Classes.Eq (rep_auGZ (size_auH0 GHC.TypeLits.+ size_auH0)) [LclId, Str=DmdType] ww_sxfu = Control.Exception.Base.absentError @ (GHC.Classes.Eq (rep_auGZ (size_auH0 GHC.TypeLits.+ size_auH0))) "ww_sxfu{v} [lid] ghc-prim:GHC.Classes.Eq{tc 23}\n\ \ (rep{tv auGZ} [tv] (size{tv auH0} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} size{tv auH0} [tv]))"# } in let { ww_sxfv [Dmd=] :: GHC.Classes.Ord (rep_auGZ (size_auH0 GHC.TypeLits.+ size_auH0)) [LclId, Str=DmdType] ww_sxfv = Control.Exception.Base.absentError @ (GHC.Classes.Ord (rep_auGZ (size_auH0 GHC.TypeLits.+ size_auH0))) "ww_sxfv{v} [lid] ghc-prim:GHC.Classes.Ord{tc 2c}\n\ \ (rep{tv auGZ} [tv] (size{tv auH0} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} size{tv auH0} [tv]))"# } in let { ww_sxfw [Dmd=] :: GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ size_auH0)) [LclId, Str=DmdType] ww_sxfw = Control.Exception.Base.absentError @ (GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ size_auH0))) "ww_sxfw{v} [lid] base:GHC.Num.Num{tc 2b}\n\ \ (rep{tv auGZ} [tv] (size{tv auH0} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} size{tv auH0} [tv]))"# } in let { ww_sxfx [Dmd=] :: Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ size_auH0)) [LclId, Str=DmdType] ww_sxfx = Control.Exception.Base.absentError @ (Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ size_auH0))) "ww_sxfx{v} [lid] base:Data.Bits.Bits{tc rc5e}\n\ \ (rep{tv auGZ} [tv] (size{tv auH0} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} size{tv auH0} [tv]))"# } in let { ww_sxfy [Dmd=] :: CLaSH.Class.Num.Resize rep_auGZ [LclId, Str=DmdType] ww_sxfy = Control.Exception.Base.absentError @ (CLaSH.Class.Num.Resize rep_auGZ) "ww_sxfy{v} [lid] clash-prelude-0.5:CLaSH.Class.Num.Resize{tc re8B}\n\ \ rep{tv auGZ} [tv]"# } in let { ww_sxfz [Dmd=] :: GHC.TypeLits.KnownNat size_auH0 [LclId, Str=DmdType] ww_sxfz = Control.Exception.Base.absentError @ (GHC.TypeLits.KnownNat size_auH0) "ww_sxfz{v} [lid] base:GHC.TypeLits.KnownNat{tc 2G}\n\ \ size{tv auH0} [tv]"# } in let { ww_sxfA [Dmd=] :: GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ size_auH0) [LclId, Str=DmdType] ww_sxfA = Control.Exception.Base.absentError @ (GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ size_auH0)) "ww_sxfA{v} [lid] base:GHC.TypeLits.KnownNat{tc 2G}\n\ \ (size{tv auH0} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} size{tv auH0} [tv])"# } in let { ww_sxfE [Dmd=] :: GHC.Classes.Eq (rep_auGZ size_auH0) [LclId, Str=DmdType] ww_sxfE = Control.Exception.Base.absentError @ (GHC.Classes.Eq (rep_auGZ size_auH0)) "ww_sxfE{v} [lid] ghc-prim:GHC.Classes.Eq{tc 23}\n\ \ (rep{tv auGZ} [tv] size{tv auH0} [tv])"# } in let { ww_sxfF [Dmd=] :: rep_auGZ size_auH0 -> rep_auGZ size_auH0 -> rep_auGZ size_auH0 [LclId, Str=DmdType] ww_sxfF = Control.Exception.Base.absentError @ (rep_auGZ size_auH0 -> rep_auGZ size_auH0 -> rep_auGZ size_auH0) "ww_sxfF{v} [lid] rep{tv auGZ} [tv] size{tv auH0} [tv]\n\ \ -> rep{tv auGZ} [tv] size{tv auH0} [tv]\n\ \ -> rep{tv auGZ} [tv] size{tv auH0} [tv]"# } in let { ww_sxfG [Dmd=] :: rep_auGZ size_auH0 -> rep_auGZ size_auH0 -> rep_auGZ size_auH0 [LclId, Str=DmdType] ww_sxfG = Control.Exception.Base.absentError @ (rep_auGZ size_auH0 -> rep_auGZ size_auH0 -> rep_auGZ size_auH0) "ww_sxfG{v} [lid] rep{tv auGZ} [tv] size{tv auH0} [tv]\n\ \ -> rep{tv auGZ} [tv] size{tv auH0} [tv]\n\ \ -> rep{tv auGZ} [tv] size{tv auH0} [tv]"# } in let { ww_sxfH [Dmd=] :: rep_auGZ size_auH0 -> rep_auGZ size_auH0 -> rep_auGZ size_auH0 [LclId, Str=DmdType] ww_sxfH = Control.Exception.Base.absentError @ (rep_auGZ size_auH0 -> rep_auGZ size_auH0 -> rep_auGZ size_auH0) "ww_sxfH{v} [lid] rep{tv auGZ} [tv] size{tv auH0} [tv]\n\ \ -> rep{tv auGZ} [tv] size{tv auH0} [tv]\n\ \ -> rep{tv auGZ} [tv] size{tv auH0} [tv]"# } in let { ww_sxfI [Dmd=] :: rep_auGZ size_auH0 -> rep_auGZ size_auH0 [LclId, Str=DmdType] ww_sxfI = Control.Exception.Base.absentError @ (rep_auGZ size_auH0 -> rep_auGZ size_auH0) "ww_sxfI{v} [lid] rep{tv auGZ} [tv] size{tv auH0} [tv]\n\ \ -> rep{tv auGZ} [tv] size{tv auH0} [tv]"# } in let { ww_sxfJ [Dmd=] :: rep_auGZ size_auH0 -> GHC.Types.Int -> rep_auGZ size_auH0 [LclId, Str=DmdType] ww_sxfJ = Control.Exception.Base.absentError @ (rep_auGZ size_auH0 -> GHC.Types.Int -> rep_auGZ size_auH0) "ww_sxfJ{v} [lid] rep{tv auGZ} [tv] size{tv auH0} [tv]\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv auGZ} [tv] size{tv auH0} [tv]"# } in let { ww_sxfK [Dmd=] :: rep_auGZ size_auH0 -> GHC.Types.Int -> rep_auGZ size_auH0 [LclId, Str=DmdType] ww_sxfK = Control.Exception.Base.absentError @ (rep_auGZ size_auH0 -> GHC.Types.Int -> rep_auGZ size_auH0) "ww_sxfK{v} [lid] rep{tv auGZ} [tv] size{tv auH0} [tv]\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv auGZ} [tv] size{tv auH0} [tv]"# } in let { ww_sxfL [Dmd=] :: rep_auGZ size_auH0 [LclId, Str=DmdType] ww_sxfL = Control.Exception.Base.absentError @ (rep_auGZ size_auH0) "ww_sxfL{v} [lid] rep{tv auGZ} [tv] size{tv auH0} [tv]"# } in let { ww_sxfM [Dmd=] :: GHC.Types.Int -> rep_auGZ size_auH0 [LclId, Str=DmdType] ww_sxfM = Control.Exception.Base.absentError @ (GHC.Types.Int -> rep_auGZ size_auH0) "ww_sxfM{v} [lid] ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv auGZ} [tv] size{tv auH0} [tv]"# } in let { ww_sxfN [Dmd=] :: rep_auGZ size_auH0 -> GHC.Types.Int -> rep_auGZ size_auH0 [LclId, Str=DmdType] ww_sxfN = Control.Exception.Base.absentError @ (rep_auGZ size_auH0 -> GHC.Types.Int -> rep_auGZ size_auH0) "ww_sxfN{v} [lid] rep{tv auGZ} [tv] size{tv auH0} [tv]\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv auGZ} [tv] size{tv auH0} [tv]"# } in let { ww_sxfO [Dmd=] :: rep_auGZ size_auH0 -> GHC.Types.Int -> rep_auGZ size_auH0 [LclId, Str=DmdType] ww_sxfO = Control.Exception.Base.absentError @ (rep_auGZ size_auH0 -> GHC.Types.Int -> rep_auGZ size_auH0) "ww_sxfO{v} [lid] rep{tv auGZ} [tv] size{tv auH0} [tv]\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv auGZ} [tv] size{tv auH0} [tv]"# } in let { ww_sxfP [Dmd=] :: rep_auGZ size_auH0 -> GHC.Types.Int -> rep_auGZ size_auH0 [LclId, Str=DmdType] ww_sxfP = Control.Exception.Base.absentError @ (rep_auGZ size_auH0 -> GHC.Types.Int -> rep_auGZ size_auH0) "ww_sxfP{v} [lid] rep{tv auGZ} [tv] size{tv auH0} [tv]\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv auGZ} [tv] size{tv auH0} [tv]"# } in let { ww_sxfQ [Dmd=] :: rep_auGZ size_auH0 -> GHC.Types.Int -> GHC.Types.Bool [LclId, Str=DmdType] ww_sxfQ = Control.Exception.Base.absentError @ (rep_auGZ size_auH0 -> GHC.Types.Int -> GHC.Types.Bool) "ww_sxfQ{v} [lid] rep{tv auGZ} [tv] size{tv auH0} [tv]\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> ghc-prim:GHC.Types.Bool{(w) tc 3c}"# } in let { ww_sxfR [Dmd=] :: rep_auGZ size_auH0 -> Data.Maybe.Maybe GHC.Types.Int [LclId, Str=DmdType] ww_sxfR = Control.Exception.Base.absentError @ (rep_auGZ size_auH0 -> Data.Maybe.Maybe GHC.Types.Int) "ww_sxfR{v} [lid] rep{tv auGZ} [tv] size{tv auH0} [tv]\n\ \ -> base:Data.Maybe.Maybe{tc r1b} ghc-prim:GHC.Types.Int{(w) tc 3J}"# } in let { ww_sxfS [Dmd=] :: rep_auGZ size_auH0 -> GHC.Types.Int [LclId, Str=DmdType] ww_sxfS = Control.Exception.Base.absentError @ (rep_auGZ size_auH0 -> GHC.Types.Int) "ww_sxfS{v} [lid] rep{tv auGZ} [tv] size{tv auH0} [tv]\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}"# } in let { ww_sxfT [Dmd=] :: rep_auGZ size_auH0 -> GHC.Types.Bool [LclId, Str=DmdType] ww_sxfT = Control.Exception.Base.absentError @ (rep_auGZ size_auH0 -> GHC.Types.Bool) "ww_sxfT{v} [lid] rep{tv auGZ} [tv] size{tv auH0} [tv]\n\ \ -> ghc-prim:GHC.Types.Bool{(w) tc 3c}"# } in let { ww_sxfV [Dmd=] :: rep_auGZ size_auH0 -> GHC.Types.Int -> rep_auGZ size_auH0 [LclId, Str=DmdType] ww_sxfV = Control.Exception.Base.absentError @ (rep_auGZ size_auH0 -> GHC.Types.Int -> rep_auGZ size_auH0) "ww_sxfV{v} [lid] rep{tv auGZ} [tv] size{tv auH0} [tv]\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv auGZ} [tv] size{tv auH0} [tv]"# } in let { ww_sxfW [Dmd=] :: rep_auGZ size_auH0 -> GHC.Types.Int -> rep_auGZ size_auH0 [LclId, Str=DmdType] ww_sxfW = Control.Exception.Base.absentError @ (rep_auGZ size_auH0 -> GHC.Types.Int -> rep_auGZ size_auH0) "ww_sxfW{v} [lid] rep{tv auGZ} [tv] size{tv auH0} [tv]\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv auGZ} [tv] size{tv auH0} [tv]"# } in let { ww_sxfX [Dmd=] :: rep_auGZ size_auH0 -> GHC.Types.Int -> rep_auGZ size_auH0 [LclId, Str=DmdType] ww_sxfX = Control.Exception.Base.absentError @ (rep_auGZ size_auH0 -> GHC.Types.Int -> rep_auGZ size_auH0) "ww_sxfX{v} [lid] rep{tv auGZ} [tv] size{tv auH0} [tv]\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv auGZ} [tv] size{tv auH0} [tv]"# } in let { ww_sxfY [Dmd=] :: rep_auGZ size_auH0 -> GHC.Types.Int -> rep_auGZ size_auH0 [LclId, Str=DmdType] ww_sxfY = Control.Exception.Base.absentError @ (rep_auGZ size_auH0 -> GHC.Types.Int -> rep_auGZ size_auH0) "ww_sxfY{v} [lid] rep{tv auGZ} [tv] size{tv auH0} [tv]\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv auGZ} [tv] size{tv auH0} [tv]"# } in let { ww_sxfZ [Dmd=] :: rep_auGZ size_auH0 -> GHC.Types.Int -> rep_auGZ size_auH0 [LclId, Str=DmdType] ww_sxfZ = Control.Exception.Base.absentError @ (rep_auGZ size_auH0 -> GHC.Types.Int -> rep_auGZ size_auH0) "ww_sxfZ{v} [lid] rep{tv auGZ} [tv] size{tv auH0} [tv]\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv auGZ} [tv] size{tv auH0} [tv]"# } in let { ww_sxg0 [Dmd=] :: rep_auGZ size_auH0 -> GHC.Types.Int [LclId, Str=DmdType] ww_sxg0 = Control.Exception.Base.absentError @ (rep_auGZ size_auH0 -> GHC.Types.Int) "ww_sxg0{v} [lid] rep{tv auGZ} [tv] size{tv auH0} [tv]\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}"# } in let { ww_sxfB [Dmd=] :: Data.Bits.Bits (rep_auGZ size_auH0) [LclId, Str=DmdType] ww_sxfB = Data.Bits.D:Bits @ (rep_auGZ size_auH0) ww_sxfE ww_sxfF ww_sxfG ww_sxfH ww_sxfI ww_sxfJ ww_sxfK ww_sxfL ww_sxfM ww_sxfN ww_sxfO ww_sxfP ww_sxfQ ww_sxfR ww_sxfS ww_sxfT ww_sxfU ww_sxfV ww_sxfW ww_sxfX ww_sxfY ww_sxfZ ww_sxg0 } in let { ww_sxg3 [Dmd=] :: GHC.TypeLits.KnownNat (frac_auGY GHC.TypeLits.+ frac_auGY) [LclId, Str=DmdType] ww_sxg3 = Control.Exception.Base.absentError @ (GHC.TypeLits.KnownNat (frac_auGY GHC.TypeLits.+ frac_auGY)) "ww_sxg3{v} [lid] base:GHC.TypeLits.KnownNat{tc 2G}\n\ \ (frac{tv auGY} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} frac{tv auGY} [tv])"# } in let { ww_sxg4 [Dmd=] :: GHC.Enum.Bounded (rep_auGZ (size_auH0 GHC.TypeLits.+ size_auH0)) [LclId, Str=DmdType] ww_sxg4 = Control.Exception.Base.absentError @ (GHC.Enum.Bounded (rep_auGZ (size_auH0 GHC.TypeLits.+ size_auH0))) "ww_sxg4{v} [lid] base:GHC.Enum.Bounded{tc 21}\n\ \ (rep{tv auGZ} [tv] (size{tv auH0} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} size{tv auH0} [tv]))"# } in let { ww_sxfq [Dmd=] :: CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0 [LclId, Str=DmdType] ww_sxfq = (ww_sxft, ww_sxfu, ww_sxfv, ww_sxfw, ww_sxfx, ww_sxfy, ww_sxfz, ww_sxfA, ww_sxfB, ww_sxg2, ww_sxg3, ww_sxg4) } in let { ww_sxg7 [Dmd=] :: GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) [LclId, Str=DmdType] ww_sxg7 = Control.Exception.Base.absentError @ (GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) "ww_sxg7{v} [lid] base:GHC.Num.Num{tc 2b}\n\ \ (rep{tv auGZ} [tv] (size{tv auH0} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2))"# } in let { ww_sxg8 [Dmd=] :: CLaSH.Class.Num.Mult (rep_auGZ size_auH0) (rep_auGZ size_auH0) [LclId, Str=DmdType] ww_sxg8 = Control.Exception.Base.absentError @ (CLaSH.Class.Num.Mult (rep_auGZ size_auH0) (rep_auGZ size_auH0)) "ww_sxg8{v} [lid] clash-prelude-0.5:CLaSH.Class.Num.Mult{tc re8D}\n\ \ (rep{tv auGZ} [tv] size{tv auH0} [tv])\n\ \ (rep{tv auGZ} [tv] size{tv auH0} [tv])"# } in let { ww_sxg9 [Dmd=] :: CLaSH.Class.Num.MResult (rep_auGZ size_auH0) (rep_auGZ size_auH0) ~ rep_auGZ (size_auH0 GHC.TypeLits.+ size_auH0) [LclId, Str=DmdType] ww_sxg9 = Control.Exception.Base.absentError @ (CLaSH.Class.Num.MResult (rep_auGZ size_auH0) (rep_auGZ size_auH0) ~ rep_auGZ (size_auH0 GHC.TypeLits.+ size_auH0)) "ww_sxg9{v} [lid] clash-prelude-0.5:CLaSH.Class.Num.MResult{tc re8E}\n\ \ (rep{tv auGZ} [tv] size{tv auH0} [tv])\n\ \ (rep{tv auGZ} [tv] size{tv auH0} [tv])\n\ \ ghc-prim:GHC.Types.~{(w) tc 31Q} rep{tv auGZ} [tv] (size{tv auH0} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} size{tv auH0} [tv])"# } in let { w_sxfl [Dmd=] :: CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0 [LclId, Str=DmdType] w_sxfl = (ww_sxfp, ww_sxfq, ww_sxg6, ww_sxg7, ww_sxg8, ww_sxg9) } in (\ (@ (frac_auGY :: GHC.TypeLits.Nat)) (@ (rep_auGZ :: GHC.TypeLits.Nat -> *)) (@ (size_auH0 :: GHC.TypeLits.Nat)) (tup_avBm [Dmd=] :: CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) (eta_X1I :: GHC.Integer.Type.Integer) -> case tup_avBm of _ [Occ=Dead, Dmd=] { (tpl_X1L [Dmd=], tpl_X1N [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=]) -> case tpl_X1N of _ [Occ=Dead, Dmd=] { (tpl_X1M [Dmd=], tpl_X1O [Dmd=], tpl_X3i [Dmd=], tpl_X3k [Dmd=], tpl_X3m [Dmd=], tpl_X3o [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> (Data.Bits.shiftL @ (rep_auGZ size_auH0) tpl_B9 (GHC.Num.fromInteger @ (rep_auGZ size_auH0) tpl_B3 eta_X1I) (case GHC.Integer.Type.integerToInt (tpl_Ba `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_auGY ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> GHC.Types.I# wild_akCB })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auGZ size_auH0 ~# CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) } }) @ frac_auGY @ rep_auGZ @ size_auH0 w_sxfl w_sxfm $cfromInteger_avDp [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => GHC.Integer.Type.Integer -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_auGY :: GHC.TypeLits.Nat)) (@ (rep_auGZ :: GHC.TypeLits.Nat -> *)) (@ (size_auH0 :: GHC.TypeLits.Nat)) (w_sxfl [Occ=Once!, Dmd=] :: CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) (w_sxfm [Occ=Once] :: GHC.Integer.Type.Integer) -> case w_sxfl of _ [Occ=Dead] { (_ [Occ=Dead], ww_sxfq [Occ=Once!], ww_sxg6 [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> case ww_sxfq of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], ww_sxfB [Occ=Once!], ww_sxg2 [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> case ww_sxfB of _ [Occ=Dead] { Data.Bits.D:Bits _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] ww_sxfU [Occ=Once] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> $w$cfromInteger_sxgb @ frac_auGY @ rep_auGZ @ size_auH0 ww_sxfU ww_sxg2 ww_sxg6 w_sxfm } } }}] $cfromInteger_avDp = \ (@ (frac_auGY :: GHC.TypeLits.Nat)) (@ (rep_auGZ :: GHC.TypeLits.Nat -> *)) (@ (size_auH0 :: GHC.TypeLits.Nat)) (w_sxfl [Dmd=] :: CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) (w_sxfm :: GHC.Integer.Type.Integer) -> case w_sxfl of ww_sxfo { (ww_sxfp, ww_sxfq, ww_sxg6, ww_sxg7, ww_sxg8, ww_sxg9) -> case ww_sxfq of ww_sxfs { (ww_sxft, ww_sxfu, ww_sxfv, ww_sxfw, ww_sxfx, ww_sxfy, ww_sxfz, ww_sxfA, ww_sxfB, ww_sxg2, ww_sxg3, ww_sxg4) -> case ww_sxfB of ww_sxfD { Data.Bits.D:Bits ww_sxfE ww_sxfF ww_sxfG ww_sxfH ww_sxfI ww_sxfJ ww_sxfK ww_sxfL ww_sxfM ww_sxfN ww_sxfO ww_sxfP ww_sxfQ ww_sxfR ww_sxfS ww_sxfT ww_sxfU ww_sxfV ww_sxfW ww_sxfX ww_sxfY ww_sxfZ ww_sxg0 -> $w$cfromInteger_sxgb @ frac_auGY @ rep_auGZ @ size_auH0 ww_sxfU ww_sxg2 ww_sxg6 w_sxfm } } } a_swkh :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_auGY :: GHC.TypeLits.Nat)) (@ (rep_auGZ :: GHC.TypeLits.Nat -> *)) (@ (size_auH0 :: GHC.TypeLits.Nat)) (tup_avBm [Occ=Once!, Dmd=] :: CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) (eta_X1J [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) -> case tup_avBm of _ [Occ=Dead, Dmd=] { (_ [Occ=Dead, Dmd=], _ [Occ=Dead, Dmd=], tpl_B3 [Occ=Once, Dmd=], _ [Occ=Dead, Dmd=], _ [Occ=Dead, Dmd=], _ [Occ=Dead, Dmd=]) -> GHC.Num.signum @ (rep_auGZ size_auH0) tpl_B3 (eta_X1J `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 ~# rep_auGZ size_auH0)) }}] a_swkh = \ (@ (frac_auGY :: GHC.TypeLits.Nat)) (@ (rep_auGZ :: GHC.TypeLits.Nat -> *)) (@ (size_auH0 :: GHC.TypeLits.Nat)) (tup_avBm [Dmd=] :: CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) (eta_X1J :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) -> case tup_avBm of _ [Occ=Dead, Dmd=] { (tpl_X1L [Dmd=], tpl_X1N [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=]) -> GHC.Num.signum @ (rep_auGZ size_auH0) tpl_B3 (eta_X1J `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 ~# rep_auGZ size_auH0)) } $w$cabs_sxhI :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (1 GHC.TypeLits.<= size_auH0, ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_auH0 GHC.TypeLits.+ 2), CLaSH.Class.BitVector.BitVector (rep_auGZ size_auH0), CLaSH.Class.BitVector.BitVector (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0) ~ size_auH0, CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) ~ (size_auH0 GHC.TypeLits.+ 2), GHC.TypeLits.KnownNat size_auH0, GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ 2), GHC.Enum.Bounded (rep_auGZ size_auH0), Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0, GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=13, Str=DmdType ] $w$cabs_sxhI = \ (@ (frac_auGY :: GHC.TypeLits.Nat)) (@ (rep_auGZ :: GHC.TypeLits.Nat -> *)) (@ (size_auH0 :: GHC.TypeLits.Nat)) (ww_sxhr :: 1 GHC.TypeLits.<= size_auH0) (ww_sxhs :: ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_auH0 GHC.TypeLits.+ 2)) (ww_sxht :: CLaSH.Class.BitVector.BitVector (rep_auGZ size_auH0)) (ww_sxhu :: CLaSH.Class.BitVector.BitVector (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) (ww_sxhv :: CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0) ~ size_auH0) (ww_sxhw :: CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) ~ (size_auH0 GHC.TypeLits.+ 2)) (ww_sxhx :: GHC.TypeLits.KnownNat size_auH0) (ww_sxhy :: GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ 2)) (ww_sxhz :: GHC.Enum.Bounded (rep_auGZ size_auH0)) (ww_sxhA :: Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) (ww_sxhC [Dmd=] :: CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0) (ww_sxhE [Dmd=] :: GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) (w_sxhl :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) -> let { ww_sxho [Dmd=] :: CLaSH.Sized.Fixed.SatN2C rep_auGZ size_auH0 [LclId, Str=DmdType] ww_sxho = (ww_sxhr, ww_sxhs, ww_sxht, ww_sxhu, ww_sxhv, ww_sxhw, ww_sxhx, ww_sxhy, ww_sxhz, ww_sxhA) } in let { ww_sxhD [Dmd=] :: GHC.Num.Num (rep_auGZ size_auH0) [LclId, Str=DmdType] ww_sxhD = Control.Exception.Base.absentError @ (GHC.Num.Num (rep_auGZ size_auH0)) "ww_sxhD{v} [lid] base:GHC.Num.Num{tc 2b}\n\ \ (rep{tv auGZ} [tv] size{tv auH0} [tv])"# } in let { ww_sxhF [Dmd=] :: CLaSH.Class.Num.Mult (rep_auGZ size_auH0) (rep_auGZ size_auH0) [LclId, Str=DmdType] ww_sxhF = Control.Exception.Base.absentError @ (CLaSH.Class.Num.Mult (rep_auGZ size_auH0) (rep_auGZ size_auH0)) "ww_sxhF{v} [lid] clash-prelude-0.5:CLaSH.Class.Num.Mult{tc re8D}\n\ \ (rep{tv auGZ} [tv] size{tv auH0} [tv])\n\ \ (rep{tv auGZ} [tv] size{tv auH0} [tv])"# } in let { ww_sxhG [Dmd=] :: CLaSH.Class.Num.MResult (rep_auGZ size_auH0) (rep_auGZ size_auH0) ~ rep_auGZ (size_auH0 GHC.TypeLits.+ size_auH0) [LclId, Str=DmdType] ww_sxhG = Control.Exception.Base.absentError @ (CLaSH.Class.Num.MResult (rep_auGZ size_auH0) (rep_auGZ size_auH0) ~ rep_auGZ (size_auH0 GHC.TypeLits.+ size_auH0)) "ww_sxhG{v} [lid] clash-prelude-0.5:CLaSH.Class.Num.MResult{tc re8E}\n\ \ (rep{tv auGZ} [tv] size{tv auH0} [tv])\n\ \ (rep{tv auGZ} [tv] size{tv auH0} [tv])\n\ \ ghc-prim:GHC.Types.~{(w) tc 31Q} rep{tv auGZ} [tv] (size{tv auH0} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} size{tv auH0} [tv])"# } in let { w_sxhk [Dmd=] :: CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0 [LclId, Str=DmdType] w_sxhk = (ww_sxho, ww_sxhC, ww_sxhD, ww_sxhE, ww_sxhF, ww_sxhG) } in (\ (@ (frac_XuIJ :: GHC.TypeLits.Nat)) (@ (rep_XuIL :: GHC.TypeLits.Nat -> *)) (@ (size_XuIN :: GHC.TypeLits.Nat)) (tup_XvDa [Dmd=] :: CLaSH.Sized.Fixed.NumFixed frac_XuIJ rep_XuIL size_XuIN) (eta_X1Q :: CLaSH.Sized.Fixed.Fixed frac_XuIJ rep_XuIL size_XuIN) -> let { tup_swsy [Dmd=] :: CLaSH.Sized.Fixed.ResizeFC rep_XuIL (frac_XuIJ GHC.TypeLits.+ frac_XuIJ) frac_XuIJ (size_XuIN GHC.TypeLits.+ size_XuIN) size_XuIN [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_swsy = case tup_XvDa of _ [Occ=Dead, Dmd=] { (tpl_X1T [Dmd=], tpl_X1V [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=]) -> tpl_X1V } } in let { $dKnownNat_swsx :: GHC.TypeLits.KnownNat size_XuIN [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swsx = case tup_swsy of _ [Occ=Dead, Dmd=] { (tpl_X1V [Dmd=], tpl_X1X [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B7 } } in let { tup_swsw [Dmd=] :: CLaSH.Sized.Fixed.SatN2C rep_XuIL size_XuIN [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_swsw = let { tup_swsw [Dmd=] :: CLaSH.Sized.Fixed.SatN2C rep_XuIL size_XuIN [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_swsw = case tup_XvDa of _ [Occ=Dead, Dmd=] { (tpl_X1X [Dmd=], tpl_X1Z [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=]) -> tpl_X1X } } in case tup_swsw of ww_sxgz { (ww_sxgA, ww_sxgB, ww_sxgG, ww_sxgH, ww_sxgN, ww_sxgO, ww_sxgP, ww_sxgQ, ww_sxgR, ww_sxgS) -> case ww_sxgB of ww_sxgD { GHC.Types.Eq# ww_sxgE -> case ww_sxgH of ww_sxgJ { CLaSH.Class.BitVector.D:BitVector ww_sxgK ww_sxgL -> case ww_sxgO of ww_sxgO { __DEFAULT -> case ww_sxgS of ww_sxgU { Data.Bits.D:Bits ww_sxgV ww_sxgW ww_sxgX ww_sxgY ww_sxgZ ww_sxh0 ww_sxh1 ww_sxh2 ww_sxh3 ww_sxh4 ww_sxh5 ww_sxh6 ww_sxh7 ww_sxh8 ww_sxh9 ww_sxha ww_sxhb ww_sxhc ww_sxhd ww_sxhe ww_sxhf ww_sxhg ww_sxhh -> let { ww_sxgA [Dmd=] :: 1 GHC.TypeLits.<= size_XuIN [LclId, Str=DmdType] ww_sxgA = Control.Exception.Base.absentError @ (1 GHC.TypeLits.<= size_XuIN) "ww_sxgA{v} [lid] 1 base:GHC.TypeLits.<={tc r4y} size{tv XuIN} [tv]"# } in let { ww_sxgB [Dmd=] :: ((size_XuIN GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_XuIN GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxgB = GHC.Types.Eq# @ GHC.TypeLits.Nat @ ((size_XuIN GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) @ (size_XuIN GHC.TypeLits.+ 2) @~ ww_sxgE } in let { ww_sxgL [Dmd=] :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIL (size_XuIN GHC.TypeLits.+ 2))) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIL (size_XuIN GHC.TypeLits.+ 2))) CLaSH.Bit.Bit -> rep_XuIL (size_XuIN GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxgL = Control.Exception.Base.absentError @ (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIL (size_XuIN GHC.TypeLits.+ 2))) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIL (size_XuIN GHC.TypeLits.+ 2))) CLaSH.Bit.Bit -> rep_XuIL (size_XuIN GHC.TypeLits.+ 2)) "ww_sxgL{v} [lid] base:GHC.TypeLits.KnownNat{tc 2G}\n\ \ (clash-prelude-0.5:CLaSH.Class.BitVector.BitSize{tc rjwV}\n\ \ (rep{tv XuIL} [tv] (size{tv XuIN} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2))) =>\n\ \ clash-prelude-0.5:CLaSH.Sized.Vector.Vec{tc rejp}\n\ \ (clash-prelude-0.5:CLaSH.Class.BitVector.BitSize{tc rjwV}\n\ \ (rep{tv XuIL} [tv] (size{tv XuIN} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)))\n\ \ clash-prelude-0.5:CLaSH.Bit.Bit{tc riFj}\n\ \ -> rep{tv XuIL} [tv] (size{tv XuIN} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxgH [Dmd=] :: CLaSH.Class.BitVector.BitVector (rep_XuIL (size_XuIN GHC.TypeLits.+ 2)) [LclId, Str=DmdType] ww_sxgH = CLaSH.Class.BitVector.D:BitVector @ (rep_XuIL (size_XuIN GHC.TypeLits.+ 2)) ww_sxgK ww_sxgL } in let { ww_sxgP [Dmd=] :: GHC.TypeLits.KnownNat size_XuIN [LclId, Str=DmdType] ww_sxgP = Control.Exception.Base.absentError @ (GHC.TypeLits.KnownNat size_XuIN) "ww_sxgP{v} [lid] base:GHC.TypeLits.KnownNat{tc 2G}\n\ \ size{tv XuIN} [tv]"# } in let { ww_sxgR [Dmd=] :: GHC.Enum.Bounded (rep_XuIL size_XuIN) [LclId, Str=DmdType] ww_sxgR = Control.Exception.Base.absentError @ (GHC.Enum.Bounded (rep_XuIL size_XuIN)) "ww_sxgR{v} [lid] base:GHC.Enum.Bounded{tc 21}\n\ \ (rep{tv XuIL} [tv] size{tv XuIN} [tv])"# } in let { ww_sxgV [Dmd=] :: GHC.Classes.Eq (rep_XuIL (size_XuIN GHC.TypeLits.+ 2)) [LclId, Str=DmdType] ww_sxgV = Control.Exception.Base.absentError @ (GHC.Classes.Eq (rep_XuIL (size_XuIN GHC.TypeLits.+ 2))) "ww_sxgV{v} [lid] ghc-prim:GHC.Classes.Eq{tc 23}\n\ \ (rep{tv XuIL} [tv] (size{tv XuIN} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2))"# } in let { ww_sxgW [Dmd=] :: rep_XuIL (size_XuIN GHC.TypeLits.+ 2) -> rep_XuIL (size_XuIN GHC.TypeLits.+ 2) -> rep_XuIL (size_XuIN GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxgW = Control.Exception.Base.absentError @ (rep_XuIL (size_XuIN GHC.TypeLits.+ 2) -> rep_XuIL (size_XuIN GHC.TypeLits.+ 2) -> rep_XuIL (size_XuIN GHC.TypeLits.+ 2)) "ww_sxgW{v} [lid] rep{tv XuIL} [tv] (size{tv XuIN} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> rep{tv XuIL} [tv] (size{tv XuIN} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> rep{tv XuIL} [tv] (size{tv XuIN} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxgX [Dmd=] :: rep_XuIL (size_XuIN GHC.TypeLits.+ 2) -> rep_XuIL (size_XuIN GHC.TypeLits.+ 2) -> rep_XuIL (size_XuIN GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxgX = Control.Exception.Base.absentError @ (rep_XuIL (size_XuIN GHC.TypeLits.+ 2) -> rep_XuIL (size_XuIN GHC.TypeLits.+ 2) -> rep_XuIL (size_XuIN GHC.TypeLits.+ 2)) "ww_sxgX{v} [lid] rep{tv XuIL} [tv] (size{tv XuIN} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> rep{tv XuIL} [tv] (size{tv XuIN} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> rep{tv XuIL} [tv] (size{tv XuIN} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxgY [Dmd=] :: rep_XuIL (size_XuIN GHC.TypeLits.+ 2) -> rep_XuIL (size_XuIN GHC.TypeLits.+ 2) -> rep_XuIL (size_XuIN GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxgY = Control.Exception.Base.absentError @ (rep_XuIL (size_XuIN GHC.TypeLits.+ 2) -> rep_XuIL (size_XuIN GHC.TypeLits.+ 2) -> rep_XuIL (size_XuIN GHC.TypeLits.+ 2)) "ww_sxgY{v} [lid] rep{tv XuIL} [tv] (size{tv XuIN} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> rep{tv XuIL} [tv] (size{tv XuIN} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> rep{tv XuIL} [tv] (size{tv XuIN} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxgZ [Dmd=] :: rep_XuIL (size_XuIN GHC.TypeLits.+ 2) -> rep_XuIL (size_XuIN GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxgZ = Control.Exception.Base.absentError @ (rep_XuIL (size_XuIN GHC.TypeLits.+ 2) -> rep_XuIL (size_XuIN GHC.TypeLits.+ 2)) "ww_sxgZ{v} [lid] rep{tv XuIL} [tv] (size{tv XuIN} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> rep{tv XuIL} [tv] (size{tv XuIN} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxh0 [Dmd=] :: rep_XuIL (size_XuIN GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIL (size_XuIN GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxh0 = Control.Exception.Base.absentError @ (rep_XuIL (size_XuIN GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIL (size_XuIN GHC.TypeLits.+ 2)) "ww_sxh0{v} [lid] rep{tv XuIL} [tv] (size{tv XuIN} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIL} [tv] (size{tv XuIN} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxh1 [Dmd=] :: rep_XuIL (size_XuIN GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIL (size_XuIN GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxh1 = Control.Exception.Base.absentError @ (rep_XuIL (size_XuIN GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIL (size_XuIN GHC.TypeLits.+ 2)) "ww_sxh1{v} [lid] rep{tv XuIL} [tv] (size{tv XuIN} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIL} [tv] (size{tv XuIN} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxh2 [Dmd=] :: rep_XuIL (size_XuIN GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxh2 = Control.Exception.Base.absentError @ (rep_XuIL (size_XuIN GHC.TypeLits.+ 2)) "ww_sxh2{v} [lid] rep{tv XuIL} [tv] (size{tv XuIN} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxh3 [Dmd=] :: GHC.Types.Int -> rep_XuIL (size_XuIN GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxh3 = Control.Exception.Base.absentError @ (GHC.Types.Int -> rep_XuIL (size_XuIN GHC.TypeLits.+ 2)) "ww_sxh3{v} [lid] ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIL} [tv] (size{tv XuIN} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxh4 [Dmd=] :: rep_XuIL (size_XuIN GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIL (size_XuIN GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxh4 = Control.Exception.Base.absentError @ (rep_XuIL (size_XuIN GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIL (size_XuIN GHC.TypeLits.+ 2)) "ww_sxh4{v} [lid] rep{tv XuIL} [tv] (size{tv XuIN} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIL} [tv] (size{tv XuIN} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxh5 [Dmd=] :: rep_XuIL (size_XuIN GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIL (size_XuIN GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxh5 = Control.Exception.Base.absentError @ (rep_XuIL (size_XuIN GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIL (size_XuIN GHC.TypeLits.+ 2)) "ww_sxh5{v} [lid] rep{tv XuIL} [tv] (size{tv XuIN} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIL} [tv] (size{tv XuIN} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxh6 [Dmd=] :: rep_XuIL (size_XuIN GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIL (size_XuIN GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxh6 = Control.Exception.Base.absentError @ (rep_XuIL (size_XuIN GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIL (size_XuIN GHC.TypeLits.+ 2)) "ww_sxh6{v} [lid] rep{tv XuIL} [tv] (size{tv XuIN} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIL} [tv] (size{tv XuIN} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxh7 [Dmd=] :: rep_XuIL (size_XuIN GHC.TypeLits.+ 2) -> GHC.Types.Int -> GHC.Types.Bool [LclId, Str=DmdType] ww_sxh7 = Control.Exception.Base.absentError @ (rep_XuIL (size_XuIN GHC.TypeLits.+ 2) -> GHC.Types.Int -> GHC.Types.Bool) "ww_sxh7{v} [lid] rep{tv XuIL} [tv] (size{tv XuIN} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> ghc-prim:GHC.Types.Bool{(w) tc 3c}"# } in let { ww_sxh8 [Dmd=] :: rep_XuIL (size_XuIN GHC.TypeLits.+ 2) -> Data.Maybe.Maybe GHC.Types.Int [LclId, Str=DmdType] ww_sxh8 = Control.Exception.Base.absentError @ (rep_XuIL (size_XuIN GHC.TypeLits.+ 2) -> Data.Maybe.Maybe GHC.Types.Int) "ww_sxh8{v} [lid] rep{tv XuIL} [tv] (size{tv XuIN} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> base:Data.Maybe.Maybe{tc r1b} ghc-prim:GHC.Types.Int{(w) tc 3J}"# } in let { ww_sxh9 [Dmd=] :: rep_XuIL (size_XuIN GHC.TypeLits.+ 2) -> GHC.Types.Int [LclId, Str=DmdType] ww_sxh9 = Control.Exception.Base.absentError @ (rep_XuIL (size_XuIN GHC.TypeLits.+ 2) -> GHC.Types.Int) "ww_sxh9{v} [lid] rep{tv XuIL} [tv] (size{tv XuIN} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}"# } in let { ww_sxhb [Dmd=] :: rep_XuIL (size_XuIN GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIL (size_XuIN GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxhb = Control.Exception.Base.absentError @ (rep_XuIL (size_XuIN GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIL (size_XuIN GHC.TypeLits.+ 2)) "ww_sxhb{v} [lid] rep{tv XuIL} [tv] (size{tv XuIN} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIL} [tv] (size{tv XuIN} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxhc [Dmd=] :: rep_XuIL (size_XuIN GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIL (size_XuIN GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxhc = Control.Exception.Base.absentError @ (rep_XuIL (size_XuIN GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIL (size_XuIN GHC.TypeLits.+ 2)) "ww_sxhc{v} [lid] rep{tv XuIL} [tv] (size{tv XuIN} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIL} [tv] (size{tv XuIN} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxhd [Dmd=] :: rep_XuIL (size_XuIN GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIL (size_XuIN GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxhd = Control.Exception.Base.absentError @ (rep_XuIL (size_XuIN GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIL (size_XuIN GHC.TypeLits.+ 2)) "ww_sxhd{v} [lid] rep{tv XuIL} [tv] (size{tv XuIN} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIL} [tv] (size{tv XuIN} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxhe [Dmd=] :: rep_XuIL (size_XuIN GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIL (size_XuIN GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxhe = Control.Exception.Base.absentError @ (rep_XuIL (size_XuIN GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIL (size_XuIN GHC.TypeLits.+ 2)) "ww_sxhe{v} [lid] rep{tv XuIL} [tv] (size{tv XuIN} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIL} [tv] (size{tv XuIN} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxhf [Dmd=] :: rep_XuIL (size_XuIN GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIL (size_XuIN GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxhf = Control.Exception.Base.absentError @ (rep_XuIL (size_XuIN GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIL (size_XuIN GHC.TypeLits.+ 2)) "ww_sxhf{v} [lid] rep{tv XuIL} [tv] (size{tv XuIN} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIL} [tv] (size{tv XuIN} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxhg [Dmd=] :: rep_XuIL (size_XuIN GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIL (size_XuIN GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxhg = Control.Exception.Base.absentError @ (rep_XuIL (size_XuIN GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIL (size_XuIN GHC.TypeLits.+ 2)) "ww_sxhg{v} [lid] rep{tv XuIL} [tv] (size{tv XuIN} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIL} [tv] (size{tv XuIN} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxhh [Dmd=] :: rep_XuIL (size_XuIN GHC.TypeLits.+ 2) -> GHC.Types.Int [LclId, Str=DmdType] ww_sxhh = Control.Exception.Base.absentError @ (rep_XuIL (size_XuIN GHC.TypeLits.+ 2) -> GHC.Types.Int) "ww_sxhh{v} [lid] rep{tv XuIL} [tv] (size{tv XuIN} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}"# } in let { ww_sxgS [Dmd=] :: Data.Bits.Bits (rep_XuIL (size_XuIN GHC.TypeLits.+ 2)) [LclId, Str=DmdType] ww_sxgS = Data.Bits.D:Bits @ (rep_XuIL (size_XuIN GHC.TypeLits.+ 2)) ww_sxgV ww_sxgW ww_sxgX ww_sxgY ww_sxgZ ww_sxh0 ww_sxh1 ww_sxh2 ww_sxh3 ww_sxh4 ww_sxh5 ww_sxh6 ww_sxh7 ww_sxh8 ww_sxh9 ww_sxha ww_sxhb ww_sxhc ww_sxhd ww_sxhe ww_sxhf ww_sxhg ww_sxhh } in let { tup_swsw [Dmd=] :: CLaSH.Sized.Fixed.SatN2C rep_XuIL size_XuIN [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_swsw = (ww_sxgA, ww_sxgB, ww_sxgG, ww_sxgH, ww_sxgN, ww_sxgO, ww_sxgP, ww_sxgQ, ww_sxgR, ww_sxgS) } in tup_swsw } } } } } } in let { $dKnownNat_swsv :: GHC.TypeLits.KnownNat (size_XuIN GHC.TypeLits.+ 2) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swsv = case tup_swsw of _ [Occ=Dead, Dmd=] { (tpl_X1Z [Dmd=], tpl_X21 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_B8 } } in (CLaSH.Sized.Fixed.satN2 @ rep_XuIL @ size_XuIN (case tup_swsw of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_X20 }, case tup_swsw of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_X22 }, case tup_swsw of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_B3 }, case tup_swsw of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_B4 }, case tup_swsw of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_B5 }, case tup_swsw of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_B6 }, $dKnownNat_swsx, $dKnownNat_swsv, case tup_swsy of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X20 }, case tup_swsw of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_Ba }) (case tup_XvDa of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=]) -> GHC.Num.abs @ (rep_XuIL (size_XuIN GHC.TypeLits.+ 2)) tpl_B4 (case tup_swsy of _ [Occ=Dead, Dmd=] { (tpl_X7i [Dmd=], tpl_X7l [Dmd=], tpl_X5n [Dmd=], tpl_X5p [Dmd=], tpl_X5r [Dmd=], tpl_X5t [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> (tpl_X5t `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuIL ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuIL a_ae8M -> rep_XuIL b_ae8N))) @ size_XuIN @ (size_XuIN GHC.TypeLits.+ 2) $dKnownNat_swsx $dKnownNat_swsv (eta_X1Q `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIJ rep_XuIL size_XuIN ~# rep_XuIL size_XuIN)) }) })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIL size_XuIN ~# CLaSH.Sized.Fixed.Fixed frac_XuIJ rep_XuIL size_XuIN)) @ frac_auGY @ rep_auGZ @ size_auH0 w_sxhk w_sxhl $cabs_avCW [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_auGY :: GHC.TypeLits.Nat)) (@ (rep_auGZ :: GHC.TypeLits.Nat -> *)) (@ (size_auH0 :: GHC.TypeLits.Nat)) (w_sxhk [Occ=Once!, Dmd=] :: CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) (w_sxhl [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) -> case w_sxhk of _ [Occ=Dead] { (ww_sxho [Occ=Once!], ww_sxhC [Occ=Once], _ [Occ=Dead], ww_sxhE [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> case ww_sxho of _ [Occ=Dead] { (ww_sxhr [Occ=Once], ww_sxhs [Occ=Once], ww_sxht [Occ=Once], ww_sxhu [Occ=Once], ww_sxhv [Occ=Once], ww_sxhw [Occ=Once], ww_sxhx [Occ=Once], ww_sxhy [Occ=Once], ww_sxhz [Occ=Once], ww_sxhA [Occ=Once]) -> $w$cabs_sxhI @ frac_auGY @ rep_auGZ @ size_auH0 ww_sxhr ww_sxhs ww_sxht ww_sxhu ww_sxhv ww_sxhw ww_sxhx ww_sxhy ww_sxhz ww_sxhA ww_sxhC ww_sxhE w_sxhl } }}] $cabs_avCW = \ (@ (frac_auGY :: GHC.TypeLits.Nat)) (@ (rep_auGZ :: GHC.TypeLits.Nat -> *)) (@ (size_auH0 :: GHC.TypeLits.Nat)) (w_sxhk [Dmd=] :: CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) (w_sxhl :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) -> case w_sxhk of ww_sxhn { (ww_sxho, ww_sxhC, ww_sxhD, ww_sxhE, ww_sxhF, ww_sxhG) -> case ww_sxho of ww_sxhq { (ww_sxhr, ww_sxhs, ww_sxht, ww_sxhu, ww_sxhv, ww_sxhw, ww_sxhx, ww_sxhy, ww_sxhz, ww_sxhA) -> $w$cabs_sxhI @ frac_auGY @ rep_auGZ @ size_auH0 ww_sxhr ww_sxhs ww_sxht ww_sxhu ww_sxhv ww_sxhw ww_sxhx ww_sxhy ww_sxhz ww_sxhA ww_sxhC ww_sxhE w_sxhl } } $w$cnegate_sxiT :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (1 GHC.TypeLits.<= size_auH0, ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_auH0 GHC.TypeLits.+ 2), CLaSH.Class.BitVector.BitVector (rep_auGZ size_auH0), CLaSH.Class.BitVector.BitVector (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0) ~ size_auH0, CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) ~ (size_auH0 GHC.TypeLits.+ 2), GHC.TypeLits.KnownNat size_auH0, GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ 2), GHC.Enum.Bounded (rep_auGZ size_auH0), Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0, GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=13, Str=DmdType ] $w$cnegate_sxiT = \ (@ (frac_auGY :: GHC.TypeLits.Nat)) (@ (rep_auGZ :: GHC.TypeLits.Nat -> *)) (@ (size_auH0 :: GHC.TypeLits.Nat)) (ww_sxiC :: 1 GHC.TypeLits.<= size_auH0) (ww_sxiD :: ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_auH0 GHC.TypeLits.+ 2)) (ww_sxiE :: CLaSH.Class.BitVector.BitVector (rep_auGZ size_auH0)) (ww_sxiF :: CLaSH.Class.BitVector.BitVector (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) (ww_sxiG :: CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0) ~ size_auH0) (ww_sxiH :: CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) ~ (size_auH0 GHC.TypeLits.+ 2)) (ww_sxiI :: GHC.TypeLits.KnownNat size_auH0) (ww_sxiJ :: GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ 2)) (ww_sxiK :: GHC.Enum.Bounded (rep_auGZ size_auH0)) (ww_sxiL :: Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) (ww_sxiN [Dmd=] :: CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0) (ww_sxiP [Dmd=] :: GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) (w_sxiw :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) -> let { ww_sxiz [Dmd=] :: CLaSH.Sized.Fixed.SatN2C rep_auGZ size_auH0 [LclId, Str=DmdType] ww_sxiz = (ww_sxiC, ww_sxiD, ww_sxiE, ww_sxiF, ww_sxiG, ww_sxiH, ww_sxiI, ww_sxiJ, ww_sxiK, ww_sxiL) } in let { ww_sxiO [Dmd=] :: GHC.Num.Num (rep_auGZ size_auH0) [LclId, Str=DmdType] ww_sxiO = Control.Exception.Base.absentError @ (GHC.Num.Num (rep_auGZ size_auH0)) "ww_sxiO{v} [lid] base:GHC.Num.Num{tc 2b}\n\ \ (rep{tv auGZ} [tv] size{tv auH0} [tv])"# } in let { ww_sxiQ [Dmd=] :: CLaSH.Class.Num.Mult (rep_auGZ size_auH0) (rep_auGZ size_auH0) [LclId, Str=DmdType] ww_sxiQ = Control.Exception.Base.absentError @ (CLaSH.Class.Num.Mult (rep_auGZ size_auH0) (rep_auGZ size_auH0)) "ww_sxiQ{v} [lid] clash-prelude-0.5:CLaSH.Class.Num.Mult{tc re8D}\n\ \ (rep{tv auGZ} [tv] size{tv auH0} [tv])\n\ \ (rep{tv auGZ} [tv] size{tv auH0} [tv])"# } in let { ww_sxiR [Dmd=] :: CLaSH.Class.Num.MResult (rep_auGZ size_auH0) (rep_auGZ size_auH0) ~ rep_auGZ (size_auH0 GHC.TypeLits.+ size_auH0) [LclId, Str=DmdType] ww_sxiR = Control.Exception.Base.absentError @ (CLaSH.Class.Num.MResult (rep_auGZ size_auH0) (rep_auGZ size_auH0) ~ rep_auGZ (size_auH0 GHC.TypeLits.+ size_auH0)) "ww_sxiR{v} [lid] clash-prelude-0.5:CLaSH.Class.Num.MResult{tc re8E}\n\ \ (rep{tv auGZ} [tv] size{tv auH0} [tv])\n\ \ (rep{tv auGZ} [tv] size{tv auH0} [tv])\n\ \ ghc-prim:GHC.Types.~{(w) tc 31Q} rep{tv auGZ} [tv] (size{tv auH0} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} size{tv auH0} [tv])"# } in let { w_sxiv [Dmd=] :: CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0 [LclId, Str=DmdType] w_sxiv = (ww_sxiz, ww_sxiN, ww_sxiO, ww_sxiP, ww_sxiQ, ww_sxiR) } in (\ (@ (frac_XuIK :: GHC.TypeLits.Nat)) (@ (rep_XuIM :: GHC.TypeLits.Nat -> *)) (@ (size_XuIO :: GHC.TypeLits.Nat)) (tup_XvDb [Dmd=] :: CLaSH.Sized.Fixed.NumFixed frac_XuIK rep_XuIM size_XuIO) (eta_X1R :: CLaSH.Sized.Fixed.Fixed frac_XuIK rep_XuIM size_XuIO) -> let { tup_swsq [Dmd=] :: CLaSH.Sized.Fixed.ResizeFC rep_XuIM (frac_XuIK GHC.TypeLits.+ frac_XuIK) frac_XuIK (size_XuIO GHC.TypeLits.+ size_XuIO) size_XuIO [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_swsq = case tup_XvDb of _ [Occ=Dead, Dmd=] { (tpl_X1U [Dmd=], tpl_X1W [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=]) -> tpl_X1W } } in let { $dKnownNat_swsp :: GHC.TypeLits.KnownNat size_XuIO [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swsp = case tup_swsq of _ [Occ=Dead, Dmd=] { (tpl_X1W [Dmd=], tpl_X1Y [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B7 } } in let { tup_swso [Dmd=] :: CLaSH.Sized.Fixed.SatN2C rep_XuIM size_XuIO [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_swso = let { tup_swso [Dmd=] :: CLaSH.Sized.Fixed.SatN2C rep_XuIM size_XuIO [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_swso = case tup_XvDb of _ [Occ=Dead, Dmd=] { (tpl_X1Y [Dmd=], tpl_X20 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=]) -> tpl_X1Y } } in case tup_swso of ww_sxhK { (ww_sxhL, ww_sxhM, ww_sxhR, ww_sxhS, ww_sxhY, ww_sxhZ, ww_sxi0, ww_sxi1, ww_sxi2, ww_sxi3) -> case ww_sxhM of ww_sxhO { GHC.Types.Eq# ww_sxhP -> case ww_sxhS of ww_sxhU { CLaSH.Class.BitVector.D:BitVector ww_sxhV ww_sxhW -> case ww_sxhZ of ww_sxhZ { __DEFAULT -> case ww_sxi3 of ww_sxi5 { Data.Bits.D:Bits ww_sxi6 ww_sxi7 ww_sxi8 ww_sxi9 ww_sxia ww_sxib ww_sxic ww_sxid ww_sxie ww_sxif ww_sxig ww_sxih ww_sxii ww_sxij ww_sxik ww_sxil ww_sxim ww_sxin ww_sxio ww_sxip ww_sxiq ww_sxir ww_sxis -> let { ww_sxhL [Dmd=] :: 1 GHC.TypeLits.<= size_XuIO [LclId, Str=DmdType] ww_sxhL = Control.Exception.Base.absentError @ (1 GHC.TypeLits.<= size_XuIO) "ww_sxhL{v} [lid] 1 base:GHC.TypeLits.<={tc r4y} size{tv XuIO} [tv]"# } in let { ww_sxhM [Dmd=] :: ((size_XuIO GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_XuIO GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxhM = GHC.Types.Eq# @ GHC.TypeLits.Nat @ ((size_XuIO GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) @ (size_XuIO GHC.TypeLits.+ 2) @~ ww_sxhP } in let { ww_sxhW [Dmd=] :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIM (size_XuIO GHC.TypeLits.+ 2))) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIM (size_XuIO GHC.TypeLits.+ 2))) CLaSH.Bit.Bit -> rep_XuIM (size_XuIO GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxhW = Control.Exception.Base.absentError @ (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIM (size_XuIO GHC.TypeLits.+ 2))) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIM (size_XuIO GHC.TypeLits.+ 2))) CLaSH.Bit.Bit -> rep_XuIM (size_XuIO GHC.TypeLits.+ 2)) "ww_sxhW{v} [lid] base:GHC.TypeLits.KnownNat{tc 2G}\n\ \ (clash-prelude-0.5:CLaSH.Class.BitVector.BitSize{tc rjwV}\n\ \ (rep{tv XuIM} [tv] (size{tv XuIO} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2))) =>\n\ \ clash-prelude-0.5:CLaSH.Sized.Vector.Vec{tc rejp}\n\ \ (clash-prelude-0.5:CLaSH.Class.BitVector.BitSize{tc rjwV}\n\ \ (rep{tv XuIM} [tv] (size{tv XuIO} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)))\n\ \ clash-prelude-0.5:CLaSH.Bit.Bit{tc riFj}\n\ \ -> rep{tv XuIM} [tv] (size{tv XuIO} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxhS [Dmd=] :: CLaSH.Class.BitVector.BitVector (rep_XuIM (size_XuIO GHC.TypeLits.+ 2)) [LclId, Str=DmdType] ww_sxhS = CLaSH.Class.BitVector.D:BitVector @ (rep_XuIM (size_XuIO GHC.TypeLits.+ 2)) ww_sxhV ww_sxhW } in let { ww_sxi0 [Dmd=] :: GHC.TypeLits.KnownNat size_XuIO [LclId, Str=DmdType] ww_sxi0 = Control.Exception.Base.absentError @ (GHC.TypeLits.KnownNat size_XuIO) "ww_sxi0{v} [lid] base:GHC.TypeLits.KnownNat{tc 2G}\n\ \ size{tv XuIO} [tv]"# } in let { ww_sxi2 [Dmd=] :: GHC.Enum.Bounded (rep_XuIM size_XuIO) [LclId, Str=DmdType] ww_sxi2 = Control.Exception.Base.absentError @ (GHC.Enum.Bounded (rep_XuIM size_XuIO)) "ww_sxi2{v} [lid] base:GHC.Enum.Bounded{tc 21}\n\ \ (rep{tv XuIM} [tv] size{tv XuIO} [tv])"# } in let { ww_sxi6 [Dmd=] :: GHC.Classes.Eq (rep_XuIM (size_XuIO GHC.TypeLits.+ 2)) [LclId, Str=DmdType] ww_sxi6 = Control.Exception.Base.absentError @ (GHC.Classes.Eq (rep_XuIM (size_XuIO GHC.TypeLits.+ 2))) "ww_sxi6{v} [lid] ghc-prim:GHC.Classes.Eq{tc 23}\n\ \ (rep{tv XuIM} [tv] (size{tv XuIO} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2))"# } in let { ww_sxi7 [Dmd=] :: rep_XuIM (size_XuIO GHC.TypeLits.+ 2) -> rep_XuIM (size_XuIO GHC.TypeLits.+ 2) -> rep_XuIM (size_XuIO GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxi7 = Control.Exception.Base.absentError @ (rep_XuIM (size_XuIO GHC.TypeLits.+ 2) -> rep_XuIM (size_XuIO GHC.TypeLits.+ 2) -> rep_XuIM (size_XuIO GHC.TypeLits.+ 2)) "ww_sxi7{v} [lid] rep{tv XuIM} [tv] (size{tv XuIO} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> rep{tv XuIM} [tv] (size{tv XuIO} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> rep{tv XuIM} [tv] (size{tv XuIO} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxi8 [Dmd=] :: rep_XuIM (size_XuIO GHC.TypeLits.+ 2) -> rep_XuIM (size_XuIO GHC.TypeLits.+ 2) -> rep_XuIM (size_XuIO GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxi8 = Control.Exception.Base.absentError @ (rep_XuIM (size_XuIO GHC.TypeLits.+ 2) -> rep_XuIM (size_XuIO GHC.TypeLits.+ 2) -> rep_XuIM (size_XuIO GHC.TypeLits.+ 2)) "ww_sxi8{v} [lid] rep{tv XuIM} [tv] (size{tv XuIO} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> rep{tv XuIM} [tv] (size{tv XuIO} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> rep{tv XuIM} [tv] (size{tv XuIO} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxi9 [Dmd=] :: rep_XuIM (size_XuIO GHC.TypeLits.+ 2) -> rep_XuIM (size_XuIO GHC.TypeLits.+ 2) -> rep_XuIM (size_XuIO GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxi9 = Control.Exception.Base.absentError @ (rep_XuIM (size_XuIO GHC.TypeLits.+ 2) -> rep_XuIM (size_XuIO GHC.TypeLits.+ 2) -> rep_XuIM (size_XuIO GHC.TypeLits.+ 2)) "ww_sxi9{v} [lid] rep{tv XuIM} [tv] (size{tv XuIO} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> rep{tv XuIM} [tv] (size{tv XuIO} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> rep{tv XuIM} [tv] (size{tv XuIO} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxia [Dmd=] :: rep_XuIM (size_XuIO GHC.TypeLits.+ 2) -> rep_XuIM (size_XuIO GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxia = Control.Exception.Base.absentError @ (rep_XuIM (size_XuIO GHC.TypeLits.+ 2) -> rep_XuIM (size_XuIO GHC.TypeLits.+ 2)) "ww_sxia{v} [lid] rep{tv XuIM} [tv] (size{tv XuIO} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> rep{tv XuIM} [tv] (size{tv XuIO} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxib [Dmd=] :: rep_XuIM (size_XuIO GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIM (size_XuIO GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxib = Control.Exception.Base.absentError @ (rep_XuIM (size_XuIO GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIM (size_XuIO GHC.TypeLits.+ 2)) "ww_sxib{v} [lid] rep{tv XuIM} [tv] (size{tv XuIO} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIM} [tv] (size{tv XuIO} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxic [Dmd=] :: rep_XuIM (size_XuIO GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIM (size_XuIO GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxic = Control.Exception.Base.absentError @ (rep_XuIM (size_XuIO GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIM (size_XuIO GHC.TypeLits.+ 2)) "ww_sxic{v} [lid] rep{tv XuIM} [tv] (size{tv XuIO} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIM} [tv] (size{tv XuIO} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxid [Dmd=] :: rep_XuIM (size_XuIO GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxid = Control.Exception.Base.absentError @ (rep_XuIM (size_XuIO GHC.TypeLits.+ 2)) "ww_sxid{v} [lid] rep{tv XuIM} [tv] (size{tv XuIO} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxie [Dmd=] :: GHC.Types.Int -> rep_XuIM (size_XuIO GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxie = Control.Exception.Base.absentError @ (GHC.Types.Int -> rep_XuIM (size_XuIO GHC.TypeLits.+ 2)) "ww_sxie{v} [lid] ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIM} [tv] (size{tv XuIO} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxif [Dmd=] :: rep_XuIM (size_XuIO GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIM (size_XuIO GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxif = Control.Exception.Base.absentError @ (rep_XuIM (size_XuIO GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIM (size_XuIO GHC.TypeLits.+ 2)) "ww_sxif{v} [lid] rep{tv XuIM} [tv] (size{tv XuIO} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIM} [tv] (size{tv XuIO} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxig [Dmd=] :: rep_XuIM (size_XuIO GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIM (size_XuIO GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxig = Control.Exception.Base.absentError @ (rep_XuIM (size_XuIO GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIM (size_XuIO GHC.TypeLits.+ 2)) "ww_sxig{v} [lid] rep{tv XuIM} [tv] (size{tv XuIO} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIM} [tv] (size{tv XuIO} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxih [Dmd=] :: rep_XuIM (size_XuIO GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIM (size_XuIO GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxih = Control.Exception.Base.absentError @ (rep_XuIM (size_XuIO GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIM (size_XuIO GHC.TypeLits.+ 2)) "ww_sxih{v} [lid] rep{tv XuIM} [tv] (size{tv XuIO} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIM} [tv] (size{tv XuIO} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxii [Dmd=] :: rep_XuIM (size_XuIO GHC.TypeLits.+ 2) -> GHC.Types.Int -> GHC.Types.Bool [LclId, Str=DmdType] ww_sxii = Control.Exception.Base.absentError @ (rep_XuIM (size_XuIO GHC.TypeLits.+ 2) -> GHC.Types.Int -> GHC.Types.Bool) "ww_sxii{v} [lid] rep{tv XuIM} [tv] (size{tv XuIO} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> ghc-prim:GHC.Types.Bool{(w) tc 3c}"# } in let { ww_sxij [Dmd=] :: rep_XuIM (size_XuIO GHC.TypeLits.+ 2) -> Data.Maybe.Maybe GHC.Types.Int [LclId, Str=DmdType] ww_sxij = Control.Exception.Base.absentError @ (rep_XuIM (size_XuIO GHC.TypeLits.+ 2) -> Data.Maybe.Maybe GHC.Types.Int) "ww_sxij{v} [lid] rep{tv XuIM} [tv] (size{tv XuIO} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> base:Data.Maybe.Maybe{tc r1b} ghc-prim:GHC.Types.Int{(w) tc 3J}"# } in let { ww_sxik [Dmd=] :: rep_XuIM (size_XuIO GHC.TypeLits.+ 2) -> GHC.Types.Int [LclId, Str=DmdType] ww_sxik = Control.Exception.Base.absentError @ (rep_XuIM (size_XuIO GHC.TypeLits.+ 2) -> GHC.Types.Int) "ww_sxik{v} [lid] rep{tv XuIM} [tv] (size{tv XuIO} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}"# } in let { ww_sxim [Dmd=] :: rep_XuIM (size_XuIO GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIM (size_XuIO GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxim = Control.Exception.Base.absentError @ (rep_XuIM (size_XuIO GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIM (size_XuIO GHC.TypeLits.+ 2)) "ww_sxim{v} [lid] rep{tv XuIM} [tv] (size{tv XuIO} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIM} [tv] (size{tv XuIO} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxin [Dmd=] :: rep_XuIM (size_XuIO GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIM (size_XuIO GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxin = Control.Exception.Base.absentError @ (rep_XuIM (size_XuIO GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIM (size_XuIO GHC.TypeLits.+ 2)) "ww_sxin{v} [lid] rep{tv XuIM} [tv] (size{tv XuIO} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIM} [tv] (size{tv XuIO} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxio [Dmd=] :: rep_XuIM (size_XuIO GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIM (size_XuIO GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxio = Control.Exception.Base.absentError @ (rep_XuIM (size_XuIO GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIM (size_XuIO GHC.TypeLits.+ 2)) "ww_sxio{v} [lid] rep{tv XuIM} [tv] (size{tv XuIO} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIM} [tv] (size{tv XuIO} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxip [Dmd=] :: rep_XuIM (size_XuIO GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIM (size_XuIO GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxip = Control.Exception.Base.absentError @ (rep_XuIM (size_XuIO GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIM (size_XuIO GHC.TypeLits.+ 2)) "ww_sxip{v} [lid] rep{tv XuIM} [tv] (size{tv XuIO} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIM} [tv] (size{tv XuIO} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxiq [Dmd=] :: rep_XuIM (size_XuIO GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIM (size_XuIO GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxiq = Control.Exception.Base.absentError @ (rep_XuIM (size_XuIO GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIM (size_XuIO GHC.TypeLits.+ 2)) "ww_sxiq{v} [lid] rep{tv XuIM} [tv] (size{tv XuIO} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIM} [tv] (size{tv XuIO} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxir [Dmd=] :: rep_XuIM (size_XuIO GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIM (size_XuIO GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxir = Control.Exception.Base.absentError @ (rep_XuIM (size_XuIO GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIM (size_XuIO GHC.TypeLits.+ 2)) "ww_sxir{v} [lid] rep{tv XuIM} [tv] (size{tv XuIO} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIM} [tv] (size{tv XuIO} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxis [Dmd=] :: rep_XuIM (size_XuIO GHC.TypeLits.+ 2) -> GHC.Types.Int [LclId, Str=DmdType] ww_sxis = Control.Exception.Base.absentError @ (rep_XuIM (size_XuIO GHC.TypeLits.+ 2) -> GHC.Types.Int) "ww_sxis{v} [lid] rep{tv XuIM} [tv] (size{tv XuIO} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}"# } in let { ww_sxi3 [Dmd=] :: Data.Bits.Bits (rep_XuIM (size_XuIO GHC.TypeLits.+ 2)) [LclId, Str=DmdType] ww_sxi3 = Data.Bits.D:Bits @ (rep_XuIM (size_XuIO GHC.TypeLits.+ 2)) ww_sxi6 ww_sxi7 ww_sxi8 ww_sxi9 ww_sxia ww_sxib ww_sxic ww_sxid ww_sxie ww_sxif ww_sxig ww_sxih ww_sxii ww_sxij ww_sxik ww_sxil ww_sxim ww_sxin ww_sxio ww_sxip ww_sxiq ww_sxir ww_sxis } in let { tup_swso [Dmd=] :: CLaSH.Sized.Fixed.SatN2C rep_XuIM size_XuIO [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_swso = (ww_sxhL, ww_sxhM, ww_sxhR, ww_sxhS, ww_sxhY, ww_sxhZ, ww_sxi0, ww_sxi1, ww_sxi2, ww_sxi3) } in tup_swso } } } } } } in let { $dKnownNat_swsn :: GHC.TypeLits.KnownNat (size_XuIO GHC.TypeLits.+ 2) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swsn = case tup_swso of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_B8 } } in (CLaSH.Sized.Fixed.satN2 @ rep_XuIM @ size_XuIO (case tup_swso of _ [Occ=Dead, Dmd=] { (tpl_X21 [Dmd=], tpl_X23 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_X21 }, case tup_swso of _ [Occ=Dead, Dmd=] { (tpl_X21 [Dmd=], tpl_X23 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_X23 }, case tup_swso of _ [Occ=Dead, Dmd=] { (tpl_X21 [Dmd=], tpl_X23 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_B3 }, case tup_swso of _ [Occ=Dead, Dmd=] { (tpl_X21 [Dmd=], tpl_X23 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_B4 }, case tup_swso of _ [Occ=Dead, Dmd=] { (tpl_X21 [Dmd=], tpl_X23 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_B5 }, case tup_swso of _ [Occ=Dead, Dmd=] { (tpl_X21 [Dmd=], tpl_X23 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_B6 }, $dKnownNat_swsp, $dKnownNat_swsn, case tup_swsq of _ [Occ=Dead, Dmd=] { (tpl_X21 [Dmd=], tpl_X23 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X21 }, case tup_swso of _ [Occ=Dead, Dmd=] { (tpl_X21 [Dmd=], tpl_X23 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_Ba }) (case tup_XvDb of _ [Occ=Dead, Dmd=] { (tpl_X21 [Dmd=], tpl_X23 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=]) -> GHC.Num.negate @ (rep_XuIM (size_XuIO GHC.TypeLits.+ 2)) tpl_B4 (case tup_swsq of _ [Occ=Dead, Dmd=] { (tpl_X7k [Dmd=], tpl_X7n [Dmd=], tpl_X5o [Dmd=], tpl_X5q [Dmd=], tpl_X5s [Dmd=], tpl_X5u [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> (tpl_X5u `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuIM ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuIM a_ae8M -> rep_XuIM b_ae8N))) @ size_XuIO @ (size_XuIO GHC.TypeLits.+ 2) $dKnownNat_swsp $dKnownNat_swsn (eta_X1R `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIK rep_XuIM size_XuIO ~# rep_XuIM size_XuIO)) }) })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIM size_XuIO ~# CLaSH.Sized.Fixed.Fixed frac_XuIK rep_XuIM size_XuIO)) @ frac_auGY @ rep_auGZ @ size_auH0 w_sxiv w_sxiw $cnegate_avCC [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_auGY :: GHC.TypeLits.Nat)) (@ (rep_auGZ :: GHC.TypeLits.Nat -> *)) (@ (size_auH0 :: GHC.TypeLits.Nat)) (w_sxiv [Occ=Once!, Dmd=] :: CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) (w_sxiw [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) -> case w_sxiv of _ [Occ=Dead] { (ww_sxiz [Occ=Once!], ww_sxiN [Occ=Once], _ [Occ=Dead], ww_sxiP [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> case ww_sxiz of _ [Occ=Dead] { (ww_sxiC [Occ=Once], ww_sxiD [Occ=Once], ww_sxiE [Occ=Once], ww_sxiF [Occ=Once], ww_sxiG [Occ=Once], ww_sxiH [Occ=Once], ww_sxiI [Occ=Once], ww_sxiJ [Occ=Once], ww_sxiK [Occ=Once], ww_sxiL [Occ=Once]) -> $w$cnegate_sxiT @ frac_auGY @ rep_auGZ @ size_auH0 ww_sxiC ww_sxiD ww_sxiE ww_sxiF ww_sxiG ww_sxiH ww_sxiI ww_sxiJ ww_sxiK ww_sxiL ww_sxiN ww_sxiP w_sxiw } }}] $cnegate_avCC = \ (@ (frac_auGY :: GHC.TypeLits.Nat)) (@ (rep_auGZ :: GHC.TypeLits.Nat -> *)) (@ (size_auH0 :: GHC.TypeLits.Nat)) (w_sxiv [Dmd=] :: CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) (w_sxiw :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) -> case w_sxiv of ww_sxiy { (ww_sxiz, ww_sxiN, ww_sxiO, ww_sxiP, ww_sxiQ, ww_sxiR) -> case ww_sxiz of ww_sxiB { (ww_sxiC, ww_sxiD, ww_sxiE, ww_sxiF, ww_sxiG, ww_sxiH, ww_sxiI, ww_sxiJ, ww_sxiK, ww_sxiL) -> $w$cnegate_sxiT @ frac_auGY @ rep_auGZ @ size_auH0 ww_sxiC ww_sxiD ww_sxiE ww_sxiF ww_sxiG ww_sxiH ww_sxiI ww_sxiJ ww_sxiK ww_sxiL ww_sxiN ww_sxiP w_sxiw } } $w$c-_sxk5 :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (1 GHC.TypeLits.<= size_auH0, ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_auH0 GHC.TypeLits.+ 2), CLaSH.Class.BitVector.BitVector (rep_auGZ size_auH0), CLaSH.Class.BitVector.BitVector (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0) ~ size_auH0, CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) ~ (size_auH0 GHC.TypeLits.+ 2), GHC.TypeLits.KnownNat size_auH0, GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ 2), GHC.Enum.Bounded (rep_auGZ size_auH0), Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0, GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=14, Str=DmdType ] $w$c-_sxk5 = \ (@ (frac_auGY :: GHC.TypeLits.Nat)) (@ (rep_auGZ :: GHC.TypeLits.Nat -> *)) (@ (size_auH0 :: GHC.TypeLits.Nat)) (ww_sxjO :: 1 GHC.TypeLits.<= size_auH0) (ww_sxjP :: ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_auH0 GHC.TypeLits.+ 2)) (ww_sxjQ :: CLaSH.Class.BitVector.BitVector (rep_auGZ size_auH0)) (ww_sxjR :: CLaSH.Class.BitVector.BitVector (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) (ww_sxjS :: CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0) ~ size_auH0) (ww_sxjT :: CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) ~ (size_auH0 GHC.TypeLits.+ 2)) (ww_sxjU :: GHC.TypeLits.KnownNat size_auH0) (ww_sxjV :: GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ 2)) (ww_sxjW :: GHC.Enum.Bounded (rep_auGZ size_auH0)) (ww_sxjX :: Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) (ww_sxjZ [Dmd=] :: CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0) (ww_sxk1 [Dmd=] :: GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) (w_sxjH :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) (w_sxjI :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) -> let { ww_sxjL [Dmd=] :: CLaSH.Sized.Fixed.SatN2C rep_auGZ size_auH0 [LclId, Str=DmdType] ww_sxjL = (ww_sxjO, ww_sxjP, ww_sxjQ, ww_sxjR, ww_sxjS, ww_sxjT, ww_sxjU, ww_sxjV, ww_sxjW, ww_sxjX) } in let { ww_sxk0 [Dmd=] :: GHC.Num.Num (rep_auGZ size_auH0) [LclId, Str=DmdType] ww_sxk0 = Control.Exception.Base.absentError @ (GHC.Num.Num (rep_auGZ size_auH0)) "ww_sxk0{v} [lid] base:GHC.Num.Num{tc 2b}\n\ \ (rep{tv auGZ} [tv] size{tv auH0} [tv])"# } in let { ww_sxk2 [Dmd=] :: CLaSH.Class.Num.Mult (rep_auGZ size_auH0) (rep_auGZ size_auH0) [LclId, Str=DmdType] ww_sxk2 = Control.Exception.Base.absentError @ (CLaSH.Class.Num.Mult (rep_auGZ size_auH0) (rep_auGZ size_auH0)) "ww_sxk2{v} [lid] clash-prelude-0.5:CLaSH.Class.Num.Mult{tc re8D}\n\ \ (rep{tv auGZ} [tv] size{tv auH0} [tv])\n\ \ (rep{tv auGZ} [tv] size{tv auH0} [tv])"# } in let { ww_sxk3 [Dmd=] :: CLaSH.Class.Num.MResult (rep_auGZ size_auH0) (rep_auGZ size_auH0) ~ rep_auGZ (size_auH0 GHC.TypeLits.+ size_auH0) [LclId, Str=DmdType] ww_sxk3 = Control.Exception.Base.absentError @ (CLaSH.Class.Num.MResult (rep_auGZ size_auH0) (rep_auGZ size_auH0) ~ rep_auGZ (size_auH0 GHC.TypeLits.+ size_auH0)) "ww_sxk3{v} [lid] clash-prelude-0.5:CLaSH.Class.Num.MResult{tc re8E}\n\ \ (rep{tv auGZ} [tv] size{tv auH0} [tv])\n\ \ (rep{tv auGZ} [tv] size{tv auH0} [tv])\n\ \ ghc-prim:GHC.Types.~{(w) tc 31Q} rep{tv auGZ} [tv] (size{tv auH0} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} size{tv auH0} [tv])"# } in let { w_sxjG [Dmd=] :: CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0 [LclId, Str=DmdType] w_sxjG = (ww_sxjL, ww_sxjZ, ww_sxk0, ww_sxk1, ww_sxk2, ww_sxk3) } in (\ (@ (frac_XuIL :: GHC.TypeLits.Nat)) (@ (rep_XuIN :: GHC.TypeLits.Nat -> *)) (@ (size_XuIP :: GHC.TypeLits.Nat)) (tup_XvDc [Dmd=] :: CLaSH.Sized.Fixed.NumFixed frac_XuIL rep_XuIN size_XuIP) (eta_X1T :: CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP) (eta_X3L :: CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP) -> let { tup_swsi [Dmd=] :: CLaSH.Sized.Fixed.ResizeFC rep_XuIN (frac_XuIL GHC.TypeLits.+ frac_XuIL) frac_XuIL (size_XuIP GHC.TypeLits.+ size_XuIP) size_XuIP [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_swsi = case tup_XvDc of _ [Occ=Dead, Dmd=] { (tpl_X1W [Dmd=], tpl_X1Y [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=]) -> tpl_X1Y } } in let { $dKnownNat_swsg :: GHC.TypeLits.KnownNat size_XuIP [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swsg = case tup_swsi of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B7 } } in let { tup_swsf [Dmd=] :: CLaSH.Sized.Fixed.SatN2C rep_XuIN size_XuIP [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_swsf = let { tup_swsf [Dmd=] :: CLaSH.Sized.Fixed.SatN2C rep_XuIN size_XuIP [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_swsf = case tup_XvDc of _ [Occ=Dead, Dmd=] { (tpl_X22 [Dmd=], tpl_X24 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=]) -> tpl_X22 } } in case tup_swsf of ww_sxiV { (ww_sxiW, ww_sxiX, ww_sxj2, ww_sxj3, ww_sxj9, ww_sxja, ww_sxjb, ww_sxjc, ww_sxjd, ww_sxje) -> case ww_sxiX of ww_sxiZ { GHC.Types.Eq# ww_sxj0 -> case ww_sxj3 of ww_sxj5 { CLaSH.Class.BitVector.D:BitVector ww_sxj6 ww_sxj7 -> case ww_sxja of ww_sxja { __DEFAULT -> case ww_sxje of ww_sxjg { Data.Bits.D:Bits ww_sxjh ww_sxji ww_sxjj ww_sxjk ww_sxjl ww_sxjm ww_sxjn ww_sxjo ww_sxjp ww_sxjq ww_sxjr ww_sxjs ww_sxjt ww_sxju ww_sxjv ww_sxjw ww_sxjx ww_sxjy ww_sxjz ww_sxjA ww_sxjB ww_sxjC ww_sxjD -> let { ww_sxiW [Dmd=] :: 1 GHC.TypeLits.<= size_XuIP [LclId, Str=DmdType] ww_sxiW = Control.Exception.Base.absentError @ (1 GHC.TypeLits.<= size_XuIP) "ww_sxiW{v} [lid] 1 base:GHC.TypeLits.<={tc r4y} size{tv XuIP} [tv]"# } in let { ww_sxiX [Dmd=] :: ((size_XuIP GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_XuIP GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxiX = GHC.Types.Eq# @ GHC.TypeLits.Nat @ ((size_XuIP GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) @ (size_XuIP GHC.TypeLits.+ 2) @~ ww_sxj0 } in let { ww_sxj7 [Dmd=] :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIN (size_XuIP GHC.TypeLits.+ 2))) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIN (size_XuIP GHC.TypeLits.+ 2))) CLaSH.Bit.Bit -> rep_XuIN (size_XuIP GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxj7 = Control.Exception.Base.absentError @ (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIN (size_XuIP GHC.TypeLits.+ 2))) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIN (size_XuIP GHC.TypeLits.+ 2))) CLaSH.Bit.Bit -> rep_XuIN (size_XuIP GHC.TypeLits.+ 2)) "ww_sxj7{v} [lid] base:GHC.TypeLits.KnownNat{tc 2G}\n\ \ (clash-prelude-0.5:CLaSH.Class.BitVector.BitSize{tc rjwV}\n\ \ (rep{tv XuIN} [tv] (size{tv XuIP} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2))) =>\n\ \ clash-prelude-0.5:CLaSH.Sized.Vector.Vec{tc rejp}\n\ \ (clash-prelude-0.5:CLaSH.Class.BitVector.BitSize{tc rjwV}\n\ \ (rep{tv XuIN} [tv] (size{tv XuIP} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)))\n\ \ clash-prelude-0.5:CLaSH.Bit.Bit{tc riFj}\n\ \ -> rep{tv XuIN} [tv] (size{tv XuIP} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxj3 [Dmd=] :: CLaSH.Class.BitVector.BitVector (rep_XuIN (size_XuIP GHC.TypeLits.+ 2)) [LclId, Str=DmdType] ww_sxj3 = CLaSH.Class.BitVector.D:BitVector @ (rep_XuIN (size_XuIP GHC.TypeLits.+ 2)) ww_sxj6 ww_sxj7 } in let { ww_sxjb [Dmd=] :: GHC.TypeLits.KnownNat size_XuIP [LclId, Str=DmdType] ww_sxjb = Control.Exception.Base.absentError @ (GHC.TypeLits.KnownNat size_XuIP) "ww_sxjb{v} [lid] base:GHC.TypeLits.KnownNat{tc 2G}\n\ \ size{tv XuIP} [tv]"# } in let { ww_sxjd [Dmd=] :: GHC.Enum.Bounded (rep_XuIN size_XuIP) [LclId, Str=DmdType] ww_sxjd = Control.Exception.Base.absentError @ (GHC.Enum.Bounded (rep_XuIN size_XuIP)) "ww_sxjd{v} [lid] base:GHC.Enum.Bounded{tc 21}\n\ \ (rep{tv XuIN} [tv] size{tv XuIP} [tv])"# } in let { ww_sxjh [Dmd=] :: GHC.Classes.Eq (rep_XuIN (size_XuIP GHC.TypeLits.+ 2)) [LclId, Str=DmdType] ww_sxjh = Control.Exception.Base.absentError @ (GHC.Classes.Eq (rep_XuIN (size_XuIP GHC.TypeLits.+ 2))) "ww_sxjh{v} [lid] ghc-prim:GHC.Classes.Eq{tc 23}\n\ \ (rep{tv XuIN} [tv] (size{tv XuIP} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2))"# } in let { ww_sxji [Dmd=] :: rep_XuIN (size_XuIP GHC.TypeLits.+ 2) -> rep_XuIN (size_XuIP GHC.TypeLits.+ 2) -> rep_XuIN (size_XuIP GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxji = Control.Exception.Base.absentError @ (rep_XuIN (size_XuIP GHC.TypeLits.+ 2) -> rep_XuIN (size_XuIP GHC.TypeLits.+ 2) -> rep_XuIN (size_XuIP GHC.TypeLits.+ 2)) "ww_sxji{v} [lid] rep{tv XuIN} [tv] (size{tv XuIP} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> rep{tv XuIN} [tv] (size{tv XuIP} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> rep{tv XuIN} [tv] (size{tv XuIP} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxjj [Dmd=] :: rep_XuIN (size_XuIP GHC.TypeLits.+ 2) -> rep_XuIN (size_XuIP GHC.TypeLits.+ 2) -> rep_XuIN (size_XuIP GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxjj = Control.Exception.Base.absentError @ (rep_XuIN (size_XuIP GHC.TypeLits.+ 2) -> rep_XuIN (size_XuIP GHC.TypeLits.+ 2) -> rep_XuIN (size_XuIP GHC.TypeLits.+ 2)) "ww_sxjj{v} [lid] rep{tv XuIN} [tv] (size{tv XuIP} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> rep{tv XuIN} [tv] (size{tv XuIP} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> rep{tv XuIN} [tv] (size{tv XuIP} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxjk [Dmd=] :: rep_XuIN (size_XuIP GHC.TypeLits.+ 2) -> rep_XuIN (size_XuIP GHC.TypeLits.+ 2) -> rep_XuIN (size_XuIP GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxjk = Control.Exception.Base.absentError @ (rep_XuIN (size_XuIP GHC.TypeLits.+ 2) -> rep_XuIN (size_XuIP GHC.TypeLits.+ 2) -> rep_XuIN (size_XuIP GHC.TypeLits.+ 2)) "ww_sxjk{v} [lid] rep{tv XuIN} [tv] (size{tv XuIP} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> rep{tv XuIN} [tv] (size{tv XuIP} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> rep{tv XuIN} [tv] (size{tv XuIP} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxjl [Dmd=] :: rep_XuIN (size_XuIP GHC.TypeLits.+ 2) -> rep_XuIN (size_XuIP GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxjl = Control.Exception.Base.absentError @ (rep_XuIN (size_XuIP GHC.TypeLits.+ 2) -> rep_XuIN (size_XuIP GHC.TypeLits.+ 2)) "ww_sxjl{v} [lid] rep{tv XuIN} [tv] (size{tv XuIP} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> rep{tv XuIN} [tv] (size{tv XuIP} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxjm [Dmd=] :: rep_XuIN (size_XuIP GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIN (size_XuIP GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxjm = Control.Exception.Base.absentError @ (rep_XuIN (size_XuIP GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIN (size_XuIP GHC.TypeLits.+ 2)) "ww_sxjm{v} [lid] rep{tv XuIN} [tv] (size{tv XuIP} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIN} [tv] (size{tv XuIP} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxjn [Dmd=] :: rep_XuIN (size_XuIP GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIN (size_XuIP GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxjn = Control.Exception.Base.absentError @ (rep_XuIN (size_XuIP GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIN (size_XuIP GHC.TypeLits.+ 2)) "ww_sxjn{v} [lid] rep{tv XuIN} [tv] (size{tv XuIP} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIN} [tv] (size{tv XuIP} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxjo [Dmd=] :: rep_XuIN (size_XuIP GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxjo = Control.Exception.Base.absentError @ (rep_XuIN (size_XuIP GHC.TypeLits.+ 2)) "ww_sxjo{v} [lid] rep{tv XuIN} [tv] (size{tv XuIP} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxjp [Dmd=] :: GHC.Types.Int -> rep_XuIN (size_XuIP GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxjp = Control.Exception.Base.absentError @ (GHC.Types.Int -> rep_XuIN (size_XuIP GHC.TypeLits.+ 2)) "ww_sxjp{v} [lid] ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIN} [tv] (size{tv XuIP} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxjq [Dmd=] :: rep_XuIN (size_XuIP GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIN (size_XuIP GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxjq = Control.Exception.Base.absentError @ (rep_XuIN (size_XuIP GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIN (size_XuIP GHC.TypeLits.+ 2)) "ww_sxjq{v} [lid] rep{tv XuIN} [tv] (size{tv XuIP} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIN} [tv] (size{tv XuIP} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxjr [Dmd=] :: rep_XuIN (size_XuIP GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIN (size_XuIP GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxjr = Control.Exception.Base.absentError @ (rep_XuIN (size_XuIP GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIN (size_XuIP GHC.TypeLits.+ 2)) "ww_sxjr{v} [lid] rep{tv XuIN} [tv] (size{tv XuIP} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIN} [tv] (size{tv XuIP} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxjs [Dmd=] :: rep_XuIN (size_XuIP GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIN (size_XuIP GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxjs = Control.Exception.Base.absentError @ (rep_XuIN (size_XuIP GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIN (size_XuIP GHC.TypeLits.+ 2)) "ww_sxjs{v} [lid] rep{tv XuIN} [tv] (size{tv XuIP} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIN} [tv] (size{tv XuIP} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxjt [Dmd=] :: rep_XuIN (size_XuIP GHC.TypeLits.+ 2) -> GHC.Types.Int -> GHC.Types.Bool [LclId, Str=DmdType] ww_sxjt = Control.Exception.Base.absentError @ (rep_XuIN (size_XuIP GHC.TypeLits.+ 2) -> GHC.Types.Int -> GHC.Types.Bool) "ww_sxjt{v} [lid] rep{tv XuIN} [tv] (size{tv XuIP} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> ghc-prim:GHC.Types.Bool{(w) tc 3c}"# } in let { ww_sxju [Dmd=] :: rep_XuIN (size_XuIP GHC.TypeLits.+ 2) -> Data.Maybe.Maybe GHC.Types.Int [LclId, Str=DmdType] ww_sxju = Control.Exception.Base.absentError @ (rep_XuIN (size_XuIP GHC.TypeLits.+ 2) -> Data.Maybe.Maybe GHC.Types.Int) "ww_sxju{v} [lid] rep{tv XuIN} [tv] (size{tv XuIP} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> base:Data.Maybe.Maybe{tc r1b} ghc-prim:GHC.Types.Int{(w) tc 3J}"# } in let { ww_sxjv [Dmd=] :: rep_XuIN (size_XuIP GHC.TypeLits.+ 2) -> GHC.Types.Int [LclId, Str=DmdType] ww_sxjv = Control.Exception.Base.absentError @ (rep_XuIN (size_XuIP GHC.TypeLits.+ 2) -> GHC.Types.Int) "ww_sxjv{v} [lid] rep{tv XuIN} [tv] (size{tv XuIP} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}"# } in let { ww_sxjx [Dmd=] :: rep_XuIN (size_XuIP GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIN (size_XuIP GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxjx = Control.Exception.Base.absentError @ (rep_XuIN (size_XuIP GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIN (size_XuIP GHC.TypeLits.+ 2)) "ww_sxjx{v} [lid] rep{tv XuIN} [tv] (size{tv XuIP} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIN} [tv] (size{tv XuIP} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxjy [Dmd=] :: rep_XuIN (size_XuIP GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIN (size_XuIP GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxjy = Control.Exception.Base.absentError @ (rep_XuIN (size_XuIP GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIN (size_XuIP GHC.TypeLits.+ 2)) "ww_sxjy{v} [lid] rep{tv XuIN} [tv] (size{tv XuIP} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIN} [tv] (size{tv XuIP} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxjz [Dmd=] :: rep_XuIN (size_XuIP GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIN (size_XuIP GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxjz = Control.Exception.Base.absentError @ (rep_XuIN (size_XuIP GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIN (size_XuIP GHC.TypeLits.+ 2)) "ww_sxjz{v} [lid] rep{tv XuIN} [tv] (size{tv XuIP} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIN} [tv] (size{tv XuIP} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxjA [Dmd=] :: rep_XuIN (size_XuIP GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIN (size_XuIP GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxjA = Control.Exception.Base.absentError @ (rep_XuIN (size_XuIP GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIN (size_XuIP GHC.TypeLits.+ 2)) "ww_sxjA{v} [lid] rep{tv XuIN} [tv] (size{tv XuIP} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIN} [tv] (size{tv XuIP} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxjB [Dmd=] :: rep_XuIN (size_XuIP GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIN (size_XuIP GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxjB = Control.Exception.Base.absentError @ (rep_XuIN (size_XuIP GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIN (size_XuIP GHC.TypeLits.+ 2)) "ww_sxjB{v} [lid] rep{tv XuIN} [tv] (size{tv XuIP} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIN} [tv] (size{tv XuIP} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxjC [Dmd=] :: rep_XuIN (size_XuIP GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIN (size_XuIP GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxjC = Control.Exception.Base.absentError @ (rep_XuIN (size_XuIP GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIN (size_XuIP GHC.TypeLits.+ 2)) "ww_sxjC{v} [lid] rep{tv XuIN} [tv] (size{tv XuIP} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIN} [tv] (size{tv XuIP} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxjD [Dmd=] :: rep_XuIN (size_XuIP GHC.TypeLits.+ 2) -> GHC.Types.Int [LclId, Str=DmdType] ww_sxjD = Control.Exception.Base.absentError @ (rep_XuIN (size_XuIP GHC.TypeLits.+ 2) -> GHC.Types.Int) "ww_sxjD{v} [lid] rep{tv XuIN} [tv] (size{tv XuIP} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}"# } in let { ww_sxje [Dmd=] :: Data.Bits.Bits (rep_XuIN (size_XuIP GHC.TypeLits.+ 2)) [LclId, Str=DmdType] ww_sxje = Data.Bits.D:Bits @ (rep_XuIN (size_XuIP GHC.TypeLits.+ 2)) ww_sxjh ww_sxji ww_sxjj ww_sxjk ww_sxjl ww_sxjm ww_sxjn ww_sxjo ww_sxjp ww_sxjq ww_sxjr ww_sxjs ww_sxjt ww_sxju ww_sxjv ww_sxjw ww_sxjx ww_sxjy ww_sxjz ww_sxjA ww_sxjB ww_sxjC ww_sxjD } in let { tup_swsf [Dmd=] :: CLaSH.Sized.Fixed.SatN2C rep_XuIN size_XuIP [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_swsf = (ww_sxiW, ww_sxiX, ww_sxj2, ww_sxj3, ww_sxj9, ww_sxja, ww_sxjb, ww_sxjc, ww_sxjd, ww_sxje) } in tup_swsf } } } } } } in let { $dKnownNat_swse :: GHC.TypeLits.KnownNat (size_XuIP GHC.TypeLits.+ 2) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swse = case tup_swsf of _ [Occ=Dead, Dmd=] { (tpl_X24 [Dmd=], tpl_X26 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_B8 } } in (CLaSH.Sized.Fixed.satN2 @ rep_XuIN @ size_XuIP (case tup_swsf of _ [Occ=Dead, Dmd=] { (tpl_X25 [Dmd=], tpl_X27 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_X25 }, case tup_swsf of _ [Occ=Dead, Dmd=] { (tpl_X25 [Dmd=], tpl_X27 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_X27 }, case tup_swsf of _ [Occ=Dead, Dmd=] { (tpl_X25 [Dmd=], tpl_X27 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_B3 }, case tup_swsf of _ [Occ=Dead, Dmd=] { (tpl_X25 [Dmd=], tpl_X27 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_B4 }, case tup_swsf of _ [Occ=Dead, Dmd=] { (tpl_X25 [Dmd=], tpl_X27 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_B5 }, case tup_swsf of _ [Occ=Dead, Dmd=] { (tpl_X25 [Dmd=], tpl_X27 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_B6 }, $dKnownNat_swsg, $dKnownNat_swse, case tup_swsi of _ [Occ=Dead, Dmd=] { (tpl_X25 [Dmd=], tpl_X27 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X25 }, case tup_swsf of _ [Occ=Dead, Dmd=] { (tpl_X25 [Dmd=], tpl_X27 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_Ba }) (case tup_XvDc of _ [Occ=Dead, Dmd=] { (tpl_X49 [Dmd=], tpl_X27 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=]) -> GHC.Num.- @ (rep_XuIN (size_XuIP GHC.TypeLits.+ 2)) tpl_B4 (case tup_swsi of _ [Occ=Dead, Dmd=] { (tpl_X1Y [Dmd=], tpl_X20 [Dmd=], tpl_X5s [Dmd=], tpl_X5u [Dmd=], tpl_X5w [Dmd=], tpl_X5y [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> (tpl_X5y `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuIN ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuIN a_ae8M -> rep_XuIN b_ae8N))) @ size_XuIP @ (size_XuIP GHC.TypeLits.+ 2) $dKnownNat_swsg $dKnownNat_swse (eta_X1T `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP ~# rep_XuIN size_XuIP)) }) (case tup_swsi of _ [Occ=Dead, Dmd=] { (tpl_X1Y [Dmd=], tpl_X20 [Dmd=], tpl_X5s [Dmd=], tpl_X5u [Dmd=], tpl_X5w [Dmd=], tpl_X5y [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> (tpl_X5y `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuIN ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuIN a_ae8M -> rep_XuIN b_ae8N))) @ size_XuIP @ (size_XuIP GHC.TypeLits.+ 2) $dKnownNat_swsg $dKnownNat_swse (eta_X3L `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP ~# rep_XuIN size_XuIP)) }) })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIN size_XuIP ~# CLaSH.Sized.Fixed.Fixed frac_XuIL rep_XuIN size_XuIP)) @ frac_auGY @ rep_auGZ @ size_auH0 w_sxjG w_sxjH w_sxjI $c-_avCb [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_auGY :: GHC.TypeLits.Nat)) (@ (rep_auGZ :: GHC.TypeLits.Nat -> *)) (@ (size_auH0 :: GHC.TypeLits.Nat)) (w_sxjG [Occ=Once!, Dmd=] :: CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) (w_sxjH [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) (w_sxjI [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) -> case w_sxjG of _ [Occ=Dead] { (ww_sxjL [Occ=Once!], ww_sxjZ [Occ=Once], _ [Occ=Dead], ww_sxk1 [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> case ww_sxjL of _ [Occ=Dead] { (ww_sxjO [Occ=Once], ww_sxjP [Occ=Once], ww_sxjQ [Occ=Once], ww_sxjR [Occ=Once], ww_sxjS [Occ=Once], ww_sxjT [Occ=Once], ww_sxjU [Occ=Once], ww_sxjV [Occ=Once], ww_sxjW [Occ=Once], ww_sxjX [Occ=Once]) -> $w$c-_sxk5 @ frac_auGY @ rep_auGZ @ size_auH0 ww_sxjO ww_sxjP ww_sxjQ ww_sxjR ww_sxjS ww_sxjT ww_sxjU ww_sxjV ww_sxjW ww_sxjX ww_sxjZ ww_sxk1 w_sxjH w_sxjI } }}] $c-_avCb = \ (@ (frac_auGY :: GHC.TypeLits.Nat)) (@ (rep_auGZ :: GHC.TypeLits.Nat -> *)) (@ (size_auH0 :: GHC.TypeLits.Nat)) (w_sxjG [Dmd=] :: CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) (w_sxjH :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) (w_sxjI :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) -> case w_sxjG of ww_sxjK { (ww_sxjL, ww_sxjZ, ww_sxk0, ww_sxk1, ww_sxk2, ww_sxk3) -> case ww_sxjL of ww_sxjN { (ww_sxjO, ww_sxjP, ww_sxjQ, ww_sxjR, ww_sxjS, ww_sxjT, ww_sxjU, ww_sxjV, ww_sxjW, ww_sxjX) -> $w$c-_sxk5 @ frac_auGY @ rep_auGZ @ size_auH0 ww_sxjO ww_sxjP ww_sxjQ ww_sxjR ww_sxjS ww_sxjT ww_sxjU ww_sxjV ww_sxjW ww_sxjX ww_sxjZ ww_sxk1 w_sxjH w_sxjI } } $w$c*_sxkM :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (GHC.Enum.Bounded (rep_auGZ size_auH0), GHC.Classes.Eq (rep_auGZ (size_auH0 GHC.TypeLits.+ size_auH0)), GHC.Classes.Ord (rep_auGZ (size_auH0 GHC.TypeLits.+ size_auH0)), GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ size_auH0)), Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ size_auH0)), CLaSH.Class.Num.Resize rep_auGZ, GHC.TypeLits.KnownNat size_auH0, GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ size_auH0), Data.Bits.Bits (rep_auGZ size_auH0), GHC.TypeLits.KnownNat frac_auGY, GHC.TypeLits.KnownNat (frac_auGY GHC.TypeLits.+ frac_auGY), GHC.Enum.Bounded (rep_auGZ (size_auH0 GHC.TypeLits.+ size_auH0)), CLaSH.Class.Num.Mult (rep_auGZ size_auH0) (rep_auGZ size_auH0), CLaSH.Class.Num.MResult (rep_auGZ size_auH0) (rep_auGZ size_auH0) ~ rep_auGZ (size_auH0 GHC.TypeLits.+ size_auH0)) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=16, Str=DmdType ] $w$c*_sxkM = \ (@ (frac_auGY :: GHC.TypeLits.Nat)) (@ (rep_auGZ :: GHC.TypeLits.Nat -> *)) (@ (size_auH0 :: GHC.TypeLits.Nat)) (ww_sxku :: GHC.Enum.Bounded (rep_auGZ size_auH0)) (ww_sxkv :: GHC.Classes.Eq (rep_auGZ (size_auH0 GHC.TypeLits.+ size_auH0))) (ww_sxkw :: GHC.Classes.Ord (rep_auGZ (size_auH0 GHC.TypeLits.+ size_auH0))) (ww_sxkx :: GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ size_auH0))) (ww_sxky :: Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ size_auH0))) (ww_sxkz :: CLaSH.Class.Num.Resize rep_auGZ) (ww_sxkA :: GHC.TypeLits.KnownNat size_auH0) (ww_sxkB :: GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ size_auH0)) (ww_sxkC :: Data.Bits.Bits (rep_auGZ size_auH0)) (ww_sxkD :: GHC.TypeLits.KnownNat frac_auGY) (ww_sxkE :: GHC.TypeLits.KnownNat (frac_auGY GHC.TypeLits.+ frac_auGY)) (ww_sxkF :: GHC.Enum.Bounded (rep_auGZ (size_auH0 GHC.TypeLits.+ size_auH0))) (ww_sxkJ [Dmd=] :: CLaSH.Class.Num.Mult (rep_auGZ size_auH0) (rep_auGZ size_auH0)) (ww_sxkK [Dmd=] :: CLaSH.Class.Num.MResult (rep_auGZ size_auH0) (rep_auGZ size_auH0) ~ rep_auGZ (size_auH0 GHC.TypeLits.+ size_auH0)) (w_sxkm :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) (w_sxkn :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) -> let { ww_sxkq [Dmd=] :: CLaSH.Sized.Fixed.SatN2C rep_auGZ size_auH0 [LclId, Str=DmdType] ww_sxkq = Control.Exception.Base.absentError @ (CLaSH.Sized.Fixed.SatN2C rep_auGZ size_auH0) "ww_sxkq{v} [lid] clash-prelude-0.5:CLaSH.Sized.Fixed.SatN2C{tc ruEj}\n\ \ rep{tv auGZ} [tv] size{tv auH0} [tv]"# } in let { ww_sxkr [Dmd=] :: CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0 [LclId, Str=DmdType] ww_sxkr = (ww_sxku, ww_sxkv, ww_sxkw, ww_sxkx, ww_sxky, ww_sxkz, ww_sxkA, ww_sxkB, ww_sxkC, ww_sxkD, ww_sxkE, ww_sxkF) } in let { ww_sxkH [Dmd=] :: GHC.Num.Num (rep_auGZ size_auH0) [LclId, Str=DmdType] ww_sxkH = Control.Exception.Base.absentError @ (GHC.Num.Num (rep_auGZ size_auH0)) "ww_sxkH{v} [lid] base:GHC.Num.Num{tc 2b}\n\ \ (rep{tv auGZ} [tv] size{tv auH0} [tv])"# } in let { ww_sxkI [Dmd=] :: GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) [LclId, Str=DmdType] ww_sxkI = Control.Exception.Base.absentError @ (GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) "ww_sxkI{v} [lid] base:GHC.Num.Num{tc 2b}\n\ \ (rep{tv auGZ} [tv] (size{tv auH0} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2))"# } in let { w_sxkl [Dmd=] :: CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0 [LclId, Str=DmdType] w_sxkl = (ww_sxkq, ww_sxkr, ww_sxkH, ww_sxkI, ww_sxkJ, ww_sxkK) } in (\ (@ (frac_XuIM :: GHC.TypeLits.Nat)) (@ (rep_XuIO :: GHC.TypeLits.Nat -> *)) (@ (size_XuIQ :: GHC.TypeLits.Nat)) (tup_XvDd [Dmd=] :: CLaSH.Sized.Fixed.NumFixed frac_XuIM rep_XuIO size_XuIQ) (eta_X1U :: CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ) (eta_X3N :: CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ) -> let { tup_sws8 [Dmd=] :: CLaSH.Sized.Fixed.ResizeFC rep_XuIO (frac_XuIM GHC.TypeLits.+ frac_XuIM) frac_XuIM (size_XuIQ GHC.TypeLits.+ size_XuIQ) size_XuIQ [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_sws8 = let { tup_sws8 [Dmd=] :: CLaSH.Sized.Fixed.ResizeFC rep_XuIO (frac_XuIM GHC.TypeLits.+ frac_XuIM) frac_XuIM (size_XuIQ GHC.TypeLits.+ size_XuIQ) size_XuIQ [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_sws8 = case tup_XvDd of _ [Occ=Dead, Dmd=] { (tpl_X1X [Dmd=], tpl_X1Z [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=]) -> tpl_X1Z } } in case tup_sws8 of ww_sxk7 { (ww_sxk8, ww_sxk9, ww_sxka, ww_sxkb, ww_sxkc, ww_sxkd, ww_sxke, ww_sxkf, ww_sxkg, ww_sxkh, ww_sxki, ww_sxkj) -> let { ww_sxk9 [Dmd=] :: GHC.Classes.Eq (rep_XuIO (size_XuIQ GHC.TypeLits.+ size_XuIQ)) [LclId, Str=DmdType] ww_sxk9 = Control.Exception.Base.absentError @ (GHC.Classes.Eq (rep_XuIO (size_XuIQ GHC.TypeLits.+ size_XuIQ))) "ww_sxk9{v} [lid] ghc-prim:GHC.Classes.Eq{tc 23}\n\ \ (rep{tv XuIO} [tv] (size{tv XuIQ} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} size{tv XuIQ} [tv]))"# } in let { ww_sxkj [Dmd=] :: GHC.Enum.Bounded (rep_XuIO (size_XuIQ GHC.TypeLits.+ size_XuIQ)) [LclId, Str=DmdType] ww_sxkj = Control.Exception.Base.absentError @ (GHC.Enum.Bounded (rep_XuIO (size_XuIQ GHC.TypeLits.+ size_XuIQ))) "ww_sxkj{v} [lid] base:GHC.Enum.Bounded{tc 21}\n\ \ (rep{tv XuIO} [tv] (size{tv XuIQ} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} size{tv XuIQ} [tv]))"# } in let { tup_sws8 [Dmd=] :: CLaSH.Sized.Fixed.ResizeFC rep_XuIO (frac_XuIM GHC.TypeLits.+ frac_XuIM) frac_XuIM (size_XuIQ GHC.TypeLits.+ size_XuIQ) size_XuIQ [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_sws8 = (ww_sxk8, ww_sxk9, ww_sxka, ww_sxkb, ww_sxkc, ww_sxkd, ww_sxke, ww_sxkf, ww_sxkg, ww_sxkh, ww_sxki, ww_sxkj) } in tup_sws8 } } in let { $dBits_sws7 [Dmd=] :: Data.Bits.Bits (rep_XuIO (size_XuIQ GHC.TypeLits.+ size_XuIQ)) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_sws7 = case tup_sws8 of _ [Occ=Dead, Dmd=] { (tpl_X1Z [Dmd=], tpl_X21 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B5 } } in CLaSH.Sized.Fixed.resizeF @ (frac_XuIM GHC.TypeLits.+ frac_XuIM) @ frac_XuIM @ rep_XuIO @ (size_XuIQ GHC.TypeLits.+ size_XuIQ) @ size_XuIQ (case tup_sws8 of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X20 }, Data.Bits.$p1Bits @ (rep_XuIO (size_XuIQ GHC.TypeLits.+ size_XuIQ)) $dBits_sws7, case tup_sws8 of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B3 }, case tup_sws8 of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B4 }, $dBits_sws7, case tup_sws8 of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B6 }, case tup_sws8 of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B7 }, case tup_sws8 of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B8 }, case tup_sws8 of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B9 }, case tup_sws8 of _ [Occ=Dead, Dmd=] { (tpl_X3Z [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_Ba }, case tup_sws8 of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X42 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_Bb }, case tup_sws8 of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_Bc }) (case tup_XvDd of _ [Occ=Dead, Dmd=] { (tpl_Xk [Dmd=], tpl_Xm [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=]) -> case tpl_B6 of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw1a [Dmd=] -> ((tpl_B5 `cast` (CLaSH.Class.Num.NTCo:Mult[0] _N _N :: CLaSH.Class.Num.Mult (rep_XuIO size_XuIQ) (rep_XuIO size_XuIQ) ~# (rep_XuIO size_XuIQ -> rep_XuIO size_XuIQ -> CLaSH.Class.Num.MResult (rep_XuIO size_XuIQ) (rep_XuIO size_XuIQ)))) (eta_X1U `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ ~# rep_XuIO size_XuIQ)) (eta_X3N `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ ~# rep_XuIO size_XuIQ))) `cast` (Sub cobox_dw1a ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: CLaSH.Class.Num.MResult (rep_XuIO size_XuIQ) (rep_XuIO size_XuIQ) ~# CLaSH.Sized.Fixed.Fixed (frac_XuIM GHC.TypeLits.+ frac_XuIM) rep_XuIO (size_XuIQ GHC.TypeLits.+ size_XuIQ)) } })) @ frac_auGY @ rep_auGZ @ size_auH0 w_sxkl w_sxkm w_sxkn $c*_avBP [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_auGY :: GHC.TypeLits.Nat)) (@ (rep_auGZ :: GHC.TypeLits.Nat -> *)) (@ (size_auH0 :: GHC.TypeLits.Nat)) (w_sxkl [Occ=Once!, Dmd=] :: CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) (w_sxkm [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) (w_sxkn [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) -> case w_sxkl of _ [Occ=Dead] { (_ [Occ=Dead], ww_sxkr [Occ=Once!], _ [Occ=Dead], _ [Occ=Dead], ww_sxkJ [Occ=Once], ww_sxkK [Occ=Once]) -> case ww_sxkr of _ [Occ=Dead] { (ww_sxku [Occ=Once], ww_sxkv [Occ=Once], ww_sxkw [Occ=Once], ww_sxkx [Occ=Once], ww_sxky [Occ=Once], ww_sxkz [Occ=Once], ww_sxkA [Occ=Once], ww_sxkB [Occ=Once], ww_sxkC [Occ=Once], ww_sxkD [Occ=Once], ww_sxkE [Occ=Once], ww_sxkF [Occ=Once]) -> $w$c*_sxkM @ frac_auGY @ rep_auGZ @ size_auH0 ww_sxku ww_sxkv ww_sxkw ww_sxkx ww_sxky ww_sxkz ww_sxkA ww_sxkB ww_sxkC ww_sxkD ww_sxkE ww_sxkF ww_sxkJ ww_sxkK w_sxkm w_sxkn } }}] $c*_avBP = \ (@ (frac_auGY :: GHC.TypeLits.Nat)) (@ (rep_auGZ :: GHC.TypeLits.Nat -> *)) (@ (size_auH0 :: GHC.TypeLits.Nat)) (w_sxkl [Dmd=] :: CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) (w_sxkm :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) (w_sxkn :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) -> case w_sxkl of ww_sxkp { (ww_sxkq, ww_sxkr, ww_sxkH, ww_sxkI, ww_sxkJ, ww_sxkK) -> case ww_sxkr of ww_sxkt { (ww_sxku, ww_sxkv, ww_sxkw, ww_sxkx, ww_sxky, ww_sxkz, ww_sxkA, ww_sxkB, ww_sxkC, ww_sxkD, ww_sxkE, ww_sxkF) -> $w$c*_sxkM @ frac_auGY @ rep_auGZ @ size_auH0 ww_sxku ww_sxkv ww_sxkw ww_sxkx ww_sxky ww_sxkz ww_sxkA ww_sxkB ww_sxkC ww_sxkD ww_sxkE ww_sxkF ww_sxkJ ww_sxkK w_sxkm w_sxkn } } $w$c+_sxlY :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (1 GHC.TypeLits.<= size_auH0, ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_auH0 GHC.TypeLits.+ 2), CLaSH.Class.BitVector.BitVector (rep_auGZ size_auH0), CLaSH.Class.BitVector.BitVector (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0) ~ size_auH0, CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) ~ (size_auH0 GHC.TypeLits.+ 2), GHC.TypeLits.KnownNat size_auH0, GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ 2), GHC.Enum.Bounded (rep_auGZ size_auH0), Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0, GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=14, Str=DmdType ] $w$c+_sxlY = \ (@ (frac_auGY :: GHC.TypeLits.Nat)) (@ (rep_auGZ :: GHC.TypeLits.Nat -> *)) (@ (size_auH0 :: GHC.TypeLits.Nat)) (ww_sxlH :: 1 GHC.TypeLits.<= size_auH0) (ww_sxlI :: ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_auH0 GHC.TypeLits.+ 2)) (ww_sxlJ :: CLaSH.Class.BitVector.BitVector (rep_auGZ size_auH0)) (ww_sxlK :: CLaSH.Class.BitVector.BitVector (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) (ww_sxlL :: CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0) ~ size_auH0) (ww_sxlM :: CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) ~ (size_auH0 GHC.TypeLits.+ 2)) (ww_sxlN :: GHC.TypeLits.KnownNat size_auH0) (ww_sxlO :: GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ 2)) (ww_sxlP :: GHC.Enum.Bounded (rep_auGZ size_auH0)) (ww_sxlQ :: Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) (ww_sxlS [Dmd=] :: CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0) (ww_sxlU [Dmd=] :: GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) (w_sxlA :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) (w_sxlB :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) -> let { ww_sxlE [Dmd=] :: CLaSH.Sized.Fixed.SatN2C rep_auGZ size_auH0 [LclId, Str=DmdType] ww_sxlE = (ww_sxlH, ww_sxlI, ww_sxlJ, ww_sxlK, ww_sxlL, ww_sxlM, ww_sxlN, ww_sxlO, ww_sxlP, ww_sxlQ) } in let { ww_sxlT [Dmd=] :: GHC.Num.Num (rep_auGZ size_auH0) [LclId, Str=DmdType] ww_sxlT = Control.Exception.Base.absentError @ (GHC.Num.Num (rep_auGZ size_auH0)) "ww_sxlT{v} [lid] base:GHC.Num.Num{tc 2b}\n\ \ (rep{tv auGZ} [tv] size{tv auH0} [tv])"# } in let { ww_sxlV [Dmd=] :: CLaSH.Class.Num.Mult (rep_auGZ size_auH0) (rep_auGZ size_auH0) [LclId, Str=DmdType] ww_sxlV = Control.Exception.Base.absentError @ (CLaSH.Class.Num.Mult (rep_auGZ size_auH0) (rep_auGZ size_auH0)) "ww_sxlV{v} [lid] clash-prelude-0.5:CLaSH.Class.Num.Mult{tc re8D}\n\ \ (rep{tv auGZ} [tv] size{tv auH0} [tv])\n\ \ (rep{tv auGZ} [tv] size{tv auH0} [tv])"# } in let { ww_sxlW [Dmd=] :: CLaSH.Class.Num.MResult (rep_auGZ size_auH0) (rep_auGZ size_auH0) ~ rep_auGZ (size_auH0 GHC.TypeLits.+ size_auH0) [LclId, Str=DmdType] ww_sxlW = Control.Exception.Base.absentError @ (CLaSH.Class.Num.MResult (rep_auGZ size_auH0) (rep_auGZ size_auH0) ~ rep_auGZ (size_auH0 GHC.TypeLits.+ size_auH0)) "ww_sxlW{v} [lid] clash-prelude-0.5:CLaSH.Class.Num.MResult{tc re8E}\n\ \ (rep{tv auGZ} [tv] size{tv auH0} [tv])\n\ \ (rep{tv auGZ} [tv] size{tv auH0} [tv])\n\ \ ghc-prim:GHC.Types.~{(w) tc 31Q} rep{tv auGZ} [tv] (size{tv auH0} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} size{tv auH0} [tv])"# } in let { w_sxlz [Dmd=] :: CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0 [LclId, Str=DmdType] w_sxlz = (ww_sxlE, ww_sxlS, ww_sxlT, ww_sxlU, ww_sxlV, ww_sxlW) } in (\ (@ (frac_XuIN :: GHC.TypeLits.Nat)) (@ (rep_XuIP :: GHC.TypeLits.Nat -> *)) (@ (size_XuIR :: GHC.TypeLits.Nat)) (tup_XvDe [Dmd=] :: CLaSH.Sized.Fixed.NumFixed frac_XuIN rep_XuIP size_XuIR) (eta_X1V :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) (eta_X3P :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) -> let { tup_sws4 [Dmd=] :: CLaSH.Sized.Fixed.ResizeFC rep_XuIP (frac_XuIN GHC.TypeLits.+ frac_XuIN) frac_XuIN (size_XuIR GHC.TypeLits.+ size_XuIR) size_XuIR [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_sws4 = case tup_XvDe of _ [Occ=Dead, Dmd=] { (tpl_X1Y [Dmd=], tpl_X20 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=]) -> tpl_X20 } } in let { $dKnownNat_sws2 :: GHC.TypeLits.KnownNat size_XuIR [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_sws2 = case tup_sws4 of _ [Occ=Dead, Dmd=] { (tpl_X22 [Dmd=], tpl_X24 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B7 } } in let { tup_sws1 [Dmd=] :: CLaSH.Sized.Fixed.SatN2C rep_XuIP size_XuIR [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_sws1 = let { tup_sws1 [Dmd=] :: CLaSH.Sized.Fixed.SatN2C rep_XuIP size_XuIR [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_sws1 = case tup_XvDe of _ [Occ=Dead, Dmd=] { (tpl_X24 [Dmd=], tpl_X26 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=]) -> tpl_X24 } } in case tup_sws1 of ww_sxkO { (ww_sxkP, ww_sxkQ, ww_sxkV, ww_sxkW, ww_sxl2, ww_sxl3, ww_sxl4, ww_sxl5, ww_sxl6, ww_sxl7) -> case ww_sxkQ of ww_sxkS { GHC.Types.Eq# ww_sxkT -> case ww_sxkW of ww_sxkY { CLaSH.Class.BitVector.D:BitVector ww_sxkZ ww_sxl0 -> case ww_sxl3 of ww_sxl3 { __DEFAULT -> case ww_sxl7 of ww_sxl9 { Data.Bits.D:Bits ww_sxla ww_sxlb ww_sxlc ww_sxld ww_sxle ww_sxlf ww_sxlg ww_sxlh ww_sxli ww_sxlj ww_sxlk ww_sxll ww_sxlm ww_sxln ww_sxlo ww_sxlp ww_sxlq ww_sxlr ww_sxls ww_sxlt ww_sxlu ww_sxlv ww_sxlw -> let { ww_sxkP [Dmd=] :: 1 GHC.TypeLits.<= size_XuIR [LclId, Str=DmdType] ww_sxkP = Control.Exception.Base.absentError @ (1 GHC.TypeLits.<= size_XuIR) "ww_sxkP{v} [lid] 1 base:GHC.TypeLits.<={tc r4y} size{tv XuIR} [tv]"# } in let { ww_sxkQ [Dmd=] :: ((size_XuIR GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_XuIR GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxkQ = GHC.Types.Eq# @ GHC.TypeLits.Nat @ ((size_XuIR GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) @ (size_XuIR GHC.TypeLits.+ 2) @~ ww_sxkT } in let { ww_sxl0 [Dmd=] :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP (size_XuIR GHC.TypeLits.+ 2))) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP (size_XuIR GHC.TypeLits.+ 2))) CLaSH.Bit.Bit -> rep_XuIP (size_XuIR GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxl0 = Control.Exception.Base.absentError @ (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP (size_XuIR GHC.TypeLits.+ 2))) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP (size_XuIR GHC.TypeLits.+ 2))) CLaSH.Bit.Bit -> rep_XuIP (size_XuIR GHC.TypeLits.+ 2)) "ww_sxl0{v} [lid] base:GHC.TypeLits.KnownNat{tc 2G}\n\ \ (clash-prelude-0.5:CLaSH.Class.BitVector.BitSize{tc rjwV}\n\ \ (rep{tv XuIP} [tv] (size{tv XuIR} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2))) =>\n\ \ clash-prelude-0.5:CLaSH.Sized.Vector.Vec{tc rejp}\n\ \ (clash-prelude-0.5:CLaSH.Class.BitVector.BitSize{tc rjwV}\n\ \ (rep{tv XuIP} [tv] (size{tv XuIR} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)))\n\ \ clash-prelude-0.5:CLaSH.Bit.Bit{tc riFj}\n\ \ -> rep{tv XuIP} [tv] (size{tv XuIR} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxkW [Dmd=] :: CLaSH.Class.BitVector.BitVector (rep_XuIP (size_XuIR GHC.TypeLits.+ 2)) [LclId, Str=DmdType] ww_sxkW = CLaSH.Class.BitVector.D:BitVector @ (rep_XuIP (size_XuIR GHC.TypeLits.+ 2)) ww_sxkZ ww_sxl0 } in let { ww_sxl4 [Dmd=] :: GHC.TypeLits.KnownNat size_XuIR [LclId, Str=DmdType] ww_sxl4 = Control.Exception.Base.absentError @ (GHC.TypeLits.KnownNat size_XuIR) "ww_sxl4{v} [lid] base:GHC.TypeLits.KnownNat{tc 2G}\n\ \ size{tv XuIR} [tv]"# } in let { ww_sxl6 [Dmd=] :: GHC.Enum.Bounded (rep_XuIP size_XuIR) [LclId, Str=DmdType] ww_sxl6 = Control.Exception.Base.absentError @ (GHC.Enum.Bounded (rep_XuIP size_XuIR)) "ww_sxl6{v} [lid] base:GHC.Enum.Bounded{tc 21}\n\ \ (rep{tv XuIP} [tv] size{tv XuIR} [tv])"# } in let { ww_sxla [Dmd=] :: GHC.Classes.Eq (rep_XuIP (size_XuIR GHC.TypeLits.+ 2)) [LclId, Str=DmdType] ww_sxla = Control.Exception.Base.absentError @ (GHC.Classes.Eq (rep_XuIP (size_XuIR GHC.TypeLits.+ 2))) "ww_sxla{v} [lid] ghc-prim:GHC.Classes.Eq{tc 23}\n\ \ (rep{tv XuIP} [tv] (size{tv XuIR} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2))"# } in let { ww_sxlb [Dmd=] :: rep_XuIP (size_XuIR GHC.TypeLits.+ 2) -> rep_XuIP (size_XuIR GHC.TypeLits.+ 2) -> rep_XuIP (size_XuIR GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxlb = Control.Exception.Base.absentError @ (rep_XuIP (size_XuIR GHC.TypeLits.+ 2) -> rep_XuIP (size_XuIR GHC.TypeLits.+ 2) -> rep_XuIP (size_XuIR GHC.TypeLits.+ 2)) "ww_sxlb{v} [lid] rep{tv XuIP} [tv] (size{tv XuIR} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> rep{tv XuIP} [tv] (size{tv XuIR} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> rep{tv XuIP} [tv] (size{tv XuIR} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxlc [Dmd=] :: rep_XuIP (size_XuIR GHC.TypeLits.+ 2) -> rep_XuIP (size_XuIR GHC.TypeLits.+ 2) -> rep_XuIP (size_XuIR GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxlc = Control.Exception.Base.absentError @ (rep_XuIP (size_XuIR GHC.TypeLits.+ 2) -> rep_XuIP (size_XuIR GHC.TypeLits.+ 2) -> rep_XuIP (size_XuIR GHC.TypeLits.+ 2)) "ww_sxlc{v} [lid] rep{tv XuIP} [tv] (size{tv XuIR} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> rep{tv XuIP} [tv] (size{tv XuIR} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> rep{tv XuIP} [tv] (size{tv XuIR} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxld [Dmd=] :: rep_XuIP (size_XuIR GHC.TypeLits.+ 2) -> rep_XuIP (size_XuIR GHC.TypeLits.+ 2) -> rep_XuIP (size_XuIR GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxld = Control.Exception.Base.absentError @ (rep_XuIP (size_XuIR GHC.TypeLits.+ 2) -> rep_XuIP (size_XuIR GHC.TypeLits.+ 2) -> rep_XuIP (size_XuIR GHC.TypeLits.+ 2)) "ww_sxld{v} [lid] rep{tv XuIP} [tv] (size{tv XuIR} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> rep{tv XuIP} [tv] (size{tv XuIR} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> rep{tv XuIP} [tv] (size{tv XuIR} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxle [Dmd=] :: rep_XuIP (size_XuIR GHC.TypeLits.+ 2) -> rep_XuIP (size_XuIR GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxle = Control.Exception.Base.absentError @ (rep_XuIP (size_XuIR GHC.TypeLits.+ 2) -> rep_XuIP (size_XuIR GHC.TypeLits.+ 2)) "ww_sxle{v} [lid] rep{tv XuIP} [tv] (size{tv XuIR} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> rep{tv XuIP} [tv] (size{tv XuIR} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxlf [Dmd=] :: rep_XuIP (size_XuIR GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIP (size_XuIR GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxlf = Control.Exception.Base.absentError @ (rep_XuIP (size_XuIR GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIP (size_XuIR GHC.TypeLits.+ 2)) "ww_sxlf{v} [lid] rep{tv XuIP} [tv] (size{tv XuIR} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIP} [tv] (size{tv XuIR} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxlg [Dmd=] :: rep_XuIP (size_XuIR GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIP (size_XuIR GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxlg = Control.Exception.Base.absentError @ (rep_XuIP (size_XuIR GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIP (size_XuIR GHC.TypeLits.+ 2)) "ww_sxlg{v} [lid] rep{tv XuIP} [tv] (size{tv XuIR} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIP} [tv] (size{tv XuIR} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxlh [Dmd=] :: rep_XuIP (size_XuIR GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxlh = Control.Exception.Base.absentError @ (rep_XuIP (size_XuIR GHC.TypeLits.+ 2)) "ww_sxlh{v} [lid] rep{tv XuIP} [tv] (size{tv XuIR} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxli [Dmd=] :: GHC.Types.Int -> rep_XuIP (size_XuIR GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxli = Control.Exception.Base.absentError @ (GHC.Types.Int -> rep_XuIP (size_XuIR GHC.TypeLits.+ 2)) "ww_sxli{v} [lid] ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIP} [tv] (size{tv XuIR} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxlj [Dmd=] :: rep_XuIP (size_XuIR GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIP (size_XuIR GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxlj = Control.Exception.Base.absentError @ (rep_XuIP (size_XuIR GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIP (size_XuIR GHC.TypeLits.+ 2)) "ww_sxlj{v} [lid] rep{tv XuIP} [tv] (size{tv XuIR} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIP} [tv] (size{tv XuIR} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxlk [Dmd=] :: rep_XuIP (size_XuIR GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIP (size_XuIR GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxlk = Control.Exception.Base.absentError @ (rep_XuIP (size_XuIR GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIP (size_XuIR GHC.TypeLits.+ 2)) "ww_sxlk{v} [lid] rep{tv XuIP} [tv] (size{tv XuIR} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIP} [tv] (size{tv XuIR} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxll [Dmd=] :: rep_XuIP (size_XuIR GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIP (size_XuIR GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxll = Control.Exception.Base.absentError @ (rep_XuIP (size_XuIR GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIP (size_XuIR GHC.TypeLits.+ 2)) "ww_sxll{v} [lid] rep{tv XuIP} [tv] (size{tv XuIR} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIP} [tv] (size{tv XuIR} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxlm [Dmd=] :: rep_XuIP (size_XuIR GHC.TypeLits.+ 2) -> GHC.Types.Int -> GHC.Types.Bool [LclId, Str=DmdType] ww_sxlm = Control.Exception.Base.absentError @ (rep_XuIP (size_XuIR GHC.TypeLits.+ 2) -> GHC.Types.Int -> GHC.Types.Bool) "ww_sxlm{v} [lid] rep{tv XuIP} [tv] (size{tv XuIR} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> ghc-prim:GHC.Types.Bool{(w) tc 3c}"# } in let { ww_sxln [Dmd=] :: rep_XuIP (size_XuIR GHC.TypeLits.+ 2) -> Data.Maybe.Maybe GHC.Types.Int [LclId, Str=DmdType] ww_sxln = Control.Exception.Base.absentError @ (rep_XuIP (size_XuIR GHC.TypeLits.+ 2) -> Data.Maybe.Maybe GHC.Types.Int) "ww_sxln{v} [lid] rep{tv XuIP} [tv] (size{tv XuIR} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> base:Data.Maybe.Maybe{tc r1b} ghc-prim:GHC.Types.Int{(w) tc 3J}"# } in let { ww_sxlo [Dmd=] :: rep_XuIP (size_XuIR GHC.TypeLits.+ 2) -> GHC.Types.Int [LclId, Str=DmdType] ww_sxlo = Control.Exception.Base.absentError @ (rep_XuIP (size_XuIR GHC.TypeLits.+ 2) -> GHC.Types.Int) "ww_sxlo{v} [lid] rep{tv XuIP} [tv] (size{tv XuIR} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}"# } in let { ww_sxlq [Dmd=] :: rep_XuIP (size_XuIR GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIP (size_XuIR GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxlq = Control.Exception.Base.absentError @ (rep_XuIP (size_XuIR GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIP (size_XuIR GHC.TypeLits.+ 2)) "ww_sxlq{v} [lid] rep{tv XuIP} [tv] (size{tv XuIR} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIP} [tv] (size{tv XuIR} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxlr [Dmd=] :: rep_XuIP (size_XuIR GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIP (size_XuIR GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxlr = Control.Exception.Base.absentError @ (rep_XuIP (size_XuIR GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIP (size_XuIR GHC.TypeLits.+ 2)) "ww_sxlr{v} [lid] rep{tv XuIP} [tv] (size{tv XuIR} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIP} [tv] (size{tv XuIR} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxls [Dmd=] :: rep_XuIP (size_XuIR GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIP (size_XuIR GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxls = Control.Exception.Base.absentError @ (rep_XuIP (size_XuIR GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIP (size_XuIR GHC.TypeLits.+ 2)) "ww_sxls{v} [lid] rep{tv XuIP} [tv] (size{tv XuIR} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIP} [tv] (size{tv XuIR} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxlt [Dmd=] :: rep_XuIP (size_XuIR GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIP (size_XuIR GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxlt = Control.Exception.Base.absentError @ (rep_XuIP (size_XuIR GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIP (size_XuIR GHC.TypeLits.+ 2)) "ww_sxlt{v} [lid] rep{tv XuIP} [tv] (size{tv XuIR} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIP} [tv] (size{tv XuIR} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxlu [Dmd=] :: rep_XuIP (size_XuIR GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIP (size_XuIR GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxlu = Control.Exception.Base.absentError @ (rep_XuIP (size_XuIR GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIP (size_XuIR GHC.TypeLits.+ 2)) "ww_sxlu{v} [lid] rep{tv XuIP} [tv] (size{tv XuIR} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIP} [tv] (size{tv XuIR} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxlv [Dmd=] :: rep_XuIP (size_XuIR GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIP (size_XuIR GHC.TypeLits.+ 2) [LclId, Str=DmdType] ww_sxlv = Control.Exception.Base.absentError @ (rep_XuIP (size_XuIR GHC.TypeLits.+ 2) -> GHC.Types.Int -> rep_XuIP (size_XuIR GHC.TypeLits.+ 2)) "ww_sxlv{v} [lid] rep{tv XuIP} [tv] (size{tv XuIR} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}\n\ \ -> rep{tv XuIP} [tv] (size{tv XuIR} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)"# } in let { ww_sxlw [Dmd=] :: rep_XuIP (size_XuIR GHC.TypeLits.+ 2) -> GHC.Types.Int [LclId, Str=DmdType] ww_sxlw = Control.Exception.Base.absentError @ (rep_XuIP (size_XuIR GHC.TypeLits.+ 2) -> GHC.Types.Int) "ww_sxlw{v} [lid] rep{tv XuIP} [tv] (size{tv XuIR} [tv]\n\ \ base:GHC.TypeLits.+{(w) tc 37Q} 2)\n\ \ -> ghc-prim:GHC.Types.Int{(w) tc 3J}"# } in let { ww_sxl7 [Dmd=] :: Data.Bits.Bits (rep_XuIP (size_XuIR GHC.TypeLits.+ 2)) [LclId, Str=DmdType] ww_sxl7 = Data.Bits.D:Bits @ (rep_XuIP (size_XuIR GHC.TypeLits.+ 2)) ww_sxla ww_sxlb ww_sxlc ww_sxld ww_sxle ww_sxlf ww_sxlg ww_sxlh ww_sxli ww_sxlj ww_sxlk ww_sxll ww_sxlm ww_sxln ww_sxlo ww_sxlp ww_sxlq ww_sxlr ww_sxls ww_sxlt ww_sxlu ww_sxlv ww_sxlw } in let { tup_sws1 [Dmd=] :: CLaSH.Sized.Fixed.SatN2C rep_XuIP size_XuIR [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] tup_sws1 = (ww_sxkP, ww_sxkQ, ww_sxkV, ww_sxkW, ww_sxl2, ww_sxl3, ww_sxl4, ww_sxl5, ww_sxl6, ww_sxl7) } in tup_sws1 } } } } } } in let { $dKnownNat_sws0 :: GHC.TypeLits.KnownNat (size_XuIR GHC.TypeLits.+ 2) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_sws0 = case tup_sws1 of _ [Occ=Dead, Dmd=] { (tpl_X26 [Dmd=], tpl_X28 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_B8 } } in (CLaSH.Sized.Fixed.satN2 @ rep_XuIP @ size_XuIR (case tup_sws1 of _ [Occ=Dead, Dmd=] { (tpl_X27 [Dmd=], tpl_X29 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_X27 }, case tup_sws1 of _ [Occ=Dead, Dmd=] { (tpl_X27 [Dmd=], tpl_X29 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_X29 }, case tup_sws1 of _ [Occ=Dead, Dmd=] { (tpl_X27 [Dmd=], tpl_X29 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_B3 }, case tup_sws1 of _ [Occ=Dead, Dmd=] { (tpl_X27 [Dmd=], tpl_X29 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_B4 }, case tup_sws1 of _ [Occ=Dead, Dmd=] { (tpl_X27 [Dmd=], tpl_X29 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_B5 }, case tup_sws1 of _ [Occ=Dead, Dmd=] { (tpl_X27 [Dmd=], tpl_X29 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_B6 }, $dKnownNat_sws2, $dKnownNat_sws0, case tup_sws4 of _ [Occ=Dead, Dmd=] { (tpl_X27 [Dmd=], tpl_X29 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X27 }, case tup_sws1 of _ [Occ=Dead, Dmd=] { (tpl_X27 [Dmd=], tpl_X29 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=]) -> tpl_Ba }) (case tup_XvDe of _ [Occ=Dead, Dmd=] { (tpl_X4d [Dmd=], tpl_X29 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=]) -> GHC.Num.+ @ (rep_XuIP (size_XuIR GHC.TypeLits.+ 2)) tpl_B4 (case tup_sws4 of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_X5u [Dmd=], tpl_X5w [Dmd=], tpl_X5y [Dmd=], tpl_X5A [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> (tpl_X5A `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuIP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuIP a_ae8M -> rep_XuIP b_ae8N))) @ size_XuIR @ (size_XuIR GHC.TypeLits.+ 2) $dKnownNat_sws2 $dKnownNat_sws0 (eta_X1V `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR ~# rep_XuIP size_XuIR)) }) (case tup_sws4 of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_X5u [Dmd=], tpl_X5w [Dmd=], tpl_X5y [Dmd=], tpl_X5A [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> (tpl_X5A `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuIP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuIP a_ae8M -> rep_XuIP b_ae8N))) @ size_XuIR @ (size_XuIR GHC.TypeLits.+ 2) $dKnownNat_sws2 $dKnownNat_sws0 (eta_X3P `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR ~# rep_XuIP size_XuIR)) }) })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIP size_XuIR ~# CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) @ frac_auGY @ rep_auGZ @ size_auH0 w_sxlz w_sxlA w_sxlB $c+_avBo [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_auGY :: GHC.TypeLits.Nat)) (@ (rep_auGZ :: GHC.TypeLits.Nat -> *)) (@ (size_auH0 :: GHC.TypeLits.Nat)) (w_sxlz [Occ=Once!, Dmd=] :: CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) (w_sxlA [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) (w_sxlB [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) -> case w_sxlz of _ [Occ=Dead] { (ww_sxlE [Occ=Once!], ww_sxlS [Occ=Once], _ [Occ=Dead], ww_sxlU [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> case ww_sxlE of _ [Occ=Dead] { (ww_sxlH [Occ=Once], ww_sxlI [Occ=Once], ww_sxlJ [Occ=Once], ww_sxlK [Occ=Once], ww_sxlL [Occ=Once], ww_sxlM [Occ=Once], ww_sxlN [Occ=Once], ww_sxlO [Occ=Once], ww_sxlP [Occ=Once], ww_sxlQ [Occ=Once]) -> $w$c+_sxlY @ frac_auGY @ rep_auGZ @ size_auH0 ww_sxlH ww_sxlI ww_sxlJ ww_sxlK ww_sxlL ww_sxlM ww_sxlN ww_sxlO ww_sxlP ww_sxlQ ww_sxlS ww_sxlU w_sxlA w_sxlB } }}] $c+_avBo = \ (@ (frac_auGY :: GHC.TypeLits.Nat)) (@ (rep_auGZ :: GHC.TypeLits.Nat -> *)) (@ (size_auH0 :: GHC.TypeLits.Nat)) (w_sxlz [Dmd=] :: CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) (w_sxlA :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) (w_sxlB :: CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) -> case w_sxlz of ww_sxlD { (ww_sxlE, ww_sxlS, ww_sxlT, ww_sxlU, ww_sxlV, ww_sxlW) -> case ww_sxlE of ww_sxlG { (ww_sxlH, ww_sxlI, ww_sxlJ, ww_sxlK, ww_sxlL, ww_sxlM, ww_sxlN, ww_sxlO, ww_sxlP, ww_sxlQ) -> $w$c+_sxlY @ frac_auGY @ rep_auGZ @ size_auH0 ww_sxlH ww_sxlI ww_sxlJ ww_sxlK ww_sxlL ww_sxlM ww_sxlN ww_sxlO ww_sxlP ww_sxlQ ww_sxlS ww_sxlU w_sxlA w_sxlB } } CLaSH.Sized.Fixed.$fNumFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => GHC.Num.Num (CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) [LclIdX[DFunId], Arity=1, Str=DmdType m, Unf=DFun: \ (@ (frac_XuIO :: GHC.TypeLits.Nat)) (@ (rep_XuIQ :: GHC.TypeLits.Nat -> *)) (@ (size_XuIS :: GHC.TypeLits.Nat)) (tup_XvDf :: CLaSH.Sized.Fixed.NumFixed frac_XuIO rep_XuIQ size_XuIS) -> GHC.Num.D:Num TYPE CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS $c+_avBo @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $c*_avBP @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $c-_avCb @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $cnegate_avCC @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $cabs_avCW @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf (a_swkh @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) `cast` (_R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> rep_XuIQ size_XuIS) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS)) $cfromInteger_avDp @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf] CLaSH.Sized.Fixed.$fNumFixed = \ (@ (frac_XuIO :: GHC.TypeLits.Nat)) (@ (rep_XuIQ :: GHC.TypeLits.Nat -> *)) (@ (size_XuIS :: GHC.TypeLits.Nat)) (tup_XvDf [Dmd=] :: CLaSH.Sized.Fixed.NumFixed frac_XuIO rep_XuIQ size_XuIS) -> GHC.Num.D:Num @ (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS) ($c+_avBo @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($c*_avBP @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($c-_avCb @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($cnegate_avCC @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($cabs_avCW @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ((a_swkh @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) `cast` (_R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> rep_XuIQ size_XuIS) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS))) ($cfromInteger_avDp @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) CLaSH.Sized.Fixed.$fBitVectorFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV) => CLaSH.Class.BitVector.BitVector (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV) [LclIdX[DFunId], Arity=1, Str=DmdType m, Unf=DFun: \ (@ (frac_XuIN :: GHC.TypeLits.Nat)) (@ (rep_XuIP :: GHC.TypeLits.Nat -> *)) (@ (size_XuIR :: GHC.TypeLits.Nat)) ($dBitVector_XvCT :: CLaSH.Class.BitVector.BitVector (rep_XuIP size_XuIR)) -> CLaSH.Class.BitVector.D:BitVector TYPE CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR (\ ($dKnownNat_avB0 :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (ds_dw0H :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) -> CLaSH.Class.BitVector.toBV @ (rep_XuIP size_XuIR) $dBitVector_XvCT ($dKnownNat_avB0 `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (ds_dw0H `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR ~# rep_XuIP size_XuIR))) `cast` (_R -> _R -> (CLaSH.Sized.Vector.Vec (Sym (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N)) _R)_R :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit)) (\ ($dKnownNat_avBa :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (bv_auGX :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit) -> CLaSH.Class.BitVector.fromBV @ (rep_XuIP size_XuIR) $dBitVector_XvCT ($dKnownNat_avBa `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (bv_auGX `cast` ((CLaSH.Sized.Vector.Vec (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit))) `cast` (_R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> rep_XuIP size_XuIR) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))] CLaSH.Sized.Fixed.$fBitVectorFixed = \ (@ (frac_XuIN :: GHC.TypeLits.Nat)) (@ (rep_XuIP :: GHC.TypeLits.Nat -> *)) (@ (size_XuIR :: GHC.TypeLits.Nat)) ($dBitVector_XvCT [Dmd=] :: CLaSH.Class.BitVector.BitVector (rep_XuIP size_XuIR)) -> CLaSH.Class.BitVector.D:BitVector @ (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) ((\ ($dKnownNat_avB0 :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (ds_dw0H :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) -> CLaSH.Class.BitVector.toBV @ (rep_XuIP size_XuIR) $dBitVector_XvCT ($dKnownNat_avB0 `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (ds_dw0H `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR ~# rep_XuIP size_XuIR))) `cast` (_R -> _R -> (CLaSH.Sized.Vector.Vec (Sym (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N)) _R)_R :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit))) ((\ ($dKnownNat_avBa :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (bv_auGX :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit) -> CLaSH.Class.BitVector.fromBV @ (rep_XuIP size_XuIR) $dBitVector_XvCT ($dKnownNat_avBa `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (bv_auGX `cast` ((CLaSH.Sized.Vector.Vec (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit))) `cast` (_R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> rep_XuIP size_XuIR) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) a_swC4 :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => Data.Default.Class.Default (rep_auGM size_auGN) [LclId, Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swC4 = \ (@ (frac_auGL :: GHC.TypeLits.Nat)) (@ (rep_auGM :: GHC.TypeLits.Nat -> *)) (@ (size_auGN :: GHC.TypeLits.Nat)) ($dDefault_avAe [Dmd=] :: Data.Default.Class.Default (rep_auGM size_auGN)) -> $dDefault_avAe $cdef_avAg :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => CLaSH.Sized.Fixed.Fixed frac_auGL rep_auGM size_auGN [LclId, Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $cdef_avAg = a_swC4 `cast` (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). _R -> Data.Default.Class.NTCo:Default[0] _N ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => Data.Default.Class.Default (rep_XuLZ size_XuM1)) ~# (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => CLaSH.Sized.Fixed.Fixed frac_XuLX rep_XuLZ size_XuM1)) CLaSH.Sized.Fixed.$fDefaultFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_auGL rep_auGM size_auGN) [LclIdX[DFunId(nt)], Arity=1, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= $cdef_avAg `cast` (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). _R -> Sym (Data.Default.Class.NTCo:Default[0] _N) :: (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuIO size_XuIQ) => CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ) ~# (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuIO size_XuIQ) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ)))}] CLaSH.Sized.Fixed.$fDefaultFixed = a_swC4 `cast` (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). _R -> Data.Default.Class.NTCo:Default[0] _N ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sym (Data.Default.Class.NTCo:Default[0] _N) :: (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => Data.Default.Class.Default (rep_XuLZ size_XuM1)) ~# (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_XuLX rep_XuLZ size_XuM1))) CLaSH.Sized.Fixed.$fBoundedFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_auGJ size_auGK) => GHC.Enum.Bounded (CLaSH.Sized.Fixed.Fixed frac_auGI rep_auGJ size_auGK) [LclIdX[DFunId], Arity=1, Str=DmdType m, Unf=DFun: \ (@ (frac_XuIW :: GHC.TypeLits.Nat)) (@ (rep_XuIY :: GHC.TypeLits.Nat -> *)) (@ (size_XuJ0 :: GHC.TypeLits.Nat)) ($dBounded_XvCa :: GHC.Enum.Bounded (rep_XuIY size_XuJ0)) -> GHC.Enum.D:Bounded TYPE CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0 (GHC.Enum.minBound @ (rep_XuIY size_XuJ0) $dBounded_XvCa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0) (GHC.Enum.maxBound @ (rep_XuIY size_XuJ0) $dBounded_XvCa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0)] CLaSH.Sized.Fixed.$fBoundedFixed = \ (@ (frac_XuIW :: GHC.TypeLits.Nat)) (@ (rep_XuIY :: GHC.TypeLits.Nat -> *)) (@ (size_XuJ0 :: GHC.TypeLits.Nat)) ($dBounded_XvCa [Dmd=] :: GHC.Enum.Bounded (rep_XuIY size_XuJ0)) -> GHC.Enum.D:Bounded @ (CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0) ((GHC.Enum.minBound @ (rep_XuIY size_XuJ0) $dBounded_XvCa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0)) ((GHC.Enum.maxBound @ (rep_XuIY size_XuJ0) $dBounded_XvCa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0)) CLaSH.Sized.Fixed.$fOrdFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => GHC.Classes.Ord (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) [LclIdX[DFunId[1]], Arity=2, Str=DmdType m, Unf=DFun: \ (@ (frac_XuIv :: GHC.TypeLits.Nat)) (@ (rep_XuIx :: GHC.TypeLits.Nat -> *)) (@ (size_XuIz :: GHC.TypeLits.Nat)) ($dEq_XvB3 :: GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) ($dOrd_XvB5 :: GHC.Classes.Ord (rep_XuIx size_XuIz)) -> GHC.Classes.D:Ord TYPE CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz $dEq_XvB3 (GHC.Classes.compare @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Ordering) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Ordering)) (GHC.Classes.< @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) (GHC.Classes.>= @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) (GHC.Classes.> @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) (GHC.Classes.<= @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) (GHC.Classes.max @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) (GHC.Classes.min @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz))] CLaSH.Sized.Fixed.$fOrdFixed = \ (@ (frac_XuIv :: GHC.TypeLits.Nat)) (@ (rep_XuIx :: GHC.TypeLits.Nat -> *)) (@ (size_XuIz :: GHC.TypeLits.Nat)) ($dEq_XvB3 :: GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) ($dOrd_XvB5 [Dmd=] :: GHC.Classes.Ord (rep_XuIx size_XuIz)) -> GHC.Classes.D:Ord @ (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz) $dEq_XvB3 ((GHC.Classes.compare @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Ordering) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Ordering))) ((GHC.Classes.< @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.>= @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.> @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.<= @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.max @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz))) ((GHC.Classes.min @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz))) CLaSH.Sized.Fixed.$fEqFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_auFG size_auFH) => GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) [LclIdX[DFunId], Arity=1, Str=DmdType m, Unf=DFun: \ (@ (frac_XuII :: GHC.TypeLits.Nat)) (@ (rep_XuIK :: GHC.TypeLits.Nat -> *)) (@ (size_XuIM :: GHC.TypeLits.Nat)) ($dEq_XvAL :: GHC.Classes.Eq (rep_XuIK size_XuIM)) -> GHC.Classes.D:Eq TYPE CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM (GHC.Classes.== @ (rep_XuIK size_XuIM) $dEq_XvAL) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool)) (GHC.Classes./= @ (rep_XuIK size_XuIM) $dEq_XvAL) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool))] CLaSH.Sized.Fixed.$fEqFixed = \ (@ (frac_XuII :: GHC.TypeLits.Nat)) (@ (rep_XuIK :: GHC.TypeLits.Nat -> *)) (@ (size_XuIM :: GHC.TypeLits.Nat)) ($dEq_XvAL [Dmd=] :: GHC.Classes.Eq (rep_XuIK size_XuIM)) -> GHC.Classes.D:Eq @ (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM) ((GHC.Classes.== @ (rep_XuIK size_XuIM) $dEq_XvAL) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool))) ((GHC.Classes./= @ (rep_XuIK size_XuIM) $dEq_XvAL) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool))) a_swC6 :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] a_swC6 = GHC.CString.unpackCString# "Fixed"# a_swC9 :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 0}] a_swC9 = GHC.CString.unpackCString# "clash-prelude-0.5"# a_swCb :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 0}] a_swCb = GHC.CString.unpackCString# "CLaSH.Sized.Fixed"# a_swC7 :: Language.Haskell.TH.Syntax.NameFlavour [LclId, Str=DmdType m5, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}] a_swC7 = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.DataName (a_swC9 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a_swCb `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) lvl_swwh :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] lvl_swwh = Language.Haskell.TH.Syntax.Name (a_swC6 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a_swC7 a_swCe :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] a_swCe = GHC.CString.unpackCString# "Fixed"# a_swCh :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 0}] a_swCh = GHC.CString.unpackCString# "clash-prelude-0.5"# a_swCj :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 0}] a_swCj = GHC.CString.unpackCString# "CLaSH.Sized.Fixed"# a_swCf :: Language.Haskell.TH.Syntax.NameFlavour [LclId, Str=DmdType m5, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}] a_swCf = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.TcClsName (a_swCh `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a_swCj `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) lvl_swwp :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] lvl_swwp = Language.Haskell.TH.Syntax.Name (a_swCe `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a_swCf a_swCk :: forall (m_a4Ni :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4Ni => m_a4Ni Language.Haskell.TH.Syntax.Type [LclId, Arity=1, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (m_a4Ni :: * -> *)) (eta_a4Nj [Occ=Once, Dmd=] :: Language.Haskell.TH.Syntax.Quasi m_a4Ni) -> GHC.Base.return @ m_a4Ni (Language.Haskell.TH.Syntax.$p1Quasi @ m_a4Ni eta_a4Nj) @ Language.Haskell.TH.Syntax.Type (Language.Haskell.TH.Syntax.ConT lvl_swwp)}] a_swCk = \ (@ (m_a4Ni :: * -> *)) (eta_a4Nj [Dmd=] :: Language.Haskell.TH.Syntax.Quasi m_a4Ni) -> GHC.Base.return @ m_a4Ni (Language.Haskell.TH.Syntax.$p1Quasi @ m_a4Ni eta_a4Nj) @ Language.Haskell.TH.Syntax.Type (Language.Haskell.TH.Syntax.ConT lvl_swwp) a_swCv :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> forall (m_akMz :: * -> *). Language.Haskell.TH.Syntax.Quasi m_akMz => m_akMz Language.Haskell.TH.Syntax.Exp [LclId, Arity=5, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] a_swCv = \ (@ (frac_auGO :: GHC.TypeLits.Nat)) (@ (rep_auGP :: GHC.TypeLits.Nat -> *)) (@ (size_auGQ :: GHC.TypeLits.Nat)) ($dLift_avAq [Dmd=] :: Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ)) ($dKnownNat_avAr :: GHC.TypeLits.KnownNat frac_auGO) ($dKnownNat_avAs :: GHC.TypeLits.KnownNat size_auGQ) ($dTypeable_avAt [Dmd=] :: Data.Typeable.Internal.Typeable rep_auGP) (f_auGR :: CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ) -> let { w1_acZp [Dmd=] :: Language.Haskell.TH.Lib.ExpQ [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 1 0}] w1_acZp = ($dLift_avAq `cast` (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N :: Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ) ~# (rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp))) (f_auGR `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ ~# rep_auGP size_auGQ)) } in let { w1_akV2 [Dmd=] :: Language.Haskell.TH.Lib.TypeQ [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=NEVER}] w1_akV2 = letrec { lgo_awhL [Occ=LoopBreaker] :: Language.Haskell.TH.Lib.TypeQ -> [Language.Haskell.TH.Lib.TypeQ] -> Language.Haskell.TH.Lib.TypeQ [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=, TopLvl=False, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 30] 80 0}] lgo_awhL = \ (z_awhM :: Language.Haskell.TH.Lib.TypeQ) (ds_awhN [Dmd=] :: [Language.Haskell.TH.Lib.TypeQ]) -> case ds_awhN of _ [Occ=Dead, Dmd=] { [] -> z_awhM; : x_awhS [Dmd=] xs_awhT [Dmd=] -> lgo_awhL ((Language.Haskell.TH.Lib.appT1 z_awhM x_awhS) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) xs_awhT }; } in lgo_awhL (a_swCk `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (GHC.Types.: @ Language.Haskell.TH.Lib.TypeQ (let { l_a5DZ [Dmd=] :: Language.Haskell.TH.Lib.TyLitQ [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 20 0}] l_a5DZ = Language.Haskell.TH.Lib.numTyLit ($dKnownNat_avAr `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_auGO ~# GHC.Integer.Type.Integer)) } in (\ (@ (m_a5E0 :: * -> *)) (eta_a5E1 [Dmd=] :: Language.Haskell.TH.Syntax.Quasi m_a5E0) -> GHC.Base.fmap @ m_a5E0 (Control.Applicative.$p1Applicative @ m_a5E0 (Language.Haskell.TH.Syntax.$p2Quasi @ m_a5E0 eta_a5E1)) @ Language.Haskell.TH.Syntax.TyLit @ Language.Haskell.TH.Syntax.Type Language.Haskell.TH.Syntax.LitT ((l_a5DZ `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.TyLit ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.TyLit))) @ m_a5E0 eta_a5E1)) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (GHC.Types.: @ Language.Haskell.TH.Lib.TypeQ (let { x_X4Ts :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 271 90}] x_X4Ts = case ($dTypeable_avAt `cast` (Data.Typeable.Internal.NTCo:Typeable[0] *>_N _N :: Data.Typeable.Internal.Typeable rep_auGP ~# (GHC.Prim.Proxy# rep_auGP -> Data.Typeable.Internal.TypeRep))) (GHC.Prim.proxy# @ (GHC.TypeLits.Nat -> *) @ rep_auGP) of _ [Occ=Dead, Dmd=] { Data.Typeable.Internal.TypeRep ww1_awCq [Dmd=] ww2_awCr [Dmd=] ww3_awCs [Dmd=] ww4_awCt [Dmd=] -> case GHC.List.reverse1 @ GHC.Types.Char (Data.Typeable.Internal.$w$cshowsPrec GHC.Show.shows27 ww3_awCs ww4_awCt (GHC.Types.[] @ GHC.Types.Char)) (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead, Dmd=] { [] -> Language.Haskell.TH.Syntax.Name ((GHC.Types.[] @ GHC.Types.Char) `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) Language.Haskell.TH.Syntax.NameS; : ds_a5Fa [Dmd=] rev_a5Fb [Dmd=] -> case ds_a5Fa of wild22_a5Fd { GHC.Types.C# ds1_a5Ff [Dmd=] -> case ds1_a5Ff of _ [Occ=Dead, Dmd=] { __DEFAULT -> case Language.Haskell.TH.Syntax.mkName_$s$wsplit1 wild22_a5Fd (GHC.Types.[] @ GHC.Types.Char) rev_a5Fb of _ [Occ=Dead, Dmd=] { (# ww1_a5Aw, ww2_a5Ax #) -> Language.Haskell.TH.Syntax.Name ww1_a5Aw ww2_a5Ax }; '.' -> case Language.Haskell.TH.Syntax.mkName_$s$wsplit1 wild22_a5Fd (GHC.Types.[] @ GHC.Types.Char) rev_a5Fb of _ [Occ=Dead, Dmd=] { (# ww1_a5Aw, ww2_a5Ax #) -> Language.Haskell.TH.Syntax.Name ww1_a5Aw ww2_a5Ax } } } } } } in (\ (@ (m_X4Tv :: * -> *)) (eta_X4Tx [Dmd=] :: Language.Haskell.TH.Syntax.Quasi m_X4Tv) -> GHC.Base.return @ m_X4Tv (Language.Haskell.TH.Syntax.$p1Quasi @ m_X4Tv eta_X4Tx) @ Language.Haskell.TH.Syntax.Type (Language.Haskell.TH.Syntax.ConT x_X4Ts)) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (GHC.Types.: @ Language.Haskell.TH.Lib.TypeQ (let { l_a5DZ [Dmd=] :: Language.Haskell.TH.Lib.TyLitQ [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 20 0}] l_a5DZ = Language.Haskell.TH.Lib.numTyLit ($dKnownNat_avAs `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat size_auGQ ~# GHC.Integer.Type.Integer)) } in (\ (@ (m_a5E0 :: * -> *)) (eta_a5E1 [Dmd=] :: Language.Haskell.TH.Syntax.Quasi m_a5E0) -> GHC.Base.fmap @ m_a5E0 (Control.Applicative.$p1Applicative @ m_a5E0 (Language.Haskell.TH.Syntax.$p2Quasi @ m_a5E0 eta_a5E1)) @ Language.Haskell.TH.Syntax.TyLit @ Language.Haskell.TH.Syntax.Type Language.Haskell.TH.Syntax.LitT ((l_a5DZ `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.TyLit ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.TyLit))) @ m_a5E0 eta_a5E1)) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (GHC.Types.[] @ Language.Haskell.TH.Lib.TypeQ)))) } in \ (@ (m_akV3 :: * -> *)) (w2_akV4 [Dmd=] :: Language.Haskell.TH.Syntax.Quasi m_akV3) -> case w2_akV4 of _ [Occ=Dead, Dmd=] { Language.Haskell.TH.Syntax.D:Quasi ww1_akV7 [Dmd=] ww2_akV8 ww3_akV9 ww4_akVa ww5_akVb ww6_akVc ww7_akVd ww8_akVe ww9_akVf ww10_akVg ww11_akVh ww12_akVi ww13_akVj ww14_akVk ww15_akVl ww16_akVm ww17_akVn ww18_akVo -> case ww1_akV7 of _ [Occ=Dead, Dmd=] { GHC.Base.D:Monad ww20_akVt [Dmd=] ww21_akVu ww22_akVv ww23_akVw -> let { a_akVs :: GHC.Base.Monad m_akV3 [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 50}] a_akVs = GHC.Base.D:Monad @ m_akV3 ww20_akVt ww21_akVu ww22_akVv ww23_akVw } in let { eta_akVy :: Language.Haskell.TH.Syntax.Quasi m_akV3 [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 190}] eta_akVy = Language.Haskell.TH.Syntax.D:Quasi @ m_akV3 a_akVs ww2_akV8 ww3_akV9 ww4_akVa ww5_akVb ww6_akVc ww7_akVd ww8_akVe ww9_akVf ww10_akVg ww11_akVh ww12_akVi ww13_akVj ww14_akVk ww15_akVl ww16_akVm ww17_akVn ww18_akVo } in ww20_akVt @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (let { a_acZP :: GHC.Base.Monad m_akV3 [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 50}] a_acZP = GHC.Base.D:Monad @ m_akV3 ww20_akVt ww21_akVu ww22_akVv ww23_akVw } in let { eta_acZV :: Language.Haskell.TH.Syntax.Quasi m_akV3 [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 190}] eta_acZV = Language.Haskell.TH.Syntax.D:Quasi @ m_akV3 a_acZP ww2_akV8 ww3_akV9 ww4_akVa ww5_akVb ww6_akVc ww7_akVd ww8_akVe ww9_akVf ww10_akVg ww11_akVh ww12_akVi ww13_akVj ww14_akVk ww15_akVl ww16_akVm ww17_akVn ww18_akVo } in ww20_akVt @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (ww22_akVv @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.ConE lvl_swwh)) (\ (x_acZW :: Language.Haskell.TH.Syntax.Exp) -> ww20_akVt @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp ((w1_acZp `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp))) @ m_akV3 eta_acZV) (\ (x1_acZX :: Language.Haskell.TH.Syntax.Exp) -> ww22_akVv @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.AppE x_acZW x1_acZX)))) (\ (x_akVz :: Language.Haskell.TH.Syntax.Exp) -> ww20_akVt @ Language.Haskell.TH.Syntax.Type @ Language.Haskell.TH.Syntax.Exp ((w1_akV2 `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type))) @ m_akV3 eta_akVy) (\ (x1_akVA :: Language.Haskell.TH.Syntax.Type) -> ww22_akVv @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.SigE x_akVz x1_akVA))) } } $clift_avAv :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp [LclId, Arity=5, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $clift_avAv = a_swCv `cast` (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp)) CLaSH.Sized.Fixed.$fLiftFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ) [LclIdX[DFunId(nt)], Arity=5, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=4, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= $clift_avAv `cast` (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N) :: (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ)))}] CLaSH.Sized.Fixed.$fLiftFixed = a_swCv `cast` (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> (_R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N)) ; Sym (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N) :: (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ))) ------ Local rules for imported ids -------- "SPEC GHC.Real.^ [GHC.Types.Double, GHC.Integer.Type.Integer]" [1] forall ($dNum_swu4 :: GHC.Num.Num GHC.Types.Double) ($dIntegral_swu5 :: GHC.Real.Integral GHC.Integer.Type.Integer). GHC.Real.^ @ GHC.Types.Double @ GHC.Integer.Type.Integer $dNum_swu4 $dIntegral_swu5 = $s^_swu6 *** Simplifier: SimplBind [lvl_swvg{v} [lid]] SimplBind [lvl_swve{v} [lid]] SimplBind [lvl_swv0{v} [lid]] SimplBind [lvl_swv2{v} [lid]] SimplBind [lvl_swv4{v} [lid]] SimplBind [lvl_swv6{v} [lid]] SimplBind [g1{v swuY} [lid], $wg1{v sxaw} [lid]] SimplBind [lvl_swuS{v} [lid]] SimplBind [lvl_swv8{v} [lid]] SimplBind [lvl_swva{v} [lid]] SimplBind [lvl_swvc{v} [lid]] SimplBind [f{v swuQ} [lid], $wf{v sxaG} [lid]] SimplBind [lvl_swuH{v} [lid]] SimplBind [lvl_swuK{v} [lid]] SimplBind [$w$s^{v sxaM} [lid]] SimplBind [$s^{v swu6} [lid]] SimplBind [lvl_swvh{v} [lid]] SimplBind [a_swwS{v} [lid]] SimplBind [a_swwV{v} [lid]] SimplBind [a_swwX{v} [lid]] SimplBind [a_swwT{v} [lid]] SimplBind [lvl_swvo{v} [lid]] SimplBind [a_swx0{v} [lid]] SimplBind [a_swx3{v} [lid]] SimplBind [a_swx5{v} [lid]] SimplBind [a_swx1{v} [lid]] SimplBind [lvl_swvw{v} [lid]] SimplBind [$wa{v sxaS} [lid]] SimplBind [a_swxS{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.fLit{v ruEL} [lidx]] SimplBind [$wsatN2{v sxbN} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.satN2{v ruEK} [lidx]] SimplBind [lvl_swvz{v} [lid]] SimplBind [lvl_swvy{v} [lid]] SimplBind [lvl_swvB{v} [lid]] SimplBind [lvl_swvA{v} [lid]] SimplBind [$wresizeF{v sxcA} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.resizeF{v ruEJ} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.asRepProxy{v ruEG} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.asFracProxy{v ruEF} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.fracShift{v ruEH} [lidx]] SimplBind [a_swaI{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unUF{v ruEE} [lidx]] SimplBind [a_swaJ{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.uf{v ruED} [lidx]] SimplBind [a_swaK{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unSF{v ruEC} [lidx]] SimplBind [a_swaL{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.sf{v ruEB} [lidx]] SimplBind [a_swaM{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unFixed{v ruEA} [lidx[[RecSel]]]] SimplBind [lvl_swvD{v} [lid]] SimplBind [lvl_swvC{v} [lid]] SimplBind [lvl_swvG{v} [lid]] SimplBind [ds_swvM{v} [lid]] SimplBind [dt{v akMa} [lid]] SimplBind [$wlvl{v sxd6} [lid]] SimplBind [lvl_swvV{v} [lid]] SimplBind [lvl_swvX{v} [lid]] SimplBind [lvl_sww5{v} [lid]] SimplBind [lvl_sww6{v} [lid]] SimplBind [lvl_sww7{v} [lid]] SimplBind [lvl_sww8{v} [lid]] SimplBind [lvl_sww4{v} [lid]] SimplBind [lvl_sww9{v} [lid]] SimplBind [$w$cshow{v sxdD} [lid]] SimplBind [$cshow{v avFD} [lid]] SimplBind [$cshowsPrec{v avFB} [lid]] SimplBind [$w$cshowList{v sxe4} [lid]] SimplBind [$cshowList{v avIE} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fShowFixed{v ruTI} [lidx[DFunId]]] SimplBind [a_swjx{v} [lid]] SimplBind [$cmult{v avFi} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fMultFixedFixed{v ruTC} [lidx[DFunId(nt)]]] SimplBind [$w$cminus{v sxeW} [lid]] SimplBind [$cminus{v avEx} [lid]] SimplBind [$w$cplus{v sxfg} [lid]] SimplBind [$cplus{v avDP} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fAddFixedFixed{v ruSO} [lidx[DFunId]]] SimplBind [$w$cfromInteger{v sxgb} [lid]] SimplBind [$cfromInteger{v avDp} [lid]] SimplBind [a_swkh{v} [lid]] SimplBind [$w$cabs{v sxhI} [lid]] SimplBind [$cabs{v avCW} [lid]] SimplBind [$w$cnegate{v sxiT} [lid]] SimplBind [$cnegate{v avCC} [lid]] SimplBind [$w$c-{v sxk5} [lid]] SimplBind [$c-{v avCb} [lid]] SimplBind [$w$c*{v sxkM} [lid]] SimplBind [$c*{v avBP} [lid]] SimplBind [$w$c+{v sxlY} [lid]] SimplBind [$c+{v avBo} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fNumFixed{v ruPB} [lidx[DFunId]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fBitVectorFixed{v ruPx} [lidx[DFunId]]] SimplBind [a_swC4{v} [lid]] SimplBind [$cdef{v avAg} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fDefaultFixed{v ruO2} [lidx[DFunId(nt)]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fBoundedFixed{v ruHR} [lidx[DFunId]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fOrdFixed{v ruUw} [lidx[DFunId[1]]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fEqFixed{v ruUr} [lidx[DFunId]]] SimplBind [a_swC6{v} [lid]] SimplBind [a_swC9{v} [lid]] SimplBind [a_swCb{v} [lid]] SimplBind [a_swC7{v} [lid]] SimplBind [lvl_swwh{v} [lid]] SimplBind [a_swCe{v} [lid]] SimplBind [a_swCh{v} [lid]] SimplBind [a_swCj{v} [lid]] SimplBind [a_swCf{v} [lid]] SimplBind [lvl_swwp{v} [lid]] SimplBind [a_swCk{v} [lid]] SimplBind [a_swCv{v} [lid]] SimplBind [$clift{v avAv} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fLiftFixed{v ruOs} [lidx[DFunId(nt)]]] Result size of Simplifier iteration=1 = {terms: 3,453, types: 13,300, coercions: 980} SimplBind [lvl_swvg{v} [lid]] SimplBind [lvl_swv0{v} [lid]] SimplBind [lvl_swv2{v} [lid]] SimplBind [lvl_swv4{v} [lid]] SimplBind [lvl_swv6{v} [lid]] SimplBind [$wg1{v sxaw} [lid]] SimplBind [lvl_swuS{v} [lid]] SimplBind [lvl_swv8{v} [lid]] SimplBind [lvl_swva{v} [lid]] SimplBind [lvl_swvc{v} [lid]] SimplBind [$wf{v sxaG} [lid]] SimplBind [lvl_swuH{v} [lid]] SimplBind [lvl_swuK{v} [lid]] SimplBind [$w$s^{v sxaM} [lid]] SimplBind [$s^{v swu6} [lid]] SimplBind [lvl_swvh{v} [lid]] SimplBind [a_swwS{v} [lid]] SimplBind [a_swwV{v} [lid]] SimplBind [a_swwX{v} [lid]] SimplBind [a_swwT{v} [lid]] SimplBind [lvl_swvo{v} [lid]] SimplBind [a_swx0{v} [lid]] SimplBind [a_swx3{v} [lid]] SimplBind [a_swx5{v} [lid]] SimplBind [a_swx1{v} [lid]] SimplBind [lvl_swvw{v} [lid]] SimplBind [$wa{v sxaS} [lid]] SimplBind [a_swxS{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.fLit{v ruEL} [lidx]] SimplBind [$wsatN2{v sxbN} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.satN2{v ruEK} [lidx]] SimplBind [lvl_swvz{v} [lid]] SimplBind [lvl_swvy{v} [lid]] SimplBind [lvl_swvB{v} [lid]] SimplBind [lvl_swvA{v} [lid]] SimplBind [$wresizeF{v sxcA} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.resizeF{v ruEJ} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.asRepProxy{v ruEG} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.asFracProxy{v ruEF} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.fracShift{v ruEH} [lidx]] SimplBind [a_swaI{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unUF{v ruEE} [lidx]] SimplBind [a_swaJ{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.uf{v ruED} [lidx]] SimplBind [a_swaK{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unSF{v ruEC} [lidx]] SimplBind [a_swaL{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.sf{v ruEB} [lidx]] SimplBind [a_swaM{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unFixed{v ruEA} [lidx[[RecSel]]]] SimplBind [lvl_swvD{v} [lid]] SimplBind [lvl_swvC{v} [lid]] SimplBind [lvl_swvG{v} [lid]] SimplBind [ds_swvM{v} [lid]] SimplBind [dt{v akMa} [lid]] SimplBind [$wlvl{v sxd6} [lid]] SimplBind [lvl_swvV{v} [lid]] SimplBind [lvl_swvX{v} [lid]] SimplBind [lvl_sww5{v} [lid]] SimplBind [lvl_sww6{v} [lid]] SimplBind [lvl_sww7{v} [lid]] SimplBind [lvl_sww8{v} [lid]] SimplBind [lvl_sww4{v} [lid]] SimplBind [lvl_sww9{v} [lid]] SimplBind [$w$cshow{v sxdD} [lid]] SimplBind [$cshow{v avFD} [lid]] SimplBind [$cshowsPrec{v avFB} [lid]] SimplBind [$w$cshowList{v sxe4} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fShowFixed{v ruTI} [lidx[DFunId]]] SimplBind [a_swjx{v} [lid]] SimplBind [$cmult{v avFi} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fMultFixedFixed{v ruTC} [lidx[DFunId(nt)]]] SimplBind [$w$cminus{v sxeW} [lid]] SimplBind [$cminus{v avEx} [lid]] SimplBind [$w$cplus{v sxfg} [lid]] SimplBind [$cplus{v avDP} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fAddFixedFixed{v ruSO} [lidx[DFunId]]] SimplBind [$w$cfromInteger{v sxgb} [lid]] SimplBind [$cfromInteger{v avDp} [lid]] SimplBind [a_swkh{v} [lid]] SimplBind [$w$cabs{v sxhI} [lid]] SimplBind [$cabs{v avCW} [lid]] SimplBind [$w$cnegate{v sxiT} [lid]] SimplBind [$cnegate{v avCC} [lid]] SimplBind [$w$c-{v sxk5} [lid]] SimplBind [$c-{v avCb} [lid]] SimplBind [$w$c*{v sxkM} [lid]] SimplBind [$c*{v avBP} [lid]] SimplBind [$w$c+{v sxlY} [lid]] SimplBind [$c+{v avBo} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fNumFixed{v ruPB} [lidx[DFunId]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fBitVectorFixed{v ruPx} [lidx[DFunId]]] SimplBind [a_swC4{v} [lid]] SimplBind [$cdef{v avAg} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fDefaultFixed{v ruO2} [lidx[DFunId(nt)]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fBoundedFixed{v ruHR} [lidx[DFunId]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fOrdFixed{v ruUw} [lidx[DFunId[1]]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fEqFixed{v ruUr} [lidx[DFunId]]] SimplBind [a_swC6{v} [lid]] SimplBind [a_swC9{v} [lid]] SimplBind [a_swCb{v} [lid]] SimplBind [a_swC7{v} [lid]] SimplBind [lvl_swwh{v} [lid]] SimplBind [a_swCe{v} [lid]] SimplBind [a_swCh{v} [lid]] SimplBind [a_swCj{v} [lid]] SimplBind [a_swCf{v} [lid]] SimplBind [lvl_swwp{v} [lid]] SimplBind [a_swCk{v} [lid]] SimplBind [a_swCv{v} [lid]] SimplBind [$clift{v avAv} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fLiftFixed{v ruOs} [lidx[DFunId(nt)]]] Result size of Simplifier iteration=2 = {terms: 2,286, types: 8,197, coercions: 1,046} SimplBind [lvl_swvg{v} [lid]] SimplBind [lvl_swv0{v} [lid]] SimplBind [lvl_swv2{v} [lid]] SimplBind [lvl_swv4{v} [lid]] SimplBind [lvl_swv6{v} [lid]] SimplBind [$wg1{v sxaw} [lid]] SimplBind [lvl_swuS{v} [lid]] SimplBind [lvl_swv8{v} [lid]] SimplBind [lvl_swva{v} [lid]] SimplBind [lvl_swvc{v} [lid]] SimplBind [$wf{v sxaG} [lid]] SimplBind [lvl_swuH{v} [lid]] SimplBind [lvl_swuK{v} [lid]] SimplBind [$w$s^{v sxaM} [lid]] SimplBind [$s^{v swu6} [lid]] SimplBind [lvl_swvh{v} [lid]] SimplBind [a_swwS{v} [lid]] SimplBind [a_swwV{v} [lid]] SimplBind [a_swwX{v} [lid]] SimplBind [a_swwT{v} [lid]] SimplBind [lvl_swvo{v} [lid]] SimplBind [a_swx0{v} [lid]] SimplBind [a_swx3{v} [lid]] SimplBind [a_swx5{v} [lid]] SimplBind [a_swx1{v} [lid]] SimplBind [lvl_swvw{v} [lid]] SimplBind [$wa{v sxaS} [lid]] SimplBind [a_swxS{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.fLit{v ruEL} [lidx]] SimplBind [$wsatN2{v sxbN} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.satN2{v ruEK} [lidx]] SimplBind [lvl_swvz{v} [lid]] SimplBind [lvl_swvy{v} [lid]] SimplBind [lvl_swvB{v} [lid]] SimplBind [lvl_swvA{v} [lid]] SimplBind [$wresizeF{v sxcA} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.resizeF{v ruEJ} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.asRepProxy{v ruEG} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.asFracProxy{v ruEF} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.fracShift{v ruEH} [lidx]] SimplBind [a_swaI{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unUF{v ruEE} [lidx]] SimplBind [a_swaJ{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.uf{v ruED} [lidx]] SimplBind [a_swaK{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unSF{v ruEC} [lidx]] SimplBind [a_swaL{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.sf{v ruEB} [lidx]] SimplBind [a_swaM{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unFixed{v ruEA} [lidx[[RecSel]]]] SimplBind [lvl_swvD{v} [lid]] SimplBind [lvl_swvC{v} [lid]] SimplBind [lvl_swvG{v} [lid]] SimplBind [ds_swvM{v} [lid]] SimplBind [dt{v akMa} [lid]] SimplBind [$wlvl{v sxd6} [lid]] SimplBind [lvl_swvV{v} [lid]] SimplBind [lvl_swvX{v} [lid]] SimplBind [lvl_sww5{v} [lid]] SimplBind [lvl_sww6{v} [lid]] SimplBind [lvl_sww7{v} [lid]] SimplBind [lvl_sww8{v} [lid]] SimplBind [lvl_sww4{v} [lid]] SimplBind [lvl_sww9{v} [lid]] SimplBind [$w$cshow{v sxdD} [lid]] SimplBind [$cshow{v avFD} [lid]] SimplBind [$cshowsPrec{v avFB} [lid]] SimplBind [$w$cshowList{v sxe4} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fShowFixed{v ruTI} [lidx[DFunId]]] SimplBind [a_swjx{v} [lid]] SimplBind [$cmult{v avFi} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fMultFixedFixed{v ruTC} [lidx[DFunId(nt)]]] SimplBind [$w$cminus{v sxeW} [lid]] SimplBind [$cminus{v avEx} [lid]] SimplBind [$w$cplus{v sxfg} [lid]] SimplBind [$cplus{v avDP} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fAddFixedFixed{v ruSO} [lidx[DFunId]]] SimplBind [$cfromInteger{v avDp} [lid]] SimplBind [a_swkh{v} [lid]] SimplBind [$w$cabs{v sxhI} [lid]] SimplBind [$cabs{v avCW} [lid]] SimplBind [$w$cnegate{v sxiT} [lid]] SimplBind [$cnegate{v avCC} [lid]] SimplBind [$w$c-{v sxk5} [lid]] SimplBind [$c-{v avCb} [lid]] SimplBind [$c*{v avBP} [lid]] SimplBind [$w$c+{v sxlY} [lid]] SimplBind [$c+{v avBo} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fNumFixed{v ruPB} [lidx[DFunId]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fBitVectorFixed{v ruPx} [lidx[DFunId]]] SimplBind [a_swC4{v} [lid]] SimplBind [$cdef{v avAg} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fDefaultFixed{v ruO2} [lidx[DFunId(nt)]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fBoundedFixed{v ruHR} [lidx[DFunId]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fOrdFixed{v ruUw} [lidx[DFunId[1]]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fEqFixed{v ruUr} [lidx[DFunId]]] SimplBind [a_swC6{v} [lid]] SimplBind [a_swC9{v} [lid]] SimplBind [a_swCb{v} [lid]] SimplBind [a_swC7{v} [lid]] SimplBind [lvl_swwh{v} [lid]] SimplBind [a_swCe{v} [lid]] SimplBind [a_swCh{v} [lid]] SimplBind [a_swCj{v} [lid]] SimplBind [a_swCf{v} [lid]] SimplBind [lvl_swwp{v} [lid]] SimplBind [a_swCk{v} [lid]] SimplBind [a_swCv{v} [lid]] SimplBind [$clift{v avAv} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fLiftFixed{v ruOs} [lidx[DFunId(nt)]]] ==================== Simplifier ==================== Max iterations = 4 SimplMode {Phase = 0 [post-worker-wrapper], inline, rules, eta-expand, case-of-case} Result size of Simplifier = {terms: 2,229, types: 7,965, coercions: 965} lvl_swvg :: GHC.Types.Double [LclId, Str=DmdType b] lvl_swvg = GHC.Err.error @ GHC.Types.Double (GHC.CString.unpackCString# "Negative exponent"#) lvl_swv0 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swv0 = __integer 1 lvl_swv2 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swv2 = __integer 1 lvl_swv4 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swv4 = __integer 2 lvl_swv6 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swv6 = __integer 2 Rec { $wg1_sxaw [Occ=LoopBreaker] :: GHC.Prim.Double# -> GHC.Integer.Type.Integer -> GHC.Prim.Double# -> GHC.Prim.Double# [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0 0] 326 0}] $wg1_sxaw = \ (ww_sxan :: GHC.Prim.Double#) (w_sxaj :: GHC.Integer.Type.Integer) (ww_sxar :: GHC.Prim.Double#) -> case GHC.Integer.Type.eqInteger# (GHC.Integer.Type.remInteger w_sxaj GHC.Real.even2) GHC.Real.even1 of wild_akF2 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akF2 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case GHC.Integer.Type.eqInteger# w_sxaj lvl_swv0 of wild_a2f3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a2f3 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> $wg1_sxaw (GHC.Prim.*## ww_sxan ww_sxan) (GHC.Integer.Type.quotInteger (GHC.Integer.Type.minusInteger w_sxaj lvl_swv2) lvl_swv4) (GHC.Prim.*## ww_sxan ww_sxar); GHC.Types.True -> GHC.Prim.*## ww_sxan ww_sxar } }; GHC.Types.True -> $wg1_sxaw (GHC.Prim.*## ww_sxan ww_sxan) (GHC.Integer.Type.quotInteger w_sxaj lvl_swv6) ww_sxar } } end Rec } lvl_swuS :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swuS = __integer 1 lvl_swv8 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swv8 = __integer 1 lvl_swva :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swva = __integer 2 lvl_swvc :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swvc = __integer 2 Rec { $wf_sxaG [Occ=LoopBreaker] :: GHC.Prim.Double# -> GHC.Integer.Type.Integer -> GHC.Prim.Double# [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0] 314 0}] $wf_sxaG = \ (ww_sxaB :: GHC.Prim.Double#) (w_sxay :: GHC.Integer.Type.Integer) -> case GHC.Integer.Type.eqInteger# (GHC.Integer.Type.remInteger w_sxay GHC.Real.even2) GHC.Real.even1 of wild_akF2 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akF2 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case GHC.Integer.Type.eqInteger# w_sxay lvl_swuS of wild_a2f3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a2f3 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> $wg1_sxaw (GHC.Prim.*## ww_sxaB ww_sxaB) (GHC.Integer.Type.quotInteger (GHC.Integer.Type.minusInteger w_sxay lvl_swv8) lvl_swva) ww_sxaB; GHC.Types.True -> ww_sxaB } }; GHC.Types.True -> $wf_sxaG (GHC.Prim.*## ww_sxaB ww_sxaB) (GHC.Integer.Type.quotInteger w_sxay lvl_swvc) } } end Rec } lvl_swuH :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swuH = __integer 0 lvl_swuK :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swuK = __integer 0 $w$s^_sxaM [InlPrag=[1]] :: GHC.Types.Double -> GHC.Integer.Type.Integer -> GHC.Prim.Double# [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [20 0] 162 0}] $w$s^_sxaM = \ (w_sxaH :: GHC.Types.Double) (w_sxaI :: GHC.Integer.Type.Integer) -> case GHC.Integer.Type.ltInteger# w_sxaI lvl_swuH of wild_a4It { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a4It of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case GHC.Integer.Type.eqInteger# w_sxaI lvl_swuK of wild_a2f3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a2f3 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case w_sxaH of _ [Occ=Dead] { GHC.Types.D# ww_sxaB -> $wf_sxaG ww_sxaB w_sxaI }; GHC.Types.True -> 1.0 } }; GHC.Types.True -> case lvl_swvg of wild_00 { } } } $s^_swu6 [InlPrag=INLINE[0]] :: GHC.Types.Double -> GHC.Integer.Type.Integer -> GHC.Types.Double [LclId, Arity=2, Str=DmdType m, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (w_sxaH [Occ=Once] :: GHC.Types.Double) (w_sxaI [Occ=Once] :: GHC.Integer.Type.Integer) -> case $w$s^_sxaM w_sxaH w_sxaI of ww_sxaL { __DEFAULT -> GHC.Types.D# ww_sxaL }}] $s^_swu6 = \ (w_sxaH :: GHC.Types.Double) (w_sxaI :: GHC.Integer.Type.Integer) -> case $w$s^_sxaM w_sxaH w_sxaI of ww_sxaL { __DEFAULT -> GHC.Types.D# ww_sxaL } lvl_swvh :: GHC.Types.Double [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}] lvl_swvh = GHC.Types.D# 2.0 a_swwS :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] a_swwS = GHC.CString.unpackCString# "Fixed"# a_swwV :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 0}] a_swwV = GHC.CString.unpackCString# "clash-prelude-0.5"# a_swwX :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 0}] a_swwX = GHC.CString.unpackCString# "CLaSH.Sized.Fixed"# a_swwT :: Language.Haskell.TH.Syntax.NameFlavour [LclId, Str=DmdType m5, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}] a_swwT = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.DataName (a_swwV `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a_swwX `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) lvl_swvo :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] lvl_swvo = Language.Haskell.TH.Syntax.Name (a_swwS `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a_swwT a_swx0 :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 0}] a_swx0 = GHC.CString.unpackCString# "fromInteger"# a_swx3 :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 0}] a_swx3 = GHC.CString.unpackCString# "base"# a_swx5 :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] a_swx5 = GHC.CString.unpackCString# "GHC.Num"# a_swx1 :: Language.Haskell.TH.Syntax.NameFlavour [LclId, Str=DmdType m5, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}] a_swx1 = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.VarName (a_swx3 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a_swx5 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) lvl_swvw :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] lvl_swvw = Language.Haskell.TH.Syntax.Name (a_swx0 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a_swx1 $wa_sxaS :: forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> forall (m_awx9 :: * -> *). Language.Haskell.TH.Syntax.Quasi m_awx9 => m_awx9 (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) [LclId, Arity=4, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=4, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] $wa_sxaS = \ (@ (frac_avhM :: GHC.TypeLits.Nat)) (@ (rep_avhN :: GHC.TypeLits.Nat -> *)) (@ (size_avhO :: GHC.TypeLits.Nat)) (w_sxaN :: GHC.TypeLits.KnownNat frac_avhM) (w_sxaP :: GHC.Enum.Bounded (rep_avhN size_avhO)) (w_sxaQ :: GHC.Real.Integral (rep_avhN size_avhO)) (w_sxaR :: GHC.Types.Double) -> let { x_akVD :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=NEVER}] x_akVD = let { rMax_swu0 [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] rMax_swu0 = GHC.Real.toInteger @ (rep_avhN size_avhO) w_sxaQ (GHC.Enum.maxBound @ (rep_avhN size_avhO) w_sxaP) } in case w_sxaR of _ [Occ=Dead, Dmd=] { GHC.Types.D# x_aw80 -> case $w$s^_sxaM lvl_swvh (w_sxaN `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_avhM ~# GHC.Integer.Type.Integer)) of ww_sxaL { __DEFAULT -> case GHC.Integer.Type.decodeDoubleInteger (GHC.Prim.*## x_aw80 ww_sxaL) of _ [Occ=Dead, Dmd=] { (# ipv_aw8Q, ipv1_aw8R #) -> let { truncated_swu2 [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 459 0}] truncated_swu2 = case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# ipv1_aw8R 0) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> GHC.Integer.Type.shiftLInteger ipv_aw8Q ipv1_aw8R; GHC.Types.True -> let { s_aw8X :: GHC.Prim.Int# [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 1 0}] s_aw8X = GHC.Prim.negateInt# ipv1_aw8R } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.># s_aw8X 52) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case GHC.Integer.Type.ltInteger# ipv_aw8Q (__integer 0) of wild3_aw92 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild3_aw92 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case GHC.Integer.Type.integerToInt ipv_aw8Q of n_aw96 { __DEFAULT -> GHC.Integer.Type.smallInteger (GHC.Prim.uncheckedIShiftRA# n_aw96 s_aw8X) }; GHC.Types.True -> case GHC.Integer.Type.integerToInt (GHC.Integer.Type.negateInteger ipv_aw8Q) of n_aw99 { __DEFAULT -> GHC.Integer.Type.smallInteger (GHC.Prim.negateInt# (GHC.Prim.uncheckedIShiftRA# n_aw99 s_aw8X)) } } }; GHC.Types.True -> __integer 0 } } } in case GHC.Integer.Type.gtInteger# truncated_swu2 rMax_swu0 of wild_akJ6 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akJ6 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> let { rMin_swu1 [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] rMin_swu1 = GHC.Real.toInteger @ (rep_avhN size_avhO) w_sxaQ (GHC.Enum.minBound @ (rep_avhN size_avhO) w_sxaP) } in case GHC.Integer.Type.ltInteger# truncated_swu2 rMin_swu1 of wild_a4It { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a4It of _ [Occ=Dead, Dmd=] { GHC.Types.False -> truncated_swu2; GHC.Types.True -> rMin_swu1 } }; GHC.Types.True -> rMax_swu0 } } } } } } in \ (@ (m_awx9 :: * -> *)) (w1_awxa :: Language.Haskell.TH.Syntax.Quasi m_awx9) -> case w1_awxa of _ [Occ=Dead, Dmd=] { Language.Haskell.TH.Syntax.D:Quasi ww1_awxd [Dmd=] ww2_awxe [Dmd=] ww3_awxf [Dmd=] ww4_awxg [Dmd=] ww5_awxh [Dmd=] ww6_awxi [Dmd=] ww7_awxj [Dmd=] ww8_awxk [Dmd=] ww9_awxl [Dmd=] ww10_awxm [Dmd=] ww11_awxn [Dmd=] ww12_awxo [Dmd=] ww13_awxp [Dmd=] ww14_awxq [Dmd=] ww15_awxr [Dmd=] ww16_awxs [Dmd=] ww17_awxt [Dmd=] ww18_awxu [Dmd=] -> case ww1_awxd of _ [Occ=Dead, Dmd=] { GHC.Base.D:Monad ww20_awxy [Dmd=] ww21_awxz [Dmd=] ww22_awxA [Dmd=] ww23_awxB [Dmd=] -> ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) (ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (ww22_awxA @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.ConE lvl_swvo)) (\ (x_acZW :: Language.Haskell.TH.Syntax.Exp) -> ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (ww22_awxA @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.VarE lvl_swvw)) (\ (x_Xd36 :: Language.Haskell.TH.Syntax.Exp) -> ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (ww22_awxA @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.LitE (Language.Haskell.TH.Syntax.IntegerL x_akVD))) (\ (x1_acZX :: Language.Haskell.TH.Syntax.Exp) -> ww22_awxA @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.AppE x_Xd36 x1_acZX)))) (\ (x1_acZX :: Language.Haskell.TH.Syntax.Exp) -> ww22_awxA @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.AppE x_acZW x1_acZX)))) (\ (x_awxD :: Language.Haskell.TH.Syntax.Exp) -> ww22_awxA @ (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) (x_awxD `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:TExp[0] _N) :: Language.Haskell.TH.Syntax.Exp ~# Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)))) } } a_swxS [InlPrag=INLINE[0]] :: forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> forall (m_aw9c :: * -> *). Language.Haskell.TH.Syntax.Quasi m_aw9c => m_aw9c (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) [LclId, Arity=5, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= \ (@ (frac_avhM :: GHC.TypeLits.Nat)) (@ (rep_avhN :: GHC.TypeLits.Nat -> *)) (@ (size_avhO :: GHC.TypeLits.Nat)) (w_sxaN [Occ=Once] :: GHC.TypeLits.KnownNat frac_avhM) _ [Occ=Dead, Dmd=] (w_sxaP [Occ=Once] :: GHC.Enum.Bounded (rep_avhN size_avhO)) (w_sxaQ [Occ=Once] :: GHC.Real.Integral (rep_avhN size_avhO)) (w_sxaR [Occ=Once] :: GHC.Types.Double) -> $wa_sxaS @ frac_avhM @ rep_avhN @ size_avhO w_sxaN w_sxaP w_sxaQ w_sxaR}] a_swxS = \ (@ (frac_avhM :: GHC.TypeLits.Nat)) (@ (rep_avhN :: GHC.TypeLits.Nat -> *)) (@ (size_avhO :: GHC.TypeLits.Nat)) (w_sxaN :: GHC.TypeLits.KnownNat frac_avhM) _ [Occ=Dead, Dmd=] (w_sxaP :: GHC.Enum.Bounded (rep_avhN size_avhO)) (w_sxaQ :: GHC.Real.Integral (rep_avhN size_avhO)) (w_sxaR :: GHC.Types.Double) -> $wa_sxaS @ frac_avhM @ rep_avhN @ size_avhO w_sxaN w_sxaP w_sxaQ w_sxaR CLaSH.Sized.Fixed.fLit :: forall (frac_auFI :: GHC.TypeLits.Nat) (rep_auFJ :: GHC.TypeLits.Nat -> *) (size_auFK :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_auFI, GHC.Num.Num (rep_auFJ size_auFK), GHC.Enum.Bounded (rep_auFJ size_auFK), GHC.Real.Integral (rep_auFJ size_auFK)) => GHC.Types.Double -> Language.Haskell.TH.Syntax.Q (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_auFI rep_auFJ size_auFK)) [LclIdX, Arity=5, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= a_swxS `cast` (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO))) ~# (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> Language.Haskell.TH.Syntax.Q (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO))))}] CLaSH.Sized.Fixed.fLit = a_swxS `cast` (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO))) ~# (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> Language.Haskell.TH.Syntax.Q (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)))) $wsatN2_sxbN :: forall (rep_auFL :: GHC.TypeLits.Nat -> *) (n_auFM :: GHC.TypeLits.Nat). (((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) GHC.Prim.~# (n_auFM GHC.TypeLits.+ 2)) -> CLaSH.Class.BitVector.BitVector (rep_auFL n_auFM) => (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) => rep_auFL (n_auFM GHC.TypeLits.+ 2) -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit) -> (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM) ~ n_auFM, CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2)) ~ (n_auFM GHC.TypeLits.+ 2), GHC.TypeLits.KnownNat n_auFM, GHC.TypeLits.KnownNat (n_auFM GHC.TypeLits.+ 2), GHC.Enum.Bounded (rep_auFL n_auFM)) => (rep_auFL (n_auFM GHC.TypeLits.+ 2) -> GHC.Types.Bool) -> rep_auFL (n_auFM GHC.TypeLits.+ 2) -> rep_auFL n_auFM [LclId, Arity=10, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=10, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] $wsatN2_sxbN = \ (@ (rep_auFL :: GHC.TypeLits.Nat -> *)) (@ (n_auFM :: GHC.TypeLits.Nat)) (ww_sxb7 :: ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) GHC.Prim.~# (n_auFM GHC.TypeLits.+ 2)) (ww_sxb9 :: CLaSH.Class.BitVector.BitVector (rep_auFL n_auFM)) (ww_sxbd :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) => rep_auFL (n_auFM GHC.TypeLits.+ 2) -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit) (ww_sxbg :: CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM) ~ n_auFM) (ww_sxbh :: CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2)) ~ (n_auFM GHC.TypeLits.+ 2) Unf=OtherCon []) (ww_sxbi :: GHC.TypeLits.KnownNat n_auFM) (ww_sxbj :: GHC.TypeLits.KnownNat (n_auFM GHC.TypeLits.+ 2)) (ww_sxbk :: GHC.Enum.Bounded (rep_auFL n_auFM)) (ww_sxbD :: rep_auFL (n_auFM GHC.TypeLits.+ 2) -> GHC.Types.Bool) (w_sxb0 :: rep_auFL (n_auFM GHC.TypeLits.+ 2)) -> let { a_sxnX :: 1 GHC.TypeLits.<= n_auFM [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 190 0}] a_sxnX = Control.Exception.Base.absentError @ (1 GHC.TypeLits.<= n_auFM) "ww_sxb3{v} [lid] 1 base:GHC.TypeLits.<={tc r4y} n{tv auFM} [tv]"# } in case ww_sxbh of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw6Z -> let { a_sxop [Dmd=] :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 30 0}] a_sxop = ww_sxbd (ww_sxbj `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw6Z))_R :: GHC.TypeLits.KnownNat (n_auFM GHC.TypeLits.+ 2) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))))) w_sxb0 } in let { s_swtS :: CLaSH.Sized.Vector.Vec n_auFM CLaSH.Bit.Bit [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 0}] s_swtS = CLaSH.Sized.Vector.vtail @ n_auFM @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_auFM GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (a_sxop `cast` ((CLaSH.Sized.Vector.Vec (cobox_dw6Z ; Sym ww_sxb7) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit))) } in case ww_sxbD w_sxb0 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case CLaSH.Sized.Vector.vhead @ (n_auFM GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (a_sxop `cast` ((CLaSH.Sized.Vector.Vec (cobox_dw6Z ; Sym ww_sxb7) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit)) of _ [Occ=Dead, Dmd=] { CLaSH.Bit.H -> case CLaSH.Sized.Vector.vhead @ n_auFM @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_auFM GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (a_sxop `cast` ((CLaSH.Sized.Vector.Vec (cobox_dw6Z ; Sym ww_sxb7) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit))) of _ [Occ=Dead, Dmd=] { CLaSH.Bit.H -> GHC.Enum.minBound @ (rep_auFL n_auFM) ww_sxbk; CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_auFL n_auFM) ww_sxb9 (case ww_sxbg of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw7b -> ww_sxbi `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw7b))_R :: GHC.TypeLits.KnownNat n_auFM ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM))) }) (case ww_sxbg of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw7c -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7c) _R)_R :: CLaSH.Sized.Vector.Vec n_auFM CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) CLaSH.Bit.Bit) }) }; CLaSH.Bit.L -> case CLaSH.Sized.Vector.vhead @ n_auFM @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_auFM GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (a_sxop `cast` ((CLaSH.Sized.Vector.Vec (cobox_dw6Z ; Sym ww_sxb7) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit))) of _ [Occ=Dead, Dmd=] { CLaSH.Bit.H -> GHC.Enum.maxBound @ (rep_auFL n_auFM) ww_sxbk; CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_auFL n_auFM) ww_sxb9 (case ww_sxbg of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw7b -> ww_sxbi `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw7b))_R :: GHC.TypeLits.KnownNat n_auFM ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM))) }) (case ww_sxbg of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw7c -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7c) _R)_R :: CLaSH.Sized.Vector.Vec n_auFM CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) CLaSH.Bit.Bit) }) } }; GHC.Types.True -> case CLaSH.Sized.Vector.vhead @ (n_auFM GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (a_sxop `cast` ((CLaSH.Sized.Vector.Vec (cobox_dw6Z ; Sym ww_sxb7) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit)) of _ [Occ=Dead, Dmd=] { CLaSH.Bit.H -> case CLaSH.Sized.Vector.vhead' @ n_auFM @ CLaSH.Bit.Bit a_sxnX s_swtS of _ [Occ=Dead, Dmd=] { CLaSH.Bit.H -> CLaSH.Class.BitVector.fromBV @ (rep_auFL n_auFM) ww_sxb9 (case ww_sxbg of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw79 -> ww_sxbi `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw79))_R :: GHC.TypeLits.KnownNat n_auFM ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM))) }) (case ww_sxbg of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw7a -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7a) _R)_R :: CLaSH.Sized.Vector.Vec n_auFM CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) CLaSH.Bit.Bit) }); CLaSH.Bit.L -> GHC.Enum.minBound @ (rep_auFL n_auFM) ww_sxbk }; CLaSH.Bit.L -> case CLaSH.Sized.Vector.vhead' @ n_auFM @ CLaSH.Bit.Bit a_sxnX s_swtS of _ [Occ=Dead, Dmd=] { CLaSH.Bit.H -> GHC.Enum.maxBound @ (rep_auFL n_auFM) ww_sxbk; CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_auFL n_auFM) ww_sxb9 (case ww_sxbg of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw79 -> ww_sxbi `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw79))_R :: GHC.TypeLits.KnownNat n_auFM ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM))) }) (case ww_sxbg of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw7a -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7a) _R)_R :: CLaSH.Sized.Vector.Vec n_auFM CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) CLaSH.Bit.Bit) }) } } } } CLaSH.Sized.Fixed.satN2 [InlPrag=INLINE[0]] :: forall (rep_auFL :: GHC.TypeLits.Nat -> *) (n_auFM :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.SatN2C rep_auFL n_auFM) => rep_auFL (n_auFM GHC.TypeLits.+ 2) -> rep_auFL n_auFM [LclIdX, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (rep_auFL :: GHC.TypeLits.Nat -> *)) (@ (n_auFM :: GHC.TypeLits.Nat)) (w_sxaZ [Occ=Once!] :: CLaSH.Sized.Fixed.SatN2C rep_auFL n_auFM) (w_sxb0 [Occ=Once] :: rep_auFL (n_auFM GHC.TypeLits.+ 2)) -> case w_sxaZ of _ [Occ=Dead] { (_ [Occ=Dead], ww_sxb4 [Occ=Once!], ww_sxb9 [Occ=Once], ww_sxba [Occ=Once!], ww_sxbg [Occ=Once], ww_sxbh [Occ=Once!], ww_sxbi [Occ=Once], ww_sxbj [Occ=Once], ww_sxbk [Occ=Once], ww_sxbl [Occ=Once!]) -> case ww_sxb4 of _ [Occ=Dead] { GHC.Types.Eq# ww_sxb7 -> case ww_sxba of _ [Occ=Dead] { CLaSH.Class.BitVector.D:BitVector ww_sxbd [Occ=Once] _ [Occ=Dead] -> case ww_sxbh of ww_XxbC { GHC.Types.Eq# _ [Occ=Dead] -> case ww_sxbl of _ [Occ=Dead] { Data.Bits.D:Bits _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] ww_sxbD [Occ=Once] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> $wsatN2_sxbN @ rep_auFL @ n_auFM @~ ww_sxb7 ww_sxb9 ww_sxbd ww_sxbg ww_XxbC ww_sxbi ww_sxbj ww_sxbk ww_sxbD w_sxb0 } } } } }}] CLaSH.Sized.Fixed.satN2 = \ (@ (rep_auFL :: GHC.TypeLits.Nat -> *)) (@ (n_auFM :: GHC.TypeLits.Nat)) (w_sxaZ :: CLaSH.Sized.Fixed.SatN2C rep_auFL n_auFM) (w_sxb0 :: rep_auFL (n_auFM GHC.TypeLits.+ 2)) -> case w_sxaZ of _ [Occ=Dead] { (ww_sxb3, ww_sxb4, ww_sxb9, ww_sxba, ww_sxbg, ww_sxbh, ww_sxbi, ww_sxbj, ww_sxbk, ww_sxbl) -> case ww_sxb4 of _ [Occ=Dead] { GHC.Types.Eq# ww_sxb7 -> case ww_sxba of _ [Occ=Dead] { CLaSH.Class.BitVector.D:BitVector ww_sxbd ww_sxbe -> case ww_sxbh of ww_Xxe7 { GHC.Types.Eq# ipv_sxoJ -> case ww_sxbl of _ [Occ=Dead] { Data.Bits.D:Bits ww_sxbo ww_sxbp ww_sxbq ww_sxbr ww_sxbs ww_sxbt ww_sxbu ww_sxbv ww_sxbw ww_sxbx ww_sxby ww_sxbz ww_sxbA ww_sxbB ww_sxbC ww_sxbD ww_sxbE ww_sxbF ww_sxbG ww_sxbH ww_sxbI ww_sxbJ ww_sxbK -> $wsatN2_sxbN @ rep_auFL @ n_auFM @~ ww_sxb7 ww_sxb9 ww_sxbd ww_sxbg ww_Xxe7 ww_sxbi ww_sxbj ww_sxbk ww_sxbD w_sxb0 } } } } } lvl_swvz :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swvz = __integer 0 lvl_swvy :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swvy = __integer 0 lvl_swvB :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swvB = __integer 0 lvl_swvA :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swvA = __integer 0 $wresizeF_sxcA :: forall (frac1_auFN :: GHC.TypeLits.Nat) (frac2_auFO :: GHC.TypeLits.Nat) (rep_auFP :: GHC.TypeLits.Nat -> *) (size1_auFQ :: GHC.TypeLits.Nat) (size2_auFR :: GHC.TypeLits.Nat). (GHC.Enum.Bounded (rep_auFP size2_auFR), GHC.Classes.Ord (rep_auFP size1_auFQ), GHC.Num.Num (rep_auFP size1_auFQ), Data.Bits.Bits (rep_auFP size1_auFQ), CLaSH.Class.Num.Resize rep_auFP, GHC.TypeLits.KnownNat size2_auFR, GHC.TypeLits.KnownNat size1_auFQ, Data.Bits.Bits (rep_auFP size2_auFR), GHC.TypeLits.KnownNat frac2_auFO, GHC.TypeLits.KnownNat frac1_auFN) => CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ -> CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR [LclId, Arity=11, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=11, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] $wresizeF_sxcA = \ (@ (frac1_auFN :: GHC.TypeLits.Nat)) (@ (frac2_auFO :: GHC.TypeLits.Nat)) (@ (rep_auFP :: GHC.TypeLits.Nat -> *)) (@ (size1_auFQ :: GHC.TypeLits.Nat)) (@ (size2_auFR :: GHC.TypeLits.Nat)) (ww_sxcn :: GHC.Enum.Bounded (rep_auFP size2_auFR)) (ww_sxcp :: GHC.Classes.Ord (rep_auFP size1_auFQ)) (ww_sxcq :: GHC.Num.Num (rep_auFP size1_auFQ)) (ww_sxcr :: Data.Bits.Bits (rep_auFP size1_auFQ)) (ww_sxcs :: CLaSH.Class.Num.Resize rep_auFP) (ww_sxct :: GHC.TypeLits.KnownNat size2_auFR) (ww_sxcu :: GHC.TypeLits.KnownNat size1_auFQ) (ww_sxcv :: Data.Bits.Bits (rep_auFP size2_auFR)) (ww_sxcw :: GHC.TypeLits.KnownNat frac2_auFO) (ww_sxcx :: GHC.TypeLits.KnownNat frac1_auFN) (w_sxck :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ) -> case GHC.Integer.Type.leInteger# (ww_sxcu `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat size1_auFQ ~# GHC.Integer.Type.Integer)) (ww_sxct `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat size2_auFR ~# GHC.Integer.Type.Integer)) of wild_akJ3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akJ3 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> let { fMax_swtA :: rep_auFP size2_auFR [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 20 0}] fMax_swtA = GHC.Enum.maxBound @ (rep_auFP size2_auFR) ww_sxcn } in case ww_sxcr of _ [Occ=Dead] { Data.Bits.D:Bits ww_sxbQ ww_sxbW ww_sxbX ww_sxbY ww_sxbZ ww_sxc0 ww_sxc1 ww_sxc2 ww_sxc3 ww_sxc4 ww_sxc5 ww_sxc6 ww_sxc7 ww_sxc8 ww_sxc9 ww_sxca ww_sxcb ww_sxcc ww_sxcd ww_sxce ww_sxcf ww_sxcg ww_sxch -> case ww_sxbQ of _ [Occ=Dead] { GHC.Classes.D:Eq ww_sxbT ww_sxbU -> let { mask_swtz :: rep_auFP size1_auFQ [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 23 0}] mask_swtz = ww_sxbZ ((ww_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size2_auFR @ size1_auFQ ww_sxct ww_sxcu fMax_swtA) } in case GHC.Integer.Type.integerToInt (ww_sxcx `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac1_auFN ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> case GHC.Integer.Type.integerToInt (ww_sxcw `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac2_auFO ~# GHC.Integer.Type.Integer)) of wild_XkFQ { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# wild_akCB wild_XkFQ) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> let { shiftedR_swty :: rep_auFP size1_auFQ [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 41 0}] shiftedR_swty = ww_sxcd (w_sxck `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ)) (GHC.Types.I# (GHC.Prim.-# wild_akCB wild_XkFQ)) } in case GHC.Classes.>= @ (rep_auFP size1_auFQ) ww_sxcp (w_sxck `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ)) (GHC.Num.fromInteger @ (rep_auFP size1_auFQ) ww_sxcq lvl_swvy) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case ww_sxbT (ww_sxbW shiftedR_swty mask_swtz) mask_swtz of _ [Occ=Dead, Dmd=] { GHC.Types.False -> (GHC.Enum.minBound @ (rep_auFP size2_auFR) ww_sxcn) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR); GHC.Types.True -> ((ww_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww_sxcu ww_sxct shiftedR_swty) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) }; GHC.Types.True -> case ww_sxbT (ww_sxbW shiftedR_swty mask_swtz) (GHC.Num.fromInteger @ (rep_auFP size1_auFQ) ww_sxcq lvl_swvz) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> fMax_swtA `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR); GHC.Types.True -> ((ww_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww_sxcu ww_sxct shiftedR_swty) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) } }; GHC.Types.True -> let { shiftedL_swtK :: rep_auFP size1_auFQ [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 41 0}] shiftedL_swtK = ww_sxcb (w_sxck `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ)) (GHC.Types.I# (GHC.Prim.-# wild_XkFQ wild_akCB)) } in case GHC.Classes.>= @ (rep_auFP size1_auFQ) ww_sxcp (w_sxck `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ)) (GHC.Num.fromInteger @ (rep_auFP size1_auFQ) ww_sxcq lvl_swvA) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case ww_sxbT (ww_sxbW shiftedL_swtK mask_swtz) mask_swtz of _ [Occ=Dead, Dmd=] { GHC.Types.False -> (GHC.Enum.minBound @ (rep_auFP size2_auFR) ww_sxcn) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR); GHC.Types.True -> ((ww_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww_sxcu ww_sxct shiftedL_swtK) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) }; GHC.Types.True -> case ww_sxbT (ww_sxbW shiftedL_swtK mask_swtz) (GHC.Num.fromInteger @ (rep_auFP size1_auFQ) ww_sxcq lvl_swvB) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> fMax_swtA `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR); GHC.Types.True -> ((ww_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww_sxcu ww_sxct shiftedL_swtK) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) } } } } } } }; GHC.Types.True -> case GHC.Integer.Type.integerToInt (ww_sxcx `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac1_auFN ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> case GHC.Integer.Type.integerToInt (ww_sxcw `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac2_auFO ~# GHC.Integer.Type.Integer)) of wild_XkFG { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# wild_akCB wild_XkFG) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> (Data.Bits.shiftR @ (rep_auFP size2_auFR) ww_sxcv ((ww_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww_sxcu ww_sxct (w_sxck `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ))) (GHC.Types.I# (GHC.Prim.-# wild_akCB wild_XkFG))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR); GHC.Types.True -> (Data.Bits.shiftL @ (rep_auFP size2_auFR) ww_sxcv ((ww_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww_sxcu ww_sxct (w_sxck `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ))) (GHC.Types.I# (GHC.Prim.-# wild_XkFG wild_akCB))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) } } } } } CLaSH.Sized.Fixed.resizeF [InlPrag=INLINE[0]] :: forall (frac1_auFN :: GHC.TypeLits.Nat) (frac2_auFO :: GHC.TypeLits.Nat) (rep_auFP :: GHC.TypeLits.Nat -> *) (size1_auFQ :: GHC.TypeLits.Nat) (size2_auFR :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.ResizeFC rep_auFP frac1_auFN frac2_auFO size1_auFQ size2_auFR) => CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ -> CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR [LclIdX, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac1_auFN :: GHC.TypeLits.Nat)) (@ (frac2_auFO :: GHC.TypeLits.Nat)) (@ (rep_auFP :: GHC.TypeLits.Nat -> *)) (@ (size1_auFQ :: GHC.TypeLits.Nat)) (@ (size2_auFR :: GHC.TypeLits.Nat)) (w_sxcj [Occ=Once!] :: CLaSH.Sized.Fixed.ResizeFC rep_auFP frac1_auFN frac2_auFO size1_auFQ size2_auFR) (w_sxck [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ) -> case w_sxcj of _ [Occ=Dead] { (ww_sxcn [Occ=Once], _ [Occ=Dead], ww_sxcp [Occ=Once], ww_sxcq [Occ=Once], ww_sxcr [Occ=Once], ww_sxcs [Occ=Once], ww_sxct [Occ=Once], ww_sxcu [Occ=Once], ww_sxcv [Occ=Once], ww_sxcw [Occ=Once], ww_sxcx [Occ=Once], _ [Occ=Dead]) -> $wresizeF_sxcA @ frac1_auFN @ frac2_auFO @ rep_auFP @ size1_auFQ @ size2_auFR ww_sxcn ww_sxcp ww_sxcq ww_sxcr ww_sxcs ww_sxct ww_sxcu ww_sxcv ww_sxcw ww_sxcx w_sxck }}] CLaSH.Sized.Fixed.resizeF = \ (@ (frac1_auFN :: GHC.TypeLits.Nat)) (@ (frac2_auFO :: GHC.TypeLits.Nat)) (@ (rep_auFP :: GHC.TypeLits.Nat -> *)) (@ (size1_auFQ :: GHC.TypeLits.Nat)) (@ (size2_auFR :: GHC.TypeLits.Nat)) (w_sxcj :: CLaSH.Sized.Fixed.ResizeFC rep_auFP frac1_auFN frac2_auFO size1_auFQ size2_auFR) (w_sxck :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ) -> case w_sxcj of _ [Occ=Dead] { (ww_sxcn, ww_sxco, ww_sxcp, ww_sxcq, ww_sxcr, ww_sxcs, ww_sxct, ww_sxcu, ww_sxcv, ww_sxcw, ww_sxcx, ww_sxcy) -> $wresizeF_sxcA @ frac1_auFN @ frac2_auFO @ rep_auFP @ size1_auFQ @ size2_auFR ww_sxcn ww_sxcp ww_sxcq ww_sxcr ww_sxcs ww_sxct ww_sxcu ww_sxcv ww_sxcw ww_sxcx w_sxck } CLaSH.Sized.Fixed.asRepProxy :: forall (frac_auFV :: GHC.TypeLits.Nat) (rep_auFW :: GHC.TypeLits.Nat -> *) (size_auFX :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFV rep_auFW size_auFX -> Data.Proxy.Proxy rep_auFW [LclIdX, Arity=1, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= \ (@ (frac_avk6 :: GHC.TypeLits.Nat)) (@ (rep_avk7 :: GHC.TypeLits.Nat -> *)) (@ (size_avk8 :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] -> Data.Proxy.Proxy @ (GHC.TypeLits.Nat -> *) @ rep_avk7}] CLaSH.Sized.Fixed.asRepProxy = \ (@ (frac_avk6 :: GHC.TypeLits.Nat)) (@ (rep_avk7 :: GHC.TypeLits.Nat -> *)) (@ (size_avk8 :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] -> Data.Proxy.Proxy @ (GHC.TypeLits.Nat -> *) @ rep_avk7 CLaSH.Sized.Fixed.asFracProxy :: forall (frac_auFY :: GHC.TypeLits.Nat) (rep_auFZ :: GHC.TypeLits.Nat -> *) (size_auG0 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFY rep_auFZ size_auG0 -> Data.Proxy.Proxy frac_auFY [LclIdX, Arity=1, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= \ (@ (frac_avkp :: GHC.TypeLits.Nat)) (@ (rep_avkq :: GHC.TypeLits.Nat -> *)) (@ (size_avkr :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] -> Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac_avkp}] CLaSH.Sized.Fixed.asFracProxy = \ (@ (frac_avkp :: GHC.TypeLits.Nat)) (@ (rep_avkq :: GHC.TypeLits.Nat -> *)) (@ (size_avkr :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] -> Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac_avkp CLaSH.Sized.Fixed.fracShift :: forall (frac_auFS :: GHC.TypeLits.Nat) (rep_auFT :: GHC.TypeLits.Nat -> *) (size_auFU :: GHC.TypeLits.Nat). GHC.TypeLits.KnownNat frac_auFS => CLaSH.Sized.Fixed.Fixed frac_auFS rep_auFT size_auFU -> GHC.Types.Int [LclIdX, Arity=2, Str=DmdType m, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_avjN :: GHC.TypeLits.Nat)) (@ (rep_avjO :: GHC.TypeLits.Nat -> *)) (@ (size_avjP :: GHC.TypeLits.Nat)) ($dKnownNat_avxa [Occ=Once] :: GHC.TypeLits.KnownNat frac_avjN) _ [Occ=Dead, Dmd=] -> case GHC.Integer.Type.integerToInt ($dKnownNat_avxa `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_avjN ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> GHC.Types.I# wild_akCB }}] CLaSH.Sized.Fixed.fracShift = \ (@ (frac_avjN :: GHC.TypeLits.Nat)) (@ (rep_avjO :: GHC.TypeLits.Nat -> *)) (@ (size_avjP :: GHC.TypeLits.Nat)) ($dKnownNat_avxa :: GHC.TypeLits.KnownNat frac_avjN) _ [Occ=Dead, Dmd=] -> case GHC.Integer.Type.integerToInt ($dKnownNat_avxa `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_avjN ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> GHC.Types.I# wild_akCB } a_swaI :: forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) [LclId, Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaI = \ (@ (int_avkK :: GHC.TypeLits.Nat)) (@ (frac_avkL :: GHC.TypeLits.Nat)) (ds_dvZi :: CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL)) -> ds_dvZi CLaSH.Sized.Fixed.unUF :: forall (int_auG1 :: GHC.TypeLits.Nat) (frac_auG2 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.UFixed int_auG1 frac_auG2 -> CLaSH.Sized.Unsigned.Unsigned (int_auG1 GHC.TypeLits.+ frac_auG2) [LclIdX, Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.unUF = a_swaI `cast` (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL)) ~# (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL))) a_swaJ :: forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= \ (@ (frac_avl5 :: GHC.TypeLits.Nat)) (@ (int_avl6 :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] (fRep_auGb [Occ=Once] :: CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) -> fRep_auGb}] a_swaJ = \ (@ (frac_avl5 :: GHC.TypeLits.Nat)) (@ (int_avl6 :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] (fRep_auGb :: CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) -> fRep_auGb CLaSH.Sized.Fixed.uf :: forall (frac_auG3 :: GHC.TypeLits.Nat) (int_auG4 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_auG3 -> CLaSH.Sized.Unsigned.Unsigned (int_auG4 GHC.TypeLits.+ frac_auG3) -> CLaSH.Sized.Fixed.UFixed int_auG4 frac_auG3 [LclIdX, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= a_swaJ `cast` (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) ~# (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Fixed.Fixed frac_avl5 CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)))}] CLaSH.Sized.Fixed.uf = a_swaJ `cast` (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) ~# (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Fixed.Fixed frac_avl5 CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5))) a_swaK :: forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) [LclId, Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaK = \ (@ (int_avlp :: GHC.TypeLits.Nat)) (@ (frac_avlq :: GHC.TypeLits.Nat)) (ds_dvZu :: CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq)) -> ds_dvZu CLaSH.Sized.Fixed.unSF :: forall (int_auG5 :: GHC.TypeLits.Nat) (frac_auG6 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.SFixed int_auG5 frac_auG6 -> CLaSH.Sized.Signed.Signed (int_auG5 GHC.TypeLits.+ frac_auG6) [LclIdX, Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.unSF = a_swaK `cast` (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq)) ~# (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq))) a_swaL :: forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= \ (@ (frac_avlK :: GHC.TypeLits.Nat)) (@ (int_avlL :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] (fRep_auG9 [Occ=Once] :: CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) -> fRep_auG9}] a_swaL = \ (@ (frac_avlK :: GHC.TypeLits.Nat)) (@ (int_avlL :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] (fRep_auG9 :: CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) -> fRep_auG9 CLaSH.Sized.Fixed.sf :: forall (frac_auG7 :: GHC.TypeLits.Nat) (int_auG8 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_auG7 -> CLaSH.Sized.Signed.Signed (int_auG8 GHC.TypeLits.+ frac_auG7) -> CLaSH.Sized.Fixed.SFixed int_auG8 frac_auG7 [LclIdX, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= a_swaL `cast` (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) ~# (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Fixed.Fixed frac_avlK CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)))}] CLaSH.Sized.Fixed.sf = a_swaL `cast` (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) ~# (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Fixed.Fixed frac_avlK CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK))) a_swaM :: forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 [LclId, Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaM = \ (@ (frac_auI2 :: GHC.TypeLits.Nat)) (@ (rep_auI3 :: GHC.TypeLits.Nat -> *)) (@ (size_auI4 :: GHC.TypeLits.Nat)) (ds_dvZF :: CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4) -> ds_dvZF CLaSH.Sized.Fixed.unFixed :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> rep_auFG size_auFH [LclIdX[[RecSel]], Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.unFixed = a_swaM `cast` (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4) ~# (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> rep_auI3 size_auI4)) lvl_swvD :: GHC.Types.Char [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}] lvl_swvD = GHC.Types.C# '-' lvl_swvC :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swvC = __integer 0 lvl_swvG :: GHC.Types.Char [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}] lvl_swvG = GHC.Types.C# '0' ds_swvM :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] ds_swvM = __integer 1 dt_akMa :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] dt_akMa = __integer 10 $wlvl_sxd6 :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) -> (# GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer #) [LclId, Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [40] 181 30}] $wlvl_sxd6 = \ (w_sxd3 :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) -> (# case w_sxd3 of _ [Occ=Dead, Dmd=] { (x_awe6 [Dmd=], y_awe7 [Dmd=]) -> case x_awe6 of _ [Occ=Dead, Dmd=] { GHC.Types.I# x1_awdC [Dmd=] -> case x1_awdC of wild1_awdE { __DEFAULT -> GHC.Types.I# (GHC.Prim.+# wild1_awdE 1); 9223372036854775807 -> GHC.Enum.$fEnumInt2 } } }, case w_sxd3 of _ [Occ=Dead, Dmd=] { (x_aweb [Dmd=], y_awec [Dmd=]) -> case y_awec of _ [Occ=Dead, Dmd=] { GHC.Real.:% ww1_awdJ [Dmd=] ww2_awdK [Dmd=] -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger ww1_awdJ dt_akMa) (GHC.Integer.Type.timesInteger ww2_awdK GHC.Real.$fEnumRatio1) of _ [Occ=Dead, Dmd=] { (# ww7_awdU, ww8_awdV #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww7_awdU ww8_awdV } } } #) lvl_swvV [InlPrag=INLINE[0]] :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) -> (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) [LclId, Arity=1, Str=DmdType m, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (w_sxd3 [Occ=Once] :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) -> case $wlvl_sxd6 w_sxd3 of _ [Occ=Dead] { (# ww_sxn9 [Occ=Once], ww_sxna [Occ=Once] #) -> (ww_sxn9, ww_sxna) }}] lvl_swvV = \ (w_sxd3 :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) -> case $wlvl_sxd6 w_sxd3 of _ [Occ=Dead] { (# ww_sxn9, ww_sxna #) -> (ww_sxn9, ww_sxna) } lvl_swvX :: GHC.Types.Int [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}] lvl_swvX = GHC.Types.I# 0 lvl_sww5 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_sww5 = __integer 2 lvl_sww6 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_sww6 = __integer 1 lvl_sww7 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_sww7 = __integer 2 lvl_sww8 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_sww8 = __integer 1 lvl_sww4 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_sww4 = __integer 0 lvl_sww9 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_sww9 = __integer 2 $w$cshow_sxdD :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). GHC.TypeLits.KnownNat frac_auHx => (rep_auHy size_auHz -> GHC.Integer.Type.Integer) -> CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> [GHC.Types.Char] [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] $w$cshow_sxdD = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) (w_sxdo :: GHC.TypeLits.KnownNat frac_auHx) (ww_sxdB :: rep_auHy size_auHz -> GHC.Integer.Type.Integer) (w_sxdq :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) -> let { nF_swti [Dmd=] :: GHC.Types.Int [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 20}] nF_swti = case GHC.Integer.Type.integerToInt (w_sxdo `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_auHx ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> GHC.Types.I# wild_akCB } } in let { fRepI_swtk [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 20 0}] fRepI_swtk = ww_sxdB (w_sxdq `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz ~# rep_auHy size_auHz)) } in let { fRepI_abs_swtj :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 20 0}] fRepI_abs_swtj = GHC.Integer.Type.absInteger fRepI_swtk } in let { a_swOO :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=NEVER}] a_swOO = case GHC.List.iterateFB @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) @ [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)] (\ (x_awzz :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) (r_awzA [OS=OneShot] :: [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)]) -> case x_awzz of wild_afnB { (ds1_afnD [Dmd=], y_afnE [Dmd=]) -> case y_afnE of _ [Occ=Dead, Dmd=] { GHC.Real.:% ds1_awdp [Dmd=] y_awdq [Dmd=] -> case GHC.Integer.Type.eqInteger# y_awdq ds_swvM of wild_a2f3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a2f3 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> r_awzA; GHC.Types.True -> GHC.Types.: @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) wild_afnB r_awzA } } } }) lvl_swvV (lvl_swvX, case GHC.Integer.Type.ltInteger# fRepI_swtk lvl_sww4 of wild_a4It { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a4It of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case nF_swti of _ [Occ=Dead, Dmd=] { GHC.Types.I# x_awO9 [Dmd=] -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# x_awO9 0) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# x_awO9 0) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> let { a_swOs [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] a_swOs = case x_awO9 of wild2_awOe { __DEFAULT -> GHC.Real.$wf1 lvl_sww9 wild2_awOe; 0 -> GHC.Real.$fEnumRatio1 } } in case x_awO9 of wild2_awOe { __DEFAULT -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger (GHC.Integer.Type.andInteger fRepI_swtk (GHC.Integer.Type.minusInteger (GHC.Real.$wf1 lvl_sww5 wild2_awOe) lvl_sww6)) (GHC.Integer.Type.signumInteger a_swOs)) (GHC.Integer.Type.absInteger a_swOs) of _ [Occ=Dead, Dmd=] { (# ww1_awf5, ww2_awf6 #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww1_awf5 ww2_awf6 }; 0 -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger (GHC.Integer.Type.andInteger fRepI_swtk (__integer 0)) (GHC.Integer.Type.signumInteger a_swOs)) (GHC.Integer.Type.absInteger a_swOs) of _ [Occ=Dead, Dmd=] { (# ww1_awf5, ww2_awf6 #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww1_awf5 ww2_awf6 } }; GHC.Types.True -> case GHC.Real.^3 of wild_00 { } }; GHC.Types.True -> case GHC.Real.^3 of wild_00 { } } }; GHC.Types.True -> case nF_swti of _ [Occ=Dead, Dmd=] { GHC.Types.I# x_awO9 [Dmd=] -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# x_awO9 0) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# x_awO9 0) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> let { a_swOy [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] a_swOy = case x_awO9 of wild2_awOe { __DEFAULT -> GHC.Real.$wf1 lvl_sww9 wild2_awOe; 0 -> GHC.Real.$fEnumRatio1 } } in case x_awO9 of wild2_awOe { __DEFAULT -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger (GHC.Integer.Type.andInteger fRepI_abs_swtj (GHC.Integer.Type.minusInteger (GHC.Real.$wf1 lvl_sww7 wild2_awOe) lvl_sww8)) (GHC.Integer.Type.signumInteger a_swOy)) (GHC.Integer.Type.absInteger a_swOy) of _ [Occ=Dead, Dmd=] { (# ww1_awf5, ww2_awf6 #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww1_awf5 ww2_awf6 }; 0 -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger (GHC.Integer.Type.andInteger fRepI_abs_swtj (__integer 0)) (GHC.Integer.Type.signumInteger a_swOy)) (GHC.Integer.Type.absInteger a_swOy) of _ [Occ=Dead, Dmd=] { (# ww1_awf5, ww2_awf6 #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww1_awf5 ww2_awf6 } }; GHC.Types.True -> case GHC.Real.^3 of wild_00 { } }; GHC.Types.True -> case GHC.Real.^3 of wild_00 { } } } } }) of _ [Occ=Dead, Dmd=] { [] -> case Data.Maybe.fromJust1 of wild_00 { }; : a1_awdh [Dmd=] ds1_awdi [Dmd=] -> case a1_awdh of _ [Occ=Dead] { (ww_sxd9, ww_sxde) -> case ww_sxd9 of _ [Occ=Dead] { GHC.Types.I# ww_sxdc -> case ww_sxde of _ [Occ=Dead] { GHC.Real.:% ww_sxdh ww_sxdi -> case GHC.Show.$w$cshowsPrec 0 ww_sxdh (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead, Dmd=] { (# ww3_a2i0, ww4_a2i1 #) -> let { str_auHK [OS=ProbOneShot] :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] str_auHK = GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1 } in case GHC.List.$wlenAcc @ GHC.Types.Char str_auHK 0 of ww_awOK { __DEFAULT -> let { n#_awbi :: GHC.Prim.Int# [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 1 0}] n#_awbi = GHC.Prim.-# ww_sxdc ww_awOK } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# n#_awbi 0) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> letrec { xs_awyT [Occ=LoopBreaker] :: GHC.Prim.Int# -> [GHC.Types.Char] [LclId, Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=False, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0] 63 60}] xs_awyT = \ (m_awz0 :: GHC.Prim.Int#) -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# m_awz0 1) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> GHC.Types.: @ GHC.Types.Char lvl_swvG (xs_awyT (GHC.Prim.-# m_awz0 1)); GHC.Types.True -> GHC.Types.: @ GHC.Types.Char lvl_swvG str_auHK }; } in xs_awyT n#_awbi; GHC.Types.True -> str_auHK } } } } } } } } in case GHC.Integer.Type.ltInteger# fRepI_swtk lvl_swvC of wild_a4It { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a4It of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case nF_swti of _ [Occ=Dead, Dmd=] { GHC.Types.I# x_aiKN -> let { ww_al4F :: GHC.Prim.Int# [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 1 0}] ww_al4F = GHC.Prim.negateInt# x_aiKN } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.>=# ww_al4F 0) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case GHC.Show.$w$cshowsPrec 0 (GHC.Integer.Type.shiftRInteger fRepI_swtk (GHC.Prim.negateInt# ww_al4F)) (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead, Dmd=] { (# ww3_a2i0, ww4_a2i1 #) -> GHC.Base.++ @ GHC.Types.Char (GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1) (GHC.Types.: @ GHC.Types.Char (GHC.Types.C# '.') a_swOO) }; GHC.Types.True -> case GHC.Show.$w$cshowsPrec 0 (GHC.Integer.Type.shiftLInteger fRepI_swtk ww_al4F) (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead, Dmd=] { (# ww3_a2i0, ww4_a2i1 #) -> GHC.Base.++ @ GHC.Types.Char (GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1) (GHC.Types.: @ GHC.Types.Char (GHC.Types.C# '.') a_swOO) } } }; GHC.Types.True -> GHC.Base.++ @ GHC.Types.Char (GHC.Types.: @ GHC.Types.Char lvl_swvD (case nF_swti of _ [Occ=Dead, Dmd=] { GHC.Types.I# x_aiKN -> let { ww_al4F :: GHC.Prim.Int# [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 1 0}] ww_al4F = GHC.Prim.negateInt# x_aiKN } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.>=# ww_al4F 0) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case GHC.Show.$w$cshowsPrec 0 (GHC.Integer.Type.shiftRInteger fRepI_abs_swtj (GHC.Prim.negateInt# ww_al4F)) (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead, Dmd=] { (# ww3_a2i0, ww4_a2i1 #) -> GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1 }; GHC.Types.True -> case GHC.Show.$w$cshowsPrec 0 (GHC.Integer.Type.shiftLInteger fRepI_abs_swtj ww_al4F) (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead, Dmd=] { (# ww3_a2i0, ww4_a2i1 #) -> GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1 } } })) (GHC.Types.: @ GHC.Types.Char (GHC.Types.C# '.') a_swOO) } } $cshow_avFD [InlPrag=INLINE[0]] :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> GHC.Base.String [LclId, Arity=5, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] _ [Occ=Dead, Dmd=] (w_sxdo [Occ=Once] :: GHC.TypeLits.KnownNat frac_auHx) (w_sxdp [Occ=Once!] :: GHC.Real.Integral (rep_auHy size_auHz)) (w_sxdq [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) -> case w_sxdp of _ [Occ=Dead] { GHC.Real.D:Integral _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] ww_sxdB [Occ=Once] -> $w$cshow_sxdD @ frac_auHx @ rep_auHy @ size_auHz w_sxdo ww_sxdB w_sxdq }}] $cshow_avFD = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] _ [Occ=Dead, Dmd=] (w_sxdo :: GHC.TypeLits.KnownNat frac_auHx) (w_sxdp :: GHC.Real.Integral (rep_auHy size_auHz)) (w_sxdq :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) -> case w_sxdp of _ [Occ=Dead] { GHC.Real.D:Integral ww_sxdt ww_sxdu ww_sxdv ww_sxdw ww_sxdx ww_sxdy ww_sxdz ww_sxdA ww_sxdB -> $w$cshow_sxdD @ frac_auHx @ rep_auHy @ size_auHz w_sxdo ww_sxdB w_sxdq } $cshowsPrec_avFB :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => GHC.Types.Int -> CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> GHC.Show.ShowS [LclId, Arity=7, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=7, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv [Occ=Once] :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw [Occ=Once] :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx [Occ=Once] :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy [Occ=Once] :: GHC.Real.Integral (rep_auHy size_auHz)) _ [Occ=Dead, Dmd=] (x_a2fY [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (s_a2fZ [Occ=Once] :: GHC.Base.String) -> GHC.Base.augment @ GHC.Types.Char (\ (@ b_a4II) (c_a4IJ [Occ=Once, OS=OneShot] :: GHC.Types.Char -> b_a4II -> b_a4II) (n_a4IK [Occ=Once, OS=OneShot] :: b_a4II) -> GHC.Base.foldr @ GHC.Types.Char @ b_a4II c_a4IJ n_a4IK ($cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy x_a2fY)) s_a2fZ}] $cshowsPrec_avFB = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) _ [Occ=Dead] _ [Occ=Dead] ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) _ [Occ=Dead, Dmd=] (x_a2fY :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (s_a2fZ :: GHC.Base.String) -> case $dIntegral_avFy of _ [Occ=Dead] { GHC.Real.D:Integral ww_sxdt ww_sxdu ww_sxdv ww_sxdw ww_sxdx ww_sxdy ww_sxdz ww_sxdA ww_sxdB -> GHC.Base.++ @ GHC.Types.Char ($w$cshow_sxdD @ frac_auHx @ rep_auHy @ size_auHz $dKnownNat_avFx ww_sxdB x_a2fY) s_a2fZ } $w$cshowList_sxe4 :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz] -> GHC.Base.String -> GHC.Base.String [LclId, Arity=4, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=4, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 20 0 0] 140 0}] $w$cshowList_sxe4 = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) (w_sxe0 :: GHC.TypeLits.KnownNat frac_auHx) (w_sxe1 :: GHC.Real.Integral (rep_auHy size_auHz)) (w_sxe2 :: [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz]) (w_sxe3 :: GHC.Base.String) -> GHC.Show.showList__ @ (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (\ (x_a2fY :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (s_a2fZ [OS=OneShot] :: GHC.Base.String) -> case w_sxe1 of _ [Occ=Dead] { GHC.Real.D:Integral ww_sxdt ww_sxdu ww_sxdv ww_sxdw ww_sxdx ww_sxdy ww_sxdz ww_sxdA ww_sxdB -> GHC.Base.++ @ GHC.Types.Char ($w$cshow_sxdD @ frac_auHx @ rep_auHy @ size_auHz w_sxe0 ww_sxdB x_a2fY) s_a2fZ }) w_sxe2 w_sxe3 CLaSH.Sized.Fixed.$fShowFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => GHC.Show.Show (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) [LclIdX[DFunId], Arity=4, Str=DmdType m, Unf=DFun: \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) -> GHC.Show.D:Show TYPE CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz $cshowsPrec_avFB @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy $cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy \ (w_sxe2 :: [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz]) (w_sxe3 :: GHC.Base.String) -> $w$cshowList_sxe4 @ frac_auHx @ rep_auHy @ size_auHz $dKnownNat_avFx $dIntegral_avFy w_sxe2 w_sxe3] CLaSH.Sized.Fixed.$fShowFixed = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv [Dmd=] :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw [Dmd=] :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy [Dmd=] :: GHC.Real.Integral (rep_auHy size_auHz)) -> GHC.Show.D:Show @ (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) ($cshowsPrec_avFB @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy) ($cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy) (\ (w_sxe2 :: [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz]) (w_sxe3 :: GHC.Base.String) -> $w$cshowList_sxe4 @ frac_auHx @ rep_auHy @ size_auHz $dKnownNat_avFx $dIntegral_avFy w_sxe2 w_sxe3) a_swjx :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu) [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac1_auHq :: GHC.TypeLits.Nat)) (@ (rep_auHr :: GHC.TypeLits.Nat -> *)) (@ (size1_auHs :: GHC.TypeLits.Nat)) (@ (frac2_auHt :: GHC.TypeLits.Nat)) (@ (size2_auHu :: GHC.TypeLits.Nat)) (tup_avFg [Occ=Once!] :: CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) (eta_B2 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (eta_B1 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) -> case tup_avFg of _ [Occ=Dead, Dmd=] { (tpl_X1z [Occ=Once, Dmd=], tpl_X1B [Occ=Once!, Dmd=]) -> case tpl_X1B of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw3M -> ((tpl_X1z `cast` (CLaSH.Class.Num.NTCo:Mult[0] _N _N :: CLaSH.Class.Num.Mult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# (rep_auHr size1_auHs -> rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu)))) (eta_B2 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs ~# rep_auHr size1_auHs)) (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu ~# rep_auHr size2_auHu))) `cast` (Sub cobox_dw3M :: CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) } }}] a_swjx = \ (@ (frac1_auHq :: GHC.TypeLits.Nat)) (@ (rep_auHr :: GHC.TypeLits.Nat -> *)) (@ (size1_auHs :: GHC.TypeLits.Nat)) (@ (frac2_auHt :: GHC.TypeLits.Nat)) (@ (size2_auHu :: GHC.TypeLits.Nat)) (tup_avFg :: CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) (eta_B2 :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (eta_B1 :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) -> case tup_avFg of _ [Occ=Dead, Dmd=] { (tpl_X1z [Dmd=], tpl_X1B [Dmd=]) -> case tpl_X1B of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw3M -> ((tpl_X1z `cast` (CLaSH.Class.Num.NTCo:Mult[0] _N _N :: CLaSH.Class.Num.Mult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# (rep_auHr size1_auHs -> rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu)))) (eta_B2 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs ~# rep_auHr size1_auHs)) (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu ~# rep_auHr size2_auHu))) `cast` (Sub cobox_dw3M :: CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) } } $cmult_avFi :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= a_swjx `cast` (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). _R -> _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:MResultFixedFixed[0] _N _N _N _N _N)) :: (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) ~# (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu)))}] $cmult_avFi = a_swjx `cast` (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). _R -> _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:MResultFixedFixed[0] _N _N _N _N _N)) :: (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) ~# (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu))) CLaSH.Sized.Fixed.$fMultFixedFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) [LclIdX[DFunId(nt)], Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= $cmult_avFi `cast` (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). _R -> Sym (CLaSH.Class.Num.NTCo:Mult[0] _N _N) :: (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_XuJ1 frac1_XuIZ frac2_XuJ5 size1_XuJ3 size2_XuJ7) => CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3 -> CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7 -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3) (CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7)) ~# (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_XuJ1 frac1_XuIZ frac2_XuJ5 size1_XuJ3 size2_XuJ7) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3) (CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7)))}] CLaSH.Sized.Fixed.$fMultFixedFixed = a_swjx `cast` (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). _R -> (_R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:MResultFixedFixed[0] _N _N _N _N _N))) ; Sym (CLaSH.Class.Num.NTCo:Mult[0] _N _N) :: (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) ~# (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu))) $w$cminus_sxeW :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1), CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) => (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) -> CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclId, Arity=5, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [20 120 60 0 0] 390 0}] $w$cminus_sxeW = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (ww_sxeI :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (ww_sxeJ :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (ww_sxeP :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (w_sxeE :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w_sxeF :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> let { $dBounded_swt9 [Dmd=] :: GHC.Enum.Bounded (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBounded_swt9 = case ww_sxeJ of _ [Occ=Dead, Dmd=] { (tpl_X1N [Dmd=], tpl_X1P [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X1N } } in let { $dResize_swt7 [Dmd=] :: CLaSH.Class.Num.Resize rep_auHe [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dResize_swt7 = case ww_sxeJ of _ [Occ=Dead, Dmd=] { (tpl_X1R [Dmd=], tpl_X1T [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B6 } } in let { $dKnownNat_swt6 :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swt6 = case ww_sxeJ of _ [Occ=Dead, Dmd=] { (tpl_X1T [Dmd=], tpl_X1V [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B7 } } in let { $dBits_swt5 [Dmd=] :: Data.Bits.Bits (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_swt5 = case ww_sxeJ of _ [Occ=Dead, Dmd=] { (tpl_X1V [Dmd=], tpl_X1X [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B9 } } in let { $dKnownNat_swt4 :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swt4 = case ww_sxeJ of _ [Occ=Dead, Dmd=] { (tpl_X1X [Dmd=], tpl_X1Z [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_Ba } } in (ww_sxeP (case ww_sxeI of _ [Occ=Dead, Dmd=] { (tpl_X7n [Dmd=], tpl_X7q [Dmd=], tpl_X5q [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> ($wresizeF_sxcA @ frac1_auHd @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size1_auHf @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) $dBounded_swt9 tpl_X5q tpl_B4 tpl_B5 $dResize_swt7 $dKnownNat_swt6 tpl_B8 $dBits_swt5 $dKnownNat_swt4 tpl_Bb w_sxeE) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) }) (case ww_sxeJ of _ [Occ=Dead, Dmd=] { (tpl_X7k [Dmd=], tpl_X7n [Dmd=], tpl_X5n [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> ($wresizeF_sxcA @ frac2_auHg @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size2_auHh @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) $dBounded_swt9 tpl_X5n tpl_B4 tpl_B5 $dResize_swt7 $dKnownNat_swt6 tpl_B8 $dBits_swt5 $dKnownNat_swt4 tpl_Bb w_sxeF) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:AResultFixedFixed[0] _N _N _N _N _N)) :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh)) $cminus_avEx [InlPrag=INLINE[0]] :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (w_sxeD [Occ=Once!] :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (w_sxeE [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w_sxeF [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> case w_sxeD of _ [Occ=Dead] { (ww_sxeI [Occ=Once], ww_sxeJ [Occ=Once], ww_sxeK [Occ=Once!]) -> case ww_sxeK of _ [Occ=Dead] { GHC.Num.D:Num _ [Occ=Dead] _ [Occ=Dead] ww_sxeP [Occ=Once] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> $w$cminus_sxeW @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh ww_sxeI ww_sxeJ ww_sxeP w_sxeE w_sxeF } }}] $cminus_avEx = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (w_sxeD :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (w_sxeE :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w_sxeF :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> case w_sxeD of _ [Occ=Dead] { (ww_sxeI, ww_sxeJ, ww_sxeK) -> case ww_sxeK of _ [Occ=Dead] { GHC.Num.D:Num ww_sxeN ww_sxeO ww_sxeP ww_sxeQ ww_sxeR ww_sxeS ww_sxeT -> $w$cminus_sxeW @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh ww_sxeI ww_sxeJ ww_sxeP w_sxeE w_sxeF } } $w$cplus_sxfg :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1), CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) => (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) -> CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclId, Arity=5, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [20 120 60 0 0] 390 0}] $w$cplus_sxfg = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (ww_sxf2 :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (ww_sxf3 :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (ww_sxf7 :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (w_sxeY :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w_sxeZ :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> let { $dBounded_swsR [Dmd=] :: GHC.Enum.Bounded (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBounded_swsR = case ww_sxf3 of _ [Occ=Dead, Dmd=] { (tpl_X1O [Dmd=], tpl_X1Q [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X1O } } in let { $dResize_swsP [Dmd=] :: CLaSH.Class.Num.Resize rep_auHe [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dResize_swsP = case ww_sxf3 of _ [Occ=Dead, Dmd=] { (tpl_X1S [Dmd=], tpl_X1U [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B6 } } in let { $dKnownNat_swsO :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swsO = case ww_sxf3 of _ [Occ=Dead, Dmd=] { (tpl_X1U [Dmd=], tpl_X1W [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B7 } } in let { $dBits_swsN [Dmd=] :: Data.Bits.Bits (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_swsN = case ww_sxf3 of _ [Occ=Dead, Dmd=] { (tpl_X1W [Dmd=], tpl_X1Y [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B9 } } in let { $dKnownNat_swsM :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swsM = case ww_sxf3 of _ [Occ=Dead, Dmd=] { (tpl_X1Y [Dmd=], tpl_X20 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_Ba } } in (ww_sxf7 (case ww_sxf2 of _ [Occ=Dead, Dmd=] { (tpl_X7p [Dmd=], tpl_X7s [Dmd=], tpl_X5r [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> ($wresizeF_sxcA @ frac1_auHd @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size1_auHf @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) $dBounded_swsR tpl_X5r tpl_B4 tpl_B5 $dResize_swsP $dKnownNat_swsO tpl_B8 $dBits_swsN $dKnownNat_swsM tpl_Bb w_sxeY) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) }) (case ww_sxf3 of _ [Occ=Dead, Dmd=] { (tpl_X7m [Dmd=], tpl_X7p [Dmd=], tpl_X5o [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> ($wresizeF_sxcA @ frac2_auHg @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size2_auHh @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) $dBounded_swsR tpl_X5o tpl_B4 tpl_B5 $dResize_swsP $dKnownNat_swsO tpl_B8 $dBits_swsN $dKnownNat_swsM tpl_Bb w_sxeZ) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:AResultFixedFixed[0] _N _N _N _N _N)) :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh)) $cplus_avDP [InlPrag=INLINE[0]] :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (w_sxeX [Occ=Once!] :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (w_sxeY [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w_sxeZ [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> case w_sxeX of _ [Occ=Dead] { (ww_sxf2 [Occ=Once], ww_sxf3 [Occ=Once], ww_sxf4 [Occ=Once!]) -> case ww_sxf4 of _ [Occ=Dead] { GHC.Num.D:Num ww_sxf7 [Occ=Once] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> $w$cplus_sxfg @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh ww_sxf2 ww_sxf3 ww_sxf7 w_sxeY w_sxeZ } }}] $cplus_avDP = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (w_sxeX :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (w_sxeY :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w_sxeZ :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> case w_sxeX of _ [Occ=Dead] { (ww_sxf2, ww_sxf3, ww_sxf4) -> case ww_sxf4 of _ [Occ=Dead] { GHC.Num.D:Num ww_sxf7 ww_sxf8 ww_sxf9 ww_sxfa ww_sxfb ww_sxfc ww_sxfd -> $w$cplus_sxfg @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh ww_sxf2 ww_sxf3 ww_sxf7 w_sxeY w_sxeZ } } CLaSH.Sized.Fixed.$fAddFixedFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Class.Num.Add (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclIdX[DFunId], Arity=1, Str=DmdType m, Unf=DFun: \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) -> CLaSH.Class.Num.D:Add TYPE CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf TYPE CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh $cplus_avDP @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN $cminus_avEx @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN] CLaSH.Sized.Fixed.$fAddFixedFixed = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN [Dmd=] :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) -> CLaSH.Class.Num.D:Add @ (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) @ (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) ($cplus_avDP @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN) ($cminus_avEx @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN) $cfromInteger_avDp [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => GHC.Integer.Type.Integer -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_XuKb :: GHC.TypeLits.Nat)) (@ (rep_XuKd :: GHC.TypeLits.Nat -> *)) (@ (size_XuKf :: GHC.TypeLits.Nat)) (w_sxfl [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKb rep_XuKd size_XuKf) (w_XxiD [Occ=Once] :: GHC.Integer.Type.Integer) -> case w_sxfl of _ [Occ=Dead] { (_ [Occ=Dead], ww_sxfq [Occ=Once!], ww_Xxjr [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> case ww_sxfq of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], ww_sxfB [Occ=Once!], ww_XxjD [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> case ww_sxfB of _ [Occ=Dead] { Data.Bits.D:Bits _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] ww_XxjR [Occ=Once!] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> (ww_XxjR (GHC.Num.fromInteger @ (rep_XuKd size_XuKf) ww_Xxjr w_XxiD) (case GHC.Integer.Type.integerToInt (ww_XxjD `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_XuKb ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> GHC.Types.I# wild_akCB })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKd size_XuKf ~# CLaSH.Sized.Fixed.Fixed frac_XuKb rep_XuKd size_XuKf) } } }}] $cfromInteger_avDp = \ (@ (frac_XuKb :: GHC.TypeLits.Nat)) (@ (rep_XuKd :: GHC.TypeLits.Nat -> *)) (@ (size_XuKf :: GHC.TypeLits.Nat)) (w_sxfl :: CLaSH.Sized.Fixed.NumFixed frac_XuKb rep_XuKd size_XuKf) (w_XxiD :: GHC.Integer.Type.Integer) -> case w_sxfl of _ [Occ=Dead] { (ww_sxfp, ww_sxfq, ww_Xxjr, ww_sxg7, ww_sxg8, ww_sxg9) -> case ww_sxfq of _ [Occ=Dead] { (ww_sxft, ww_sxfu, ww_sxfv, ww_sxfw, ww_sxfx, ww_sxfy, ww_sxfz, ww_sxfA, ww_sxfB, ww_XxjD, ww_sxg3, ww_sxg4) -> case ww_sxfB of _ [Occ=Dead] { Data.Bits.D:Bits ww_sxfE ww_sxfF ww_sxfG ww_sxfH ww_sxfI ww_sxfJ ww_sxfK ww_sxfL ww_sxfM ww_sxfN ww_sxfO ww_sxfP ww_sxfQ ww_sxfR ww_sxfS ww_sxfT ww_XxjR ww_sxfV ww_sxfW ww_sxfX ww_sxfY ww_sxfZ ww_sxg0 -> (ww_XxjR (GHC.Num.fromInteger @ (rep_XuKd size_XuKf) ww_Xxjr w_XxiD) (case GHC.Integer.Type.integerToInt (ww_XxjD `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_XuKb ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> GHC.Types.I# wild_akCB })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKd size_XuKf ~# CLaSH.Sized.Fixed.Fixed frac_XuKb rep_XuKd size_XuKf) } } } a_swkh :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_XuKc :: GHC.TypeLits.Nat)) (@ (rep_XuKe :: GHC.TypeLits.Nat -> *)) (@ (size_XuKg :: GHC.TypeLits.Nat)) (tup_avBm [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKc rep_XuKe size_XuKg) (eta_X1J [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKc rep_XuKe size_XuKg) -> case tup_avBm of _ [Occ=Dead, Dmd=] { (_ [Occ=Dead, Dmd=], _ [Occ=Dead, Dmd=], tpl_B3 [Occ=Once, Dmd=], _ [Occ=Dead, Dmd=], _ [Occ=Dead, Dmd=], _ [Occ=Dead, Dmd=]) -> GHC.Num.signum @ (rep_XuKe size_XuKg) tpl_B3 (eta_X1J `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKc rep_XuKe size_XuKg ~# rep_XuKe size_XuKg)) }}] a_swkh = \ (@ (frac_XuKc :: GHC.TypeLits.Nat)) (@ (rep_XuKe :: GHC.TypeLits.Nat -> *)) (@ (size_XuKg :: GHC.TypeLits.Nat)) (tup_avBm :: CLaSH.Sized.Fixed.NumFixed frac_XuKc rep_XuKe size_XuKg) (eta_X1J :: CLaSH.Sized.Fixed.Fixed frac_XuKc rep_XuKe size_XuKg) -> case tup_avBm of _ [Occ=Dead, Dmd=] { (tpl_X1L [Dmd=], tpl_X1N [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=]) -> GHC.Num.signum @ (rep_XuKe size_XuKg) tpl_B3 (eta_X1J `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKc rep_XuKe size_XuKg ~# rep_XuKe size_XuKg)) } $w$cabs_sxhI :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (1 GHC.TypeLits.<= size_auH0, ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_auH0 GHC.TypeLits.+ 2), CLaSH.Class.BitVector.BitVector (rep_auGZ size_auH0), CLaSH.Class.BitVector.BitVector (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0) ~ size_auH0, CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) ~ (size_auH0 GHC.TypeLits.+ 2), GHC.TypeLits.KnownNat size_auH0, GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ 2), GHC.Enum.Bounded (rep_auGZ size_auH0), Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0, GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=13, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=13, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 20 0 20 0 20 0 0 0 20 60 30 0] 213 60}] $w$cabs_sxhI = \ (@ (frac_XuKd :: GHC.TypeLits.Nat)) (@ (rep_XuKf :: GHC.TypeLits.Nat -> *)) (@ (size_XuKh :: GHC.TypeLits.Nat)) _ [Occ=Dead] (ww_sxhs :: ((size_XuKh GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_XuKh GHC.TypeLits.+ 2)) (ww_sxht :: CLaSH.Class.BitVector.BitVector (rep_XuKf size_XuKh)) (ww_sxhu :: CLaSH.Class.BitVector.BitVector (rep_XuKf (size_XuKh GHC.TypeLits.+ 2))) (ww_sxhv :: CLaSH.Class.BitVector.BitSize (rep_XuKf size_XuKh) ~ size_XuKh) (ww_sxhw :: CLaSH.Class.BitVector.BitSize (rep_XuKf (size_XuKh GHC.TypeLits.+ 2)) ~ (size_XuKh GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww_sxhy :: GHC.TypeLits.KnownNat (size_XuKh GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww_sxhA :: Data.Bits.Bits (rep_XuKf (size_XuKh GHC.TypeLits.+ 2))) (ww_sxhC :: CLaSH.Sized.Fixed.ResizeFC rep_XuKf (frac_XuKd GHC.TypeLits.+ frac_XuKd) frac_XuKd (size_XuKh GHC.TypeLits.+ size_XuKh) size_XuKh) (ww_sxhE :: GHC.Num.Num (rep_XuKf (size_XuKh GHC.TypeLits.+ 2))) (w_sxhl :: CLaSH.Sized.Fixed.Fixed frac_XuKd rep_XuKf size_XuKh) -> let { $dKnownNat_swsx :: GHC.TypeLits.KnownNat size_XuKh [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swsx = case ww_sxhC of _ [Occ=Dead, Dmd=] { (tpl_X1V [Dmd=], tpl_X1X [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B7 } } in case ww_sxhs of _ [Occ=Dead] { GHC.Types.Eq# ww_sxgE -> case ww_sxhu of _ [Occ=Dead] { CLaSH.Class.BitVector.D:BitVector ww_sxgK ww_sxgL -> case ww_sxhw of ww_XxkJ { GHC.Types.Eq# ipv_sxsr -> case ww_sxhA of _ [Occ=Dead] { Data.Bits.D:Bits ww_sxgV ww_sxgW ww_sxgX ww_sxgY ww_sxgZ ww_sxh0 ww_sxh1 ww_sxh2 ww_sxh3 ww_sxh4 ww_sxh5 ww_sxh6 ww_sxh7 ww_sxh8 ww_sxh9 ww_sxha ww_sxhb ww_sxhc ww_sxhd ww_sxhe ww_sxhf ww_sxhg ww_sxhh -> ($wsatN2_sxbN @ rep_XuKf @ size_XuKh @~ ww_sxgE ww_sxht ww_sxgK ww_sxhv ww_XxkJ $dKnownNat_swsx ww_sxhy (case ww_sxhC of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X20 }) ww_sxha (GHC.Num.abs @ (rep_XuKf (size_XuKh GHC.TypeLits.+ 2)) ww_sxhE (case ww_sxhC of _ [Occ=Dead, Dmd=] { (tpl_X7i [Dmd=], tpl_X7l [Dmd=], tpl_X5n [Dmd=], tpl_X5p [Dmd=], tpl_X5r [Dmd=], tpl_X5t [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> (tpl_X5t `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKf ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKf a_ae8M -> rep_XuKf b_ae8N))) @ size_XuKh @ (size_XuKh GHC.TypeLits.+ 2) $dKnownNat_swsx ww_sxhy (w_sxhl `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKd rep_XuKf size_XuKh ~# rep_XuKf size_XuKh)) }))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKf size_XuKh ~# CLaSH.Sized.Fixed.Fixed frac_XuKd rep_XuKf size_XuKh) } } } } $cabs_avCW [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_XuKe :: GHC.TypeLits.Nat)) (@ (rep_XuKg :: GHC.TypeLits.Nat -> *)) (@ (size_XuKi :: GHC.TypeLits.Nat)) (w_sxhk [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKe rep_XuKg size_XuKi) (w_sxhl [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKe rep_XuKg size_XuKi) -> case w_sxhk of _ [Occ=Dead] { (ww_sxho [Occ=Once!], ww_sxhC [Occ=Once], _ [Occ=Dead], ww_sxhE [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> case ww_sxho of _ [Occ=Dead] { (ww_sxhr [Occ=Once], ww_sxhs [Occ=Once], ww_sxht [Occ=Once], ww_sxhu [Occ=Once], ww_sxhv [Occ=Once], ww_sxhw [Occ=Once], ww_sxhx [Occ=Once], ww_sxhy [Occ=Once], ww_sxhz [Occ=Once], ww_sxhA [Occ=Once]) -> $w$cabs_sxhI @ frac_XuKe @ rep_XuKg @ size_XuKi ww_sxhr ww_sxhs ww_sxht ww_sxhu ww_sxhv ww_sxhw ww_sxhx ww_sxhy ww_sxhz ww_sxhA ww_sxhC ww_sxhE w_sxhl } }}] $cabs_avCW = \ (@ (frac_XuKe :: GHC.TypeLits.Nat)) (@ (rep_XuKg :: GHC.TypeLits.Nat -> *)) (@ (size_XuKi :: GHC.TypeLits.Nat)) (w_sxhk :: CLaSH.Sized.Fixed.NumFixed frac_XuKe rep_XuKg size_XuKi) (w_sxhl :: CLaSH.Sized.Fixed.Fixed frac_XuKe rep_XuKg size_XuKi) -> case w_sxhk of _ [Occ=Dead] { (ww_sxho, ww_sxhC, ww_sxhD, ww_sxhE, ww_sxhF, ww_sxhG) -> case ww_sxho of _ [Occ=Dead] { (ww_sxhr, ww_sxhs, ww_sxht, ww_sxhu, ww_sxhv, ww_sxhw, ww_sxhx, ww_sxhy, ww_sxhz, ww_sxhA) -> $w$cabs_sxhI @ frac_XuKe @ rep_XuKg @ size_XuKi ww_sxhr ww_sxhs ww_sxht ww_sxhu ww_sxhv ww_sxhw ww_sxhx ww_sxhy ww_sxhz ww_sxhA ww_sxhC ww_sxhE w_sxhl } } $w$cnegate_sxiT :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (1 GHC.TypeLits.<= size_auH0, ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_auH0 GHC.TypeLits.+ 2), CLaSH.Class.BitVector.BitVector (rep_auGZ size_auH0), CLaSH.Class.BitVector.BitVector (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0) ~ size_auH0, CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) ~ (size_auH0 GHC.TypeLits.+ 2), GHC.TypeLits.KnownNat size_auH0, GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ 2), GHC.Enum.Bounded (rep_auGZ size_auH0), Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0, GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=13, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=13, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 20 0 20 0 20 0 0 0 20 60 30 0] 213 60}] $w$cnegate_sxiT = \ (@ (frac_XuKf :: GHC.TypeLits.Nat)) (@ (rep_XuKh :: GHC.TypeLits.Nat -> *)) (@ (size_XuKj :: GHC.TypeLits.Nat)) _ [Occ=Dead] (ww_sxiD :: ((size_XuKj GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_XuKj GHC.TypeLits.+ 2)) (ww_sxiE :: CLaSH.Class.BitVector.BitVector (rep_XuKh size_XuKj)) (ww_sxiF :: CLaSH.Class.BitVector.BitVector (rep_XuKh (size_XuKj GHC.TypeLits.+ 2))) (ww_sxiG :: CLaSH.Class.BitVector.BitSize (rep_XuKh size_XuKj) ~ size_XuKj) (ww_sxiH :: CLaSH.Class.BitVector.BitSize (rep_XuKh (size_XuKj GHC.TypeLits.+ 2)) ~ (size_XuKj GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww_sxiJ :: GHC.TypeLits.KnownNat (size_XuKj GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww_sxiL :: Data.Bits.Bits (rep_XuKh (size_XuKj GHC.TypeLits.+ 2))) (ww_sxiN :: CLaSH.Sized.Fixed.ResizeFC rep_XuKh (frac_XuKf GHC.TypeLits.+ frac_XuKf) frac_XuKf (size_XuKj GHC.TypeLits.+ size_XuKj) size_XuKj) (ww_sxiP :: GHC.Num.Num (rep_XuKh (size_XuKj GHC.TypeLits.+ 2))) (w_sxiw :: CLaSH.Sized.Fixed.Fixed frac_XuKf rep_XuKh size_XuKj) -> let { $dKnownNat_swsp :: GHC.TypeLits.KnownNat size_XuKj [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swsp = case ww_sxiN of _ [Occ=Dead, Dmd=] { (tpl_X1W [Dmd=], tpl_X1Y [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B7 } } in case ww_sxiD of _ [Occ=Dead] { GHC.Types.Eq# ww_sxhP -> case ww_sxiF of _ [Occ=Dead] { CLaSH.Class.BitVector.D:BitVector ww_sxhV ww_sxhW -> case ww_sxiH of ww_XxlW { GHC.Types.Eq# ipv_sxtc -> case ww_sxiL of _ [Occ=Dead] { Data.Bits.D:Bits ww_sxi6 ww_sxi7 ww_sxi8 ww_sxi9 ww_sxia ww_sxib ww_sxic ww_sxid ww_sxie ww_sxif ww_sxig ww_sxih ww_sxii ww_sxij ww_sxik ww_sxil ww_sxim ww_sxin ww_sxio ww_sxip ww_sxiq ww_sxir ww_sxis -> ($wsatN2_sxbN @ rep_XuKh @ size_XuKj @~ ww_sxhP ww_sxiE ww_sxhV ww_sxiG ww_XxlW $dKnownNat_swsp ww_sxiJ (case ww_sxiN of _ [Occ=Dead, Dmd=] { (tpl_X21 [Dmd=], tpl_X23 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X21 }) ww_sxil (GHC.Num.negate @ (rep_XuKh (size_XuKj GHC.TypeLits.+ 2)) ww_sxiP (case ww_sxiN of _ [Occ=Dead, Dmd=] { (tpl_X7k [Dmd=], tpl_X7n [Dmd=], tpl_X5o [Dmd=], tpl_X5q [Dmd=], tpl_X5s [Dmd=], tpl_X5u [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> (tpl_X5u `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKh ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKh a_ae8M -> rep_XuKh b_ae8N))) @ size_XuKj @ (size_XuKj GHC.TypeLits.+ 2) $dKnownNat_swsp ww_sxiJ (w_sxiw `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKf rep_XuKh size_XuKj ~# rep_XuKh size_XuKj)) }))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKh size_XuKj ~# CLaSH.Sized.Fixed.Fixed frac_XuKf rep_XuKh size_XuKj) } } } } $cnegate_avCC [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_XuKg :: GHC.TypeLits.Nat)) (@ (rep_XuKi :: GHC.TypeLits.Nat -> *)) (@ (size_XuKk :: GHC.TypeLits.Nat)) (w_sxiv [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKg rep_XuKi size_XuKk) (w_sxiw [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKg rep_XuKi size_XuKk) -> case w_sxiv of _ [Occ=Dead] { (ww_sxiz [Occ=Once!], ww_sxiN [Occ=Once], _ [Occ=Dead], ww_sxiP [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> case ww_sxiz of _ [Occ=Dead] { (ww_sxiC [Occ=Once], ww_sxiD [Occ=Once], ww_sxiE [Occ=Once], ww_sxiF [Occ=Once], ww_sxiG [Occ=Once], ww_sxiH [Occ=Once], ww_sxiI [Occ=Once], ww_sxiJ [Occ=Once], ww_sxiK [Occ=Once], ww_sxiL [Occ=Once]) -> $w$cnegate_sxiT @ frac_XuKg @ rep_XuKi @ size_XuKk ww_sxiC ww_sxiD ww_sxiE ww_sxiF ww_sxiG ww_sxiH ww_sxiI ww_sxiJ ww_sxiK ww_sxiL ww_sxiN ww_sxiP w_sxiw } }}] $cnegate_avCC = \ (@ (frac_XuKg :: GHC.TypeLits.Nat)) (@ (rep_XuKi :: GHC.TypeLits.Nat -> *)) (@ (size_XuKk :: GHC.TypeLits.Nat)) (w_sxiv :: CLaSH.Sized.Fixed.NumFixed frac_XuKg rep_XuKi size_XuKk) (w_sxiw :: CLaSH.Sized.Fixed.Fixed frac_XuKg rep_XuKi size_XuKk) -> case w_sxiv of _ [Occ=Dead] { (ww_sxiz, ww_sxiN, ww_sxiO, ww_sxiP, ww_sxiQ, ww_sxiR) -> case ww_sxiz of _ [Occ=Dead] { (ww_sxiC, ww_sxiD, ww_sxiE, ww_sxiF, ww_sxiG, ww_sxiH, ww_sxiI, ww_sxiJ, ww_sxiK, ww_sxiL) -> $w$cnegate_sxiT @ frac_XuKg @ rep_XuKi @ size_XuKk ww_sxiC ww_sxiD ww_sxiE ww_sxiF ww_sxiG ww_sxiH ww_sxiI ww_sxiJ ww_sxiK ww_sxiL ww_sxiN ww_sxiP w_sxiw } } $w$c-_sxk5 :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (1 GHC.TypeLits.<= size_auH0, ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_auH0 GHC.TypeLits.+ 2), CLaSH.Class.BitVector.BitVector (rep_auGZ size_auH0), CLaSH.Class.BitVector.BitVector (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0) ~ size_auH0, CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) ~ (size_auH0 GHC.TypeLits.+ 2), GHC.TypeLits.KnownNat size_auH0, GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ 2), GHC.Enum.Bounded (rep_auGZ size_auH0), Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0, GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=14, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=14, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 20 0 20 0 20 0 0 0 20 80 30 0 0] 236 60}] $w$c-_sxk5 = \ (@ (frac_XuKh :: GHC.TypeLits.Nat)) (@ (rep_XuKj :: GHC.TypeLits.Nat -> *)) (@ (size_XuKl :: GHC.TypeLits.Nat)) _ [Occ=Dead] (ww_sxjP :: ((size_XuKl GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_XuKl GHC.TypeLits.+ 2)) (ww_sxjQ :: CLaSH.Class.BitVector.BitVector (rep_XuKj size_XuKl)) (ww_sxjR :: CLaSH.Class.BitVector.BitVector (rep_XuKj (size_XuKl GHC.TypeLits.+ 2))) (ww_sxjS :: CLaSH.Class.BitVector.BitSize (rep_XuKj size_XuKl) ~ size_XuKl) (ww_sxjT :: CLaSH.Class.BitVector.BitSize (rep_XuKj (size_XuKl GHC.TypeLits.+ 2)) ~ (size_XuKl GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww_sxjV :: GHC.TypeLits.KnownNat (size_XuKl GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww_sxjX :: Data.Bits.Bits (rep_XuKj (size_XuKl GHC.TypeLits.+ 2))) (ww_sxjZ :: CLaSH.Sized.Fixed.ResizeFC rep_XuKj (frac_XuKh GHC.TypeLits.+ frac_XuKh) frac_XuKh (size_XuKl GHC.TypeLits.+ size_XuKl) size_XuKl) (ww_sxk1 :: GHC.Num.Num (rep_XuKj (size_XuKl GHC.TypeLits.+ 2))) (w_sxjH :: CLaSH.Sized.Fixed.Fixed frac_XuKh rep_XuKj size_XuKl) (w_sxjI :: CLaSH.Sized.Fixed.Fixed frac_XuKh rep_XuKj size_XuKl) -> let { $dKnownNat_swsg :: GHC.TypeLits.KnownNat size_XuKl [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swsg = case ww_sxjZ of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B7 } } in case ww_sxjP of _ [Occ=Dead] { GHC.Types.Eq# ww_sxj0 -> case ww_sxjR of _ [Occ=Dead] { CLaSH.Class.BitVector.D:BitVector ww_sxj6 ww_sxj7 -> case ww_sxjT of ww_Xxna { GHC.Types.Eq# ipv_sxtX -> case ww_sxjX of _ [Occ=Dead] { Data.Bits.D:Bits ww_sxjh ww_sxji ww_sxjj ww_sxjk ww_sxjl ww_sxjm ww_sxjn ww_sxjo ww_sxjp ww_sxjq ww_sxjr ww_sxjs ww_sxjt ww_sxju ww_sxjv ww_sxjw ww_sxjx ww_sxjy ww_sxjz ww_sxjA ww_sxjB ww_sxjC ww_sxjD -> ($wsatN2_sxbN @ rep_XuKj @ size_XuKl @~ ww_sxj0 ww_sxjQ ww_sxj6 ww_sxjS ww_Xxna $dKnownNat_swsg ww_sxjV (case ww_sxjZ of _ [Occ=Dead, Dmd=] { (tpl_X25 [Dmd=], tpl_X27 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X25 }) ww_sxjw (GHC.Num.- @ (rep_XuKj (size_XuKl GHC.TypeLits.+ 2)) ww_sxk1 (case ww_sxjZ of _ [Occ=Dead, Dmd=] { (tpl_X1Y [Dmd=], tpl_X20 [Dmd=], tpl_X5s [Dmd=], tpl_X5u [Dmd=], tpl_X5w [Dmd=], tpl_X5y [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> (tpl_X5y `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKj ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKj a_ae8M -> rep_XuKj b_ae8N))) @ size_XuKl @ (size_XuKl GHC.TypeLits.+ 2) $dKnownNat_swsg ww_sxjV (w_sxjH `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKh rep_XuKj size_XuKl ~# rep_XuKj size_XuKl)) }) (case ww_sxjZ of _ [Occ=Dead, Dmd=] { (tpl_X1Y [Dmd=], tpl_X20 [Dmd=], tpl_X5s [Dmd=], tpl_X5u [Dmd=], tpl_X5w [Dmd=], tpl_X5y [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> (tpl_X5y `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKj ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKj a_ae8M -> rep_XuKj b_ae8N))) @ size_XuKl @ (size_XuKl GHC.TypeLits.+ 2) $dKnownNat_swsg ww_sxjV (w_sxjI `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKh rep_XuKj size_XuKl ~# rep_XuKj size_XuKl)) }))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKj size_XuKl ~# CLaSH.Sized.Fixed.Fixed frac_XuKh rep_XuKj size_XuKl) } } } } $c-_avCb [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_XuKi :: GHC.TypeLits.Nat)) (@ (rep_XuKk :: GHC.TypeLits.Nat -> *)) (@ (size_XuKm :: GHC.TypeLits.Nat)) (w_sxjG [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKi rep_XuKk size_XuKm) (w_sxjH [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKi rep_XuKk size_XuKm) (w_sxjI [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKi rep_XuKk size_XuKm) -> case w_sxjG of _ [Occ=Dead] { (ww_sxjL [Occ=Once!], ww_sxjZ [Occ=Once], _ [Occ=Dead], ww_sxk1 [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> case ww_sxjL of _ [Occ=Dead] { (ww_sxjO [Occ=Once], ww_sxjP [Occ=Once], ww_sxjQ [Occ=Once], ww_sxjR [Occ=Once], ww_sxjS [Occ=Once], ww_sxjT [Occ=Once], ww_sxjU [Occ=Once], ww_sxjV [Occ=Once], ww_sxjW [Occ=Once], ww_sxjX [Occ=Once]) -> $w$c-_sxk5 @ frac_XuKi @ rep_XuKk @ size_XuKm ww_sxjO ww_sxjP ww_sxjQ ww_sxjR ww_sxjS ww_sxjT ww_sxjU ww_sxjV ww_sxjW ww_sxjX ww_sxjZ ww_sxk1 w_sxjH w_sxjI } }}] $c-_avCb = \ (@ (frac_XuKi :: GHC.TypeLits.Nat)) (@ (rep_XuKk :: GHC.TypeLits.Nat -> *)) (@ (size_XuKm :: GHC.TypeLits.Nat)) (w_sxjG :: CLaSH.Sized.Fixed.NumFixed frac_XuKi rep_XuKk size_XuKm) (w_sxjH :: CLaSH.Sized.Fixed.Fixed frac_XuKi rep_XuKk size_XuKm) (w_sxjI :: CLaSH.Sized.Fixed.Fixed frac_XuKi rep_XuKk size_XuKm) -> case w_sxjG of _ [Occ=Dead] { (ww_sxjL, ww_sxjZ, ww_sxk0, ww_sxk1, ww_sxk2, ww_sxk3) -> case ww_sxjL of _ [Occ=Dead] { (ww_sxjO, ww_sxjP, ww_sxjQ, ww_sxjR, ww_sxjS, ww_sxjT, ww_sxjU, ww_sxjV, ww_sxjW, ww_sxjX) -> $w$c-_sxk5 @ frac_XuKi @ rep_XuKk @ size_XuKm ww_sxjO ww_sxjP ww_sxjQ ww_sxjR ww_sxjS ww_sxjT ww_sxjU ww_sxjV ww_sxjW ww_sxjX ww_sxjZ ww_sxk1 w_sxjH w_sxjI } } $c*_avBP [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_XuKk :: GHC.TypeLits.Nat)) (@ (rep_XuKm :: GHC.TypeLits.Nat -> *)) (@ (size_XuKo :: GHC.TypeLits.Nat)) (w_sxkl [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKk rep_XuKm size_XuKo) (w_sxkm [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo) (w_sxkn [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo) -> case w_sxkl of _ [Occ=Dead] { (_ [Occ=Dead], ww_sxkr [Occ=Once!], _ [Occ=Dead], _ [Occ=Dead], ww_sxkJ [Occ=Once], ww_sxkK [Occ=Once!]) -> case ww_sxkr of _ [Occ=Dead] { (ww_sxku [Occ=Once], _ [Occ=Dead], ww_sxkw [Occ=Once], ww_sxkx [Occ=Once], ww_sxky [Occ=Once], ww_sxkz [Occ=Once], ww_sxkA [Occ=Once], ww_sxkB [Occ=Once], ww_sxkC [Occ=Once], ww_sxkD [Occ=Once], ww_sxkE [Occ=Once], _ [Occ=Dead]) -> $wresizeF_sxcA @ (frac_XuKk GHC.TypeLits.+ frac_XuKk) @ frac_XuKk @ rep_XuKm @ (size_XuKo GHC.TypeLits.+ size_XuKo) @ size_XuKo ww_sxku ww_sxkw ww_sxkx ww_sxky ww_sxkz ww_sxkA ww_sxkB ww_sxkC ww_sxkD ww_sxkE (case ww_sxkK of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw1a -> ((ww_sxkJ `cast` (CLaSH.Class.Num.NTCo:Mult[0] _N _N :: CLaSH.Class.Num.Mult (rep_XuKm size_XuKo) (rep_XuKm size_XuKo) ~# (rep_XuKm size_XuKo -> rep_XuKm size_XuKo -> CLaSH.Class.Num.MResult (rep_XuKm size_XuKo) (rep_XuKm size_XuKo)))) (w_sxkm `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo ~# rep_XuKm size_XuKo)) (w_sxkn `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo ~# rep_XuKm size_XuKo))) `cast` (Sub cobox_dw1a ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: CLaSH.Class.Num.MResult (rep_XuKm size_XuKo) (rep_XuKm size_XuKo) ~# CLaSH.Sized.Fixed.Fixed (frac_XuKk GHC.TypeLits.+ frac_XuKk) rep_XuKm (size_XuKo GHC.TypeLits.+ size_XuKo)) }) } }}] $c*_avBP = \ (@ (frac_XuKk :: GHC.TypeLits.Nat)) (@ (rep_XuKm :: GHC.TypeLits.Nat -> *)) (@ (size_XuKo :: GHC.TypeLits.Nat)) (w_sxkl :: CLaSH.Sized.Fixed.NumFixed frac_XuKk rep_XuKm size_XuKo) (w_sxkm :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo) (w_sxkn :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo) -> case w_sxkl of _ [Occ=Dead] { (ww_sxkq, ww_sxkr, ww_sxkH, ww_sxkI, ww_sxkJ, ww_sxkK) -> case ww_sxkr of _ [Occ=Dead] { (ww_sxku, ww_sxkv, ww_sxkw, ww_sxkx, ww_sxky, ww_sxkz, ww_sxkA, ww_sxkB, ww_sxkC, ww_sxkD, ww_sxkE, ww_sxkF) -> $wresizeF_sxcA @ (frac_XuKk GHC.TypeLits.+ frac_XuKk) @ frac_XuKk @ rep_XuKm @ (size_XuKo GHC.TypeLits.+ size_XuKo) @ size_XuKo ww_sxku ww_sxkw ww_sxkx ww_sxky ww_sxkz ww_sxkA ww_sxkB ww_sxkC ww_sxkD ww_sxkE (case ww_sxkK of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw1a -> ((ww_sxkJ `cast` (CLaSH.Class.Num.NTCo:Mult[0] _N _N :: CLaSH.Class.Num.Mult (rep_XuKm size_XuKo) (rep_XuKm size_XuKo) ~# (rep_XuKm size_XuKo -> rep_XuKm size_XuKo -> CLaSH.Class.Num.MResult (rep_XuKm size_XuKo) (rep_XuKm size_XuKo)))) (w_sxkm `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo ~# rep_XuKm size_XuKo)) (w_sxkn `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo ~# rep_XuKm size_XuKo))) `cast` (Sub cobox_dw1a ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: CLaSH.Class.Num.MResult (rep_XuKm size_XuKo) (rep_XuKm size_XuKo) ~# CLaSH.Sized.Fixed.Fixed (frac_XuKk GHC.TypeLits.+ frac_XuKk) rep_XuKm (size_XuKo GHC.TypeLits.+ size_XuKo)) }) } } $w$c+_sxlY :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (1 GHC.TypeLits.<= size_auH0, ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_auH0 GHC.TypeLits.+ 2), CLaSH.Class.BitVector.BitVector (rep_auGZ size_auH0), CLaSH.Class.BitVector.BitVector (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0) ~ size_auH0, CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) ~ (size_auH0 GHC.TypeLits.+ 2), GHC.TypeLits.KnownNat size_auH0, GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ 2), GHC.Enum.Bounded (rep_auGZ size_auH0), Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0, GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=14, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=14, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 20 0 20 0 20 0 0 0 20 80 30 0 0] 236 60}] $w$c+_sxlY = \ (@ (frac_XuKl :: GHC.TypeLits.Nat)) (@ (rep_XuKn :: GHC.TypeLits.Nat -> *)) (@ (size_XuKp :: GHC.TypeLits.Nat)) _ [Occ=Dead] (ww_sxlI :: ((size_XuKp GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_XuKp GHC.TypeLits.+ 2)) (ww_sxlJ :: CLaSH.Class.BitVector.BitVector (rep_XuKn size_XuKp)) (ww_sxlK :: CLaSH.Class.BitVector.BitVector (rep_XuKn (size_XuKp GHC.TypeLits.+ 2))) (ww_sxlL :: CLaSH.Class.BitVector.BitSize (rep_XuKn size_XuKp) ~ size_XuKp) (ww_sxlM :: CLaSH.Class.BitVector.BitSize (rep_XuKn (size_XuKp GHC.TypeLits.+ 2)) ~ (size_XuKp GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww_sxlO :: GHC.TypeLits.KnownNat (size_XuKp GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww_sxlQ :: Data.Bits.Bits (rep_XuKn (size_XuKp GHC.TypeLits.+ 2))) (ww_sxlS :: CLaSH.Sized.Fixed.ResizeFC rep_XuKn (frac_XuKl GHC.TypeLits.+ frac_XuKl) frac_XuKl (size_XuKp GHC.TypeLits.+ size_XuKp) size_XuKp) (ww_sxlU :: GHC.Num.Num (rep_XuKn (size_XuKp GHC.TypeLits.+ 2))) (w_sxlA :: CLaSH.Sized.Fixed.Fixed frac_XuKl rep_XuKn size_XuKp) (w_sxlB :: CLaSH.Sized.Fixed.Fixed frac_XuKl rep_XuKn size_XuKp) -> let { $dKnownNat_sws2 :: GHC.TypeLits.KnownNat size_XuKp [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_sws2 = case ww_sxlS of _ [Occ=Dead, Dmd=] { (tpl_X22 [Dmd=], tpl_X24 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B7 } } in case ww_sxlI of _ [Occ=Dead] { GHC.Types.Eq# ww_sxkT -> case ww_sxlK of _ [Occ=Dead] { CLaSH.Class.BitVector.D:BitVector ww_sxkZ ww_sxl0 -> case ww_sxlM of ww_Xxp7 { GHC.Types.Eq# ipv_sxuU -> case ww_sxlQ of _ [Occ=Dead] { Data.Bits.D:Bits ww_sxla ww_sxlb ww_sxlc ww_sxld ww_sxle ww_sxlf ww_sxlg ww_sxlh ww_sxli ww_sxlj ww_sxlk ww_sxll ww_sxlm ww_sxln ww_sxlo ww_sxlp ww_sxlq ww_sxlr ww_sxls ww_sxlt ww_sxlu ww_sxlv ww_sxlw -> ($wsatN2_sxbN @ rep_XuKn @ size_XuKp @~ ww_sxkT ww_sxlJ ww_sxkZ ww_sxlL ww_Xxp7 $dKnownNat_sws2 ww_sxlO (case ww_sxlS of _ [Occ=Dead, Dmd=] { (tpl_X27 [Dmd=], tpl_X29 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X27 }) ww_sxlp (GHC.Num.+ @ (rep_XuKn (size_XuKp GHC.TypeLits.+ 2)) ww_sxlU (case ww_sxlS of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_X5u [Dmd=], tpl_X5w [Dmd=], tpl_X5y [Dmd=], tpl_X5A [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> (tpl_X5A `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKn ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKn a_ae8M -> rep_XuKn b_ae8N))) @ size_XuKp @ (size_XuKp GHC.TypeLits.+ 2) $dKnownNat_sws2 ww_sxlO (w_sxlA `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKl rep_XuKn size_XuKp ~# rep_XuKn size_XuKp)) }) (case ww_sxlS of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_X5u [Dmd=], tpl_X5w [Dmd=], tpl_X5y [Dmd=], tpl_X5A [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> (tpl_X5A `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKn ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKn a_ae8M -> rep_XuKn b_ae8N))) @ size_XuKp @ (size_XuKp GHC.TypeLits.+ 2) $dKnownNat_sws2 ww_sxlO (w_sxlB `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKl rep_XuKn size_XuKp ~# rep_XuKn size_XuKp)) }))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKn size_XuKp ~# CLaSH.Sized.Fixed.Fixed frac_XuKl rep_XuKn size_XuKp) } } } } $c+_avBo [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_XuKm :: GHC.TypeLits.Nat)) (@ (rep_XuKo :: GHC.TypeLits.Nat -> *)) (@ (size_XuKq :: GHC.TypeLits.Nat)) (w_sxlz [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKm rep_XuKo size_XuKq) (w_sxlA [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKm rep_XuKo size_XuKq) (w_sxlB [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKm rep_XuKo size_XuKq) -> case w_sxlz of _ [Occ=Dead] { (ww_sxlE [Occ=Once!], ww_sxlS [Occ=Once], _ [Occ=Dead], ww_sxlU [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> case ww_sxlE of _ [Occ=Dead] { (ww_sxlH [Occ=Once], ww_sxlI [Occ=Once], ww_sxlJ [Occ=Once], ww_sxlK [Occ=Once], ww_sxlL [Occ=Once], ww_sxlM [Occ=Once], ww_sxlN [Occ=Once], ww_sxlO [Occ=Once], ww_sxlP [Occ=Once], ww_sxlQ [Occ=Once]) -> $w$c+_sxlY @ frac_XuKm @ rep_XuKo @ size_XuKq ww_sxlH ww_sxlI ww_sxlJ ww_sxlK ww_sxlL ww_sxlM ww_sxlN ww_sxlO ww_sxlP ww_sxlQ ww_sxlS ww_sxlU w_sxlA w_sxlB } }}] $c+_avBo = \ (@ (frac_XuKm :: GHC.TypeLits.Nat)) (@ (rep_XuKo :: GHC.TypeLits.Nat -> *)) (@ (size_XuKq :: GHC.TypeLits.Nat)) (w_sxlz :: CLaSH.Sized.Fixed.NumFixed frac_XuKm rep_XuKo size_XuKq) (w_sxlA :: CLaSH.Sized.Fixed.Fixed frac_XuKm rep_XuKo size_XuKq) (w_sxlB :: CLaSH.Sized.Fixed.Fixed frac_XuKm rep_XuKo size_XuKq) -> case w_sxlz of _ [Occ=Dead] { (ww_sxlE, ww_sxlS, ww_sxlT, ww_sxlU, ww_sxlV, ww_sxlW) -> case ww_sxlE of _ [Occ=Dead] { (ww_sxlH, ww_sxlI, ww_sxlJ, ww_sxlK, ww_sxlL, ww_sxlM, ww_sxlN, ww_sxlO, ww_sxlP, ww_sxlQ) -> $w$c+_sxlY @ frac_XuKm @ rep_XuKo @ size_XuKq ww_sxlH ww_sxlI ww_sxlJ ww_sxlK ww_sxlL ww_sxlM ww_sxlN ww_sxlO ww_sxlP ww_sxlQ ww_sxlS ww_sxlU w_sxlA w_sxlB } } CLaSH.Sized.Fixed.$fNumFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => GHC.Num.Num (CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) [LclIdX[DFunId], Arity=1, Str=DmdType m, Unf=DFun: \ (@ (frac_XuIO :: GHC.TypeLits.Nat)) (@ (rep_XuIQ :: GHC.TypeLits.Nat -> *)) (@ (size_XuIS :: GHC.TypeLits.Nat)) (tup_XvDf :: CLaSH.Sized.Fixed.NumFixed frac_XuIO rep_XuIQ size_XuIS) -> GHC.Num.D:Num TYPE CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS $c+_avBo @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $c*_avBP @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $c-_avCb @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $cnegate_avCC @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $cabs_avCW @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf (a_swkh @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) `cast` (_R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> rep_XuIQ size_XuIS) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS)) $cfromInteger_avDp @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf] CLaSH.Sized.Fixed.$fNumFixed = \ (@ (frac_XuIO :: GHC.TypeLits.Nat)) (@ (rep_XuIQ :: GHC.TypeLits.Nat -> *)) (@ (size_XuIS :: GHC.TypeLits.Nat)) (tup_XvDf [Dmd=] :: CLaSH.Sized.Fixed.NumFixed frac_XuIO rep_XuIQ size_XuIS) -> GHC.Num.D:Num @ (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS) ($c+_avBo @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($c*_avBP @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($c-_avCb @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($cnegate_avCC @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($cabs_avCW @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ((a_swkh @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) `cast` (_R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> rep_XuIQ size_XuIS) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS))) ($cfromInteger_avDp @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) CLaSH.Sized.Fixed.$fBitVectorFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV) => CLaSH.Class.BitVector.BitVector (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV) [LclIdX[DFunId], Arity=1, Str=DmdType m, Unf=DFun: \ (@ (frac_XuIN :: GHC.TypeLits.Nat)) (@ (rep_XuIP :: GHC.TypeLits.Nat -> *)) (@ (size_XuIR :: GHC.TypeLits.Nat)) ($dBitVector_XvCT :: CLaSH.Class.BitVector.BitVector (rep_XuIP size_XuIR)) -> CLaSH.Class.BitVector.D:BitVector TYPE CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR (\ ($dKnownNat_avB0 :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (ds_dw0H :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) -> CLaSH.Class.BitVector.toBV @ (rep_XuIP size_XuIR) $dBitVector_XvCT ($dKnownNat_avB0 `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (ds_dw0H `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR ~# rep_XuIP size_XuIR))) `cast` (_R -> _R -> (CLaSH.Sized.Vector.Vec (Sym (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N)) _R)_R :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit)) (\ ($dKnownNat_avBa :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (bv_auGX :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit) -> CLaSH.Class.BitVector.fromBV @ (rep_XuIP size_XuIR) $dBitVector_XvCT ($dKnownNat_avBa `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (bv_auGX `cast` ((CLaSH.Sized.Vector.Vec (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit))) `cast` (_R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> rep_XuIP size_XuIR) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))] CLaSH.Sized.Fixed.$fBitVectorFixed = \ (@ (frac_XuIN :: GHC.TypeLits.Nat)) (@ (rep_XuIP :: GHC.TypeLits.Nat -> *)) (@ (size_XuIR :: GHC.TypeLits.Nat)) ($dBitVector_XvCT [Dmd=] :: CLaSH.Class.BitVector.BitVector (rep_XuIP size_XuIR)) -> CLaSH.Class.BitVector.D:BitVector @ (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) ((\ ($dKnownNat_avB0 :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (ds_dw0H :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) -> CLaSH.Class.BitVector.toBV @ (rep_XuIP size_XuIR) $dBitVector_XvCT ($dKnownNat_avB0 `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (ds_dw0H `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR ~# rep_XuIP size_XuIR))) `cast` (_R -> _R -> (CLaSH.Sized.Vector.Vec (Sym (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N)) _R)_R :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit))) ((\ ($dKnownNat_avBa :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (bv_auGX :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit) -> CLaSH.Class.BitVector.fromBV @ (rep_XuIP size_XuIR) $dBitVector_XvCT ($dKnownNat_avBa `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (bv_auGX `cast` ((CLaSH.Sized.Vector.Vec (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit))) `cast` (_R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> rep_XuIP size_XuIR) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) a_swC4 :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => Data.Default.Class.Default (rep_auGM size_auGN) [LclId, Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swC4 = \ (@ (frac_auGL :: GHC.TypeLits.Nat)) (@ (rep_auGM :: GHC.TypeLits.Nat -> *)) (@ (size_auGN :: GHC.TypeLits.Nat)) ($dDefault_avAe :: Data.Default.Class.Default (rep_auGM size_auGN)) -> $dDefault_avAe $cdef_avAg :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => CLaSH.Sized.Fixed.Fixed frac_auGL rep_auGM size_auGN [LclId, Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $cdef_avAg = a_swC4 `cast` (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). _R -> Data.Default.Class.NTCo:Default[0] _N ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => Data.Default.Class.Default (rep_XuLZ size_XuM1)) ~# (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => CLaSH.Sized.Fixed.Fixed frac_XuLX rep_XuLZ size_XuM1)) CLaSH.Sized.Fixed.$fDefaultFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_auGL rep_auGM size_auGN) [LclIdX[DFunId(nt)], Arity=1, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= $cdef_avAg `cast` (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). _R -> Sym (Data.Default.Class.NTCo:Default[0] _N) :: (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuIO size_XuIQ) => CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ) ~# (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuIO size_XuIQ) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ)))}] CLaSH.Sized.Fixed.$fDefaultFixed = a_swC4 `cast` (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). _R -> Data.Default.Class.NTCo:Default[0] _N ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sym (Data.Default.Class.NTCo:Default[0] _N) :: (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => Data.Default.Class.Default (rep_XuLZ size_XuM1)) ~# (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_XuLX rep_XuLZ size_XuM1))) CLaSH.Sized.Fixed.$fBoundedFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_auGJ size_auGK) => GHC.Enum.Bounded (CLaSH.Sized.Fixed.Fixed frac_auGI rep_auGJ size_auGK) [LclIdX[DFunId], Arity=1, Str=DmdType m, Unf=DFun: \ (@ (frac_XuIW :: GHC.TypeLits.Nat)) (@ (rep_XuIY :: GHC.TypeLits.Nat -> *)) (@ (size_XuJ0 :: GHC.TypeLits.Nat)) ($dBounded_XvCa :: GHC.Enum.Bounded (rep_XuIY size_XuJ0)) -> GHC.Enum.D:Bounded TYPE CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0 (GHC.Enum.minBound @ (rep_XuIY size_XuJ0) $dBounded_XvCa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0) (GHC.Enum.maxBound @ (rep_XuIY size_XuJ0) $dBounded_XvCa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0)] CLaSH.Sized.Fixed.$fBoundedFixed = \ (@ (frac_XuIW :: GHC.TypeLits.Nat)) (@ (rep_XuIY :: GHC.TypeLits.Nat -> *)) (@ (size_XuJ0 :: GHC.TypeLits.Nat)) ($dBounded_XvCa [Dmd=] :: GHC.Enum.Bounded (rep_XuIY size_XuJ0)) -> GHC.Enum.D:Bounded @ (CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0) ((GHC.Enum.minBound @ (rep_XuIY size_XuJ0) $dBounded_XvCa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0)) ((GHC.Enum.maxBound @ (rep_XuIY size_XuJ0) $dBounded_XvCa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0)) CLaSH.Sized.Fixed.$fOrdFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => GHC.Classes.Ord (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) [LclIdX[DFunId[1]], Arity=2, Str=DmdType m, Unf=DFun: \ (@ (frac_XuIv :: GHC.TypeLits.Nat)) (@ (rep_XuIx :: GHC.TypeLits.Nat -> *)) (@ (size_XuIz :: GHC.TypeLits.Nat)) ($dEq_XvB3 :: GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) ($dOrd_XvB5 :: GHC.Classes.Ord (rep_XuIx size_XuIz)) -> GHC.Classes.D:Ord TYPE CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz $dEq_XvB3 (GHC.Classes.compare @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Ordering) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Ordering)) (GHC.Classes.< @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) (GHC.Classes.>= @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) (GHC.Classes.> @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) (GHC.Classes.<= @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) (GHC.Classes.max @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) (GHC.Classes.min @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz))] CLaSH.Sized.Fixed.$fOrdFixed = \ (@ (frac_XuIv :: GHC.TypeLits.Nat)) (@ (rep_XuIx :: GHC.TypeLits.Nat -> *)) (@ (size_XuIz :: GHC.TypeLits.Nat)) ($dEq_XvB3 :: GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) ($dOrd_XvB5 [Dmd=] :: GHC.Classes.Ord (rep_XuIx size_XuIz)) -> GHC.Classes.D:Ord @ (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz) $dEq_XvB3 ((GHC.Classes.compare @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Ordering) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Ordering))) ((GHC.Classes.< @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.>= @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.> @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.<= @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.max @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz))) ((GHC.Classes.min @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz))) CLaSH.Sized.Fixed.$fEqFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_auFG size_auFH) => GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) [LclIdX[DFunId], Arity=1, Str=DmdType m, Unf=DFun: \ (@ (frac_XuII :: GHC.TypeLits.Nat)) (@ (rep_XuIK :: GHC.TypeLits.Nat -> *)) (@ (size_XuIM :: GHC.TypeLits.Nat)) ($dEq_XvAL :: GHC.Classes.Eq (rep_XuIK size_XuIM)) -> GHC.Classes.D:Eq TYPE CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM (GHC.Classes.== @ (rep_XuIK size_XuIM) $dEq_XvAL) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool)) (GHC.Classes./= @ (rep_XuIK size_XuIM) $dEq_XvAL) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool))] CLaSH.Sized.Fixed.$fEqFixed = \ (@ (frac_XuII :: GHC.TypeLits.Nat)) (@ (rep_XuIK :: GHC.TypeLits.Nat -> *)) (@ (size_XuIM :: GHC.TypeLits.Nat)) ($dEq_XvAL [Dmd=] :: GHC.Classes.Eq (rep_XuIK size_XuIM)) -> GHC.Classes.D:Eq @ (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM) ((GHC.Classes.== @ (rep_XuIK size_XuIM) $dEq_XvAL) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool))) ((GHC.Classes./= @ (rep_XuIK size_XuIM) $dEq_XvAL) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool))) a_swC6 :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] a_swC6 = GHC.CString.unpackCString# "Fixed"# a_swC9 :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 0}] a_swC9 = GHC.CString.unpackCString# "clash-prelude-0.5"# a_swCb :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 0}] a_swCb = GHC.CString.unpackCString# "CLaSH.Sized.Fixed"# a_swC7 :: Language.Haskell.TH.Syntax.NameFlavour [LclId, Str=DmdType m5, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}] a_swC7 = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.DataName (a_swC9 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a_swCb `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) lvl_swwh :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] lvl_swwh = Language.Haskell.TH.Syntax.Name (a_swC6 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a_swC7 a_swCe :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] a_swCe = GHC.CString.unpackCString# "Fixed"# a_swCh :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 0}] a_swCh = GHC.CString.unpackCString# "clash-prelude-0.5"# a_swCj :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 0}] a_swCj = GHC.CString.unpackCString# "CLaSH.Sized.Fixed"# a_swCf :: Language.Haskell.TH.Syntax.NameFlavour [LclId, Str=DmdType m5, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}] a_swCf = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.TcClsName (a_swCh `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a_swCj `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) lvl_swwp :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] lvl_swwp = Language.Haskell.TH.Syntax.Name (a_swCe `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a_swCf a_swCk :: forall (m_a4Ni :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4Ni => m_a4Ni Language.Haskell.TH.Syntax.Type [LclId, Arity=1, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (m_a4Ni :: * -> *)) (eta_a4Nj [Occ=Once] :: Language.Haskell.TH.Syntax.Quasi m_a4Ni) -> GHC.Base.return @ m_a4Ni (Language.Haskell.TH.Syntax.$p1Quasi @ m_a4Ni eta_a4Nj) @ Language.Haskell.TH.Syntax.Type (Language.Haskell.TH.Syntax.ConT lvl_swwp)}] a_swCk = \ (@ (m_a4Ni :: * -> *)) (eta_a4Nj :: Language.Haskell.TH.Syntax.Quasi m_a4Ni) -> GHC.Base.return @ m_a4Ni (Language.Haskell.TH.Syntax.$p1Quasi @ m_a4Ni eta_a4Nj) @ Language.Haskell.TH.Syntax.Type (Language.Haskell.TH.Syntax.ConT lvl_swwp) a_swCv :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> forall (m_akMz :: * -> *). Language.Haskell.TH.Syntax.Quasi m_akMz => m_akMz Language.Haskell.TH.Syntax.Exp [LclId, Arity=5, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] a_swCv = \ (@ (frac_auGO :: GHC.TypeLits.Nat)) (@ (rep_auGP :: GHC.TypeLits.Nat -> *)) (@ (size_auGQ :: GHC.TypeLits.Nat)) ($dLift_avAq [Dmd=] :: Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ)) ($dKnownNat_avAr :: GHC.TypeLits.KnownNat frac_auGO) ($dKnownNat_avAs :: GHC.TypeLits.KnownNat size_auGQ) ($dTypeable_avAt :: Data.Typeable.Internal.Typeable rep_auGP) (f_auGR :: CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ) -> let { w1_acZp [Dmd=] :: Language.Haskell.TH.Lib.ExpQ [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 1 0}] w1_acZp = ($dLift_avAq `cast` (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N :: Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ) ~# (rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp))) (f_auGR `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ ~# rep_auGP size_auGQ)) } in let { w1_akV2 [Dmd=] :: Language.Haskell.TH.Lib.TypeQ [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=NEVER}] w1_akV2 = letrec { lgo_awhL [Occ=LoopBreaker] :: Language.Haskell.TH.Lib.TypeQ -> [Language.Haskell.TH.Lib.TypeQ] -> Language.Haskell.TH.Lib.TypeQ [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=, TopLvl=False, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 30] 80 0}] lgo_awhL = \ (z_awhM :: Language.Haskell.TH.Lib.TypeQ) (ds_awhN :: [Language.Haskell.TH.Lib.TypeQ]) -> case ds_awhN of _ [Occ=Dead, Dmd=] { [] -> z_awhM; : x_awhS [Dmd=] xs_awhT [Dmd=] -> lgo_awhL ((Language.Haskell.TH.Lib.appT1 z_awhM x_awhS) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) xs_awhT }; } in lgo_awhL (a_swCk `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (GHC.Types.: @ Language.Haskell.TH.Lib.TypeQ (let { l_a5DZ [Dmd=] :: Language.Haskell.TH.Lib.TyLitQ [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 20 0}] l_a5DZ = Language.Haskell.TH.Lib.numTyLit ($dKnownNat_avAr `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_auGO ~# GHC.Integer.Type.Integer)) } in (\ (@ (m_a5E0 :: * -> *)) (eta_a5E1 :: Language.Haskell.TH.Syntax.Quasi m_a5E0) -> GHC.Base.fmap @ m_a5E0 (Control.Applicative.$p1Applicative @ m_a5E0 (Language.Haskell.TH.Syntax.$p2Quasi @ m_a5E0 eta_a5E1)) @ Language.Haskell.TH.Syntax.TyLit @ Language.Haskell.TH.Syntax.Type Language.Haskell.TH.Syntax.LitT ((l_a5DZ `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.TyLit ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.TyLit))) @ m_a5E0 eta_a5E1)) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (GHC.Types.: @ Language.Haskell.TH.Lib.TypeQ (let { x_X4Ts :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 271 90}] x_X4Ts = case ($dTypeable_avAt `cast` (Data.Typeable.Internal.NTCo:Typeable[0] *>_N _N :: Data.Typeable.Internal.Typeable rep_auGP ~# (GHC.Prim.Proxy# rep_auGP -> Data.Typeable.Internal.TypeRep))) (GHC.Prim.proxy# @ (GHC.TypeLits.Nat -> *) @ rep_auGP) of _ [Occ=Dead, Dmd=] { Data.Typeable.Internal.TypeRep ww1_awCq [Dmd=] ww2_awCr [Dmd=] ww3_awCs [Dmd=] ww4_awCt [Dmd=] -> case GHC.List.reverse1 @ GHC.Types.Char (Data.Typeable.Internal.$w$cshowsPrec GHC.Show.shows27 ww3_awCs ww4_awCt (GHC.Types.[] @ GHC.Types.Char)) (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead, Dmd=] { [] -> Language.Haskell.TH.Syntax.Name ((GHC.Types.[] @ GHC.Types.Char) `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) Language.Haskell.TH.Syntax.NameS; : ds_a5Fa [Dmd=] rev_a5Fb [Dmd=] -> case ds_a5Fa of wild22_a5Fd { GHC.Types.C# ds1_a5Ff [Dmd=] -> case ds1_a5Ff of _ [Occ=Dead, Dmd=] { __DEFAULT -> case Language.Haskell.TH.Syntax.mkName_$s$wsplit1 wild22_a5Fd (GHC.Types.[] @ GHC.Types.Char) rev_a5Fb of _ [Occ=Dead, Dmd=] { (# ww1_a5Aw, ww2_a5Ax #) -> Language.Haskell.TH.Syntax.Name ww1_a5Aw ww2_a5Ax }; '.' -> case Language.Haskell.TH.Syntax.mkName_$s$wsplit1 wild22_a5Fd (GHC.Types.[] @ GHC.Types.Char) rev_a5Fb of _ [Occ=Dead, Dmd=] { (# ww1_a5Aw, ww2_a5Ax #) -> Language.Haskell.TH.Syntax.Name ww1_a5Aw ww2_a5Ax } } } } } } in (\ (@ (m_X4Tv :: * -> *)) (eta_X4Tx :: Language.Haskell.TH.Syntax.Quasi m_X4Tv) -> GHC.Base.return @ m_X4Tv (Language.Haskell.TH.Syntax.$p1Quasi @ m_X4Tv eta_X4Tx) @ Language.Haskell.TH.Syntax.Type (Language.Haskell.TH.Syntax.ConT x_X4Ts)) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (GHC.Types.: @ Language.Haskell.TH.Lib.TypeQ (let { l_a5DZ [Dmd=] :: Language.Haskell.TH.Lib.TyLitQ [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 20 0}] l_a5DZ = Language.Haskell.TH.Lib.numTyLit ($dKnownNat_avAs `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat size_auGQ ~# GHC.Integer.Type.Integer)) } in (\ (@ (m_a5E0 :: * -> *)) (eta_a5E1 :: Language.Haskell.TH.Syntax.Quasi m_a5E0) -> GHC.Base.fmap @ m_a5E0 (Control.Applicative.$p1Applicative @ m_a5E0 (Language.Haskell.TH.Syntax.$p2Quasi @ m_a5E0 eta_a5E1)) @ Language.Haskell.TH.Syntax.TyLit @ Language.Haskell.TH.Syntax.Type Language.Haskell.TH.Syntax.LitT ((l_a5DZ `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.TyLit ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.TyLit))) @ m_a5E0 eta_a5E1)) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (GHC.Types.[] @ Language.Haskell.TH.Lib.TypeQ)))) } in \ (@ (m_akV3 :: * -> *)) (w2_akV4 :: Language.Haskell.TH.Syntax.Quasi m_akV3) -> case w2_akV4 of _ [Occ=Dead, Dmd=] { Language.Haskell.TH.Syntax.D:Quasi ww1_akV7 [Dmd=] ww2_akV8 ww3_akV9 ww4_akVa ww5_akVb ww6_akVc ww7_akVd ww8_akVe ww9_akVf ww10_akVg ww11_akVh ww12_akVi ww13_akVj ww14_akVk ww15_akVl ww16_akVm ww17_akVn ww18_akVo -> case ww1_akV7 of _ [Occ=Dead, Dmd=] { GHC.Base.D:Monad ww20_akVt [Dmd=] ww21_akVu ww22_akVv ww23_akVw -> let { a_akVs :: GHC.Base.Monad m_akV3 [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 50}] a_akVs = GHC.Base.D:Monad @ m_akV3 ww20_akVt ww21_akVu ww22_akVv ww23_akVw } in let { eta_akVy :: Language.Haskell.TH.Syntax.Quasi m_akV3 [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 190}] eta_akVy = Language.Haskell.TH.Syntax.D:Quasi @ m_akV3 a_akVs ww2_akV8 ww3_akV9 ww4_akVa ww5_akVb ww6_akVc ww7_akVd ww8_akVe ww9_akVf ww10_akVg ww11_akVh ww12_akVi ww13_akVj ww14_akVk ww15_akVl ww16_akVm ww17_akVn ww18_akVo } in ww20_akVt @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (let { a_acZP :: GHC.Base.Monad m_akV3 [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 50}] a_acZP = GHC.Base.D:Monad @ m_akV3 ww20_akVt ww21_akVu ww22_akVv ww23_akVw } in let { eta_acZV :: Language.Haskell.TH.Syntax.Quasi m_akV3 [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 190}] eta_acZV = Language.Haskell.TH.Syntax.D:Quasi @ m_akV3 a_acZP ww2_akV8 ww3_akV9 ww4_akVa ww5_akVb ww6_akVc ww7_akVd ww8_akVe ww9_akVf ww10_akVg ww11_akVh ww12_akVi ww13_akVj ww14_akVk ww15_akVl ww16_akVm ww17_akVn ww18_akVo } in ww20_akVt @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (ww22_akVv @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.ConE lvl_swwh)) (\ (x_acZW :: Language.Haskell.TH.Syntax.Exp) -> ww20_akVt @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp ((w1_acZp `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp))) @ m_akV3 eta_acZV) (\ (x1_acZX :: Language.Haskell.TH.Syntax.Exp) -> ww22_akVv @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.AppE x_acZW x1_acZX)))) (\ (x_akVz :: Language.Haskell.TH.Syntax.Exp) -> ww20_akVt @ Language.Haskell.TH.Syntax.Type @ Language.Haskell.TH.Syntax.Exp ((w1_akV2 `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type))) @ m_akV3 eta_akVy) (\ (x1_akVA :: Language.Haskell.TH.Syntax.Type) -> ww22_akVv @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.SigE x_akVz x1_akVA))) } } $clift_avAv :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp [LclId, Arity=5, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $clift_avAv = a_swCv `cast` (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp)) CLaSH.Sized.Fixed.$fLiftFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ) [LclIdX[DFunId(nt)], Arity=5, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=4, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= $clift_avAv `cast` (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N) :: (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ)))}] CLaSH.Sized.Fixed.$fLiftFixed = a_swCv `cast` (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> (_R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N)) ; Sym (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N) :: (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ))) ------ Local rules for imported ids -------- "SPEC GHC.Real.^ [GHC.Types.Double, GHC.Integer.Type.Integer]" [1] forall ($dNum_swu4 :: GHC.Num.Num GHC.Types.Double) ($dIntegral_swu5 :: GHC.Real.Integral GHC.Integer.Type.Integer). GHC.Real.^ @ GHC.Types.Double @ GHC.Integer.Type.Integer $dNum_swu4 $dIntegral_swu5 = $s^_swu6 *** Float out(FOS {Lam = Just 0, Consts = True, PAPs = True}): ==================== Levels added: ==================== > > = GHC.Err.error @ GHC.Types.Double (let { > > = GHC.CString.unpackCString# "Negative exponent"# } in lvl_sxD1) > > = __integer 1 > > = __integer 1 > > = __integer 2 > > = __integer 2 <$wg1_sxaw,<0,0>> <$wg1_sxaw,<0,0>> = \ > > > -> case GHC.Integer.Type.eqInteger# (GHC.Integer.Type.remInteger w_sxaj GHC.Real.even2) GHC.Real.even1 of > { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akF2 of > { GHC.Types.False -> case GHC.Integer.Type.eqInteger# w_sxaj lvl_swv0 of > { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a2f3 of > { GHC.Types.False -> $wg1_sxaw (GHC.Prim.*## ww_sxan ww_sxan) (GHC.Integer.Type.quotInteger (GHC.Integer.Type.minusInteger w_sxaj lvl_swv2) lvl_swv4) (GHC.Prim.*## ww_sxan ww_sxar); GHC.Types.True -> GHC.Prim.*## ww_sxan ww_sxar } }; GHC.Types.True -> $wg1_sxaw (GHC.Prim.*## ww_sxan ww_sxan) (GHC.Integer.Type.quotInteger w_sxaj lvl_swv6) ww_sxar } }; > > = __integer 1 > > = __integer 1 > > = __integer 2 > > = __integer 2 <$wf_sxaG,<0,0>> <$wf_sxaG,<0,0>> = \ > > -> case GHC.Integer.Type.eqInteger# (GHC.Integer.Type.remInteger w_sxay GHC.Real.even2) GHC.Real.even1 of > { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akF2 of > { GHC.Types.False -> case GHC.Integer.Type.eqInteger# w_sxay lvl_swuS of > { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a2f3 of > { GHC.Types.False -> $wg1_sxaw (GHC.Prim.*## ww_sxaB ww_sxaB) (GHC.Integer.Type.quotInteger (GHC.Integer.Type.minusInteger w_sxay lvl_swv8) lvl_swva) ww_sxaB; GHC.Types.True -> ww_sxaB } }; GHC.Types.True -> $wf_sxaG (GHC.Prim.*## ww_sxaB ww_sxaB) (GHC.Integer.Type.quotInteger w_sxay lvl_swvc) } }; > > = __integer 0 > > = __integer 0 <$w$s^_sxaM,<0,0>> <$w$s^_sxaM,<0,0>> = \ > > -> case GHC.Integer.Type.ltInteger# w_sxaI lvl_swuH of > { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a4It of > { GHC.Types.False -> case GHC.Integer.Type.eqInteger# w_sxaI lvl_swuK of > { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a2f3 of > { GHC.Types.False -> case w_sxaH of > { GHC.Types.D# > -> $wf_sxaG ww_sxaB w_sxaI }; GHC.Types.True -> 1.0 } }; GHC.Types.True -> case lvl_swvg of > { } } } <$s^_swu6,<0,0>> <$s^_swu6,<0,0>> = \ > > -> case $w$s^_sxaM w_sxaH w_sxaI of > { __DEFAULT -> GHC.Types.D# ww_sxaL } > > = GHC.Types.D# 2.0 > > = GHC.CString.unpackCString# "Fixed"# > > = GHC.CString.unpackCString# "clash-prelude-0.5"# > > = GHC.CString.unpackCString# "CLaSH.Sized.Fixed"# > > = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.DataName (a_swwV `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a_swwX `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) > > = Language.Haskell.TH.Syntax.Name (a_swwS `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a_swwT > > = GHC.CString.unpackCString# "fromInteger"# > > = GHC.CString.unpackCString# "base"# > > = GHC.CString.unpackCString# "GHC.Num"# > > = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.VarName (a_swx3 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a_swx5 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) > > = Language.Haskell.TH.Syntax.Name (a_swx0 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a_swx1 <$wa_sxaS,<0,0>> <$wa_sxaS,<0,0>> = \ > > > > > > > -> let { > > = let { > > = GHC.Real.toInteger @ (rep_avhN size_avhO) w_sxaQ (GHC.Enum.maxBound @ (rep_avhN size_avhO) w_sxaP) } in case w_sxaR of > { GHC.Types.D# > -> case $w$s^_sxaM lvl_swvh (w_sxaN `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_avhM ~# GHC.Integer.Type.Integer)) of > { __DEFAULT -> case GHC.Integer.Type.decodeDoubleInteger (GHC.Prim.*## x_aw80 ww_sxaL) of > { (# >, > #) -> let { > > = case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# ipv1_aw8R 0) of > { GHC.Types.False -> GHC.Integer.Type.shiftLInteger ipv_aw8Q ipv1_aw8R; GHC.Types.True -> let { > > = GHC.Prim.negateInt# ipv1_aw8R } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.># s_aw8X 52) of > { GHC.Types.False -> case GHC.Integer.Type.ltInteger# ipv_aw8Q (let { > > = __integer 0 } in lvl_sxD2) of > { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild3_aw92 of > { GHC.Types.False -> case GHC.Integer.Type.integerToInt ipv_aw8Q of > { __DEFAULT -> GHC.Integer.Type.smallInteger (GHC.Prim.uncheckedIShiftRA# n_aw96 s_aw8X) }; GHC.Types.True -> case GHC.Integer.Type.integerToInt (GHC.Integer.Type.negateInteger ipv_aw8Q) of > { __DEFAULT -> GHC.Integer.Type.smallInteger (GHC.Prim.negateInt# (GHC.Prim.uncheckedIShiftRA# n_aw99 s_aw8X)) } } }; GHC.Types.True -> let { > > = __integer 0 } in lvl_sxD3 } } } in case GHC.Integer.Type.gtInteger# truncated_swu2 rMax_swu0 of > { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akJ6 of > { GHC.Types.False -> let { > > = GHC.Real.toInteger @ (rep_avhN size_avhO) w_sxaQ (GHC.Enum.minBound @ (rep_avhN size_avhO) w_sxaP) } in case GHC.Integer.Type.ltInteger# truncated_swu2 rMin_swu1 of > { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a4It of > { GHC.Types.False -> truncated_swu2; GHC.Types.True -> rMin_swu1 } }; GHC.Types.True -> rMax_swu0 } } } } } } in \ > > -> case w1_awxa of > { Language.Haskell.TH.Syntax.D:Quasi > > > > > > > > > > > > > > > > > > -> case ww1_awxd of > { GHC.Base.D:Monad > > > > -> ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) (ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (ww22_awxA @ Language.Haskell.TH.Syntax.Exp (let { > > = Language.Haskell.TH.Syntax.ConE lvl_swvo } in lvl_sxD4)) (\ > -> ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (let { > > = ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (ww22_awxA @ Language.Haskell.TH.Syntax.Exp (let { > > = Language.Haskell.TH.Syntax.VarE lvl_swvw } in lvl_sxD5)) (\ > -> ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (let { > > = ww22_awxA @ Language.Haskell.TH.Syntax.Exp (let { > > = Language.Haskell.TH.Syntax.LitE (Language.Haskell.TH.Syntax.IntegerL x_akVD) } in lvl_sxD6) } in lvl_sxD7) (\ > -> ww22_awxA @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.AppE x_Xd36 x1_acZX))) } in lvl_sxD8) (\ > -> ww22_awxA @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.AppE x_acZW x1_acZX)))) (\ > -> ww22_awxA @ (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) (x_awxD `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:TExp[0] _N) :: Language.Haskell.TH.Syntax.Exp ~# Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)))) } } > > = \ > > > > > > > > -> $wa_sxaS @ frac_avhM @ rep_avhN @ size_avhO w_sxaN w_sxaP w_sxaQ w_sxaR > > = a_swxS `cast` (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO))) ~# (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> Language.Haskell.TH.Syntax.Q (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)))) <$wsatN2_sxbN,<0,0>> <$wsatN2_sxbN,<0,0>> = \ > > > > > > > > > > > > -> let { > > = \ > -> Control.Exception.Base.absentError @ (1 GHC.TypeLits.<= n_auFM) "ww_sxb3{v} [lid] 1 base:GHC.TypeLits.<={tc r4y} n{tv auFM} [tv]"# } in case ww_sxbh of > { GHC.Types.Eq# > -> let { > > = ww_sxbd (ww_sxbj `cast` ((GHC.TypeLits.KnownNat (Sym cobox_sxDc))_R :: GHC.TypeLits.KnownNat (n_auFM GHC.TypeLits.+ 2) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))))) w_sxb0 } in let { > > = CLaSH.Sized.Vector.vtail @ n_auFM @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_auFM GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (a_sxop `cast` ((CLaSH.Sized.Vector.Vec (cobox_sxDc ; Sym ww_sxb7) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit))) } in case ww_sxbD w_sxb0 of > { GHC.Types.False -> case CLaSH.Sized.Vector.vhead @ (n_auFM GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (a_sxop `cast` ((CLaSH.Sized.Vector.Vec (cobox_sxDc ; Sym ww_sxb7) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit)) of > { CLaSH.Bit.H -> case CLaSH.Sized.Vector.vhead @ n_auFM @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_auFM GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (a_sxop `cast` ((CLaSH.Sized.Vector.Vec (cobox_sxDc ; Sym ww_sxb7) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit))) of > { CLaSH.Bit.H -> GHC.Enum.minBound @ (rep_auFL n_auFM) ww_sxbk; CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_auFL n_auFM) ww_sxb9 (case ww_sxbg of > { GHC.Types.Eq# > -> ww_sxbi `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw7b))_R :: GHC.TypeLits.KnownNat n_auFM ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM))) }) (case ww_sxbg of > { GHC.Types.Eq# > -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7c) _R)_R :: CLaSH.Sized.Vector.Vec n_auFM CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) CLaSH.Bit.Bit) }) }; CLaSH.Bit.L -> case CLaSH.Sized.Vector.vhead @ n_auFM @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_auFM GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (a_sxop `cast` ((CLaSH.Sized.Vector.Vec (cobox_sxDc ; Sym ww_sxb7) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit))) of > { CLaSH.Bit.H -> GHC.Enum.maxBound @ (rep_auFL n_auFM) ww_sxbk; CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_auFL n_auFM) ww_sxb9 (case ww_sxbg of > { GHC.Types.Eq# > -> ww_sxbi `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw7b))_R :: GHC.TypeLits.KnownNat n_auFM ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM))) }) (case ww_sxbg of > { GHC.Types.Eq# > -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7c) _R)_R :: CLaSH.Sized.Vector.Vec n_auFM CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) CLaSH.Bit.Bit) }) } }; GHC.Types.True -> case CLaSH.Sized.Vector.vhead @ (n_auFM GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (a_sxop `cast` ((CLaSH.Sized.Vector.Vec (cobox_sxDc ; Sym ww_sxb7) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit)) of > { CLaSH.Bit.H -> case CLaSH.Sized.Vector.vhead' @ n_auFM @ CLaSH.Bit.Bit (poly_a_sxDa @ n_auFM) s_swtS of > { CLaSH.Bit.H -> CLaSH.Class.BitVector.fromBV @ (rep_auFL n_auFM) ww_sxb9 (case ww_sxbg of > { GHC.Types.Eq# > -> ww_sxbi `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw79))_R :: GHC.TypeLits.KnownNat n_auFM ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM))) }) (case ww_sxbg of > { GHC.Types.Eq# > -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7a) _R)_R :: CLaSH.Sized.Vector.Vec n_auFM CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) CLaSH.Bit.Bit) }); CLaSH.Bit.L -> GHC.Enum.minBound @ (rep_auFL n_auFM) ww_sxbk }; CLaSH.Bit.L -> case CLaSH.Sized.Vector.vhead' @ n_auFM @ CLaSH.Bit.Bit (poly_a_sxDa @ n_auFM) s_swtS of > { CLaSH.Bit.H -> GHC.Enum.maxBound @ (rep_auFL n_auFM) ww_sxbk; CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_auFL n_auFM) ww_sxb9 (case ww_sxbg of > { GHC.Types.Eq# > -> ww_sxbi `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw79))_R :: GHC.TypeLits.KnownNat n_auFM ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM))) }) (case ww_sxbg of > { GHC.Types.Eq# > -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7a) _R)_R :: CLaSH.Sized.Vector.Vec n_auFM CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) CLaSH.Bit.Bit) }) } } } } > > = \ > > > > -> case w_sxaZ of > { (>, >, >, >, >, >, >, >, >, >) -> case ww_sxb4 of > { GHC.Types.Eq# > -> case ww_sxba of > { CLaSH.Class.BitVector.D:BitVector > > -> case ww_sxbh of > { GHC.Types.Eq# > -> case ww_sxbl of > { Data.Bits.D:Bits > > > > > > > > > > > > > > > > > > > > > > > -> $wsatN2_sxbN @ rep_auFL @ n_auFM @~ ww_sxb7 ww_sxb9 ww_sxbd ww_sxbg ww_sxbh ww_sxbi ww_sxbj ww_sxbk ww_sxbD w_sxb0 } } } } } > > = __integer 0 > > = __integer 0 > > = __integer 0 > > = __integer 0 <$wresizeF_sxcA,<0,0>> <$wresizeF_sxcA,<0,0>> = \ > > > > > > > > > > > > > > > > -> case GHC.Integer.Type.leInteger# (ww_sxcu `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat size1_auFQ ~# GHC.Integer.Type.Integer)) (ww_sxct `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat size2_auFR ~# GHC.Integer.Type.Integer)) of > { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akJ3 of > { GHC.Types.False -> let { > > = GHC.Enum.maxBound @ (rep_auFP size2_auFR) ww_sxcn } in case ww_sxcr of > { Data.Bits.D:Bits > > > > > > > > > > > > > > > > > > > > > > > -> case ww_sxbQ of > { GHC.Classes.D:Eq > > -> let { > > = ww_sxbZ ((ww_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size2_auFR @ size1_auFQ ww_sxct ww_sxcu fMax_swtA) } in case GHC.Integer.Type.integerToInt (ww_sxcx `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac1_auFN ~# GHC.Integer.Type.Integer)) of > { __DEFAULT -> case GHC.Integer.Type.integerToInt (ww_sxcw `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac2_auFO ~# GHC.Integer.Type.Integer)) of > { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# wild_akCB wild_XkFQ) of > { GHC.Types.False -> let { > > = ww_sxcd (w_sxck `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ)) (GHC.Types.I# (GHC.Prim.-# wild_akCB wild_XkFQ)) } in case GHC.Classes.>= @ (rep_auFP size1_auFQ) ww_sxcp (w_sxck `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ)) (GHC.Num.fromInteger @ (rep_auFP size1_auFQ) ww_sxcq lvl_swvy) of > { GHC.Types.False -> case ww_sxbT (ww_sxbW shiftedR_swty mask_swtz) mask_swtz of > { GHC.Types.False -> (GHC.Enum.minBound @ (rep_auFP size2_auFR) ww_sxcn) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR); GHC.Types.True -> ((ww_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww_sxcu ww_sxct shiftedR_swty) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) }; GHC.Types.True -> case ww_sxbT (ww_sxbW shiftedR_swty mask_swtz) (GHC.Num.fromInteger @ (rep_auFP size1_auFQ) ww_sxcq lvl_swvz) of > { GHC.Types.False -> fMax_swtA `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR); GHC.Types.True -> ((ww_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww_sxcu ww_sxct shiftedR_swty) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) } }; GHC.Types.True -> let { > > = ww_sxcb (w_sxck `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ)) (GHC.Types.I# (GHC.Prim.-# wild_XkFQ wild_akCB)) } in case GHC.Classes.>= @ (rep_auFP size1_auFQ) ww_sxcp (w_sxck `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ)) (GHC.Num.fromInteger @ (rep_auFP size1_auFQ) ww_sxcq lvl_swvA) of > { GHC.Types.False -> case ww_sxbT (ww_sxbW shiftedL_swtK mask_swtz) mask_swtz of > { GHC.Types.False -> (GHC.Enum.minBound @ (rep_auFP size2_auFR) ww_sxcn) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR); GHC.Types.True -> ((ww_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww_sxcu ww_sxct shiftedL_swtK) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) }; GHC.Types.True -> case ww_sxbT (ww_sxbW shiftedL_swtK mask_swtz) (GHC.Num.fromInteger @ (rep_auFP size1_auFQ) ww_sxcq lvl_swvB) of > { GHC.Types.False -> fMax_swtA `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR); GHC.Types.True -> ((ww_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww_sxcu ww_sxct shiftedL_swtK) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) } } } } } } }; GHC.Types.True -> case GHC.Integer.Type.integerToInt (ww_sxcx `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac1_auFN ~# GHC.Integer.Type.Integer)) of > { __DEFAULT -> case GHC.Integer.Type.integerToInt (ww_sxcw `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac2_auFO ~# GHC.Integer.Type.Integer)) of > { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# wild_akCB wild_XkFG) of > { GHC.Types.False -> (Data.Bits.shiftR @ (rep_auFP size2_auFR) ww_sxcv ((ww_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww_sxcu ww_sxct (w_sxck `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ))) (GHC.Types.I# (GHC.Prim.-# wild_akCB wild_XkFG))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR); GHC.Types.True -> (Data.Bits.shiftL @ (rep_auFP size2_auFR) ww_sxcv ((ww_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww_sxcu ww_sxct (w_sxck `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ))) (GHC.Types.I# (GHC.Prim.-# wild_XkFG wild_akCB))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) } } } } } > > = \ > > > > > > > -> case w_sxcj of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> $wresizeF_sxcA @ frac1_auFN @ frac2_auFO @ rep_auFP @ size1_auFQ @ size2_auFR ww_sxcn ww_sxcp ww_sxcq ww_sxcr ww_sxcs ww_sxct ww_sxcu ww_sxcv ww_sxcw ww_sxcx w_sxck } > > = \ > > > > -> Data.Proxy.Proxy @ (GHC.TypeLits.Nat -> *) @ rep_avk7 > > = \ > > > > -> Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac_avkp > > = \ > > > <$dKnownNat_avxa,<1,0>> > -> case GHC.Integer.Type.integerToInt ($dKnownNat_avxa `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_avjN ~# GHC.Integer.Type.Integer)) of > { __DEFAULT -> GHC.Types.I# wild_akCB } > > = \ > > > -> ds_dvZi > > = a_swaI `cast` (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL)) ~# (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL))) > > = \ > > > > -> fRep_auGb > > = a_swaJ `cast` (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) ~# (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Fixed.Fixed frac_avl5 CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5))) > > = \ > > > -> ds_dvZu > > = a_swaK `cast` (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq)) ~# (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq))) > > = \ > > > > -> fRep_auG9 > > = a_swaL `cast` (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) ~# (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Fixed.Fixed frac_avlK CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK))) > > = \ > > > > -> ds_dvZF > > = a_swaM `cast` (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4) ~# (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> rep_auI3 size_auI4)) > > = GHC.Types.C# '-' > > = __integer 0 > > = GHC.Types.C# '0' > > = __integer 1 > > = __integer 10 <$wlvl_sxd6,<0,0>> <$wlvl_sxd6,<0,0>> = \ > -> (# case w_sxd3 of > { (>, >) -> case x_awe6 of > { GHC.Types.I# > -> case x1_awdC of > { __DEFAULT -> GHC.Types.I# (GHC.Prim.+# x1_awdC 1); 9223372036854775807 -> GHC.Enum.$fEnumInt2 } } }, case w_sxd3 of > { (>, >) -> case y_awec of > { GHC.Real.:% > > -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger ww1_awdJ dt_akMa) (GHC.Integer.Type.timesInteger ww2_awdK GHC.Real.$fEnumRatio1) of > { (# >, > #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww7_awdU ww8_awdV } } } #) > > = \ > -> case $wlvl_sxd6 w_sxd3 of > { (# >, > #) -> (ww_sxn9, ww_sxna) } > > = GHC.Types.I# 0 > > = __integer 2 > > = __integer 1 > > = __integer 2 > > = __integer 1 > > = __integer 0 > > = __integer 2 <$w$cshow_sxdD,<0,0>> <$w$cshow_sxdD,<0,0>> = \ > > > > > > -> let { > > = case GHC.Integer.Type.integerToInt (w_sxdo `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_auHx ~# GHC.Integer.Type.Integer)) of > { __DEFAULT -> GHC.Types.I# wild_akCB } } in let { > > = ww_sxdB (w_sxdq `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz ~# rep_auHy size_auHz)) } in let { > > = GHC.Integer.Type.absInteger fRepI_swtk } in let { > > = case GHC.List.iterateFB @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) @ [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)] (let { > > = \ > > -> case x_awzz of > { (>, >) -> case y_afnE of > { GHC.Real.:% > > -> case GHC.Integer.Type.eqInteger# y_awdq ds_swvM of > { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a2f3 of > { GHC.Types.False -> r_awzA; GHC.Types.True -> GHC.Types.: @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) x_awzz r_awzA } } } } } in lvl_sxDd) lvl_swvV (lvl_swvX, case GHC.Integer.Type.ltInteger# fRepI_swtk lvl_sww4 of > { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a4It of > { GHC.Types.False -> case nF_swti of > { GHC.Types.I# > -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# x_awO9 0) of > { GHC.Types.False -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# x_awO9 0) of > { GHC.Types.False -> let { > > = case x_awO9 of > { __DEFAULT -> GHC.Real.$wf1 lvl_sww9 x_awO9; 0 -> GHC.Real.$fEnumRatio1 } } in case x_awO9 of > { __DEFAULT -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger (GHC.Integer.Type.andInteger fRepI_swtk (GHC.Integer.Type.minusInteger (GHC.Real.$wf1 lvl_sww5 x_awO9) lvl_sww6)) (GHC.Integer.Type.signumInteger a_swOs)) (GHC.Integer.Type.absInteger a_swOs) of > { (# >, > #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww1_awf5 ww2_awf6 }; 0 -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger (GHC.Integer.Type.andInteger fRepI_swtk (let { > > = __integer 0 } in lvl_sxDe)) (GHC.Integer.Type.signumInteger a_swOs)) (GHC.Integer.Type.absInteger a_swOs) of > { (# >, > #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww1_awf5 ww2_awf6 } }; GHC.Types.True -> case GHC.Real.^3 of > { } }; GHC.Types.True -> case GHC.Real.^3 of > { } } }; GHC.Types.True -> case nF_swti of > { GHC.Types.I# > -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# x_awO9 0) of > { GHC.Types.False -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# x_awO9 0) of > { GHC.Types.False -> let { > > = case x_awO9 of > { __DEFAULT -> GHC.Real.$wf1 lvl_sww9 x_awO9; 0 -> GHC.Real.$fEnumRatio1 } } in case x_awO9 of > { __DEFAULT -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger (GHC.Integer.Type.andInteger fRepI_abs_swtj (GHC.Integer.Type.minusInteger (GHC.Real.$wf1 lvl_sww7 x_awO9) lvl_sww8)) (GHC.Integer.Type.signumInteger a_swOy)) (GHC.Integer.Type.absInteger a_swOy) of > { (# >, > #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww1_awf5 ww2_awf6 }; 0 -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger (GHC.Integer.Type.andInteger fRepI_abs_swtj (let { > > = __integer 0 } in lvl_sxDf)) (GHC.Integer.Type.signumInteger a_swOy)) (GHC.Integer.Type.absInteger a_swOy) of > { (# >, > #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww1_awf5 ww2_awf6 } }; GHC.Types.True -> case GHC.Real.^3 of > { } }; GHC.Types.True -> case GHC.Real.^3 of > { } } } } }) of > { [] -> case Data.Maybe.fromJust1 of > { }; : > > -> case a1_awdh of > { (>, >) -> case ww_sxd9 of > { GHC.Types.I# > -> case ww_sxde of > { GHC.Real.:% > > -> case GHC.Show.$w$cshowsPrec 0 ww_sxdh (GHC.Types.[] @ GHC.Types.Char) of > { (# >, > #) -> let { > > = GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1 } in case GHC.List.$wlenAcc @ GHC.Types.Char str_auHK 0 of > { __DEFAULT -> let { > > = GHC.Prim.-# ww_sxdc ww_awOK } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# n#_awbi 0) of > { GHC.Types.False -> letrec { > > = \ > -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# m_awz0 1) of > { GHC.Types.False -> GHC.Types.: @ GHC.Types.Char lvl_swvG (xs_awyT (GHC.Prim.-# m_awz0 1)); GHC.Types.True -> let { > > = GHC.Types.: @ GHC.Types.Char lvl_swvG str_auHK } in lvl_sxDg }; } in xs_awyT n#_awbi; GHC.Types.True -> str_auHK } } } } } } } } in case GHC.Integer.Type.ltInteger# fRepI_swtk lvl_swvC of > { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a4It of > { GHC.Types.False -> case nF_swti of > { GHC.Types.I# > -> let { > > = GHC.Prim.negateInt# x_aiKN } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.>=# ww_al4F 0) of > { GHC.Types.False -> case GHC.Show.$w$cshowsPrec 0 (GHC.Integer.Type.shiftRInteger fRepI_swtk (GHC.Prim.negateInt# ww_al4F)) (GHC.Types.[] @ GHC.Types.Char) of > { (# >, > #) -> GHC.Base.++ @ GHC.Types.Char (GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1) (GHC.Types.: @ GHC.Types.Char (let { > > = GHC.Types.C# '.' } in lvl_sxDh) a_swOO) }; GHC.Types.True -> case GHC.Show.$w$cshowsPrec 0 (GHC.Integer.Type.shiftLInteger fRepI_swtk ww_al4F) (GHC.Types.[] @ GHC.Types.Char) of > { (# >, > #) -> GHC.Base.++ @ GHC.Types.Char (GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1) (GHC.Types.: @ GHC.Types.Char (let { > > = GHC.Types.C# '.' } in lvl_sxDi) a_swOO) } } }; GHC.Types.True -> GHC.Base.++ @ GHC.Types.Char (GHC.Types.: @ GHC.Types.Char lvl_swvD (case nF_swti of > { GHC.Types.I# > -> let { > > = GHC.Prim.negateInt# x_aiKN } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.>=# ww_al4F 0) of > { GHC.Types.False -> case GHC.Show.$w$cshowsPrec 0 (GHC.Integer.Type.shiftRInteger fRepI_abs_swtj (GHC.Prim.negateInt# ww_al4F)) (GHC.Types.[] @ GHC.Types.Char) of > { (# >, > #) -> GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1 }; GHC.Types.True -> case GHC.Show.$w$cshowsPrec 0 (GHC.Integer.Type.shiftLInteger fRepI_abs_swtj ww_al4F) (GHC.Types.[] @ GHC.Types.Char) of > { (# >, > #) -> GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1 } } })) (GHC.Types.: @ GHC.Types.Char (let { > > = GHC.Types.C# '.' } in lvl_sxDj) a_swOO) } } <$cshow_avFD,<0,0>> <$cshow_avFD,<0,0>> = \ > > > > > > > > -> case w_sxdp of > { GHC.Real.D:Integral > > > > > > > > > -> $w$cshow_sxdD @ frac_auHx @ rep_auHy @ size_auHz w_sxdo ww_sxdB w_sxdq } <$cshowsPrec_avFB,<0,0>> <$cshowsPrec_avFB,<0,0>> = \ > > > <$dShow_avFv,<1,0>> <$dBits_avFw,<1,0>> <$dKnownNat_avFx,<1,0>> <$dIntegral_avFy,<1,0>> > > > -> case $dIntegral_avFy of > { GHC.Real.D:Integral > > > > > > > > > -> GHC.Base.++ @ GHC.Types.Char ($w$cshow_sxdD @ frac_auHx @ rep_auHy @ size_auHz $dKnownNat_avFx ww_sxdB x_a2fY) s_a2fZ } <$w$cshowList_sxe4,<0,0>> <$w$cshowList_sxe4,<0,0>> = \ > > > > > > > -> GHC.Show.showList__ @ (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (\ > > -> case w_sxe1 of > { GHC.Real.D:Integral > > > > > > > > > -> GHC.Base.++ @ GHC.Types.Char ($w$cshow_sxdD @ frac_auHx @ rep_auHy @ size_auHz w_sxe0 ww_sxdB x_a2fY) s_a2fZ }) w_sxe2 w_sxe3 > > = \ > > > <$dShow_avFv,<1,0>> <$dBits_avFw,<1,0>> <$dKnownNat_avFx,<1,0>> <$dIntegral_avFy,<1,0>> -> GHC.Show.D:Show @ (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) ($cshowsPrec_avFB @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy) ($cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy) (\ > > -> $w$cshowList_sxe4 @ frac_auHx @ rep_auHy @ size_auHz $dKnownNat_avFx $dIntegral_avFy w_sxe2 w_sxe3) > > = \ > > > > > > > > -> case tup_avFg of > { (>, >) -> case tpl_X1B of > { GHC.Types.Eq# > -> ((tpl_X1z `cast` (CLaSH.Class.Num.NTCo:Mult[0] _N _N :: CLaSH.Class.Num.Mult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# (rep_auHr size1_auHs -> rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu)))) (eta_B2 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs ~# rep_auHr size1_auHs)) (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu ~# rep_auHr size2_auHu))) `cast` (Sub cobox_dw3M :: CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) } } <$cmult_avFi,<0,0>> <$cmult_avFi,<0,0>> = a_swjx `cast` (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). _R -> _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:MResultFixedFixed[0] _N _N _N _N _N)) :: (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) ~# (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu))) > > = a_swjx `cast` (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). _R -> (_R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:MResultFixedFixed[0] _N _N _N _N _N))) ; Sym (CLaSH.Class.Num.NTCo:Mult[0] _N _N) :: (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) ~# (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu))) <$w$cminus_sxeW,<0,0>> <$w$cminus_sxeW,<0,0>> = \ > > > > > > > > > > -> let { <$dBounded_swt9,<1,1>> <$dBounded_swt9,<1,1>> = case ww_sxeJ of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_X1N } } in let { <$dResize_swt7,<1,2>> <$dResize_swt7,<1,2>> = case ww_sxeJ of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B6 } } in let { <$dKnownNat_swt6,<1,3>> <$dKnownNat_swt6,<1,3>> = case ww_sxeJ of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B7 } } in let { <$dBits_swt5,<1,4>> <$dBits_swt5,<1,4>> = case ww_sxeJ of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B9 } } in let { <$dKnownNat_swt4,<1,5>> <$dKnownNat_swt4,<1,5>> = case ww_sxeJ of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_Ba } } in (ww_sxeP (case ww_sxeI of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> ($wresizeF_sxcA @ frac1_auHd @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size1_auHf @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) $dBounded_swt9 tpl_X5q tpl_B4 tpl_B5 $dResize_swt7 $dKnownNat_swt6 tpl_B8 $dBits_swt5 $dKnownNat_swt4 tpl_Bb w_sxeE) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) }) (case ww_sxeJ of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> ($wresizeF_sxcA @ frac2_auHg @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size2_auHh @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) $dBounded_swt9 tpl_X5n tpl_B4 tpl_B5 $dResize_swt7 $dKnownNat_swt6 tpl_B8 $dBits_swt5 $dKnownNat_swt4 tpl_Bb w_sxeF) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:AResultFixedFixed[0] _N _N _N _N _N)) :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh)) <$cminus_avEx,<0,0>> <$cminus_avEx,<0,0>> = \ > > > > > > > > -> case w_sxeD of > { (>, >, >) -> case ww_sxeK of > { GHC.Num.D:Num > > > > > > > -> $w$cminus_sxeW @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh ww_sxeI ww_sxeJ ww_sxeP w_sxeE w_sxeF } } <$w$cplus_sxfg,<0,0>> <$w$cplus_sxfg,<0,0>> = \ > > > > > > > > > > -> let { <$dBounded_swsR,<1,1>> <$dBounded_swsR,<1,1>> = case ww_sxf3 of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_X1O } } in let { <$dResize_swsP,<1,2>> <$dResize_swsP,<1,2>> = case ww_sxf3 of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B6 } } in let { <$dKnownNat_swsO,<1,3>> <$dKnownNat_swsO,<1,3>> = case ww_sxf3 of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B7 } } in let { <$dBits_swsN,<1,4>> <$dBits_swsN,<1,4>> = case ww_sxf3 of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B9 } } in let { <$dKnownNat_swsM,<1,5>> <$dKnownNat_swsM,<1,5>> = case ww_sxf3 of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_Ba } } in (ww_sxf7 (case ww_sxf2 of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> ($wresizeF_sxcA @ frac1_auHd @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size1_auHf @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) $dBounded_swsR tpl_X5r tpl_B4 tpl_B5 $dResize_swsP $dKnownNat_swsO tpl_B8 $dBits_swsN $dKnownNat_swsM tpl_Bb w_sxeY) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) }) (case ww_sxf3 of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> ($wresizeF_sxcA @ frac2_auHg @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size2_auHh @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) $dBounded_swsR tpl_X5o tpl_B4 tpl_B5 $dResize_swsP $dKnownNat_swsO tpl_B8 $dBits_swsN $dKnownNat_swsM tpl_Bb w_sxeZ) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:AResultFixedFixed[0] _N _N _N _N _N)) :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh)) <$cplus_avDP,<0,0>> <$cplus_avDP,<0,0>> = \ > > > > > > > > -> case w_sxeX of > { (>, >, >) -> case ww_sxf4 of > { GHC.Num.D:Num > > > > > > > -> $w$cplus_sxfg @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh ww_sxf2 ww_sxf3 ww_sxf7 w_sxeY w_sxeZ } } > > = \ > > > > > > -> CLaSH.Class.Num.D:Add @ (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) @ (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) ($cplus_avDP @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN) ($cminus_avEx @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN) <$cfromInteger_avDp,<0,0>> <$cfromInteger_avDp,<0,0>> = \ > > > > > -> case w_sxfl of > { (>, >, >, >, >, >) -> case ww_sxfq of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> case ww_sxfB of > { Data.Bits.D:Bits > > > > > > > > > > > > > > > > > > > > > > > -> (ww_XxjR (GHC.Num.fromInteger @ (rep_XuKd size_XuKf) ww_Xxjr w_XxiD) (case GHC.Integer.Type.integerToInt (ww_XxjD `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_XuKb ~# GHC.Integer.Type.Integer)) of > { __DEFAULT -> GHC.Types.I# wild_akCB })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKd size_XuKf ~# CLaSH.Sized.Fixed.Fixed frac_XuKb rep_XuKd size_XuKf) } } } > > = \ > > > > > -> case tup_avBm of > { (>, >, >, >, >, >) -> GHC.Num.signum @ (rep_XuKe size_XuKg) tpl_B3 (eta_X1J `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKc rep_XuKe size_XuKg ~# rep_XuKe size_XuKg)) } <$w$cabs_sxhI,<0,0>> <$w$cabs_sxhI,<0,0>> = \ > > > > > > > > > > > > > > > > -> let { <$dKnownNat_swsx,<1,1>> <$dKnownNat_swsx,<1,1>> = case ww_sxhC of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B7 } } in case ww_sxhs of > { GHC.Types.Eq# > -> case ww_sxhu of > { CLaSH.Class.BitVector.D:BitVector > > -> case ww_sxhw of > { GHC.Types.Eq# > -> case ww_sxhA of > { Data.Bits.D:Bits > > > > > > > > > > > > > > > > > > > > > > > -> ($wsatN2_sxbN @ rep_XuKf @ size_XuKh @~ ww_sxgE ww_sxht ww_sxgK ww_sxhv ww_sxhw $dKnownNat_swsx ww_sxhy (case ww_sxhC of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_X20 }) ww_sxha (GHC.Num.abs @ (rep_XuKf (size_XuKh GHC.TypeLits.+ 2)) ww_sxhE (case ww_sxhC of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> (tpl_X5t `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKf ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKf a_ae8M -> rep_XuKf b_ae8N))) @ size_XuKh @ (size_XuKh GHC.TypeLits.+ 2) $dKnownNat_swsx ww_sxhy (w_sxhl `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKd rep_XuKf size_XuKh ~# rep_XuKf size_XuKh)) }))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKf size_XuKh ~# CLaSH.Sized.Fixed.Fixed frac_XuKd rep_XuKf size_XuKh) } } } } <$cabs_avCW,<0,0>> <$cabs_avCW,<0,0>> = \ > > > > > -> case w_sxhk of > { (>, >, >, >, >, >) -> case ww_sxho of > { (>, >, >, >, >, >, >, >, >, >) -> $w$cabs_sxhI @ frac_XuKe @ rep_XuKg @ size_XuKi ww_sxhr ww_sxhs ww_sxht ww_sxhu ww_sxhv ww_sxhw ww_sxhx ww_sxhy ww_sxhz ww_sxhA ww_sxhC ww_sxhE w_sxhl } } <$w$cnegate_sxiT,<0,0>> <$w$cnegate_sxiT,<0,0>> = \ > > > > > > > > > > > > > > > > -> let { <$dKnownNat_swsp,<1,1>> <$dKnownNat_swsp,<1,1>> = case ww_sxiN of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B7 } } in case ww_sxiD of > { GHC.Types.Eq# > -> case ww_sxiF of > { CLaSH.Class.BitVector.D:BitVector > > -> case ww_sxiH of > { GHC.Types.Eq# > -> case ww_sxiL of > { Data.Bits.D:Bits > > > > > > > > > > > > > > > > > > > > > > > -> ($wsatN2_sxbN @ rep_XuKh @ size_XuKj @~ ww_sxhP ww_sxiE ww_sxhV ww_sxiG ww_sxiH $dKnownNat_swsp ww_sxiJ (case ww_sxiN of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_X21 }) ww_sxil (GHC.Num.negate @ (rep_XuKh (size_XuKj GHC.TypeLits.+ 2)) ww_sxiP (case ww_sxiN of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> (tpl_X5u `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKh ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKh a_ae8M -> rep_XuKh b_ae8N))) @ size_XuKj @ (size_XuKj GHC.TypeLits.+ 2) $dKnownNat_swsp ww_sxiJ (w_sxiw `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKf rep_XuKh size_XuKj ~# rep_XuKh size_XuKj)) }))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKh size_XuKj ~# CLaSH.Sized.Fixed.Fixed frac_XuKf rep_XuKh size_XuKj) } } } } <$cnegate_avCC,<0,0>> <$cnegate_avCC,<0,0>> = \ > > > > > -> case w_sxiv of > { (>, >, >, >, >, >) -> case ww_sxiz of > { (>, >, >, >, >, >, >, >, >, >) -> $w$cnegate_sxiT @ frac_XuKg @ rep_XuKi @ size_XuKk ww_sxiC ww_sxiD ww_sxiE ww_sxiF ww_sxiG ww_sxiH ww_sxiI ww_sxiJ ww_sxiK ww_sxiL ww_sxiN ww_sxiP w_sxiw } } <$w$c-_sxk5,<0,0>> <$w$c-_sxk5,<0,0>> = \ > > > > > > > > > > > > > > > > > -> let { <$dKnownNat_swsg,<1,1>> <$dKnownNat_swsg,<1,1>> = case ww_sxjZ of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B7 } } in case ww_sxjP of > { GHC.Types.Eq# > -> case ww_sxjR of > { CLaSH.Class.BitVector.D:BitVector > > -> case ww_sxjT of > { GHC.Types.Eq# > -> case ww_sxjX of > { Data.Bits.D:Bits > > > > > > > > > > > > > > > > > > > > > > > -> ($wsatN2_sxbN @ rep_XuKj @ size_XuKl @~ ww_sxj0 ww_sxjQ ww_sxj6 ww_sxjS ww_sxjT $dKnownNat_swsg ww_sxjV (case ww_sxjZ of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_X25 }) ww_sxjw (GHC.Num.- @ (rep_XuKj (size_XuKl GHC.TypeLits.+ 2)) ww_sxk1 (case ww_sxjZ of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> (tpl_X5y `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKj ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKj a_ae8M -> rep_XuKj b_ae8N))) @ size_XuKl @ (size_XuKl GHC.TypeLits.+ 2) $dKnownNat_swsg ww_sxjV (w_sxjH `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKh rep_XuKj size_XuKl ~# rep_XuKj size_XuKl)) }) (case ww_sxjZ of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> (tpl_X5y `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKj ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKj a_ae8M -> rep_XuKj b_ae8N))) @ size_XuKl @ (size_XuKl GHC.TypeLits.+ 2) $dKnownNat_swsg ww_sxjV (w_sxjI `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKh rep_XuKj size_XuKl ~# rep_XuKj size_XuKl)) }))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKj size_XuKl ~# CLaSH.Sized.Fixed.Fixed frac_XuKh rep_XuKj size_XuKl) } } } } <$c-_avCb,<0,0>> <$c-_avCb,<0,0>> = \ > > > > > > -> case w_sxjG of > { (>, >, >, >, >, >) -> case ww_sxjL of > { (>, >, >, >, >, >, >, >, >, >) -> $w$c-_sxk5 @ frac_XuKi @ rep_XuKk @ size_XuKm ww_sxjO ww_sxjP ww_sxjQ ww_sxjR ww_sxjS ww_sxjT ww_sxjU ww_sxjV ww_sxjW ww_sxjX ww_sxjZ ww_sxk1 w_sxjH w_sxjI } } <$c*_avBP,<0,0>> <$c*_avBP,<0,0>> = \ > > > > > > -> case w_sxkl of > { (>, >, >, >, >, >) -> case ww_sxkr of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> $wresizeF_sxcA @ (frac_XuKk GHC.TypeLits.+ frac_XuKk) @ frac_XuKk @ rep_XuKm @ (size_XuKo GHC.TypeLits.+ size_XuKo) @ size_XuKo ww_sxku ww_sxkw ww_sxkx ww_sxky ww_sxkz ww_sxkA ww_sxkB ww_sxkC ww_sxkD ww_sxkE (case ww_sxkK of > { GHC.Types.Eq# > -> ((ww_sxkJ `cast` (CLaSH.Class.Num.NTCo:Mult[0] _N _N :: CLaSH.Class.Num.Mult (rep_XuKm size_XuKo) (rep_XuKm size_XuKo) ~# (rep_XuKm size_XuKo -> rep_XuKm size_XuKo -> CLaSH.Class.Num.MResult (rep_XuKm size_XuKo) (rep_XuKm size_XuKo)))) (w_sxkm `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo ~# rep_XuKm size_XuKo)) (w_sxkn `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo ~# rep_XuKm size_XuKo))) `cast` (Sub cobox_dw1a ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: CLaSH.Class.Num.MResult (rep_XuKm size_XuKo) (rep_XuKm size_XuKo) ~# CLaSH.Sized.Fixed.Fixed (frac_XuKk GHC.TypeLits.+ frac_XuKk) rep_XuKm (size_XuKo GHC.TypeLits.+ size_XuKo)) }) } } <$w$c+_sxlY,<0,0>> <$w$c+_sxlY,<0,0>> = \ > > > > > > > > > > > > > > > > > -> let { <$dKnownNat_sws2,<1,1>> <$dKnownNat_sws2,<1,1>> = case ww_sxlS of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_B7 } } in case ww_sxlI of > { GHC.Types.Eq# > -> case ww_sxlK of > { CLaSH.Class.BitVector.D:BitVector > > -> case ww_sxlM of > { GHC.Types.Eq# > -> case ww_sxlQ of > { Data.Bits.D:Bits > > > > > > > > > > > > > > > > > > > > > > > -> ($wsatN2_sxbN @ rep_XuKn @ size_XuKp @~ ww_sxkT ww_sxlJ ww_sxkZ ww_sxlL ww_sxlM $dKnownNat_sws2 ww_sxlO (case ww_sxlS of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> tpl_X27 }) ww_sxlp (GHC.Num.+ @ (rep_XuKn (size_XuKp GHC.TypeLits.+ 2)) ww_sxlU (case ww_sxlS of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> (tpl_X5A `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKn ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKn a_ae8M -> rep_XuKn b_ae8N))) @ size_XuKp @ (size_XuKp GHC.TypeLits.+ 2) $dKnownNat_sws2 ww_sxlO (w_sxlA `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKl rep_XuKn size_XuKp ~# rep_XuKn size_XuKp)) }) (case ww_sxlS of > { (>, >, >, >, >, >, >, >, >, >, >, >) -> (tpl_X5A `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKn ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKn a_ae8M -> rep_XuKn b_ae8N))) @ size_XuKp @ (size_XuKp GHC.TypeLits.+ 2) $dKnownNat_sws2 ww_sxlO (w_sxlB `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKl rep_XuKn size_XuKp ~# rep_XuKn size_XuKp)) }))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKn size_XuKp ~# CLaSH.Sized.Fixed.Fixed frac_XuKl rep_XuKn size_XuKp) } } } } <$c+_avBo,<0,0>> <$c+_avBo,<0,0>> = \ > > > > > > -> case w_sxlz of > { (>, >, >, >, >, >) -> case ww_sxlE of > { (>, >, >, >, >, >, >, >, >, >) -> $w$c+_sxlY @ frac_XuKm @ rep_XuKo @ size_XuKq ww_sxlH ww_sxlI ww_sxlJ ww_sxlK ww_sxlL ww_sxlM ww_sxlN ww_sxlO ww_sxlP ww_sxlQ ww_sxlS ww_sxlU w_sxlA w_sxlB } } > > = \ > > > > -> GHC.Num.D:Num @ (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS) ($c+_avBo @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($c*_avBP @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($c-_avCb @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($cnegate_avCC @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($cabs_avCW @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ((a_swkh @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) `cast` (_R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> rep_XuIQ size_XuIS) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS))) ($cfromInteger_avDp @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) > > = \ > > > <$dBitVector_XvCT,<1,0>> -> CLaSH.Class.BitVector.D:BitVector @ (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) ((\ <$dKnownNat_avB0,<2,0>> > -> (let { > > = CLaSH.Class.BitVector.toBV @ (rep_XuIP size_XuIR) $dBitVector_XvCT } in lvl_sxDk) ($dKnownNat_avB0 `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (ds_dw0H `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR ~# rep_XuIP size_XuIR))) `cast` (_R -> _R -> (CLaSH.Sized.Vector.Vec (Sym (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N)) _R)_R :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit))) ((\ <$dKnownNat_avBa,<2,0>> > -> (let { > > = CLaSH.Class.BitVector.fromBV @ (rep_XuIP size_XuIR) $dBitVector_XvCT } in lvl_sxDl) ($dKnownNat_avBa `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (bv_auGX `cast` ((CLaSH.Sized.Vector.Vec (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit))) `cast` (_R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> rep_XuIP size_XuIR) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) > > = \ > > > <$dDefault_avAe,<1,0>> -> $dDefault_avAe <$cdef_avAg,<0,0>> <$cdef_avAg,<0,0>> = a_swC4 `cast` (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). _R -> Data.Default.Class.NTCo:Default[0] _N ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => Data.Default.Class.Default (rep_XuLZ size_XuM1)) ~# (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => CLaSH.Sized.Fixed.Fixed frac_XuLX rep_XuLZ size_XuM1)) > > = a_swC4 `cast` (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). _R -> Data.Default.Class.NTCo:Default[0] _N ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sym (Data.Default.Class.NTCo:Default[0] _N) :: (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => Data.Default.Class.Default (rep_XuLZ size_XuM1)) ~# (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_XuLX rep_XuLZ size_XuM1))) > > = \ > > > <$dBounded_XvCa,<1,0>> -> GHC.Enum.D:Bounded @ (CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0) ((GHC.Enum.minBound @ (rep_XuIY size_XuJ0) $dBounded_XvCa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0)) ((GHC.Enum.maxBound @ (rep_XuIY size_XuJ0) $dBounded_XvCa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0)) > > = \ > > > <$dEq_XvB3,<1,0>> <$dOrd_XvB5,<1,0>> -> GHC.Classes.D:Ord @ (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz) $dEq_XvB3 ((GHC.Classes.compare @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Ordering) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Ordering))) ((GHC.Classes.< @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.>= @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.> @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.<= @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.max @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz))) ((GHC.Classes.min @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz))) > > = \ > > > <$dEq_XvAL,<1,0>> -> GHC.Classes.D:Eq @ (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM) ((GHC.Classes.== @ (rep_XuIK size_XuIM) $dEq_XvAL) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool))) ((GHC.Classes./= @ (rep_XuIK size_XuIM) $dEq_XvAL) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool))) > > = GHC.CString.unpackCString# "Fixed"# > > = GHC.CString.unpackCString# "clash-prelude-0.5"# > > = GHC.CString.unpackCString# "CLaSH.Sized.Fixed"# > > = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.DataName (a_swC9 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a_swCb `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) > > = Language.Haskell.TH.Syntax.Name (a_swC6 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a_swC7 > > = GHC.CString.unpackCString# "Fixed"# > > = GHC.CString.unpackCString# "clash-prelude-0.5"# > > = GHC.CString.unpackCString# "CLaSH.Sized.Fixed"# > > = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.TcClsName (a_swCh `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a_swCj `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) > > = Language.Haskell.TH.Syntax.Name (a_swCe `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a_swCf > > = \ > > -> GHC.Base.return @ m_a4Ni (Language.Haskell.TH.Syntax.$p1Quasi @ m_a4Ni eta_a4Nj) @ Language.Haskell.TH.Syntax.Type (let { > > = Language.Haskell.TH.Syntax.ConT lvl_swwp } in lvl_sxDm) > > = \ > > > <$dLift_avAq,<1,0>> <$dKnownNat_avAr,<1,0>> <$dKnownNat_avAs,<1,0>> <$dTypeable_avAt,<1,0>> > -> let { > > = ($dLift_avAq `cast` (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N :: Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ) ~# (rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp))) (f_auGR `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ ~# rep_auGP size_auGQ)) } in let { > > = letrec { > > = \ > > -> case ds_awhN of > { [] -> z_awhM; : > > -> lgo_sxDo ((Language.Haskell.TH.Lib.appT1 z_awhM x_awhS) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) xs_awhT }; } in lgo_sxDo (a_swCk `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (GHC.Types.: @ Language.Haskell.TH.Lib.TypeQ (let { > > = Language.Haskell.TH.Lib.numTyLit ($dKnownNat_avAr `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_auGO ~# GHC.Integer.Type.Integer)) } in (\ > > -> GHC.Base.fmap @ m_a5E0 (Control.Applicative.$p1Applicative @ m_a5E0 (Language.Haskell.TH.Syntax.$p2Quasi @ m_a5E0 eta_a5E1)) @ Language.Haskell.TH.Syntax.TyLit @ Language.Haskell.TH.Syntax.Type Language.Haskell.TH.Syntax.LitT ((l_a5DZ `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.TyLit ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.TyLit))) @ m_a5E0 eta_a5E1)) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (GHC.Types.: @ Language.Haskell.TH.Lib.TypeQ (let { > > = case ($dTypeable_avAt `cast` (Data.Typeable.Internal.NTCo:Typeable[0] *>_N _N :: Data.Typeable.Internal.Typeable rep_auGP ~# (GHC.Prim.Proxy# rep_auGP -> Data.Typeable.Internal.TypeRep))) (GHC.Prim.proxy# @ (GHC.TypeLits.Nat -> *) @ rep_auGP) of > { Data.Typeable.Internal.TypeRep > > > > -> case GHC.List.reverse1 @ GHC.Types.Char (Data.Typeable.Internal.$w$cshowsPrec GHC.Show.shows27 ww3_awCs ww4_awCt (GHC.Types.[] @ GHC.Types.Char)) (GHC.Types.[] @ GHC.Types.Char) of > { [] -> let { > > = Language.Haskell.TH.Syntax.Name ((GHC.Types.[] @ GHC.Types.Char) `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) Language.Haskell.TH.Syntax.NameS } in lvl_sxDp; : > > -> case ds_a5Fa of > { GHC.Types.C# > -> case ds1_a5Ff of > { __DEFAULT -> case Language.Haskell.TH.Syntax.mkName_$s$wsplit1 ds_a5Fa (GHC.Types.[] @ GHC.Types.Char) rev_a5Fb of > { (# >, > #) -> Language.Haskell.TH.Syntax.Name ww1_a5Aw ww2_a5Ax }; '.' -> case Language.Haskell.TH.Syntax.mkName_$s$wsplit1 ds_a5Fa (GHC.Types.[] @ GHC.Types.Char) rev_a5Fb of > { (# >, > #) -> Language.Haskell.TH.Syntax.Name ww1_a5Aw ww2_a5Ax } } } } } } in (\ > > -> GHC.Base.return @ m_X4Tv (Language.Haskell.TH.Syntax.$p1Quasi @ m_X4Tv eta_X4Tx) @ Language.Haskell.TH.Syntax.Type (let { > > = Language.Haskell.TH.Syntax.ConT x_X4Ts } in lvl_sxDq)) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (GHC.Types.: @ Language.Haskell.TH.Lib.TypeQ (let { > > = Language.Haskell.TH.Lib.numTyLit ($dKnownNat_avAs `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat size_auGQ ~# GHC.Integer.Type.Integer)) } in (\ > > -> GHC.Base.fmap @ m_a5E0 (Control.Applicative.$p1Applicative @ m_a5E0 (Language.Haskell.TH.Syntax.$p2Quasi @ m_a5E0 eta_a5E1)) @ Language.Haskell.TH.Syntax.TyLit @ Language.Haskell.TH.Syntax.Type Language.Haskell.TH.Syntax.LitT ((l_a5DZ `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.TyLit ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.TyLit))) @ m_a5E0 eta_a5E1)) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (GHC.Types.[] @ Language.Haskell.TH.Lib.TypeQ)))) } in \ > > -> case w2_akV4 of > { Language.Haskell.TH.Syntax.D:Quasi > > > > > > > > > > > > > > > > > > -> case ww1_akV7 of > { GHC.Base.D:Monad > > > > -> let { > > = GHC.Base.D:Monad @ m_akV3 ww20_akVt ww21_akVu ww22_akVv ww23_akVw } in let { > > = Language.Haskell.TH.Syntax.D:Quasi @ m_akV3 a_akVs ww2_akV8 ww3_akV9 ww4_akVa ww5_akVb ww6_akVc ww7_akVd ww8_akVe ww9_akVf ww10_akVg ww11_akVh ww12_akVi ww13_akVj ww14_akVk ww15_akVl ww16_akVm ww17_akVn ww18_akVo } in ww20_akVt @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (let { > > = GHC.Base.D:Monad @ m_akV3 ww20_akVt ww21_akVu ww22_akVv ww23_akVw } in let { > > = Language.Haskell.TH.Syntax.D:Quasi @ m_akV3 a_acZP ww2_akV8 ww3_akV9 ww4_akVa ww5_akVb ww6_akVc ww7_akVd ww8_akVe ww9_akVf ww10_akVg ww11_akVh ww12_akVi ww13_akVj ww14_akVk ww15_akVl ww16_akVm ww17_akVn ww18_akVo } in ww20_akVt @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (ww22_akVv @ Language.Haskell.TH.Syntax.Exp (let { > > = Language.Haskell.TH.Syntax.ConE lvl_swwh } in lvl_sxDr)) (\ > -> ww20_akVt @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (let { > > = (w1_acZp `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp))) @ m_akV3 eta_acZV } in lvl_sxDs) (\ > -> ww22_akVv @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.AppE x_acZW x1_acZX)))) (\ > -> ww20_akVt @ Language.Haskell.TH.Syntax.Type @ Language.Haskell.TH.Syntax.Exp (let { > > = (w1_akV2 `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type))) @ m_akV3 eta_akVy } in lvl_sxDt) (\ > -> ww22_akVv @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.SigE x_akVz x1_akVA))) } } <$clift_avAv,<0,0>> <$clift_avAv,<0,0>> = a_swCv `cast` (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp)) > > = a_swCv `cast` (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> (_R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N)) ; Sym (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N) :: (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ))) ==================== Float out(FOS {Lam = Just 0, Consts = True, PAPs = True}) ==================== Result size of Float out(FOS {Lam = Just 0, Consts = True, PAPs = True}) = {terms: 2,276, types: 8,031, coercions: 965} lvl_sxD1 :: [GHC.Types.Char] [LclId, Str=DmdType] lvl_sxD1 = GHC.CString.unpackCString# "Negative exponent"# lvl_swvg :: GHC.Types.Double [LclId, Str=DmdType b] lvl_swvg = GHC.Err.error @ GHC.Types.Double lvl_sxD1 lvl_swv0 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swv0 = __integer 1 lvl_swv2 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swv2 = __integer 1 lvl_swv4 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swv4 = __integer 2 lvl_swv6 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swv6 = __integer 2 Rec { $wg1_sxaw [Occ=LoopBreaker] :: GHC.Prim.Double# -> GHC.Integer.Type.Integer -> GHC.Prim.Double# -> GHC.Prim.Double# [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0 0] 326 0}] $wg1_sxaw = \ (ww_sxan :: GHC.Prim.Double#) (w_sxaj :: GHC.Integer.Type.Integer) (ww_sxar :: GHC.Prim.Double#) -> case GHC.Integer.Type.eqInteger# (GHC.Integer.Type.remInteger w_sxaj GHC.Real.even2) GHC.Real.even1 of wild_akF2 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akF2 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case GHC.Integer.Type.eqInteger# w_sxaj lvl_swv0 of wild_a2f3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a2f3 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> $wg1_sxaw (GHC.Prim.*## ww_sxan ww_sxan) (GHC.Integer.Type.quotInteger (GHC.Integer.Type.minusInteger w_sxaj lvl_swv2) lvl_swv4) (GHC.Prim.*## ww_sxan ww_sxar); GHC.Types.True -> GHC.Prim.*## ww_sxan ww_sxar } }; GHC.Types.True -> $wg1_sxaw (GHC.Prim.*## ww_sxan ww_sxan) (GHC.Integer.Type.quotInteger w_sxaj lvl_swv6) ww_sxar } } end Rec } lvl_swuS :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swuS = __integer 1 lvl_swv8 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swv8 = __integer 1 lvl_swva :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swva = __integer 2 lvl_swvc :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swvc = __integer 2 Rec { $wf_sxaG [Occ=LoopBreaker] :: GHC.Prim.Double# -> GHC.Integer.Type.Integer -> GHC.Prim.Double# [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0] 314 0}] $wf_sxaG = \ (ww_sxaB :: GHC.Prim.Double#) (w_sxay :: GHC.Integer.Type.Integer) -> case GHC.Integer.Type.eqInteger# (GHC.Integer.Type.remInteger w_sxay GHC.Real.even2) GHC.Real.even1 of wild_akF2 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akF2 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case GHC.Integer.Type.eqInteger# w_sxay lvl_swuS of wild_a2f3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a2f3 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> $wg1_sxaw (GHC.Prim.*## ww_sxaB ww_sxaB) (GHC.Integer.Type.quotInteger (GHC.Integer.Type.minusInteger w_sxay lvl_swv8) lvl_swva) ww_sxaB; GHC.Types.True -> ww_sxaB } }; GHC.Types.True -> $wf_sxaG (GHC.Prim.*## ww_sxaB ww_sxaB) (GHC.Integer.Type.quotInteger w_sxay lvl_swvc) } } end Rec } lvl_swuH :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swuH = __integer 0 lvl_swuK :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swuK = __integer 0 $w$s^_sxaM [InlPrag=[1]] :: GHC.Types.Double -> GHC.Integer.Type.Integer -> GHC.Prim.Double# [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [20 0] 162 0}] $w$s^_sxaM = \ (w_sxaH :: GHC.Types.Double) (w_sxaI :: GHC.Integer.Type.Integer) -> case GHC.Integer.Type.ltInteger# w_sxaI lvl_swuH of wild_a4It { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a4It of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case GHC.Integer.Type.eqInteger# w_sxaI lvl_swuK of wild_a2f3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a2f3 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case w_sxaH of _ [Occ=Dead] { GHC.Types.D# ww_sxaB -> $wf_sxaG ww_sxaB w_sxaI }; GHC.Types.True -> 1.0 } }; GHC.Types.True -> case lvl_swvg of wild_00 { } } } $s^_swu6 [InlPrag=INLINE[0]] :: GHC.Types.Double -> GHC.Integer.Type.Integer -> GHC.Types.Double [LclId, Arity=2, Str=DmdType m, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (w_sxaH [Occ=Once] :: GHC.Types.Double) (w_sxaI [Occ=Once] :: GHC.Integer.Type.Integer) -> case $w$s^_sxaM w_sxaH w_sxaI of ww_sxaL { __DEFAULT -> GHC.Types.D# ww_sxaL }}] $s^_swu6 = \ (w_sxaH :: GHC.Types.Double) (w_sxaI :: GHC.Integer.Type.Integer) -> case $w$s^_sxaM w_sxaH w_sxaI of ww_sxaL { __DEFAULT -> GHC.Types.D# ww_sxaL } lvl_swvh :: GHC.Types.Double [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}] lvl_swvh = GHC.Types.D# 2.0 a_swwS :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] a_swwS = GHC.CString.unpackCString# "Fixed"# a_swwV :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 0}] a_swwV = GHC.CString.unpackCString# "clash-prelude-0.5"# a_swwX :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 0}] a_swwX = GHC.CString.unpackCString# "CLaSH.Sized.Fixed"# a_swwT :: Language.Haskell.TH.Syntax.NameFlavour [LclId, Str=DmdType m5, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}] a_swwT = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.DataName (a_swwV `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a_swwX `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) lvl_swvo :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] lvl_swvo = Language.Haskell.TH.Syntax.Name (a_swwS `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a_swwT a_swx0 :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 0}] a_swx0 = GHC.CString.unpackCString# "fromInteger"# a_swx3 :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 0}] a_swx3 = GHC.CString.unpackCString# "base"# a_swx5 :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] a_swx5 = GHC.CString.unpackCString# "GHC.Num"# a_swx1 :: Language.Haskell.TH.Syntax.NameFlavour [LclId, Str=DmdType m5, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}] a_swx1 = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.VarName (a_swx3 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a_swx5 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) lvl_swvw :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] lvl_swvw = Language.Haskell.TH.Syntax.Name (a_swx0 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a_swx1 lvl_sxD2 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_sxD2 = __integer 0 lvl_sxD3 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_sxD3 = __integer 0 lvl_sxD4 :: Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] lvl_sxD4 = Language.Haskell.TH.Syntax.ConE lvl_swvo lvl_sxD5 :: Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] lvl_sxD5 = Language.Haskell.TH.Syntax.VarE lvl_swvw $wa_sxaS :: forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> forall (m_awx9 :: * -> *). Language.Haskell.TH.Syntax.Quasi m_awx9 => m_awx9 (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) [LclId, Arity=4, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=4, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] $wa_sxaS = \ (@ (frac_avhM :: GHC.TypeLits.Nat)) (@ (rep_avhN :: GHC.TypeLits.Nat -> *)) (@ (size_avhO :: GHC.TypeLits.Nat)) (w_sxaN :: GHC.TypeLits.KnownNat frac_avhM) (w_sxaP :: GHC.Enum.Bounded (rep_avhN size_avhO)) (w_sxaQ :: GHC.Real.Integral (rep_avhN size_avhO)) (w_sxaR :: GHC.Types.Double) -> let { x_akVD :: GHC.Integer.Type.Integer [LclId, Str=DmdType] x_akVD = let { rMax_swu0 [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType] rMax_swu0 = GHC.Real.toInteger @ (rep_avhN size_avhO) w_sxaQ (GHC.Enum.maxBound @ (rep_avhN size_avhO) w_sxaP) } in case w_sxaR of _ [Occ=Dead, Dmd=] { GHC.Types.D# x_aw80 -> case $w$s^_sxaM lvl_swvh (w_sxaN `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_avhM ~# GHC.Integer.Type.Integer)) of ww_sxaL { __DEFAULT -> case GHC.Integer.Type.decodeDoubleInteger (GHC.Prim.*## x_aw80 ww_sxaL) of _ [Occ=Dead, Dmd=] { (# ipv_aw8Q, ipv1_aw8R #) -> let { truncated_swu2 [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType] truncated_swu2 = case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# ipv1_aw8R 0) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> GHC.Integer.Type.shiftLInteger ipv_aw8Q ipv1_aw8R; GHC.Types.True -> let { s_aw8X :: GHC.Prim.Int# [LclId, Str=DmdType] s_aw8X = GHC.Prim.negateInt# ipv1_aw8R } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.># s_aw8X 52) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case GHC.Integer.Type.ltInteger# ipv_aw8Q lvl_sxD2 of wild3_aw92 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild3_aw92 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case GHC.Integer.Type.integerToInt ipv_aw8Q of n_aw96 { __DEFAULT -> GHC.Integer.Type.smallInteger (GHC.Prim.uncheckedIShiftRA# n_aw96 s_aw8X) }; GHC.Types.True -> case GHC.Integer.Type.integerToInt (GHC.Integer.Type.negateInteger ipv_aw8Q) of n_aw99 { __DEFAULT -> GHC.Integer.Type.smallInteger (GHC.Prim.negateInt# (GHC.Prim.uncheckedIShiftRA# n_aw99 s_aw8X)) } } }; GHC.Types.True -> lvl_sxD3 } } } in case GHC.Integer.Type.gtInteger# truncated_swu2 rMax_swu0 of wild_akJ6 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akJ6 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> let { rMin_swu1 [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType] rMin_swu1 = GHC.Real.toInteger @ (rep_avhN size_avhO) w_sxaQ (GHC.Enum.minBound @ (rep_avhN size_avhO) w_sxaP) } in case GHC.Integer.Type.ltInteger# truncated_swu2 rMin_swu1 of wild_a4It { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a4It of _ [Occ=Dead, Dmd=] { GHC.Types.False -> truncated_swu2; GHC.Types.True -> rMin_swu1 } }; GHC.Types.True -> rMax_swu0 } } } } } } in let { lvl_sxD6 :: Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] lvl_sxD6 = Language.Haskell.TH.Syntax.LitE (Language.Haskell.TH.Syntax.IntegerL x_akVD) } in \ (@ (m_awx9 :: * -> *)) (w1_awxa :: Language.Haskell.TH.Syntax.Quasi m_awx9) -> case w1_awxa of _ [Occ=Dead, Dmd=] { Language.Haskell.TH.Syntax.D:Quasi ww1_awxd [Dmd=] ww2_awxe [Dmd=] ww3_awxf [Dmd=] ww4_awxg [Dmd=] ww5_awxh [Dmd=] ww6_awxi [Dmd=] ww7_awxj [Dmd=] ww8_awxk [Dmd=] ww9_awxl [Dmd=] ww10_awxm [Dmd=] ww11_awxn [Dmd=] ww12_awxo [Dmd=] ww13_awxp [Dmd=] ww14_awxq [Dmd=] ww15_awxr [Dmd=] ww16_awxs [Dmd=] ww17_awxt [Dmd=] ww18_awxu [Dmd=] -> case ww1_awxd of _ [Occ=Dead, Dmd=] { GHC.Base.D:Monad ww20_awxy [Dmd=] ww21_awxz [Dmd=] ww22_awxA [Dmd=] ww23_awxB [Dmd=] -> let { lvl_sxD7 :: m_awx9 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] lvl_sxD7 = ww22_awxA @ Language.Haskell.TH.Syntax.Exp lvl_sxD6 } in let { lvl_sxD8 :: m_awx9 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] lvl_sxD8 = ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (ww22_awxA @ Language.Haskell.TH.Syntax.Exp lvl_sxD5) (\ (x_Xd36 :: Language.Haskell.TH.Syntax.Exp) -> ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp lvl_sxD7 (\ (x1_acZX :: Language.Haskell.TH.Syntax.Exp) -> ww22_awxA @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.AppE x_Xd36 x1_acZX))) } in ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) (ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (ww22_awxA @ Language.Haskell.TH.Syntax.Exp lvl_sxD4) (\ (x_acZW :: Language.Haskell.TH.Syntax.Exp) -> ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp lvl_sxD8 (\ (x1_acZX :: Language.Haskell.TH.Syntax.Exp) -> ww22_awxA @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.AppE x_acZW x1_acZX)))) (\ (x_awxD :: Language.Haskell.TH.Syntax.Exp) -> ww22_awxA @ (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) (x_awxD `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:TExp[0] _N) :: Language.Haskell.TH.Syntax.Exp ~# Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)))) } } a_swxS [InlPrag=INLINE[0]] :: forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> forall (m_aw9c :: * -> *). Language.Haskell.TH.Syntax.Quasi m_aw9c => m_aw9c (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) [LclId, Arity=5, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= \ (@ (frac_avhM :: GHC.TypeLits.Nat)) (@ (rep_avhN :: GHC.TypeLits.Nat -> *)) (@ (size_avhO :: GHC.TypeLits.Nat)) (w_sxaN [Occ=Once] :: GHC.TypeLits.KnownNat frac_avhM) _ [Occ=Dead, Dmd=] (w_sxaP [Occ=Once] :: GHC.Enum.Bounded (rep_avhN size_avhO)) (w_sxaQ [Occ=Once] :: GHC.Real.Integral (rep_avhN size_avhO)) (w_sxaR [Occ=Once] :: GHC.Types.Double) -> $wa_sxaS @ frac_avhM @ rep_avhN @ size_avhO w_sxaN w_sxaP w_sxaQ w_sxaR}] a_swxS = \ (@ (frac_avhM :: GHC.TypeLits.Nat)) (@ (rep_avhN :: GHC.TypeLits.Nat -> *)) (@ (size_avhO :: GHC.TypeLits.Nat)) (w_sxaN :: GHC.TypeLits.KnownNat frac_avhM) _ [Occ=Dead, Dmd=] (w_sxaP :: GHC.Enum.Bounded (rep_avhN size_avhO)) (w_sxaQ :: GHC.Real.Integral (rep_avhN size_avhO)) (w_sxaR :: GHC.Types.Double) -> $wa_sxaS @ frac_avhM @ rep_avhN @ size_avhO w_sxaN w_sxaP w_sxaQ w_sxaR CLaSH.Sized.Fixed.fLit :: forall (frac_auFI :: GHC.TypeLits.Nat) (rep_auFJ :: GHC.TypeLits.Nat -> *) (size_auFK :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_auFI, GHC.Num.Num (rep_auFJ size_auFK), GHC.Enum.Bounded (rep_auFJ size_auFK), GHC.Real.Integral (rep_auFJ size_auFK)) => GHC.Types.Double -> Language.Haskell.TH.Syntax.Q (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_auFI rep_auFJ size_auFK)) [LclIdX, Arity=5, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= a_swxS `cast` (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO))) ~# (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> Language.Haskell.TH.Syntax.Q (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO))))}] CLaSH.Sized.Fixed.fLit = a_swxS `cast` (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO))) ~# (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> Language.Haskell.TH.Syntax.Q (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)))) poly_a_sxDa :: forall (n_auFM :: GHC.TypeLits.Nat). 1 GHC.TypeLits.<= n_auFM [LclId, Str=DmdType b] poly_a_sxDa = \ (@ (n_auFM :: GHC.TypeLits.Nat)) -> Control.Exception.Base.absentError @ (1 GHC.TypeLits.<= n_auFM) "ww_sxb3{v} [lid] 1 base:GHC.TypeLits.<={tc r4y} n{tv auFM} [tv]"# $wsatN2_sxbN :: forall (rep_auFL :: GHC.TypeLits.Nat -> *) (n_auFM :: GHC.TypeLits.Nat). (((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) GHC.Prim.~# (n_auFM GHC.TypeLits.+ 2)) -> CLaSH.Class.BitVector.BitVector (rep_auFL n_auFM) => (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) => rep_auFL (n_auFM GHC.TypeLits.+ 2) -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit) -> (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM) ~ n_auFM, CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2)) ~ (n_auFM GHC.TypeLits.+ 2), GHC.TypeLits.KnownNat n_auFM, GHC.TypeLits.KnownNat (n_auFM GHC.TypeLits.+ 2), GHC.Enum.Bounded (rep_auFL n_auFM)) => (rep_auFL (n_auFM GHC.TypeLits.+ 2) -> GHC.Types.Bool) -> rep_auFL (n_auFM GHC.TypeLits.+ 2) -> rep_auFL n_auFM [LclId, Arity=10, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=10, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] $wsatN2_sxbN = \ (@ (rep_auFL :: GHC.TypeLits.Nat -> *)) (@ (n_auFM :: GHC.TypeLits.Nat)) (ww_sxb7 :: ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) GHC.Prim.~# (n_auFM GHC.TypeLits.+ 2)) (ww_sxb9 :: CLaSH.Class.BitVector.BitVector (rep_auFL n_auFM)) (ww_sxbd :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) => rep_auFL (n_auFM GHC.TypeLits.+ 2) -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit) (ww_sxbg :: CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM) ~ n_auFM) (ww_sxbh :: CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2)) ~ (n_auFM GHC.TypeLits.+ 2) Unf=OtherCon []) (ww_sxbi :: GHC.TypeLits.KnownNat n_auFM) (ww_sxbj :: GHC.TypeLits.KnownNat (n_auFM GHC.TypeLits.+ 2)) (ww_sxbk :: GHC.Enum.Bounded (rep_auFL n_auFM)) (ww_sxbD :: rep_auFL (n_auFM GHC.TypeLits.+ 2) -> GHC.Types.Bool) (w_sxb0 :: rep_auFL (n_auFM GHC.TypeLits.+ 2)) -> case ww_sxbh of _ [Occ=Dead] { GHC.Types.Eq# cobox_sxDc -> let { a_sxop [Dmd=] :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit [LclId, Str=DmdType] a_sxop = ww_sxbd (ww_sxbj `cast` ((GHC.TypeLits.KnownNat (Sym cobox_sxDc))_R :: GHC.TypeLits.KnownNat (n_auFM GHC.TypeLits.+ 2) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))))) w_sxb0 } in let { s_swtS :: CLaSH.Sized.Vector.Vec n_auFM CLaSH.Bit.Bit [LclId, Str=DmdType] s_swtS = CLaSH.Sized.Vector.vtail @ n_auFM @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_auFM GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (a_sxop `cast` ((CLaSH.Sized.Vector.Vec (cobox_sxDc ; Sym ww_sxb7) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit))) } in case ww_sxbD w_sxb0 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case CLaSH.Sized.Vector.vhead @ (n_auFM GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (a_sxop `cast` ((CLaSH.Sized.Vector.Vec (cobox_sxDc ; Sym ww_sxb7) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit)) of _ [Occ=Dead, Dmd=] { CLaSH.Bit.H -> case CLaSH.Sized.Vector.vhead @ n_auFM @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_auFM GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (a_sxop `cast` ((CLaSH.Sized.Vector.Vec (cobox_sxDc ; Sym ww_sxb7) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit))) of _ [Occ=Dead, Dmd=] { CLaSH.Bit.H -> GHC.Enum.minBound @ (rep_auFL n_auFM) ww_sxbk; CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_auFL n_auFM) ww_sxb9 (case ww_sxbg of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw7b -> ww_sxbi `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw7b))_R :: GHC.TypeLits.KnownNat n_auFM ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM))) }) (case ww_sxbg of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw7c -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7c) _R)_R :: CLaSH.Sized.Vector.Vec n_auFM CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) CLaSH.Bit.Bit) }) }; CLaSH.Bit.L -> case CLaSH.Sized.Vector.vhead @ n_auFM @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_auFM GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (a_sxop `cast` ((CLaSH.Sized.Vector.Vec (cobox_sxDc ; Sym ww_sxb7) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit))) of _ [Occ=Dead, Dmd=] { CLaSH.Bit.H -> GHC.Enum.maxBound @ (rep_auFL n_auFM) ww_sxbk; CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_auFL n_auFM) ww_sxb9 (case ww_sxbg of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw7b -> ww_sxbi `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw7b))_R :: GHC.TypeLits.KnownNat n_auFM ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM))) }) (case ww_sxbg of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw7c -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7c) _R)_R :: CLaSH.Sized.Vector.Vec n_auFM CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) CLaSH.Bit.Bit) }) } }; GHC.Types.True -> case CLaSH.Sized.Vector.vhead @ (n_auFM GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (a_sxop `cast` ((CLaSH.Sized.Vector.Vec (cobox_sxDc ; Sym ww_sxb7) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit)) of _ [Occ=Dead, Dmd=] { CLaSH.Bit.H -> case CLaSH.Sized.Vector.vhead' @ n_auFM @ CLaSH.Bit.Bit (poly_a_sxDa @ n_auFM) s_swtS of _ [Occ=Dead, Dmd=] { CLaSH.Bit.H -> CLaSH.Class.BitVector.fromBV @ (rep_auFL n_auFM) ww_sxb9 (case ww_sxbg of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw79 -> ww_sxbi `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw79))_R :: GHC.TypeLits.KnownNat n_auFM ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM))) }) (case ww_sxbg of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw7a -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7a) _R)_R :: CLaSH.Sized.Vector.Vec n_auFM CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) CLaSH.Bit.Bit) }); CLaSH.Bit.L -> GHC.Enum.minBound @ (rep_auFL n_auFM) ww_sxbk }; CLaSH.Bit.L -> case CLaSH.Sized.Vector.vhead' @ n_auFM @ CLaSH.Bit.Bit (poly_a_sxDa @ n_auFM) s_swtS of _ [Occ=Dead, Dmd=] { CLaSH.Bit.H -> GHC.Enum.maxBound @ (rep_auFL n_auFM) ww_sxbk; CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_auFL n_auFM) ww_sxb9 (case ww_sxbg of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw79 -> ww_sxbi `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw79))_R :: GHC.TypeLits.KnownNat n_auFM ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM))) }) (case ww_sxbg of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw7a -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7a) _R)_R :: CLaSH.Sized.Vector.Vec n_auFM CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) CLaSH.Bit.Bit) }) } } } } CLaSH.Sized.Fixed.satN2 [InlPrag=INLINE[0]] :: forall (rep_auFL :: GHC.TypeLits.Nat -> *) (n_auFM :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.SatN2C rep_auFL n_auFM) => rep_auFL (n_auFM GHC.TypeLits.+ 2) -> rep_auFL n_auFM [LclIdX, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (rep_auFL :: GHC.TypeLits.Nat -> *)) (@ (n_auFM :: GHC.TypeLits.Nat)) (w_sxaZ [Occ=Once!] :: CLaSH.Sized.Fixed.SatN2C rep_auFL n_auFM) (w_sxb0 [Occ=Once] :: rep_auFL (n_auFM GHC.TypeLits.+ 2)) -> case w_sxaZ of _ [Occ=Dead] { (_ [Occ=Dead], ww_sxb4 [Occ=Once!], ww_sxb9 [Occ=Once], ww_sxba [Occ=Once!], ww_sxbg [Occ=Once], ww_sxbh [Occ=Once!], ww_sxbi [Occ=Once], ww_sxbj [Occ=Once], ww_sxbk [Occ=Once], ww_sxbl [Occ=Once!]) -> case ww_sxb4 of _ [Occ=Dead] { GHC.Types.Eq# ww_sxb7 -> case ww_sxba of _ [Occ=Dead] { CLaSH.Class.BitVector.D:BitVector ww_sxbd [Occ=Once] _ [Occ=Dead] -> case ww_sxbh of ww_XxbC { GHC.Types.Eq# _ [Occ=Dead] -> case ww_sxbl of _ [Occ=Dead] { Data.Bits.D:Bits _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] ww_sxbD [Occ=Once] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> $wsatN2_sxbN @ rep_auFL @ n_auFM @~ ww_sxb7 ww_sxb9 ww_sxbd ww_sxbg ww_XxbC ww_sxbi ww_sxbj ww_sxbk ww_sxbD w_sxb0 } } } } }}] CLaSH.Sized.Fixed.satN2 = \ (@ (rep_auFL :: GHC.TypeLits.Nat -> *)) (@ (n_auFM :: GHC.TypeLits.Nat)) (w_sxaZ :: CLaSH.Sized.Fixed.SatN2C rep_auFL n_auFM) (w_sxb0 :: rep_auFL (n_auFM GHC.TypeLits.+ 2)) -> case w_sxaZ of _ [Occ=Dead] { (ww_sxb3, ww_sxb4, ww_sxb9, ww_sxba, ww_sxbg, ww_sxbh, ww_sxbi, ww_sxbj, ww_sxbk, ww_sxbl) -> case ww_sxb4 of _ [Occ=Dead] { GHC.Types.Eq# ww_sxb7 -> case ww_sxba of _ [Occ=Dead] { CLaSH.Class.BitVector.D:BitVector ww_sxbd ww_sxbe -> case ww_sxbh of ww_Xxe7 { GHC.Types.Eq# ipv_sxoJ -> case ww_sxbl of _ [Occ=Dead] { Data.Bits.D:Bits ww_sxbo ww_sxbp ww_sxbq ww_sxbr ww_sxbs ww_sxbt ww_sxbu ww_sxbv ww_sxbw ww_sxbx ww_sxby ww_sxbz ww_sxbA ww_sxbB ww_sxbC ww_sxbD ww_sxbE ww_sxbF ww_sxbG ww_sxbH ww_sxbI ww_sxbJ ww_sxbK -> $wsatN2_sxbN @ rep_auFL @ n_auFM @~ ww_sxb7 ww_sxb9 ww_sxbd ww_sxbg ww_sxbh ww_sxbi ww_sxbj ww_sxbk ww_sxbD w_sxb0 } } } } } lvl_swvz :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swvz = __integer 0 lvl_swvy :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swvy = __integer 0 lvl_swvB :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swvB = __integer 0 lvl_swvA :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swvA = __integer 0 $wresizeF_sxcA :: forall (frac1_auFN :: GHC.TypeLits.Nat) (frac2_auFO :: GHC.TypeLits.Nat) (rep_auFP :: GHC.TypeLits.Nat -> *) (size1_auFQ :: GHC.TypeLits.Nat) (size2_auFR :: GHC.TypeLits.Nat). (GHC.Enum.Bounded (rep_auFP size2_auFR), GHC.Classes.Ord (rep_auFP size1_auFQ), GHC.Num.Num (rep_auFP size1_auFQ), Data.Bits.Bits (rep_auFP size1_auFQ), CLaSH.Class.Num.Resize rep_auFP, GHC.TypeLits.KnownNat size2_auFR, GHC.TypeLits.KnownNat size1_auFQ, Data.Bits.Bits (rep_auFP size2_auFR), GHC.TypeLits.KnownNat frac2_auFO, GHC.TypeLits.KnownNat frac1_auFN) => CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ -> CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR [LclId, Arity=11, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=11, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] $wresizeF_sxcA = \ (@ (frac1_auFN :: GHC.TypeLits.Nat)) (@ (frac2_auFO :: GHC.TypeLits.Nat)) (@ (rep_auFP :: GHC.TypeLits.Nat -> *)) (@ (size1_auFQ :: GHC.TypeLits.Nat)) (@ (size2_auFR :: GHC.TypeLits.Nat)) (ww_sxcn :: GHC.Enum.Bounded (rep_auFP size2_auFR)) (ww_sxcp :: GHC.Classes.Ord (rep_auFP size1_auFQ)) (ww_sxcq :: GHC.Num.Num (rep_auFP size1_auFQ)) (ww_sxcr :: Data.Bits.Bits (rep_auFP size1_auFQ)) (ww_sxcs :: CLaSH.Class.Num.Resize rep_auFP) (ww_sxct :: GHC.TypeLits.KnownNat size2_auFR) (ww_sxcu :: GHC.TypeLits.KnownNat size1_auFQ) (ww_sxcv :: Data.Bits.Bits (rep_auFP size2_auFR)) (ww_sxcw :: GHC.TypeLits.KnownNat frac2_auFO) (ww_sxcx :: GHC.TypeLits.KnownNat frac1_auFN) (w_sxck :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ) -> case GHC.Integer.Type.leInteger# (ww_sxcu `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat size1_auFQ ~# GHC.Integer.Type.Integer)) (ww_sxct `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat size2_auFR ~# GHC.Integer.Type.Integer)) of wild_akJ3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akJ3 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> let { fMax_swtA :: rep_auFP size2_auFR [LclId, Str=DmdType] fMax_swtA = GHC.Enum.maxBound @ (rep_auFP size2_auFR) ww_sxcn } in case ww_sxcr of _ [Occ=Dead] { Data.Bits.D:Bits ww_sxbQ ww_sxbW ww_sxbX ww_sxbY ww_sxbZ ww_sxc0 ww_sxc1 ww_sxc2 ww_sxc3 ww_sxc4 ww_sxc5 ww_sxc6 ww_sxc7 ww_sxc8 ww_sxc9 ww_sxca ww_sxcb ww_sxcc ww_sxcd ww_sxce ww_sxcf ww_sxcg ww_sxch -> case ww_sxbQ of _ [Occ=Dead] { GHC.Classes.D:Eq ww_sxbT ww_sxbU -> let { mask_swtz :: rep_auFP size1_auFQ [LclId, Str=DmdType] mask_swtz = ww_sxbZ ((ww_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size2_auFR @ size1_auFQ ww_sxct ww_sxcu fMax_swtA) } in case GHC.Integer.Type.integerToInt (ww_sxcx `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac1_auFN ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> case GHC.Integer.Type.integerToInt (ww_sxcw `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac2_auFO ~# GHC.Integer.Type.Integer)) of wild_XkFQ { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# wild_akCB wild_XkFQ) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> let { shiftedR_swty :: rep_auFP size1_auFQ [LclId, Str=DmdType] shiftedR_swty = ww_sxcd (w_sxck `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ)) (GHC.Types.I# (GHC.Prim.-# wild_akCB wild_XkFQ)) } in case GHC.Classes.>= @ (rep_auFP size1_auFQ) ww_sxcp (w_sxck `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ)) (GHC.Num.fromInteger @ (rep_auFP size1_auFQ) ww_sxcq lvl_swvy) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case ww_sxbT (ww_sxbW shiftedR_swty mask_swtz) mask_swtz of _ [Occ=Dead, Dmd=] { GHC.Types.False -> (GHC.Enum.minBound @ (rep_auFP size2_auFR) ww_sxcn) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR); GHC.Types.True -> ((ww_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww_sxcu ww_sxct shiftedR_swty) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) }; GHC.Types.True -> case ww_sxbT (ww_sxbW shiftedR_swty mask_swtz) (GHC.Num.fromInteger @ (rep_auFP size1_auFQ) ww_sxcq lvl_swvz) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> fMax_swtA `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR); GHC.Types.True -> ((ww_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww_sxcu ww_sxct shiftedR_swty) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) } }; GHC.Types.True -> let { shiftedL_swtK :: rep_auFP size1_auFQ [LclId, Str=DmdType] shiftedL_swtK = ww_sxcb (w_sxck `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ)) (GHC.Types.I# (GHC.Prim.-# wild_XkFQ wild_akCB)) } in case GHC.Classes.>= @ (rep_auFP size1_auFQ) ww_sxcp (w_sxck `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ)) (GHC.Num.fromInteger @ (rep_auFP size1_auFQ) ww_sxcq lvl_swvA) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case ww_sxbT (ww_sxbW shiftedL_swtK mask_swtz) mask_swtz of _ [Occ=Dead, Dmd=] { GHC.Types.False -> (GHC.Enum.minBound @ (rep_auFP size2_auFR) ww_sxcn) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR); GHC.Types.True -> ((ww_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww_sxcu ww_sxct shiftedL_swtK) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) }; GHC.Types.True -> case ww_sxbT (ww_sxbW shiftedL_swtK mask_swtz) (GHC.Num.fromInteger @ (rep_auFP size1_auFQ) ww_sxcq lvl_swvB) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> fMax_swtA `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR); GHC.Types.True -> ((ww_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww_sxcu ww_sxct shiftedL_swtK) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) } } } } } } }; GHC.Types.True -> case GHC.Integer.Type.integerToInt (ww_sxcx `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac1_auFN ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> case GHC.Integer.Type.integerToInt (ww_sxcw `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac2_auFO ~# GHC.Integer.Type.Integer)) of wild_XkFG { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# wild_akCB wild_XkFG) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> (Data.Bits.shiftR @ (rep_auFP size2_auFR) ww_sxcv ((ww_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww_sxcu ww_sxct (w_sxck `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ))) (GHC.Types.I# (GHC.Prim.-# wild_akCB wild_XkFG))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR); GHC.Types.True -> (Data.Bits.shiftL @ (rep_auFP size2_auFR) ww_sxcv ((ww_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww_sxcu ww_sxct (w_sxck `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ))) (GHC.Types.I# (GHC.Prim.-# wild_XkFG wild_akCB))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) } } } } } CLaSH.Sized.Fixed.resizeF [InlPrag=INLINE[0]] :: forall (frac1_auFN :: GHC.TypeLits.Nat) (frac2_auFO :: GHC.TypeLits.Nat) (rep_auFP :: GHC.TypeLits.Nat -> *) (size1_auFQ :: GHC.TypeLits.Nat) (size2_auFR :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.ResizeFC rep_auFP frac1_auFN frac2_auFO size1_auFQ size2_auFR) => CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ -> CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR [LclIdX, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac1_auFN :: GHC.TypeLits.Nat)) (@ (frac2_auFO :: GHC.TypeLits.Nat)) (@ (rep_auFP :: GHC.TypeLits.Nat -> *)) (@ (size1_auFQ :: GHC.TypeLits.Nat)) (@ (size2_auFR :: GHC.TypeLits.Nat)) (w_sxcj [Occ=Once!] :: CLaSH.Sized.Fixed.ResizeFC rep_auFP frac1_auFN frac2_auFO size1_auFQ size2_auFR) (w_sxck [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ) -> case w_sxcj of _ [Occ=Dead] { (ww_sxcn [Occ=Once], _ [Occ=Dead], ww_sxcp [Occ=Once], ww_sxcq [Occ=Once], ww_sxcr [Occ=Once], ww_sxcs [Occ=Once], ww_sxct [Occ=Once], ww_sxcu [Occ=Once], ww_sxcv [Occ=Once], ww_sxcw [Occ=Once], ww_sxcx [Occ=Once], _ [Occ=Dead]) -> $wresizeF_sxcA @ frac1_auFN @ frac2_auFO @ rep_auFP @ size1_auFQ @ size2_auFR ww_sxcn ww_sxcp ww_sxcq ww_sxcr ww_sxcs ww_sxct ww_sxcu ww_sxcv ww_sxcw ww_sxcx w_sxck }}] CLaSH.Sized.Fixed.resizeF = \ (@ (frac1_auFN :: GHC.TypeLits.Nat)) (@ (frac2_auFO :: GHC.TypeLits.Nat)) (@ (rep_auFP :: GHC.TypeLits.Nat -> *)) (@ (size1_auFQ :: GHC.TypeLits.Nat)) (@ (size2_auFR :: GHC.TypeLits.Nat)) (w_sxcj :: CLaSH.Sized.Fixed.ResizeFC rep_auFP frac1_auFN frac2_auFO size1_auFQ size2_auFR) (w_sxck :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ) -> case w_sxcj of _ [Occ=Dead] { (ww_sxcn, ww_sxco, ww_sxcp, ww_sxcq, ww_sxcr, ww_sxcs, ww_sxct, ww_sxcu, ww_sxcv, ww_sxcw, ww_sxcx, ww_sxcy) -> $wresizeF_sxcA @ frac1_auFN @ frac2_auFO @ rep_auFP @ size1_auFQ @ size2_auFR ww_sxcn ww_sxcp ww_sxcq ww_sxcr ww_sxcs ww_sxct ww_sxcu ww_sxcv ww_sxcw ww_sxcx w_sxck } CLaSH.Sized.Fixed.asRepProxy :: forall (frac_auFV :: GHC.TypeLits.Nat) (rep_auFW :: GHC.TypeLits.Nat -> *) (size_auFX :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFV rep_auFW size_auFX -> Data.Proxy.Proxy rep_auFW [LclIdX, Arity=1, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= \ (@ (frac_avk6 :: GHC.TypeLits.Nat)) (@ (rep_avk7 :: GHC.TypeLits.Nat -> *)) (@ (size_avk8 :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] -> Data.Proxy.Proxy @ (GHC.TypeLits.Nat -> *) @ rep_avk7}] CLaSH.Sized.Fixed.asRepProxy = \ (@ (frac_avk6 :: GHC.TypeLits.Nat)) (@ (rep_avk7 :: GHC.TypeLits.Nat -> *)) (@ (size_avk8 :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] -> Data.Proxy.Proxy @ (GHC.TypeLits.Nat -> *) @ rep_avk7 CLaSH.Sized.Fixed.asFracProxy :: forall (frac_auFY :: GHC.TypeLits.Nat) (rep_auFZ :: GHC.TypeLits.Nat -> *) (size_auG0 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFY rep_auFZ size_auG0 -> Data.Proxy.Proxy frac_auFY [LclIdX, Arity=1, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= \ (@ (frac_avkp :: GHC.TypeLits.Nat)) (@ (rep_avkq :: GHC.TypeLits.Nat -> *)) (@ (size_avkr :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] -> Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac_avkp}] CLaSH.Sized.Fixed.asFracProxy = \ (@ (frac_avkp :: GHC.TypeLits.Nat)) (@ (rep_avkq :: GHC.TypeLits.Nat -> *)) (@ (size_avkr :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] -> Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac_avkp CLaSH.Sized.Fixed.fracShift :: forall (frac_auFS :: GHC.TypeLits.Nat) (rep_auFT :: GHC.TypeLits.Nat -> *) (size_auFU :: GHC.TypeLits.Nat). GHC.TypeLits.KnownNat frac_auFS => CLaSH.Sized.Fixed.Fixed frac_auFS rep_auFT size_auFU -> GHC.Types.Int [LclIdX, Arity=2, Str=DmdType m, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_avjN :: GHC.TypeLits.Nat)) (@ (rep_avjO :: GHC.TypeLits.Nat -> *)) (@ (size_avjP :: GHC.TypeLits.Nat)) ($dKnownNat_avxa [Occ=Once] :: GHC.TypeLits.KnownNat frac_avjN) _ [Occ=Dead, Dmd=] -> case GHC.Integer.Type.integerToInt ($dKnownNat_avxa `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_avjN ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> GHC.Types.I# wild_akCB }}] CLaSH.Sized.Fixed.fracShift = \ (@ (frac_avjN :: GHC.TypeLits.Nat)) (@ (rep_avjO :: GHC.TypeLits.Nat -> *)) (@ (size_avjP :: GHC.TypeLits.Nat)) ($dKnownNat_avxa :: GHC.TypeLits.KnownNat frac_avjN) _ [Occ=Dead, Dmd=] -> case GHC.Integer.Type.integerToInt ($dKnownNat_avxa `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_avjN ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> GHC.Types.I# wild_akCB } a_swaI :: forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) [LclId, Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaI = \ (@ (int_avkK :: GHC.TypeLits.Nat)) (@ (frac_avkL :: GHC.TypeLits.Nat)) (ds_dvZi :: CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL)) -> ds_dvZi CLaSH.Sized.Fixed.unUF :: forall (int_auG1 :: GHC.TypeLits.Nat) (frac_auG2 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.UFixed int_auG1 frac_auG2 -> CLaSH.Sized.Unsigned.Unsigned (int_auG1 GHC.TypeLits.+ frac_auG2) [LclIdX, Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.unUF = a_swaI `cast` (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL)) ~# (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL))) a_swaJ :: forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= \ (@ (frac_avl5 :: GHC.TypeLits.Nat)) (@ (int_avl6 :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] (fRep_auGb [Occ=Once] :: CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) -> fRep_auGb}] a_swaJ = \ (@ (frac_avl5 :: GHC.TypeLits.Nat)) (@ (int_avl6 :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] (fRep_auGb :: CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) -> fRep_auGb CLaSH.Sized.Fixed.uf :: forall (frac_auG3 :: GHC.TypeLits.Nat) (int_auG4 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_auG3 -> CLaSH.Sized.Unsigned.Unsigned (int_auG4 GHC.TypeLits.+ frac_auG3) -> CLaSH.Sized.Fixed.UFixed int_auG4 frac_auG3 [LclIdX, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= a_swaJ `cast` (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) ~# (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Fixed.Fixed frac_avl5 CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)))}] CLaSH.Sized.Fixed.uf = a_swaJ `cast` (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) ~# (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Fixed.Fixed frac_avl5 CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5))) a_swaK :: forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) [LclId, Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaK = \ (@ (int_avlp :: GHC.TypeLits.Nat)) (@ (frac_avlq :: GHC.TypeLits.Nat)) (ds_dvZu :: CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq)) -> ds_dvZu CLaSH.Sized.Fixed.unSF :: forall (int_auG5 :: GHC.TypeLits.Nat) (frac_auG6 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.SFixed int_auG5 frac_auG6 -> CLaSH.Sized.Signed.Signed (int_auG5 GHC.TypeLits.+ frac_auG6) [LclIdX, Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.unSF = a_swaK `cast` (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq)) ~# (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq))) a_swaL :: forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= \ (@ (frac_avlK :: GHC.TypeLits.Nat)) (@ (int_avlL :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] (fRep_auG9 [Occ=Once] :: CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) -> fRep_auG9}] a_swaL = \ (@ (frac_avlK :: GHC.TypeLits.Nat)) (@ (int_avlL :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] (fRep_auG9 :: CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) -> fRep_auG9 CLaSH.Sized.Fixed.sf :: forall (frac_auG7 :: GHC.TypeLits.Nat) (int_auG8 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_auG7 -> CLaSH.Sized.Signed.Signed (int_auG8 GHC.TypeLits.+ frac_auG7) -> CLaSH.Sized.Fixed.SFixed int_auG8 frac_auG7 [LclIdX, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= a_swaL `cast` (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) ~# (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Fixed.Fixed frac_avlK CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)))}] CLaSH.Sized.Fixed.sf = a_swaL `cast` (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) ~# (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Fixed.Fixed frac_avlK CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK))) a_swaM :: forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 [LclId, Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaM = \ (@ (frac_auI2 :: GHC.TypeLits.Nat)) (@ (rep_auI3 :: GHC.TypeLits.Nat -> *)) (@ (size_auI4 :: GHC.TypeLits.Nat)) (ds_dvZF :: CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4) -> ds_dvZF CLaSH.Sized.Fixed.unFixed :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> rep_auFG size_auFH [LclIdX[[RecSel]], Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.unFixed = a_swaM `cast` (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4) ~# (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> rep_auI3 size_auI4)) lvl_swvD :: GHC.Types.Char [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}] lvl_swvD = GHC.Types.C# '-' lvl_swvC :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swvC = __integer 0 lvl_swvG :: GHC.Types.Char [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}] lvl_swvG = GHC.Types.C# '0' ds_swvM :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] ds_swvM = __integer 1 dt_akMa :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] dt_akMa = __integer 10 $wlvl_sxd6 :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) -> (# GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer #) [LclId, Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [40] 181 30}] $wlvl_sxd6 = \ (w_sxd3 :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) -> (# case w_sxd3 of _ [Occ=Dead, Dmd=] { (x_awe6 [Dmd=], y_awe7 [Dmd=]) -> case x_awe6 of _ [Occ=Dead, Dmd=] { GHC.Types.I# x1_awdC [Dmd=] -> case x1_awdC of wild1_awdE { __DEFAULT -> GHC.Types.I# (GHC.Prim.+# x1_awdC 1); 9223372036854775807 -> GHC.Enum.$fEnumInt2 } } }, case w_sxd3 of _ [Occ=Dead, Dmd=] { (x_aweb [Dmd=], y_awec [Dmd=]) -> case y_awec of _ [Occ=Dead, Dmd=] { GHC.Real.:% ww1_awdJ [Dmd=] ww2_awdK [Dmd=] -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger ww1_awdJ dt_akMa) (GHC.Integer.Type.timesInteger ww2_awdK GHC.Real.$fEnumRatio1) of _ [Occ=Dead, Dmd=] { (# ww7_awdU, ww8_awdV #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww7_awdU ww8_awdV } } } #) lvl_swvV [InlPrag=INLINE[0]] :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) -> (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) [LclId, Arity=1, Str=DmdType m, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (w_sxd3 [Occ=Once] :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) -> case $wlvl_sxd6 w_sxd3 of _ [Occ=Dead] { (# ww_sxn9 [Occ=Once], ww_sxna [Occ=Once] #) -> (ww_sxn9, ww_sxna) }}] lvl_swvV = \ (w_sxd3 :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) -> case $wlvl_sxd6 w_sxd3 of _ [Occ=Dead] { (# ww_sxn9, ww_sxna #) -> (ww_sxn9, ww_sxna) } lvl_swvX :: GHC.Types.Int [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}] lvl_swvX = GHC.Types.I# 0 lvl_sww5 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_sww5 = __integer 2 lvl_sww6 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_sww6 = __integer 1 lvl_sww7 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_sww7 = __integer 2 lvl_sww8 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_sww8 = __integer 1 lvl_sww4 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_sww4 = __integer 0 lvl_sww9 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_sww9 = __integer 2 lvl_sxDd :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) -> [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)] -> [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)] [LclId, Str=DmdType] lvl_sxDd = \ (x_awzz :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) (r_awzA [OS=OneShot] :: [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)]) -> case x_awzz of wild_afnB { (ds1_afnD [Dmd=], y_afnE [Dmd=]) -> case y_afnE of _ [Occ=Dead, Dmd=] { GHC.Real.:% ds1_awdp [Dmd=] y_awdq [Dmd=] -> case GHC.Integer.Type.eqInteger# y_awdq ds_swvM of wild_a2f3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a2f3 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> r_awzA; GHC.Types.True -> GHC.Types.: @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) x_awzz r_awzA } } } } lvl_sxDe :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_sxDe = __integer 0 lvl_sxDf :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_sxDf = __integer 0 lvl_sxDh :: GHC.Types.Char [LclId, Str=DmdType] lvl_sxDh = GHC.Types.C# '.' lvl_sxDi :: GHC.Types.Char [LclId, Str=DmdType] lvl_sxDi = GHC.Types.C# '.' lvl_sxDj :: GHC.Types.Char [LclId, Str=DmdType] lvl_sxDj = GHC.Types.C# '.' $w$cshow_sxdD :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). GHC.TypeLits.KnownNat frac_auHx => (rep_auHy size_auHz -> GHC.Integer.Type.Integer) -> CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> [GHC.Types.Char] [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] $w$cshow_sxdD = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) (w_sxdo :: GHC.TypeLits.KnownNat frac_auHx) (ww_sxdB :: rep_auHy size_auHz -> GHC.Integer.Type.Integer) (w_sxdq :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) -> let { nF_swti [Dmd=] :: GHC.Types.Int [LclId, Str=DmdType] nF_swti = case GHC.Integer.Type.integerToInt (w_sxdo `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_auHx ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> GHC.Types.I# wild_akCB } } in let { fRepI_swtk [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType] fRepI_swtk = ww_sxdB (w_sxdq `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz ~# rep_auHy size_auHz)) } in let { fRepI_abs_swtj :: GHC.Integer.Type.Integer [LclId, Str=DmdType] fRepI_abs_swtj = GHC.Integer.Type.absInteger fRepI_swtk } in let { a_swOO :: [GHC.Types.Char] [LclId, Str=DmdType] a_swOO = case GHC.List.iterateFB @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) @ [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)] lvl_sxDd lvl_swvV (lvl_swvX, case GHC.Integer.Type.ltInteger# fRepI_swtk lvl_sww4 of wild_a4It { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a4It of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case nF_swti of _ [Occ=Dead, Dmd=] { GHC.Types.I# x_awO9 [Dmd=] -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# x_awO9 0) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# x_awO9 0) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> let { a_swOs [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType] a_swOs = case x_awO9 of wild2_awOe { __DEFAULT -> GHC.Real.$wf1 lvl_sww9 x_awO9; 0 -> GHC.Real.$fEnumRatio1 } } in case x_awO9 of wild2_awOe { __DEFAULT -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger (GHC.Integer.Type.andInteger fRepI_swtk (GHC.Integer.Type.minusInteger (GHC.Real.$wf1 lvl_sww5 x_awO9) lvl_sww6)) (GHC.Integer.Type.signumInteger a_swOs)) (GHC.Integer.Type.absInteger a_swOs) of _ [Occ=Dead, Dmd=] { (# ww1_awf5, ww2_awf6 #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww1_awf5 ww2_awf6 }; 0 -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger (GHC.Integer.Type.andInteger fRepI_swtk lvl_sxDe) (GHC.Integer.Type.signumInteger a_swOs)) (GHC.Integer.Type.absInteger a_swOs) of _ [Occ=Dead, Dmd=] { (# ww1_awf5, ww2_awf6 #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww1_awf5 ww2_awf6 } }; GHC.Types.True -> case GHC.Real.^3 of wild_00 { } }; GHC.Types.True -> case GHC.Real.^3 of wild_00 { } } }; GHC.Types.True -> case nF_swti of _ [Occ=Dead, Dmd=] { GHC.Types.I# x_awO9 [Dmd=] -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# x_awO9 0) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# x_awO9 0) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> let { a_swOy [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType] a_swOy = case x_awO9 of wild2_awOe { __DEFAULT -> GHC.Real.$wf1 lvl_sww9 x_awO9; 0 -> GHC.Real.$fEnumRatio1 } } in case x_awO9 of wild2_awOe { __DEFAULT -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger (GHC.Integer.Type.andInteger fRepI_abs_swtj (GHC.Integer.Type.minusInteger (GHC.Real.$wf1 lvl_sww7 x_awO9) lvl_sww8)) (GHC.Integer.Type.signumInteger a_swOy)) (GHC.Integer.Type.absInteger a_swOy) of _ [Occ=Dead, Dmd=] { (# ww1_awf5, ww2_awf6 #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww1_awf5 ww2_awf6 }; 0 -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger (GHC.Integer.Type.andInteger fRepI_abs_swtj lvl_sxDf) (GHC.Integer.Type.signumInteger a_swOy)) (GHC.Integer.Type.absInteger a_swOy) of _ [Occ=Dead, Dmd=] { (# ww1_awf5, ww2_awf6 #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww1_awf5 ww2_awf6 } }; GHC.Types.True -> case GHC.Real.^3 of wild_00 { } }; GHC.Types.True -> case GHC.Real.^3 of wild_00 { } } } } }) of _ [Occ=Dead, Dmd=] { [] -> case Data.Maybe.fromJust1 of wild_00 { }; : a1_awdh [Dmd=] ds1_awdi [Dmd=] -> case a1_awdh of _ [Occ=Dead] { (ww_sxd9, ww_sxde) -> case ww_sxd9 of _ [Occ=Dead] { GHC.Types.I# ww_sxdc -> case ww_sxde of _ [Occ=Dead] { GHC.Real.:% ww_sxdh ww_sxdi -> case GHC.Show.$w$cshowsPrec 0 ww_sxdh (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead, Dmd=] { (# ww3_a2i0, ww4_a2i1 #) -> let { str_auHK [OS=ProbOneShot] :: [GHC.Types.Char] [LclId, Str=DmdType] str_auHK = GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1 } in let { lvl_sxDg :: [GHC.Types.Char] [LclId, Str=DmdType] lvl_sxDg = GHC.Types.: @ GHC.Types.Char lvl_swvG str_auHK } in case GHC.List.$wlenAcc @ GHC.Types.Char str_auHK 0 of ww_awOK { __DEFAULT -> let { n#_awbi :: GHC.Prim.Int# [LclId, Str=DmdType] n#_awbi = GHC.Prim.-# ww_sxdc ww_awOK } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# n#_awbi 0) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> letrec { xs_awyT [Occ=LoopBreaker] :: GHC.Prim.Int# -> [GHC.Types.Char] [LclId, Arity=1, Str=DmdType ] xs_awyT = \ (m_awz0 :: GHC.Prim.Int#) -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# m_awz0 1) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> GHC.Types.: @ GHC.Types.Char lvl_swvG (xs_awyT (GHC.Prim.-# m_awz0 1)); GHC.Types.True -> lvl_sxDg }; } in xs_awyT n#_awbi; GHC.Types.True -> str_auHK } } } } } } } } in case GHC.Integer.Type.ltInteger# fRepI_swtk lvl_swvC of wild_a4It { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a4It of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case nF_swti of _ [Occ=Dead, Dmd=] { GHC.Types.I# x_aiKN -> let { ww_al4F :: GHC.Prim.Int# [LclId, Str=DmdType] ww_al4F = GHC.Prim.negateInt# x_aiKN } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.>=# ww_al4F 0) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case GHC.Show.$w$cshowsPrec 0 (GHC.Integer.Type.shiftRInteger fRepI_swtk (GHC.Prim.negateInt# ww_al4F)) (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead, Dmd=] { (# ww3_a2i0, ww4_a2i1 #) -> GHC.Base.++ @ GHC.Types.Char (GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1) (GHC.Types.: @ GHC.Types.Char lvl_sxDh a_swOO) }; GHC.Types.True -> case GHC.Show.$w$cshowsPrec 0 (GHC.Integer.Type.shiftLInteger fRepI_swtk ww_al4F) (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead, Dmd=] { (# ww3_a2i0, ww4_a2i1 #) -> GHC.Base.++ @ GHC.Types.Char (GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1) (GHC.Types.: @ GHC.Types.Char lvl_sxDi a_swOO) } } }; GHC.Types.True -> GHC.Base.++ @ GHC.Types.Char (GHC.Types.: @ GHC.Types.Char lvl_swvD (case nF_swti of _ [Occ=Dead, Dmd=] { GHC.Types.I# x_aiKN -> let { ww_al4F :: GHC.Prim.Int# [LclId, Str=DmdType] ww_al4F = GHC.Prim.negateInt# x_aiKN } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.>=# ww_al4F 0) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case GHC.Show.$w$cshowsPrec 0 (GHC.Integer.Type.shiftRInteger fRepI_abs_swtj (GHC.Prim.negateInt# ww_al4F)) (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead, Dmd=] { (# ww3_a2i0, ww4_a2i1 #) -> GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1 }; GHC.Types.True -> case GHC.Show.$w$cshowsPrec 0 (GHC.Integer.Type.shiftLInteger fRepI_abs_swtj ww_al4F) (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead, Dmd=] { (# ww3_a2i0, ww4_a2i1 #) -> GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1 } } })) (GHC.Types.: @ GHC.Types.Char lvl_sxDj a_swOO) } } $cshow_avFD [InlPrag=INLINE[0]] :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> GHC.Base.String [LclId, Arity=5, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] _ [Occ=Dead, Dmd=] (w_sxdo [Occ=Once] :: GHC.TypeLits.KnownNat frac_auHx) (w_sxdp [Occ=Once!] :: GHC.Real.Integral (rep_auHy size_auHz)) (w_sxdq [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) -> case w_sxdp of _ [Occ=Dead] { GHC.Real.D:Integral _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] ww_sxdB [Occ=Once] -> $w$cshow_sxdD @ frac_auHx @ rep_auHy @ size_auHz w_sxdo ww_sxdB w_sxdq }}] $cshow_avFD = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] _ [Occ=Dead, Dmd=] (w_sxdo :: GHC.TypeLits.KnownNat frac_auHx) (w_sxdp :: GHC.Real.Integral (rep_auHy size_auHz)) (w_sxdq :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) -> case w_sxdp of _ [Occ=Dead] { GHC.Real.D:Integral ww_sxdt ww_sxdu ww_sxdv ww_sxdw ww_sxdx ww_sxdy ww_sxdz ww_sxdA ww_sxdB -> $w$cshow_sxdD @ frac_auHx @ rep_auHy @ size_auHz w_sxdo ww_sxdB w_sxdq } $cshowsPrec_avFB :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => GHC.Types.Int -> CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> GHC.Show.ShowS [LclId, Arity=7, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=7, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv [Occ=Once] :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw [Occ=Once] :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx [Occ=Once] :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy [Occ=Once] :: GHC.Real.Integral (rep_auHy size_auHz)) _ [Occ=Dead, Dmd=] (x_a2fY [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (s_a2fZ [Occ=Once] :: GHC.Base.String) -> GHC.Base.augment @ GHC.Types.Char (\ (@ b_a4II) (c_a4IJ [Occ=Once, OS=OneShot] :: GHC.Types.Char -> b_a4II -> b_a4II) (n_a4IK [Occ=Once, OS=OneShot] :: b_a4II) -> GHC.Base.foldr @ GHC.Types.Char @ b_a4II c_a4IJ n_a4IK ($cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy x_a2fY)) s_a2fZ}] $cshowsPrec_avFB = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) _ [Occ=Dead] _ [Occ=Dead] ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) _ [Occ=Dead, Dmd=] (x_a2fY :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (s_a2fZ :: GHC.Base.String) -> case $dIntegral_avFy of _ [Occ=Dead] { GHC.Real.D:Integral ww_sxdt ww_sxdu ww_sxdv ww_sxdw ww_sxdx ww_sxdy ww_sxdz ww_sxdA ww_sxdB -> GHC.Base.++ @ GHC.Types.Char ($w$cshow_sxdD @ frac_auHx @ rep_auHy @ size_auHz $dKnownNat_avFx ww_sxdB x_a2fY) s_a2fZ } $w$cshowList_sxe4 :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz] -> GHC.Base.String -> GHC.Base.String [LclId, Arity=4, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=4, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 20 0 0] 140 0}] $w$cshowList_sxe4 = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) (w_sxe0 :: GHC.TypeLits.KnownNat frac_auHx) (w_sxe1 :: GHC.Real.Integral (rep_auHy size_auHz)) (w_sxe2 :: [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz]) (w_sxe3 :: GHC.Base.String) -> GHC.Show.showList__ @ (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (\ (x_a2fY :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (s_a2fZ [OS=OneShot] :: GHC.Base.String) -> case w_sxe1 of _ [Occ=Dead] { GHC.Real.D:Integral ww_sxdt ww_sxdu ww_sxdv ww_sxdw ww_sxdx ww_sxdy ww_sxdz ww_sxdA ww_sxdB -> GHC.Base.++ @ GHC.Types.Char ($w$cshow_sxdD @ frac_auHx @ rep_auHy @ size_auHz w_sxe0 ww_sxdB x_a2fY) s_a2fZ }) w_sxe2 w_sxe3 CLaSH.Sized.Fixed.$fShowFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => GHC.Show.Show (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) [LclIdX[DFunId], Arity=4, Str=DmdType m, Unf=DFun: \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) -> GHC.Show.D:Show TYPE CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz $cshowsPrec_avFB @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy $cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy \ (w_sxe2 :: [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz]) (w_sxe3 :: GHC.Base.String) -> $w$cshowList_sxe4 @ frac_auHx @ rep_auHy @ size_auHz $dKnownNat_avFx $dIntegral_avFy w_sxe2 w_sxe3] CLaSH.Sized.Fixed.$fShowFixed = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv [Dmd=] :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw [Dmd=] :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy [Dmd=] :: GHC.Real.Integral (rep_auHy size_auHz)) -> GHC.Show.D:Show @ (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) ($cshowsPrec_avFB @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy) ($cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy) (\ (w_sxe2 :: [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz]) (w_sxe3 :: GHC.Base.String) -> $w$cshowList_sxe4 @ frac_auHx @ rep_auHy @ size_auHz $dKnownNat_avFx $dIntegral_avFy w_sxe2 w_sxe3) a_swjx :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu) [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac1_auHq :: GHC.TypeLits.Nat)) (@ (rep_auHr :: GHC.TypeLits.Nat -> *)) (@ (size1_auHs :: GHC.TypeLits.Nat)) (@ (frac2_auHt :: GHC.TypeLits.Nat)) (@ (size2_auHu :: GHC.TypeLits.Nat)) (tup_avFg [Occ=Once!] :: CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) (eta_B2 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (eta_B1 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) -> case tup_avFg of _ [Occ=Dead, Dmd=] { (tpl_X1z [Occ=Once, Dmd=], tpl_X1B [Occ=Once!, Dmd=]) -> case tpl_X1B of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw3M -> ((tpl_X1z `cast` (CLaSH.Class.Num.NTCo:Mult[0] _N _N :: CLaSH.Class.Num.Mult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# (rep_auHr size1_auHs -> rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu)))) (eta_B2 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs ~# rep_auHr size1_auHs)) (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu ~# rep_auHr size2_auHu))) `cast` (Sub cobox_dw3M :: CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) } }}] a_swjx = \ (@ (frac1_auHq :: GHC.TypeLits.Nat)) (@ (rep_auHr :: GHC.TypeLits.Nat -> *)) (@ (size1_auHs :: GHC.TypeLits.Nat)) (@ (frac2_auHt :: GHC.TypeLits.Nat)) (@ (size2_auHu :: GHC.TypeLits.Nat)) (tup_avFg :: CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) (eta_B2 :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (eta_B1 :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) -> case tup_avFg of _ [Occ=Dead, Dmd=] { (tpl_X1z [Dmd=], tpl_X1B [Dmd=]) -> case tpl_X1B of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw3M -> ((tpl_X1z `cast` (CLaSH.Class.Num.NTCo:Mult[0] _N _N :: CLaSH.Class.Num.Mult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# (rep_auHr size1_auHs -> rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu)))) (eta_B2 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs ~# rep_auHr size1_auHs)) (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu ~# rep_auHr size2_auHu))) `cast` (Sub cobox_dw3M :: CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) } } $cmult_avFi :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= a_swjx `cast` (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). _R -> _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:MResultFixedFixed[0] _N _N _N _N _N)) :: (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) ~# (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu)))}] $cmult_avFi = a_swjx `cast` (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). _R -> _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:MResultFixedFixed[0] _N _N _N _N _N)) :: (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) ~# (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu))) CLaSH.Sized.Fixed.$fMultFixedFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) [LclIdX[DFunId(nt)], Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= $cmult_avFi `cast` (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). _R -> Sym (CLaSH.Class.Num.NTCo:Mult[0] _N _N) :: (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_XuJ1 frac1_XuIZ frac2_XuJ5 size1_XuJ3 size2_XuJ7) => CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3 -> CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7 -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3) (CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7)) ~# (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_XuJ1 frac1_XuIZ frac2_XuJ5 size1_XuJ3 size2_XuJ7) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3) (CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7)))}] CLaSH.Sized.Fixed.$fMultFixedFixed = a_swjx `cast` (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). _R -> (_R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:MResultFixedFixed[0] _N _N _N _N _N))) ; Sym (CLaSH.Class.Num.NTCo:Mult[0] _N _N) :: (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) ~# (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu))) $w$cminus_sxeW :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1), CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) => (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) -> CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclId, Arity=5, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [20 120 60 0 0] 390 0}] $w$cminus_sxeW = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (ww_sxeI :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (ww_sxeJ :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (ww_sxeP :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (w_sxeE :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w_sxeF :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> let { $dBounded_swt9 [Dmd=] :: GHC.Enum.Bounded (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType] $dBounded_swt9 = case ww_sxeJ of _ [Occ=Dead, Dmd=] { (tpl_X1N [Dmd=], tpl_X1P [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X1N } } in let { $dResize_swt7 [Dmd=] :: CLaSH.Class.Num.Resize rep_auHe [LclId, Str=DmdType] $dResize_swt7 = case ww_sxeJ of _ [Occ=Dead, Dmd=] { (tpl_X1R [Dmd=], tpl_X1T [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B6 } } in let { $dKnownNat_swt6 :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] $dKnownNat_swt6 = case ww_sxeJ of _ [Occ=Dead, Dmd=] { (tpl_X1T [Dmd=], tpl_X1V [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B7 } } in let { $dBits_swt5 [Dmd=] :: Data.Bits.Bits (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType] $dBits_swt5 = case ww_sxeJ of _ [Occ=Dead, Dmd=] { (tpl_X1V [Dmd=], tpl_X1X [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B9 } } in let { $dKnownNat_swt4 :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) [LclId, Str=DmdType] $dKnownNat_swt4 = case ww_sxeJ of _ [Occ=Dead, Dmd=] { (tpl_X1X [Dmd=], tpl_X1Z [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_Ba } } in (ww_sxeP (case ww_sxeI of _ [Occ=Dead, Dmd=] { (tpl_X7n [Dmd=], tpl_X7q [Dmd=], tpl_X5q [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> ($wresizeF_sxcA @ frac1_auHd @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size1_auHf @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) $dBounded_swt9 tpl_X5q tpl_B4 tpl_B5 $dResize_swt7 $dKnownNat_swt6 tpl_B8 $dBits_swt5 $dKnownNat_swt4 tpl_Bb w_sxeE) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) }) (case ww_sxeJ of _ [Occ=Dead, Dmd=] { (tpl_X7k [Dmd=], tpl_X7n [Dmd=], tpl_X5n [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> ($wresizeF_sxcA @ frac2_auHg @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size2_auHh @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) $dBounded_swt9 tpl_X5n tpl_B4 tpl_B5 $dResize_swt7 $dKnownNat_swt6 tpl_B8 $dBits_swt5 $dKnownNat_swt4 tpl_Bb w_sxeF) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:AResultFixedFixed[0] _N _N _N _N _N)) :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh)) $cminus_avEx [InlPrag=INLINE[0]] :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (w_sxeD [Occ=Once!] :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (w_sxeE [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w_sxeF [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> case w_sxeD of _ [Occ=Dead] { (ww_sxeI [Occ=Once], ww_sxeJ [Occ=Once], ww_sxeK [Occ=Once!]) -> case ww_sxeK of _ [Occ=Dead] { GHC.Num.D:Num _ [Occ=Dead] _ [Occ=Dead] ww_sxeP [Occ=Once] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> $w$cminus_sxeW @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh ww_sxeI ww_sxeJ ww_sxeP w_sxeE w_sxeF } }}] $cminus_avEx = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (w_sxeD :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (w_sxeE :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w_sxeF :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> case w_sxeD of _ [Occ=Dead] { (ww_sxeI, ww_sxeJ, ww_sxeK) -> case ww_sxeK of _ [Occ=Dead] { GHC.Num.D:Num ww_sxeN ww_sxeO ww_sxeP ww_sxeQ ww_sxeR ww_sxeS ww_sxeT -> $w$cminus_sxeW @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh ww_sxeI ww_sxeJ ww_sxeP w_sxeE w_sxeF } } $w$cplus_sxfg :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1), CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) => (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) -> CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclId, Arity=5, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [20 120 60 0 0] 390 0}] $w$cplus_sxfg = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (ww_sxf2 :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (ww_sxf3 :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (ww_sxf7 :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (w_sxeY :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w_sxeZ :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> let { $dBounded_swsR [Dmd=] :: GHC.Enum.Bounded (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType] $dBounded_swsR = case ww_sxf3 of _ [Occ=Dead, Dmd=] { (tpl_X1O [Dmd=], tpl_X1Q [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X1O } } in let { $dResize_swsP [Dmd=] :: CLaSH.Class.Num.Resize rep_auHe [LclId, Str=DmdType] $dResize_swsP = case ww_sxf3 of _ [Occ=Dead, Dmd=] { (tpl_X1S [Dmd=], tpl_X1U [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B6 } } in let { $dKnownNat_swsO :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] $dKnownNat_swsO = case ww_sxf3 of _ [Occ=Dead, Dmd=] { (tpl_X1U [Dmd=], tpl_X1W [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B7 } } in let { $dBits_swsN [Dmd=] :: Data.Bits.Bits (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType] $dBits_swsN = case ww_sxf3 of _ [Occ=Dead, Dmd=] { (tpl_X1W [Dmd=], tpl_X1Y [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B9 } } in let { $dKnownNat_swsM :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) [LclId, Str=DmdType] $dKnownNat_swsM = case ww_sxf3 of _ [Occ=Dead, Dmd=] { (tpl_X1Y [Dmd=], tpl_X20 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_Ba } } in (ww_sxf7 (case ww_sxf2 of _ [Occ=Dead, Dmd=] { (tpl_X7p [Dmd=], tpl_X7s [Dmd=], tpl_X5r [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> ($wresizeF_sxcA @ frac1_auHd @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size1_auHf @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) $dBounded_swsR tpl_X5r tpl_B4 tpl_B5 $dResize_swsP $dKnownNat_swsO tpl_B8 $dBits_swsN $dKnownNat_swsM tpl_Bb w_sxeY) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) }) (case ww_sxf3 of _ [Occ=Dead, Dmd=] { (tpl_X7m [Dmd=], tpl_X7p [Dmd=], tpl_X5o [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> ($wresizeF_sxcA @ frac2_auHg @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size2_auHh @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) $dBounded_swsR tpl_X5o tpl_B4 tpl_B5 $dResize_swsP $dKnownNat_swsO tpl_B8 $dBits_swsN $dKnownNat_swsM tpl_Bb w_sxeZ) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:AResultFixedFixed[0] _N _N _N _N _N)) :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh)) $cplus_avDP [InlPrag=INLINE[0]] :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (w_sxeX [Occ=Once!] :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (w_sxeY [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w_sxeZ [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> case w_sxeX of _ [Occ=Dead] { (ww_sxf2 [Occ=Once], ww_sxf3 [Occ=Once], ww_sxf4 [Occ=Once!]) -> case ww_sxf4 of _ [Occ=Dead] { GHC.Num.D:Num ww_sxf7 [Occ=Once] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> $w$cplus_sxfg @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh ww_sxf2 ww_sxf3 ww_sxf7 w_sxeY w_sxeZ } }}] $cplus_avDP = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (w_sxeX :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (w_sxeY :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w_sxeZ :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> case w_sxeX of _ [Occ=Dead] { (ww_sxf2, ww_sxf3, ww_sxf4) -> case ww_sxf4 of _ [Occ=Dead] { GHC.Num.D:Num ww_sxf7 ww_sxf8 ww_sxf9 ww_sxfa ww_sxfb ww_sxfc ww_sxfd -> $w$cplus_sxfg @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh ww_sxf2 ww_sxf3 ww_sxf7 w_sxeY w_sxeZ } } CLaSH.Sized.Fixed.$fAddFixedFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Class.Num.Add (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclIdX[DFunId], Arity=1, Str=DmdType m, Unf=DFun: \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) -> CLaSH.Class.Num.D:Add TYPE CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf TYPE CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh $cplus_avDP @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN $cminus_avEx @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN] CLaSH.Sized.Fixed.$fAddFixedFixed = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN [Dmd=] :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) -> CLaSH.Class.Num.D:Add @ (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) @ (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) ($cplus_avDP @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN) ($cminus_avEx @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN) $cfromInteger_avDp [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => GHC.Integer.Type.Integer -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_XuKb :: GHC.TypeLits.Nat)) (@ (rep_XuKd :: GHC.TypeLits.Nat -> *)) (@ (size_XuKf :: GHC.TypeLits.Nat)) (w_sxfl [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKb rep_XuKd size_XuKf) (w_XxiD [Occ=Once] :: GHC.Integer.Type.Integer) -> case w_sxfl of _ [Occ=Dead] { (_ [Occ=Dead], ww_sxfq [Occ=Once!], ww_Xxjr [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> case ww_sxfq of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], ww_sxfB [Occ=Once!], ww_XxjD [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> case ww_sxfB of _ [Occ=Dead] { Data.Bits.D:Bits _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] ww_XxjR [Occ=Once!] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> (ww_XxjR (GHC.Num.fromInteger @ (rep_XuKd size_XuKf) ww_Xxjr w_XxiD) (case GHC.Integer.Type.integerToInt (ww_XxjD `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_XuKb ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> GHC.Types.I# wild_akCB })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKd size_XuKf ~# CLaSH.Sized.Fixed.Fixed frac_XuKb rep_XuKd size_XuKf) } } }}] $cfromInteger_avDp = \ (@ (frac_XuKb :: GHC.TypeLits.Nat)) (@ (rep_XuKd :: GHC.TypeLits.Nat -> *)) (@ (size_XuKf :: GHC.TypeLits.Nat)) (w_sxfl :: CLaSH.Sized.Fixed.NumFixed frac_XuKb rep_XuKd size_XuKf) (w_XxiD :: GHC.Integer.Type.Integer) -> case w_sxfl of _ [Occ=Dead] { (ww_sxfp, ww_sxfq, ww_Xxjr, ww_sxg7, ww_sxg8, ww_sxg9) -> case ww_sxfq of _ [Occ=Dead] { (ww_sxft, ww_sxfu, ww_sxfv, ww_sxfw, ww_sxfx, ww_sxfy, ww_sxfz, ww_sxfA, ww_sxfB, ww_XxjD, ww_sxg3, ww_sxg4) -> case ww_sxfB of _ [Occ=Dead] { Data.Bits.D:Bits ww_sxfE ww_sxfF ww_sxfG ww_sxfH ww_sxfI ww_sxfJ ww_sxfK ww_sxfL ww_sxfM ww_sxfN ww_sxfO ww_sxfP ww_sxfQ ww_sxfR ww_sxfS ww_sxfT ww_XxjR ww_sxfV ww_sxfW ww_sxfX ww_sxfY ww_sxfZ ww_sxg0 -> (ww_XxjR (GHC.Num.fromInteger @ (rep_XuKd size_XuKf) ww_Xxjr w_XxiD) (case GHC.Integer.Type.integerToInt (ww_XxjD `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_XuKb ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> GHC.Types.I# wild_akCB })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKd size_XuKf ~# CLaSH.Sized.Fixed.Fixed frac_XuKb rep_XuKd size_XuKf) } } } a_swkh :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_XuKc :: GHC.TypeLits.Nat)) (@ (rep_XuKe :: GHC.TypeLits.Nat -> *)) (@ (size_XuKg :: GHC.TypeLits.Nat)) (tup_avBm [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKc rep_XuKe size_XuKg) (eta_X1J [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKc rep_XuKe size_XuKg) -> case tup_avBm of _ [Occ=Dead, Dmd=] { (_ [Occ=Dead, Dmd=], _ [Occ=Dead, Dmd=], tpl_B3 [Occ=Once, Dmd=], _ [Occ=Dead, Dmd=], _ [Occ=Dead, Dmd=], _ [Occ=Dead, Dmd=]) -> GHC.Num.signum @ (rep_XuKe size_XuKg) tpl_B3 (eta_X1J `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKc rep_XuKe size_XuKg ~# rep_XuKe size_XuKg)) }}] a_swkh = \ (@ (frac_XuKc :: GHC.TypeLits.Nat)) (@ (rep_XuKe :: GHC.TypeLits.Nat -> *)) (@ (size_XuKg :: GHC.TypeLits.Nat)) (tup_avBm :: CLaSH.Sized.Fixed.NumFixed frac_XuKc rep_XuKe size_XuKg) (eta_X1J :: CLaSH.Sized.Fixed.Fixed frac_XuKc rep_XuKe size_XuKg) -> case tup_avBm of _ [Occ=Dead, Dmd=] { (tpl_X1L [Dmd=], tpl_X1N [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=]) -> GHC.Num.signum @ (rep_XuKe size_XuKg) tpl_B3 (eta_X1J `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKc rep_XuKe size_XuKg ~# rep_XuKe size_XuKg)) } $w$cabs_sxhI :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (1 GHC.TypeLits.<= size_auH0, ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_auH0 GHC.TypeLits.+ 2), CLaSH.Class.BitVector.BitVector (rep_auGZ size_auH0), CLaSH.Class.BitVector.BitVector (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0) ~ size_auH0, CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) ~ (size_auH0 GHC.TypeLits.+ 2), GHC.TypeLits.KnownNat size_auH0, GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ 2), GHC.Enum.Bounded (rep_auGZ size_auH0), Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0, GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=13, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=13, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 20 0 20 0 20 0 0 0 20 60 30 0] 213 60}] $w$cabs_sxhI = \ (@ (frac_XuKd :: GHC.TypeLits.Nat)) (@ (rep_XuKf :: GHC.TypeLits.Nat -> *)) (@ (size_XuKh :: GHC.TypeLits.Nat)) _ [Occ=Dead] (ww_sxhs :: ((size_XuKh GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_XuKh GHC.TypeLits.+ 2)) (ww_sxht :: CLaSH.Class.BitVector.BitVector (rep_XuKf size_XuKh)) (ww_sxhu :: CLaSH.Class.BitVector.BitVector (rep_XuKf (size_XuKh GHC.TypeLits.+ 2))) (ww_sxhv :: CLaSH.Class.BitVector.BitSize (rep_XuKf size_XuKh) ~ size_XuKh) (ww_sxhw :: CLaSH.Class.BitVector.BitSize (rep_XuKf (size_XuKh GHC.TypeLits.+ 2)) ~ (size_XuKh GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww_sxhy :: GHC.TypeLits.KnownNat (size_XuKh GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww_sxhA :: Data.Bits.Bits (rep_XuKf (size_XuKh GHC.TypeLits.+ 2))) (ww_sxhC :: CLaSH.Sized.Fixed.ResizeFC rep_XuKf (frac_XuKd GHC.TypeLits.+ frac_XuKd) frac_XuKd (size_XuKh GHC.TypeLits.+ size_XuKh) size_XuKh) (ww_sxhE :: GHC.Num.Num (rep_XuKf (size_XuKh GHC.TypeLits.+ 2))) (w_sxhl :: CLaSH.Sized.Fixed.Fixed frac_XuKd rep_XuKf size_XuKh) -> let { $dKnownNat_swsx :: GHC.TypeLits.KnownNat size_XuKh [LclId, Str=DmdType] $dKnownNat_swsx = case ww_sxhC of _ [Occ=Dead, Dmd=] { (tpl_X1V [Dmd=], tpl_X1X [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B7 } } in case ww_sxhs of _ [Occ=Dead] { GHC.Types.Eq# ww_sxgE -> case ww_sxhu of _ [Occ=Dead] { CLaSH.Class.BitVector.D:BitVector ww_sxgK ww_sxgL -> case ww_sxhw of ww_XxkJ { GHC.Types.Eq# ipv_sxsr -> case ww_sxhA of _ [Occ=Dead] { Data.Bits.D:Bits ww_sxgV ww_sxgW ww_sxgX ww_sxgY ww_sxgZ ww_sxh0 ww_sxh1 ww_sxh2 ww_sxh3 ww_sxh4 ww_sxh5 ww_sxh6 ww_sxh7 ww_sxh8 ww_sxh9 ww_sxha ww_sxhb ww_sxhc ww_sxhd ww_sxhe ww_sxhf ww_sxhg ww_sxhh -> ($wsatN2_sxbN @ rep_XuKf @ size_XuKh @~ ww_sxgE ww_sxht ww_sxgK ww_sxhv ww_sxhw $dKnownNat_swsx ww_sxhy (case ww_sxhC of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X20 }) ww_sxha (GHC.Num.abs @ (rep_XuKf (size_XuKh GHC.TypeLits.+ 2)) ww_sxhE (case ww_sxhC of _ [Occ=Dead, Dmd=] { (tpl_X7i [Dmd=], tpl_X7l [Dmd=], tpl_X5n [Dmd=], tpl_X5p [Dmd=], tpl_X5r [Dmd=], tpl_X5t [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> (tpl_X5t `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKf ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKf a_ae8M -> rep_XuKf b_ae8N))) @ size_XuKh @ (size_XuKh GHC.TypeLits.+ 2) $dKnownNat_swsx ww_sxhy (w_sxhl `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKd rep_XuKf size_XuKh ~# rep_XuKf size_XuKh)) }))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKf size_XuKh ~# CLaSH.Sized.Fixed.Fixed frac_XuKd rep_XuKf size_XuKh) } } } } $cabs_avCW [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_XuKe :: GHC.TypeLits.Nat)) (@ (rep_XuKg :: GHC.TypeLits.Nat -> *)) (@ (size_XuKi :: GHC.TypeLits.Nat)) (w_sxhk [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKe rep_XuKg size_XuKi) (w_sxhl [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKe rep_XuKg size_XuKi) -> case w_sxhk of _ [Occ=Dead] { (ww_sxho [Occ=Once!], ww_sxhC [Occ=Once], _ [Occ=Dead], ww_sxhE [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> case ww_sxho of _ [Occ=Dead] { (ww_sxhr [Occ=Once], ww_sxhs [Occ=Once], ww_sxht [Occ=Once], ww_sxhu [Occ=Once], ww_sxhv [Occ=Once], ww_sxhw [Occ=Once], ww_sxhx [Occ=Once], ww_sxhy [Occ=Once], ww_sxhz [Occ=Once], ww_sxhA [Occ=Once]) -> $w$cabs_sxhI @ frac_XuKe @ rep_XuKg @ size_XuKi ww_sxhr ww_sxhs ww_sxht ww_sxhu ww_sxhv ww_sxhw ww_sxhx ww_sxhy ww_sxhz ww_sxhA ww_sxhC ww_sxhE w_sxhl } }}] $cabs_avCW = \ (@ (frac_XuKe :: GHC.TypeLits.Nat)) (@ (rep_XuKg :: GHC.TypeLits.Nat -> *)) (@ (size_XuKi :: GHC.TypeLits.Nat)) (w_sxhk :: CLaSH.Sized.Fixed.NumFixed frac_XuKe rep_XuKg size_XuKi) (w_sxhl :: CLaSH.Sized.Fixed.Fixed frac_XuKe rep_XuKg size_XuKi) -> case w_sxhk of _ [Occ=Dead] { (ww_sxho, ww_sxhC, ww_sxhD, ww_sxhE, ww_sxhF, ww_sxhG) -> case ww_sxho of _ [Occ=Dead] { (ww_sxhr, ww_sxhs, ww_sxht, ww_sxhu, ww_sxhv, ww_sxhw, ww_sxhx, ww_sxhy, ww_sxhz, ww_sxhA) -> $w$cabs_sxhI @ frac_XuKe @ rep_XuKg @ size_XuKi ww_sxhr ww_sxhs ww_sxht ww_sxhu ww_sxhv ww_sxhw ww_sxhx ww_sxhy ww_sxhz ww_sxhA ww_sxhC ww_sxhE w_sxhl } } $w$cnegate_sxiT :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (1 GHC.TypeLits.<= size_auH0, ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_auH0 GHC.TypeLits.+ 2), CLaSH.Class.BitVector.BitVector (rep_auGZ size_auH0), CLaSH.Class.BitVector.BitVector (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0) ~ size_auH0, CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) ~ (size_auH0 GHC.TypeLits.+ 2), GHC.TypeLits.KnownNat size_auH0, GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ 2), GHC.Enum.Bounded (rep_auGZ size_auH0), Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0, GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=13, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=13, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 20 0 20 0 20 0 0 0 20 60 30 0] 213 60}] $w$cnegate_sxiT = \ (@ (frac_XuKf :: GHC.TypeLits.Nat)) (@ (rep_XuKh :: GHC.TypeLits.Nat -> *)) (@ (size_XuKj :: GHC.TypeLits.Nat)) _ [Occ=Dead] (ww_sxiD :: ((size_XuKj GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_XuKj GHC.TypeLits.+ 2)) (ww_sxiE :: CLaSH.Class.BitVector.BitVector (rep_XuKh size_XuKj)) (ww_sxiF :: CLaSH.Class.BitVector.BitVector (rep_XuKh (size_XuKj GHC.TypeLits.+ 2))) (ww_sxiG :: CLaSH.Class.BitVector.BitSize (rep_XuKh size_XuKj) ~ size_XuKj) (ww_sxiH :: CLaSH.Class.BitVector.BitSize (rep_XuKh (size_XuKj GHC.TypeLits.+ 2)) ~ (size_XuKj GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww_sxiJ :: GHC.TypeLits.KnownNat (size_XuKj GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww_sxiL :: Data.Bits.Bits (rep_XuKh (size_XuKj GHC.TypeLits.+ 2))) (ww_sxiN :: CLaSH.Sized.Fixed.ResizeFC rep_XuKh (frac_XuKf GHC.TypeLits.+ frac_XuKf) frac_XuKf (size_XuKj GHC.TypeLits.+ size_XuKj) size_XuKj) (ww_sxiP :: GHC.Num.Num (rep_XuKh (size_XuKj GHC.TypeLits.+ 2))) (w_sxiw :: CLaSH.Sized.Fixed.Fixed frac_XuKf rep_XuKh size_XuKj) -> let { $dKnownNat_swsp :: GHC.TypeLits.KnownNat size_XuKj [LclId, Str=DmdType] $dKnownNat_swsp = case ww_sxiN of _ [Occ=Dead, Dmd=] { (tpl_X1W [Dmd=], tpl_X1Y [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B7 } } in case ww_sxiD of _ [Occ=Dead] { GHC.Types.Eq# ww_sxhP -> case ww_sxiF of _ [Occ=Dead] { CLaSH.Class.BitVector.D:BitVector ww_sxhV ww_sxhW -> case ww_sxiH of ww_XxlW { GHC.Types.Eq# ipv_sxtc -> case ww_sxiL of _ [Occ=Dead] { Data.Bits.D:Bits ww_sxi6 ww_sxi7 ww_sxi8 ww_sxi9 ww_sxia ww_sxib ww_sxic ww_sxid ww_sxie ww_sxif ww_sxig ww_sxih ww_sxii ww_sxij ww_sxik ww_sxil ww_sxim ww_sxin ww_sxio ww_sxip ww_sxiq ww_sxir ww_sxis -> ($wsatN2_sxbN @ rep_XuKh @ size_XuKj @~ ww_sxhP ww_sxiE ww_sxhV ww_sxiG ww_sxiH $dKnownNat_swsp ww_sxiJ (case ww_sxiN of _ [Occ=Dead, Dmd=] { (tpl_X21 [Dmd=], tpl_X23 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X21 }) ww_sxil (GHC.Num.negate @ (rep_XuKh (size_XuKj GHC.TypeLits.+ 2)) ww_sxiP (case ww_sxiN of _ [Occ=Dead, Dmd=] { (tpl_X7k [Dmd=], tpl_X7n [Dmd=], tpl_X5o [Dmd=], tpl_X5q [Dmd=], tpl_X5s [Dmd=], tpl_X5u [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> (tpl_X5u `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKh ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKh a_ae8M -> rep_XuKh b_ae8N))) @ size_XuKj @ (size_XuKj GHC.TypeLits.+ 2) $dKnownNat_swsp ww_sxiJ (w_sxiw `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKf rep_XuKh size_XuKj ~# rep_XuKh size_XuKj)) }))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKh size_XuKj ~# CLaSH.Sized.Fixed.Fixed frac_XuKf rep_XuKh size_XuKj) } } } } $cnegate_avCC [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_XuKg :: GHC.TypeLits.Nat)) (@ (rep_XuKi :: GHC.TypeLits.Nat -> *)) (@ (size_XuKk :: GHC.TypeLits.Nat)) (w_sxiv [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKg rep_XuKi size_XuKk) (w_sxiw [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKg rep_XuKi size_XuKk) -> case w_sxiv of _ [Occ=Dead] { (ww_sxiz [Occ=Once!], ww_sxiN [Occ=Once], _ [Occ=Dead], ww_sxiP [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> case ww_sxiz of _ [Occ=Dead] { (ww_sxiC [Occ=Once], ww_sxiD [Occ=Once], ww_sxiE [Occ=Once], ww_sxiF [Occ=Once], ww_sxiG [Occ=Once], ww_sxiH [Occ=Once], ww_sxiI [Occ=Once], ww_sxiJ [Occ=Once], ww_sxiK [Occ=Once], ww_sxiL [Occ=Once]) -> $w$cnegate_sxiT @ frac_XuKg @ rep_XuKi @ size_XuKk ww_sxiC ww_sxiD ww_sxiE ww_sxiF ww_sxiG ww_sxiH ww_sxiI ww_sxiJ ww_sxiK ww_sxiL ww_sxiN ww_sxiP w_sxiw } }}] $cnegate_avCC = \ (@ (frac_XuKg :: GHC.TypeLits.Nat)) (@ (rep_XuKi :: GHC.TypeLits.Nat -> *)) (@ (size_XuKk :: GHC.TypeLits.Nat)) (w_sxiv :: CLaSH.Sized.Fixed.NumFixed frac_XuKg rep_XuKi size_XuKk) (w_sxiw :: CLaSH.Sized.Fixed.Fixed frac_XuKg rep_XuKi size_XuKk) -> case w_sxiv of _ [Occ=Dead] { (ww_sxiz, ww_sxiN, ww_sxiO, ww_sxiP, ww_sxiQ, ww_sxiR) -> case ww_sxiz of _ [Occ=Dead] { (ww_sxiC, ww_sxiD, ww_sxiE, ww_sxiF, ww_sxiG, ww_sxiH, ww_sxiI, ww_sxiJ, ww_sxiK, ww_sxiL) -> $w$cnegate_sxiT @ frac_XuKg @ rep_XuKi @ size_XuKk ww_sxiC ww_sxiD ww_sxiE ww_sxiF ww_sxiG ww_sxiH ww_sxiI ww_sxiJ ww_sxiK ww_sxiL ww_sxiN ww_sxiP w_sxiw } } $w$c-_sxk5 :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (1 GHC.TypeLits.<= size_auH0, ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_auH0 GHC.TypeLits.+ 2), CLaSH.Class.BitVector.BitVector (rep_auGZ size_auH0), CLaSH.Class.BitVector.BitVector (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0) ~ size_auH0, CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) ~ (size_auH0 GHC.TypeLits.+ 2), GHC.TypeLits.KnownNat size_auH0, GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ 2), GHC.Enum.Bounded (rep_auGZ size_auH0), Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0, GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=14, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=14, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 20 0 20 0 20 0 0 0 20 80 30 0 0] 236 60}] $w$c-_sxk5 = \ (@ (frac_XuKh :: GHC.TypeLits.Nat)) (@ (rep_XuKj :: GHC.TypeLits.Nat -> *)) (@ (size_XuKl :: GHC.TypeLits.Nat)) _ [Occ=Dead] (ww_sxjP :: ((size_XuKl GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_XuKl GHC.TypeLits.+ 2)) (ww_sxjQ :: CLaSH.Class.BitVector.BitVector (rep_XuKj size_XuKl)) (ww_sxjR :: CLaSH.Class.BitVector.BitVector (rep_XuKj (size_XuKl GHC.TypeLits.+ 2))) (ww_sxjS :: CLaSH.Class.BitVector.BitSize (rep_XuKj size_XuKl) ~ size_XuKl) (ww_sxjT :: CLaSH.Class.BitVector.BitSize (rep_XuKj (size_XuKl GHC.TypeLits.+ 2)) ~ (size_XuKl GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww_sxjV :: GHC.TypeLits.KnownNat (size_XuKl GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww_sxjX :: Data.Bits.Bits (rep_XuKj (size_XuKl GHC.TypeLits.+ 2))) (ww_sxjZ :: CLaSH.Sized.Fixed.ResizeFC rep_XuKj (frac_XuKh GHC.TypeLits.+ frac_XuKh) frac_XuKh (size_XuKl GHC.TypeLits.+ size_XuKl) size_XuKl) (ww_sxk1 :: GHC.Num.Num (rep_XuKj (size_XuKl GHC.TypeLits.+ 2))) (w_sxjH :: CLaSH.Sized.Fixed.Fixed frac_XuKh rep_XuKj size_XuKl) (w_sxjI :: CLaSH.Sized.Fixed.Fixed frac_XuKh rep_XuKj size_XuKl) -> let { $dKnownNat_swsg :: GHC.TypeLits.KnownNat size_XuKl [LclId, Str=DmdType] $dKnownNat_swsg = case ww_sxjZ of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B7 } } in case ww_sxjP of _ [Occ=Dead] { GHC.Types.Eq# ww_sxj0 -> case ww_sxjR of _ [Occ=Dead] { CLaSH.Class.BitVector.D:BitVector ww_sxj6 ww_sxj7 -> case ww_sxjT of ww_Xxna { GHC.Types.Eq# ipv_sxtX -> case ww_sxjX of _ [Occ=Dead] { Data.Bits.D:Bits ww_sxjh ww_sxji ww_sxjj ww_sxjk ww_sxjl ww_sxjm ww_sxjn ww_sxjo ww_sxjp ww_sxjq ww_sxjr ww_sxjs ww_sxjt ww_sxju ww_sxjv ww_sxjw ww_sxjx ww_sxjy ww_sxjz ww_sxjA ww_sxjB ww_sxjC ww_sxjD -> ($wsatN2_sxbN @ rep_XuKj @ size_XuKl @~ ww_sxj0 ww_sxjQ ww_sxj6 ww_sxjS ww_sxjT $dKnownNat_swsg ww_sxjV (case ww_sxjZ of _ [Occ=Dead, Dmd=] { (tpl_X25 [Dmd=], tpl_X27 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X25 }) ww_sxjw (GHC.Num.- @ (rep_XuKj (size_XuKl GHC.TypeLits.+ 2)) ww_sxk1 (case ww_sxjZ of _ [Occ=Dead, Dmd=] { (tpl_X1Y [Dmd=], tpl_X20 [Dmd=], tpl_X5s [Dmd=], tpl_X5u [Dmd=], tpl_X5w [Dmd=], tpl_X5y [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> (tpl_X5y `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKj ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKj a_ae8M -> rep_XuKj b_ae8N))) @ size_XuKl @ (size_XuKl GHC.TypeLits.+ 2) $dKnownNat_swsg ww_sxjV (w_sxjH `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKh rep_XuKj size_XuKl ~# rep_XuKj size_XuKl)) }) (case ww_sxjZ of _ [Occ=Dead, Dmd=] { (tpl_X1Y [Dmd=], tpl_X20 [Dmd=], tpl_X5s [Dmd=], tpl_X5u [Dmd=], tpl_X5w [Dmd=], tpl_X5y [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> (tpl_X5y `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKj ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKj a_ae8M -> rep_XuKj b_ae8N))) @ size_XuKl @ (size_XuKl GHC.TypeLits.+ 2) $dKnownNat_swsg ww_sxjV (w_sxjI `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKh rep_XuKj size_XuKl ~# rep_XuKj size_XuKl)) }))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKj size_XuKl ~# CLaSH.Sized.Fixed.Fixed frac_XuKh rep_XuKj size_XuKl) } } } } $c-_avCb [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_XuKi :: GHC.TypeLits.Nat)) (@ (rep_XuKk :: GHC.TypeLits.Nat -> *)) (@ (size_XuKm :: GHC.TypeLits.Nat)) (w_sxjG [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKi rep_XuKk size_XuKm) (w_sxjH [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKi rep_XuKk size_XuKm) (w_sxjI [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKi rep_XuKk size_XuKm) -> case w_sxjG of _ [Occ=Dead] { (ww_sxjL [Occ=Once!], ww_sxjZ [Occ=Once], _ [Occ=Dead], ww_sxk1 [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> case ww_sxjL of _ [Occ=Dead] { (ww_sxjO [Occ=Once], ww_sxjP [Occ=Once], ww_sxjQ [Occ=Once], ww_sxjR [Occ=Once], ww_sxjS [Occ=Once], ww_sxjT [Occ=Once], ww_sxjU [Occ=Once], ww_sxjV [Occ=Once], ww_sxjW [Occ=Once], ww_sxjX [Occ=Once]) -> $w$c-_sxk5 @ frac_XuKi @ rep_XuKk @ size_XuKm ww_sxjO ww_sxjP ww_sxjQ ww_sxjR ww_sxjS ww_sxjT ww_sxjU ww_sxjV ww_sxjW ww_sxjX ww_sxjZ ww_sxk1 w_sxjH w_sxjI } }}] $c-_avCb = \ (@ (frac_XuKi :: GHC.TypeLits.Nat)) (@ (rep_XuKk :: GHC.TypeLits.Nat -> *)) (@ (size_XuKm :: GHC.TypeLits.Nat)) (w_sxjG :: CLaSH.Sized.Fixed.NumFixed frac_XuKi rep_XuKk size_XuKm) (w_sxjH :: CLaSH.Sized.Fixed.Fixed frac_XuKi rep_XuKk size_XuKm) (w_sxjI :: CLaSH.Sized.Fixed.Fixed frac_XuKi rep_XuKk size_XuKm) -> case w_sxjG of _ [Occ=Dead] { (ww_sxjL, ww_sxjZ, ww_sxk0, ww_sxk1, ww_sxk2, ww_sxk3) -> case ww_sxjL of _ [Occ=Dead] { (ww_sxjO, ww_sxjP, ww_sxjQ, ww_sxjR, ww_sxjS, ww_sxjT, ww_sxjU, ww_sxjV, ww_sxjW, ww_sxjX) -> $w$c-_sxk5 @ frac_XuKi @ rep_XuKk @ size_XuKm ww_sxjO ww_sxjP ww_sxjQ ww_sxjR ww_sxjS ww_sxjT ww_sxjU ww_sxjV ww_sxjW ww_sxjX ww_sxjZ ww_sxk1 w_sxjH w_sxjI } } $c*_avBP [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_XuKk :: GHC.TypeLits.Nat)) (@ (rep_XuKm :: GHC.TypeLits.Nat -> *)) (@ (size_XuKo :: GHC.TypeLits.Nat)) (w_sxkl [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKk rep_XuKm size_XuKo) (w_sxkm [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo) (w_sxkn [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo) -> case w_sxkl of _ [Occ=Dead] { (_ [Occ=Dead], ww_sxkr [Occ=Once!], _ [Occ=Dead], _ [Occ=Dead], ww_sxkJ [Occ=Once], ww_sxkK [Occ=Once!]) -> case ww_sxkr of _ [Occ=Dead] { (ww_sxku [Occ=Once], _ [Occ=Dead], ww_sxkw [Occ=Once], ww_sxkx [Occ=Once], ww_sxky [Occ=Once], ww_sxkz [Occ=Once], ww_sxkA [Occ=Once], ww_sxkB [Occ=Once], ww_sxkC [Occ=Once], ww_sxkD [Occ=Once], ww_sxkE [Occ=Once], _ [Occ=Dead]) -> $wresizeF_sxcA @ (frac_XuKk GHC.TypeLits.+ frac_XuKk) @ frac_XuKk @ rep_XuKm @ (size_XuKo GHC.TypeLits.+ size_XuKo) @ size_XuKo ww_sxku ww_sxkw ww_sxkx ww_sxky ww_sxkz ww_sxkA ww_sxkB ww_sxkC ww_sxkD ww_sxkE (case ww_sxkK of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw1a -> ((ww_sxkJ `cast` (CLaSH.Class.Num.NTCo:Mult[0] _N _N :: CLaSH.Class.Num.Mult (rep_XuKm size_XuKo) (rep_XuKm size_XuKo) ~# (rep_XuKm size_XuKo -> rep_XuKm size_XuKo -> CLaSH.Class.Num.MResult (rep_XuKm size_XuKo) (rep_XuKm size_XuKo)))) (w_sxkm `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo ~# rep_XuKm size_XuKo)) (w_sxkn `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo ~# rep_XuKm size_XuKo))) `cast` (Sub cobox_dw1a ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: CLaSH.Class.Num.MResult (rep_XuKm size_XuKo) (rep_XuKm size_XuKo) ~# CLaSH.Sized.Fixed.Fixed (frac_XuKk GHC.TypeLits.+ frac_XuKk) rep_XuKm (size_XuKo GHC.TypeLits.+ size_XuKo)) }) } }}] $c*_avBP = \ (@ (frac_XuKk :: GHC.TypeLits.Nat)) (@ (rep_XuKm :: GHC.TypeLits.Nat -> *)) (@ (size_XuKo :: GHC.TypeLits.Nat)) (w_sxkl :: CLaSH.Sized.Fixed.NumFixed frac_XuKk rep_XuKm size_XuKo) (w_sxkm :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo) (w_sxkn :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo) -> case w_sxkl of _ [Occ=Dead] { (ww_sxkq, ww_sxkr, ww_sxkH, ww_sxkI, ww_sxkJ, ww_sxkK) -> case ww_sxkr of _ [Occ=Dead] { (ww_sxku, ww_sxkv, ww_sxkw, ww_sxkx, ww_sxky, ww_sxkz, ww_sxkA, ww_sxkB, ww_sxkC, ww_sxkD, ww_sxkE, ww_sxkF) -> $wresizeF_sxcA @ (frac_XuKk GHC.TypeLits.+ frac_XuKk) @ frac_XuKk @ rep_XuKm @ (size_XuKo GHC.TypeLits.+ size_XuKo) @ size_XuKo ww_sxku ww_sxkw ww_sxkx ww_sxky ww_sxkz ww_sxkA ww_sxkB ww_sxkC ww_sxkD ww_sxkE (case ww_sxkK of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw1a -> ((ww_sxkJ `cast` (CLaSH.Class.Num.NTCo:Mult[0] _N _N :: CLaSH.Class.Num.Mult (rep_XuKm size_XuKo) (rep_XuKm size_XuKo) ~# (rep_XuKm size_XuKo -> rep_XuKm size_XuKo -> CLaSH.Class.Num.MResult (rep_XuKm size_XuKo) (rep_XuKm size_XuKo)))) (w_sxkm `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo ~# rep_XuKm size_XuKo)) (w_sxkn `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo ~# rep_XuKm size_XuKo))) `cast` (Sub cobox_dw1a ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: CLaSH.Class.Num.MResult (rep_XuKm size_XuKo) (rep_XuKm size_XuKo) ~# CLaSH.Sized.Fixed.Fixed (frac_XuKk GHC.TypeLits.+ frac_XuKk) rep_XuKm (size_XuKo GHC.TypeLits.+ size_XuKo)) }) } } $w$c+_sxlY :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (1 GHC.TypeLits.<= size_auH0, ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_auH0 GHC.TypeLits.+ 2), CLaSH.Class.BitVector.BitVector (rep_auGZ size_auH0), CLaSH.Class.BitVector.BitVector (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0) ~ size_auH0, CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) ~ (size_auH0 GHC.TypeLits.+ 2), GHC.TypeLits.KnownNat size_auH0, GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ 2), GHC.Enum.Bounded (rep_auGZ size_auH0), Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0, GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=14, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=14, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 20 0 20 0 20 0 0 0 20 80 30 0 0] 236 60}] $w$c+_sxlY = \ (@ (frac_XuKl :: GHC.TypeLits.Nat)) (@ (rep_XuKn :: GHC.TypeLits.Nat -> *)) (@ (size_XuKp :: GHC.TypeLits.Nat)) _ [Occ=Dead] (ww_sxlI :: ((size_XuKp GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_XuKp GHC.TypeLits.+ 2)) (ww_sxlJ :: CLaSH.Class.BitVector.BitVector (rep_XuKn size_XuKp)) (ww_sxlK :: CLaSH.Class.BitVector.BitVector (rep_XuKn (size_XuKp GHC.TypeLits.+ 2))) (ww_sxlL :: CLaSH.Class.BitVector.BitSize (rep_XuKn size_XuKp) ~ size_XuKp) (ww_sxlM :: CLaSH.Class.BitVector.BitSize (rep_XuKn (size_XuKp GHC.TypeLits.+ 2)) ~ (size_XuKp GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww_sxlO :: GHC.TypeLits.KnownNat (size_XuKp GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww_sxlQ :: Data.Bits.Bits (rep_XuKn (size_XuKp GHC.TypeLits.+ 2))) (ww_sxlS :: CLaSH.Sized.Fixed.ResizeFC rep_XuKn (frac_XuKl GHC.TypeLits.+ frac_XuKl) frac_XuKl (size_XuKp GHC.TypeLits.+ size_XuKp) size_XuKp) (ww_sxlU :: GHC.Num.Num (rep_XuKn (size_XuKp GHC.TypeLits.+ 2))) (w_sxlA :: CLaSH.Sized.Fixed.Fixed frac_XuKl rep_XuKn size_XuKp) (w_sxlB :: CLaSH.Sized.Fixed.Fixed frac_XuKl rep_XuKn size_XuKp) -> let { $dKnownNat_sws2 :: GHC.TypeLits.KnownNat size_XuKp [LclId, Str=DmdType] $dKnownNat_sws2 = case ww_sxlS of _ [Occ=Dead, Dmd=] { (tpl_X22 [Dmd=], tpl_X24 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B7 } } in case ww_sxlI of _ [Occ=Dead] { GHC.Types.Eq# ww_sxkT -> case ww_sxlK of _ [Occ=Dead] { CLaSH.Class.BitVector.D:BitVector ww_sxkZ ww_sxl0 -> case ww_sxlM of ww_Xxp7 { GHC.Types.Eq# ipv_sxuU -> case ww_sxlQ of _ [Occ=Dead] { Data.Bits.D:Bits ww_sxla ww_sxlb ww_sxlc ww_sxld ww_sxle ww_sxlf ww_sxlg ww_sxlh ww_sxli ww_sxlj ww_sxlk ww_sxll ww_sxlm ww_sxln ww_sxlo ww_sxlp ww_sxlq ww_sxlr ww_sxls ww_sxlt ww_sxlu ww_sxlv ww_sxlw -> ($wsatN2_sxbN @ rep_XuKn @ size_XuKp @~ ww_sxkT ww_sxlJ ww_sxkZ ww_sxlL ww_sxlM $dKnownNat_sws2 ww_sxlO (case ww_sxlS of _ [Occ=Dead, Dmd=] { (tpl_X27 [Dmd=], tpl_X29 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X27 }) ww_sxlp (GHC.Num.+ @ (rep_XuKn (size_XuKp GHC.TypeLits.+ 2)) ww_sxlU (case ww_sxlS of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_X5u [Dmd=], tpl_X5w [Dmd=], tpl_X5y [Dmd=], tpl_X5A [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> (tpl_X5A `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKn ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKn a_ae8M -> rep_XuKn b_ae8N))) @ size_XuKp @ (size_XuKp GHC.TypeLits.+ 2) $dKnownNat_sws2 ww_sxlO (w_sxlA `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKl rep_XuKn size_XuKp ~# rep_XuKn size_XuKp)) }) (case ww_sxlS of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_X5u [Dmd=], tpl_X5w [Dmd=], tpl_X5y [Dmd=], tpl_X5A [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> (tpl_X5A `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKn ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKn a_ae8M -> rep_XuKn b_ae8N))) @ size_XuKp @ (size_XuKp GHC.TypeLits.+ 2) $dKnownNat_sws2 ww_sxlO (w_sxlB `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKl rep_XuKn size_XuKp ~# rep_XuKn size_XuKp)) }))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKn size_XuKp ~# CLaSH.Sized.Fixed.Fixed frac_XuKl rep_XuKn size_XuKp) } } } } $c+_avBo [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_XuKm :: GHC.TypeLits.Nat)) (@ (rep_XuKo :: GHC.TypeLits.Nat -> *)) (@ (size_XuKq :: GHC.TypeLits.Nat)) (w_sxlz [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKm rep_XuKo size_XuKq) (w_sxlA [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKm rep_XuKo size_XuKq) (w_sxlB [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKm rep_XuKo size_XuKq) -> case w_sxlz of _ [Occ=Dead] { (ww_sxlE [Occ=Once!], ww_sxlS [Occ=Once], _ [Occ=Dead], ww_sxlU [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> case ww_sxlE of _ [Occ=Dead] { (ww_sxlH [Occ=Once], ww_sxlI [Occ=Once], ww_sxlJ [Occ=Once], ww_sxlK [Occ=Once], ww_sxlL [Occ=Once], ww_sxlM [Occ=Once], ww_sxlN [Occ=Once], ww_sxlO [Occ=Once], ww_sxlP [Occ=Once], ww_sxlQ [Occ=Once]) -> $w$c+_sxlY @ frac_XuKm @ rep_XuKo @ size_XuKq ww_sxlH ww_sxlI ww_sxlJ ww_sxlK ww_sxlL ww_sxlM ww_sxlN ww_sxlO ww_sxlP ww_sxlQ ww_sxlS ww_sxlU w_sxlA w_sxlB } }}] $c+_avBo = \ (@ (frac_XuKm :: GHC.TypeLits.Nat)) (@ (rep_XuKo :: GHC.TypeLits.Nat -> *)) (@ (size_XuKq :: GHC.TypeLits.Nat)) (w_sxlz :: CLaSH.Sized.Fixed.NumFixed frac_XuKm rep_XuKo size_XuKq) (w_sxlA :: CLaSH.Sized.Fixed.Fixed frac_XuKm rep_XuKo size_XuKq) (w_sxlB :: CLaSH.Sized.Fixed.Fixed frac_XuKm rep_XuKo size_XuKq) -> case w_sxlz of _ [Occ=Dead] { (ww_sxlE, ww_sxlS, ww_sxlT, ww_sxlU, ww_sxlV, ww_sxlW) -> case ww_sxlE of _ [Occ=Dead] { (ww_sxlH, ww_sxlI, ww_sxlJ, ww_sxlK, ww_sxlL, ww_sxlM, ww_sxlN, ww_sxlO, ww_sxlP, ww_sxlQ) -> $w$c+_sxlY @ frac_XuKm @ rep_XuKo @ size_XuKq ww_sxlH ww_sxlI ww_sxlJ ww_sxlK ww_sxlL ww_sxlM ww_sxlN ww_sxlO ww_sxlP ww_sxlQ ww_sxlS ww_sxlU w_sxlA w_sxlB } } CLaSH.Sized.Fixed.$fNumFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => GHC.Num.Num (CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) [LclIdX[DFunId], Arity=1, Str=DmdType m, Unf=DFun: \ (@ (frac_XuIO :: GHC.TypeLits.Nat)) (@ (rep_XuIQ :: GHC.TypeLits.Nat -> *)) (@ (size_XuIS :: GHC.TypeLits.Nat)) (tup_XvDf :: CLaSH.Sized.Fixed.NumFixed frac_XuIO rep_XuIQ size_XuIS) -> GHC.Num.D:Num TYPE CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS $c+_avBo @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $c*_avBP @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $c-_avCb @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $cnegate_avCC @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $cabs_avCW @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf (a_swkh @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) `cast` (_R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> rep_XuIQ size_XuIS) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS)) $cfromInteger_avDp @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf] CLaSH.Sized.Fixed.$fNumFixed = \ (@ (frac_XuIO :: GHC.TypeLits.Nat)) (@ (rep_XuIQ :: GHC.TypeLits.Nat -> *)) (@ (size_XuIS :: GHC.TypeLits.Nat)) (tup_XvDf [Dmd=] :: CLaSH.Sized.Fixed.NumFixed frac_XuIO rep_XuIQ size_XuIS) -> GHC.Num.D:Num @ (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS) ($c+_avBo @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($c*_avBP @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($c-_avCb @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($cnegate_avCC @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($cabs_avCW @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ((a_swkh @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) `cast` (_R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> rep_XuIQ size_XuIS) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS))) ($cfromInteger_avDp @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) CLaSH.Sized.Fixed.$fBitVectorFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV) => CLaSH.Class.BitVector.BitVector (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV) [LclIdX[DFunId], Arity=1, Str=DmdType m, Unf=DFun: \ (@ (frac_XuIN :: GHC.TypeLits.Nat)) (@ (rep_XuIP :: GHC.TypeLits.Nat -> *)) (@ (size_XuIR :: GHC.TypeLits.Nat)) ($dBitVector_XvCT :: CLaSH.Class.BitVector.BitVector (rep_XuIP size_XuIR)) -> CLaSH.Class.BitVector.D:BitVector TYPE CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR (\ ($dKnownNat_avB0 :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (ds_dw0H :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) -> CLaSH.Class.BitVector.toBV @ (rep_XuIP size_XuIR) $dBitVector_XvCT ($dKnownNat_avB0 `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (ds_dw0H `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR ~# rep_XuIP size_XuIR))) `cast` (_R -> _R -> (CLaSH.Sized.Vector.Vec (Sym (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N)) _R)_R :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit)) (\ ($dKnownNat_avBa :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (bv_auGX :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit) -> CLaSH.Class.BitVector.fromBV @ (rep_XuIP size_XuIR) $dBitVector_XvCT ($dKnownNat_avBa `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (bv_auGX `cast` ((CLaSH.Sized.Vector.Vec (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit))) `cast` (_R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> rep_XuIP size_XuIR) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))] CLaSH.Sized.Fixed.$fBitVectorFixed = \ (@ (frac_XuIN :: GHC.TypeLits.Nat)) (@ (rep_XuIP :: GHC.TypeLits.Nat -> *)) (@ (size_XuIR :: GHC.TypeLits.Nat)) ($dBitVector_XvCT [Dmd=] :: CLaSH.Class.BitVector.BitVector (rep_XuIP size_XuIR)) -> let { lvl_sxDk :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) => rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit [LclId, Str=DmdType] lvl_sxDk = CLaSH.Class.BitVector.toBV @ (rep_XuIP size_XuIR) $dBitVector_XvCT } in let { lvl_sxDl :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> rep_XuIP size_XuIR [LclId, Str=DmdType] lvl_sxDl = CLaSH.Class.BitVector.fromBV @ (rep_XuIP size_XuIR) $dBitVector_XvCT } in CLaSH.Class.BitVector.D:BitVector @ (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) ((\ ($dKnownNat_avB0 :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (ds_dw0H :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) -> lvl_sxDk ($dKnownNat_avB0 `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (ds_dw0H `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR ~# rep_XuIP size_XuIR))) `cast` (_R -> _R -> (CLaSH.Sized.Vector.Vec (Sym (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N)) _R)_R :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit))) ((\ ($dKnownNat_avBa :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (bv_auGX :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit) -> lvl_sxDl ($dKnownNat_avBa `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (bv_auGX `cast` ((CLaSH.Sized.Vector.Vec (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit))) `cast` (_R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> rep_XuIP size_XuIR) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) a_swC4 :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => Data.Default.Class.Default (rep_auGM size_auGN) [LclId, Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swC4 = \ (@ (frac_auGL :: GHC.TypeLits.Nat)) (@ (rep_auGM :: GHC.TypeLits.Nat -> *)) (@ (size_auGN :: GHC.TypeLits.Nat)) ($dDefault_avAe :: Data.Default.Class.Default (rep_auGM size_auGN)) -> $dDefault_avAe $cdef_avAg :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => CLaSH.Sized.Fixed.Fixed frac_auGL rep_auGM size_auGN [LclId, Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $cdef_avAg = a_swC4 `cast` (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). _R -> Data.Default.Class.NTCo:Default[0] _N ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => Data.Default.Class.Default (rep_XuLZ size_XuM1)) ~# (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => CLaSH.Sized.Fixed.Fixed frac_XuLX rep_XuLZ size_XuM1)) CLaSH.Sized.Fixed.$fDefaultFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_auGL rep_auGM size_auGN) [LclIdX[DFunId(nt)], Arity=1, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= $cdef_avAg `cast` (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). _R -> Sym (Data.Default.Class.NTCo:Default[0] _N) :: (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuIO size_XuIQ) => CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ) ~# (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuIO size_XuIQ) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ)))}] CLaSH.Sized.Fixed.$fDefaultFixed = a_swC4 `cast` (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). _R -> Data.Default.Class.NTCo:Default[0] _N ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sym (Data.Default.Class.NTCo:Default[0] _N) :: (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => Data.Default.Class.Default (rep_XuLZ size_XuM1)) ~# (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_XuLX rep_XuLZ size_XuM1))) CLaSH.Sized.Fixed.$fBoundedFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_auGJ size_auGK) => GHC.Enum.Bounded (CLaSH.Sized.Fixed.Fixed frac_auGI rep_auGJ size_auGK) [LclIdX[DFunId], Arity=1, Str=DmdType m, Unf=DFun: \ (@ (frac_XuIW :: GHC.TypeLits.Nat)) (@ (rep_XuIY :: GHC.TypeLits.Nat -> *)) (@ (size_XuJ0 :: GHC.TypeLits.Nat)) ($dBounded_XvCa :: GHC.Enum.Bounded (rep_XuIY size_XuJ0)) -> GHC.Enum.D:Bounded TYPE CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0 (GHC.Enum.minBound @ (rep_XuIY size_XuJ0) $dBounded_XvCa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0) (GHC.Enum.maxBound @ (rep_XuIY size_XuJ0) $dBounded_XvCa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0)] CLaSH.Sized.Fixed.$fBoundedFixed = \ (@ (frac_XuIW :: GHC.TypeLits.Nat)) (@ (rep_XuIY :: GHC.TypeLits.Nat -> *)) (@ (size_XuJ0 :: GHC.TypeLits.Nat)) ($dBounded_XvCa [Dmd=] :: GHC.Enum.Bounded (rep_XuIY size_XuJ0)) -> GHC.Enum.D:Bounded @ (CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0) ((GHC.Enum.minBound @ (rep_XuIY size_XuJ0) $dBounded_XvCa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0)) ((GHC.Enum.maxBound @ (rep_XuIY size_XuJ0) $dBounded_XvCa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0)) CLaSH.Sized.Fixed.$fOrdFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => GHC.Classes.Ord (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) [LclIdX[DFunId[1]], Arity=2, Str=DmdType m, Unf=DFun: \ (@ (frac_XuIv :: GHC.TypeLits.Nat)) (@ (rep_XuIx :: GHC.TypeLits.Nat -> *)) (@ (size_XuIz :: GHC.TypeLits.Nat)) ($dEq_XvB3 :: GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) ($dOrd_XvB5 :: GHC.Classes.Ord (rep_XuIx size_XuIz)) -> GHC.Classes.D:Ord TYPE CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz $dEq_XvB3 (GHC.Classes.compare @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Ordering) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Ordering)) (GHC.Classes.< @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) (GHC.Classes.>= @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) (GHC.Classes.> @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) (GHC.Classes.<= @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) (GHC.Classes.max @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) (GHC.Classes.min @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz))] CLaSH.Sized.Fixed.$fOrdFixed = \ (@ (frac_XuIv :: GHC.TypeLits.Nat)) (@ (rep_XuIx :: GHC.TypeLits.Nat -> *)) (@ (size_XuIz :: GHC.TypeLits.Nat)) ($dEq_XvB3 :: GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) ($dOrd_XvB5 [Dmd=] :: GHC.Classes.Ord (rep_XuIx size_XuIz)) -> GHC.Classes.D:Ord @ (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz) $dEq_XvB3 ((GHC.Classes.compare @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Ordering) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Ordering))) ((GHC.Classes.< @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.>= @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.> @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.<= @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.max @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz))) ((GHC.Classes.min @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz))) CLaSH.Sized.Fixed.$fEqFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_auFG size_auFH) => GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) [LclIdX[DFunId], Arity=1, Str=DmdType m, Unf=DFun: \ (@ (frac_XuII :: GHC.TypeLits.Nat)) (@ (rep_XuIK :: GHC.TypeLits.Nat -> *)) (@ (size_XuIM :: GHC.TypeLits.Nat)) ($dEq_XvAL :: GHC.Classes.Eq (rep_XuIK size_XuIM)) -> GHC.Classes.D:Eq TYPE CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM (GHC.Classes.== @ (rep_XuIK size_XuIM) $dEq_XvAL) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool)) (GHC.Classes./= @ (rep_XuIK size_XuIM) $dEq_XvAL) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool))] CLaSH.Sized.Fixed.$fEqFixed = \ (@ (frac_XuII :: GHC.TypeLits.Nat)) (@ (rep_XuIK :: GHC.TypeLits.Nat -> *)) (@ (size_XuIM :: GHC.TypeLits.Nat)) ($dEq_XvAL [Dmd=] :: GHC.Classes.Eq (rep_XuIK size_XuIM)) -> GHC.Classes.D:Eq @ (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM) ((GHC.Classes.== @ (rep_XuIK size_XuIM) $dEq_XvAL) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool))) ((GHC.Classes./= @ (rep_XuIK size_XuIM) $dEq_XvAL) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool))) a_swC6 :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] a_swC6 = GHC.CString.unpackCString# "Fixed"# a_swC9 :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 0}] a_swC9 = GHC.CString.unpackCString# "clash-prelude-0.5"# a_swCb :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 0}] a_swCb = GHC.CString.unpackCString# "CLaSH.Sized.Fixed"# a_swC7 :: Language.Haskell.TH.Syntax.NameFlavour [LclId, Str=DmdType m5, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}] a_swC7 = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.DataName (a_swC9 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a_swCb `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) lvl_swwh :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] lvl_swwh = Language.Haskell.TH.Syntax.Name (a_swC6 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a_swC7 a_swCe :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] a_swCe = GHC.CString.unpackCString# "Fixed"# a_swCh :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 0}] a_swCh = GHC.CString.unpackCString# "clash-prelude-0.5"# a_swCj :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 0}] a_swCj = GHC.CString.unpackCString# "CLaSH.Sized.Fixed"# a_swCf :: Language.Haskell.TH.Syntax.NameFlavour [LclId, Str=DmdType m5, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}] a_swCf = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.TcClsName (a_swCh `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a_swCj `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) lvl_swwp :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] lvl_swwp = Language.Haskell.TH.Syntax.Name (a_swCe `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a_swCf lvl_sxDm :: Language.Haskell.TH.Syntax.Type [LclId, Str=DmdType] lvl_sxDm = Language.Haskell.TH.Syntax.ConT lvl_swwp a_swCk :: forall (m_a4Ni :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4Ni => m_a4Ni Language.Haskell.TH.Syntax.Type [LclId, Arity=1, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (m_a4Ni :: * -> *)) (eta_a4Nj [Occ=Once] :: Language.Haskell.TH.Syntax.Quasi m_a4Ni) -> GHC.Base.return @ m_a4Ni (Language.Haskell.TH.Syntax.$p1Quasi @ m_a4Ni eta_a4Nj) @ Language.Haskell.TH.Syntax.Type (Language.Haskell.TH.Syntax.ConT lvl_swwp)}] a_swCk = \ (@ (m_a4Ni :: * -> *)) (eta_a4Nj :: Language.Haskell.TH.Syntax.Quasi m_a4Ni) -> GHC.Base.return @ m_a4Ni (Language.Haskell.TH.Syntax.$p1Quasi @ m_a4Ni eta_a4Nj) @ Language.Haskell.TH.Syntax.Type lvl_sxDm Rec { lgo_sxDo [Occ=LoopBreaker] :: Language.Haskell.TH.Lib.TypeQ -> [Language.Haskell.TH.Lib.TypeQ] -> Language.Haskell.TH.Lib.TypeQ [LclId, Arity=2, Str=DmdType ] lgo_sxDo = \ (z_awhM :: Language.Haskell.TH.Lib.TypeQ) (ds_awhN :: [Language.Haskell.TH.Lib.TypeQ]) -> case ds_awhN of _ [Occ=Dead, Dmd=] { [] -> z_awhM; : x_awhS [Dmd=] xs_awhT [Dmd=] -> lgo_sxDo ((Language.Haskell.TH.Lib.appT1 z_awhM x_awhS) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) xs_awhT } end Rec } lvl_sxDp :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType] lvl_sxDp = Language.Haskell.TH.Syntax.Name ((GHC.Types.[] @ GHC.Types.Char) `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) Language.Haskell.TH.Syntax.NameS lvl_sxDr :: Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] lvl_sxDr = Language.Haskell.TH.Syntax.ConE lvl_swwh a_swCv :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> forall (m_akMz :: * -> *). Language.Haskell.TH.Syntax.Quasi m_akMz => m_akMz Language.Haskell.TH.Syntax.Exp [LclId, Arity=5, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] a_swCv = \ (@ (frac_auGO :: GHC.TypeLits.Nat)) (@ (rep_auGP :: GHC.TypeLits.Nat -> *)) (@ (size_auGQ :: GHC.TypeLits.Nat)) ($dLift_avAq [Dmd=] :: Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ)) ($dKnownNat_avAr :: GHC.TypeLits.KnownNat frac_auGO) ($dKnownNat_avAs :: GHC.TypeLits.KnownNat size_auGQ) ($dTypeable_avAt :: Data.Typeable.Internal.Typeable rep_auGP) (f_auGR :: CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ) -> let { w1_acZp [Dmd=] :: Language.Haskell.TH.Lib.ExpQ [LclId, Str=DmdType] w1_acZp = ($dLift_avAq `cast` (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N :: Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ) ~# (rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp))) (f_auGR `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ ~# rep_auGP size_auGQ)) } in let { w1_akV2 [Dmd=] :: Language.Haskell.TH.Lib.TypeQ [LclId, Str=DmdType] w1_akV2 = lgo_sxDo (a_swCk `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (GHC.Types.: @ Language.Haskell.TH.Lib.TypeQ (let { l_a5DZ [Dmd=] :: Language.Haskell.TH.Lib.TyLitQ [LclId, Str=DmdType] l_a5DZ = Language.Haskell.TH.Lib.numTyLit ($dKnownNat_avAr `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_auGO ~# GHC.Integer.Type.Integer)) } in (\ (@ (m_a5E0 :: * -> *)) (eta_a5E1 :: Language.Haskell.TH.Syntax.Quasi m_a5E0) -> GHC.Base.fmap @ m_a5E0 (Control.Applicative.$p1Applicative @ m_a5E0 (Language.Haskell.TH.Syntax.$p2Quasi @ m_a5E0 eta_a5E1)) @ Language.Haskell.TH.Syntax.TyLit @ Language.Haskell.TH.Syntax.Type Language.Haskell.TH.Syntax.LitT ((l_a5DZ `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.TyLit ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.TyLit))) @ m_a5E0 eta_a5E1)) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (GHC.Types.: @ Language.Haskell.TH.Lib.TypeQ (let { x_X4Ts :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType] x_X4Ts = case ($dTypeable_avAt `cast` (Data.Typeable.Internal.NTCo:Typeable[0] *>_N _N :: Data.Typeable.Internal.Typeable rep_auGP ~# (GHC.Prim.Proxy# rep_auGP -> Data.Typeable.Internal.TypeRep))) (GHC.Prim.proxy# @ (GHC.TypeLits.Nat -> *) @ rep_auGP) of _ [Occ=Dead, Dmd=] { Data.Typeable.Internal.TypeRep ww1_awCq [Dmd=] ww2_awCr [Dmd=] ww3_awCs [Dmd=] ww4_awCt [Dmd=] -> case GHC.List.reverse1 @ GHC.Types.Char (Data.Typeable.Internal.$w$cshowsPrec GHC.Show.shows27 ww3_awCs ww4_awCt (GHC.Types.[] @ GHC.Types.Char)) (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead, Dmd=] { [] -> lvl_sxDp; : ds_a5Fa [Dmd=] rev_a5Fb [Dmd=] -> case ds_a5Fa of wild22_a5Fd { GHC.Types.C# ds1_a5Ff [Dmd=] -> case ds1_a5Ff of _ [Occ=Dead, Dmd=] { __DEFAULT -> case Language.Haskell.TH.Syntax.mkName_$s$wsplit1 ds_a5Fa (GHC.Types.[] @ GHC.Types.Char) rev_a5Fb of _ [Occ=Dead, Dmd=] { (# ww1_a5Aw, ww2_a5Ax #) -> Language.Haskell.TH.Syntax.Name ww1_a5Aw ww2_a5Ax }; '.' -> case Language.Haskell.TH.Syntax.mkName_$s$wsplit1 ds_a5Fa (GHC.Types.[] @ GHC.Types.Char) rev_a5Fb of _ [Occ=Dead, Dmd=] { (# ww1_a5Aw, ww2_a5Ax #) -> Language.Haskell.TH.Syntax.Name ww1_a5Aw ww2_a5Ax } } } } } } in let { lvl_sxDq :: Language.Haskell.TH.Syntax.Type [LclId, Str=DmdType] lvl_sxDq = Language.Haskell.TH.Syntax.ConT x_X4Ts } in (\ (@ (m_X4Tv :: * -> *)) (eta_X4Tx :: Language.Haskell.TH.Syntax.Quasi m_X4Tv) -> GHC.Base.return @ m_X4Tv (Language.Haskell.TH.Syntax.$p1Quasi @ m_X4Tv eta_X4Tx) @ Language.Haskell.TH.Syntax.Type lvl_sxDq) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (GHC.Types.: @ Language.Haskell.TH.Lib.TypeQ (let { l_a5DZ [Dmd=] :: Language.Haskell.TH.Lib.TyLitQ [LclId, Str=DmdType] l_a5DZ = Language.Haskell.TH.Lib.numTyLit ($dKnownNat_avAs `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat size_auGQ ~# GHC.Integer.Type.Integer)) } in (\ (@ (m_a5E0 :: * -> *)) (eta_a5E1 :: Language.Haskell.TH.Syntax.Quasi m_a5E0) -> GHC.Base.fmap @ m_a5E0 (Control.Applicative.$p1Applicative @ m_a5E0 (Language.Haskell.TH.Syntax.$p2Quasi @ m_a5E0 eta_a5E1)) @ Language.Haskell.TH.Syntax.TyLit @ Language.Haskell.TH.Syntax.Type Language.Haskell.TH.Syntax.LitT ((l_a5DZ `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.TyLit ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.TyLit))) @ m_a5E0 eta_a5E1)) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (GHC.Types.[] @ Language.Haskell.TH.Lib.TypeQ)))) } in \ (@ (m_akV3 :: * -> *)) (w2_akV4 :: Language.Haskell.TH.Syntax.Quasi m_akV3) -> case w2_akV4 of _ [Occ=Dead, Dmd=] { Language.Haskell.TH.Syntax.D:Quasi ww1_akV7 [Dmd=] ww2_akV8 ww3_akV9 ww4_akVa ww5_akVb ww6_akVc ww7_akVd ww8_akVe ww9_akVf ww10_akVg ww11_akVh ww12_akVi ww13_akVj ww14_akVk ww15_akVl ww16_akVm ww17_akVn ww18_akVo -> case ww1_akV7 of _ [Occ=Dead, Dmd=] { GHC.Base.D:Monad ww20_akVt [Dmd=] ww21_akVu ww22_akVv ww23_akVw -> let { a_akVs :: GHC.Base.Monad m_akV3 [LclId, Str=DmdType m] a_akVs = GHC.Base.D:Monad @ m_akV3 ww20_akVt ww21_akVu ww22_akVv ww23_akVw } in let { eta_akVy :: Language.Haskell.TH.Syntax.Quasi m_akV3 [LclId, Str=DmdType] eta_akVy = Language.Haskell.TH.Syntax.D:Quasi @ m_akV3 a_akVs ww2_akV8 ww3_akV9 ww4_akVa ww5_akVb ww6_akVc ww7_akVd ww8_akVe ww9_akVf ww10_akVg ww11_akVh ww12_akVi ww13_akVj ww14_akVk ww15_akVl ww16_akVm ww17_akVn ww18_akVo } in let { lvl_sxDt :: m_akV3 Language.Haskell.TH.Syntax.Type [LclId, Str=DmdType] lvl_sxDt = (w1_akV2 `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type))) @ m_akV3 eta_akVy } in ww20_akVt @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (let { a_acZP :: GHC.Base.Monad m_akV3 [LclId, Str=DmdType m] a_acZP = GHC.Base.D:Monad @ m_akV3 ww20_akVt ww21_akVu ww22_akVv ww23_akVw } in let { eta_acZV :: Language.Haskell.TH.Syntax.Quasi m_akV3 [LclId, Str=DmdType] eta_acZV = Language.Haskell.TH.Syntax.D:Quasi @ m_akV3 a_acZP ww2_akV8 ww3_akV9 ww4_akVa ww5_akVb ww6_akVc ww7_akVd ww8_akVe ww9_akVf ww10_akVg ww11_akVh ww12_akVi ww13_akVj ww14_akVk ww15_akVl ww16_akVm ww17_akVn ww18_akVo } in let { lvl_sxDs :: m_akV3 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] lvl_sxDs = (w1_acZp `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp))) @ m_akV3 eta_acZV } in ww20_akVt @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (ww22_akVv @ Language.Haskell.TH.Syntax.Exp lvl_sxDr) (\ (x_acZW :: Language.Haskell.TH.Syntax.Exp) -> ww20_akVt @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp lvl_sxDs (\ (x1_acZX :: Language.Haskell.TH.Syntax.Exp) -> ww22_akVv @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.AppE x_acZW x1_acZX)))) (\ (x_akVz :: Language.Haskell.TH.Syntax.Exp) -> ww20_akVt @ Language.Haskell.TH.Syntax.Type @ Language.Haskell.TH.Syntax.Exp lvl_sxDt (\ (x1_akVA :: Language.Haskell.TH.Syntax.Type) -> ww22_akVv @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.SigE x_akVz x1_akVA))) } } $clift_avAv :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp [LclId, Arity=5, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $clift_avAv = a_swCv `cast` (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp)) CLaSH.Sized.Fixed.$fLiftFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ) [LclIdX[DFunId(nt)], Arity=5, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=4, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= $clift_avAv `cast` (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N) :: (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ)))}] CLaSH.Sized.Fixed.$fLiftFixed = a_swCv `cast` (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> (_R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N)) ; Sym (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N) :: (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ))) ------ Local rules for imported ids -------- "SPEC GHC.Real.^ [GHC.Types.Double, GHC.Integer.Type.Integer]" [1] forall ($dNum_swu4 :: GHC.Num.Num GHC.Types.Double) ($dIntegral_swu5 :: GHC.Real.Integral GHC.Integer.Type.Integer). GHC.Real.^ @ GHC.Types.Double @ GHC.Integer.Type.Integer $dNum_swu4 $dIntegral_swu5 = $s^_swu6 *** Common sub-expression: ==================== Common sub-expression ==================== Result size of Common sub-expression = {terms: 2,212, types: 8,025, coercions: 959} lvl_sxD1 :: [GHC.Types.Char] [LclId, Str=DmdType] lvl_sxD1 = GHC.CString.unpackCString# "Negative exponent"# lvl_swvg :: GHC.Types.Double [LclId, Str=DmdType b] lvl_swvg = GHC.Err.error @ GHC.Types.Double lvl_sxD1 lvl_swv0 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swv0 = __integer 1 lvl_swv2 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swv2 = lvl_swv0 lvl_swv4 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swv4 = __integer 2 lvl_swv6 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swv6 = lvl_swv4 Rec { $wg1_sxaw [Occ=LoopBreaker] :: GHC.Prim.Double# -> GHC.Integer.Type.Integer -> GHC.Prim.Double# -> GHC.Prim.Double# [LclId, Arity=3, Str=DmdType ] $wg1_sxaw = \ (ww_sxan :: GHC.Prim.Double#) (w_sxaj :: GHC.Integer.Type.Integer) (ww_sxar :: GHC.Prim.Double#) -> case GHC.Integer.Type.eqInteger# (GHC.Integer.Type.remInteger w_sxaj GHC.Real.even2) GHC.Real.even1 of wild_akF2 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akF2 of wild4_akDQ [Dmd=] { GHC.Types.False -> case GHC.Integer.Type.eqInteger# w_sxaj lvl_swv0 of wild_a2f3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a2f3 of wild5_akDT [Dmd=] { GHC.Types.False -> $wg1_sxaw (GHC.Prim.*## ww_sxan ww_sxan) (GHC.Integer.Type.quotInteger (GHC.Integer.Type.minusInteger w_sxaj lvl_swv0) lvl_swv4) (GHC.Prim.*## ww_sxan ww_sxar); GHC.Types.True -> GHC.Prim.*## ww_sxan ww_sxar } }; GHC.Types.True -> $wg1_sxaw (GHC.Prim.*## ww_sxan ww_sxan) (GHC.Integer.Type.quotInteger w_sxaj lvl_swv4) ww_sxar } } end Rec } lvl_swuS :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swuS = lvl_swv0 lvl_swv8 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swv8 = lvl_swv0 lvl_swva :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swva = lvl_swv4 lvl_swvc :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swvc = lvl_swv4 Rec { $wf_sxaG [Occ=LoopBreaker] :: GHC.Prim.Double# -> GHC.Integer.Type.Integer -> GHC.Prim.Double# [LclId, Arity=2, Str=DmdType ] $wf_sxaG = \ (ww_sxaB :: GHC.Prim.Double#) (w_sxay :: GHC.Integer.Type.Integer) -> case GHC.Integer.Type.eqInteger# (GHC.Integer.Type.remInteger w_sxay GHC.Real.even2) GHC.Real.even1 of wild_akF2 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akF2 of wild2_akDC [Dmd=] { GHC.Types.False -> case GHC.Integer.Type.eqInteger# w_sxay lvl_swv0 of wild_a2f3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a2f3 of wild3_akDF [Dmd=] { GHC.Types.False -> $wg1_sxaw (GHC.Prim.*## ww_sxaB ww_sxaB) (GHC.Integer.Type.quotInteger (GHC.Integer.Type.minusInteger w_sxay lvl_swv0) lvl_swv4) ww_sxaB; GHC.Types.True -> ww_sxaB } }; GHC.Types.True -> $wf_sxaG (GHC.Prim.*## ww_sxaB ww_sxaB) (GHC.Integer.Type.quotInteger w_sxay lvl_swv4) } } end Rec } lvl_swuH :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swuH = __integer 0 lvl_swuK :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swuK = lvl_swuH $w$s^_sxaM [InlPrag=[1]] :: GHC.Types.Double -> GHC.Integer.Type.Integer -> GHC.Prim.Double# [LclId, Arity=2, Str=DmdType ] $w$s^_sxaM = \ (w_sxaH :: GHC.Types.Double) (w_sxaI :: GHC.Integer.Type.Integer) -> case GHC.Integer.Type.ltInteger# w_sxaI lvl_swuH of wild_a4It { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a4It of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case GHC.Integer.Type.eqInteger# w_sxaI lvl_swuK of wild_a2f3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a2f3 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case w_sxaH of _ [Occ=Dead] { GHC.Types.D# ww_sxaB -> $wf_sxaG ww_sxaB w_sxaI }; GHC.Types.True -> 1.0 } }; GHC.Types.True -> case lvl_swvg of wild_00 { } } } $s^_swu6 [InlPrag=INLINE[0]] :: GHC.Types.Double -> GHC.Integer.Type.Integer -> GHC.Types.Double [LclId, Arity=2, Str=DmdType m, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (w_sxaH [Occ=Once] :: GHC.Types.Double) (w_sxaI [Occ=Once] :: GHC.Integer.Type.Integer) -> case $w$s^_sxaM w_sxaH w_sxaI of ww_sxaL { __DEFAULT -> GHC.Types.D# ww_sxaL }}] $s^_swu6 = \ (w_sxaH :: GHC.Types.Double) (w_sxaI :: GHC.Integer.Type.Integer) -> case $w$s^_sxaM w_sxaH w_sxaI of ww_sxaL { __DEFAULT -> GHC.Types.D# ww_sxaL } lvl_swvh :: GHC.Types.Double [LclId, Str=DmdType m] lvl_swvh = GHC.Types.D# 2.0 a_swwS :: [GHC.Types.Char] [LclId, Str=DmdType] a_swwS = GHC.CString.unpackCString# "Fixed"# a_swwV :: [GHC.Types.Char] [LclId, Str=DmdType] a_swwV = GHC.CString.unpackCString# "clash-prelude-0.5"# a_swwX :: [GHC.Types.Char] [LclId, Str=DmdType] a_swwX = GHC.CString.unpackCString# "CLaSH.Sized.Fixed"# a_swwT :: Language.Haskell.TH.Syntax.NameFlavour [LclId, Str=DmdType m5] a_swwT = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.DataName (a_swwV `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a_swwX `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) lvl_swvo :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType m] lvl_swvo = Language.Haskell.TH.Syntax.Name (a_swwS `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a_swwT a_swx0 :: [GHC.Types.Char] [LclId, Str=DmdType] a_swx0 = GHC.CString.unpackCString# "fromInteger"# a_swx3 :: [GHC.Types.Char] [LclId, Str=DmdType] a_swx3 = GHC.CString.unpackCString# "base"# a_swx5 :: [GHC.Types.Char] [LclId, Str=DmdType] a_swx5 = GHC.CString.unpackCString# "GHC.Num"# a_swx1 :: Language.Haskell.TH.Syntax.NameFlavour [LclId, Str=DmdType m5] a_swx1 = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.VarName (a_swx3 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a_swx5 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) lvl_swvw :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType m] lvl_swvw = Language.Haskell.TH.Syntax.Name (a_swx0 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a_swx1 lvl_sxD2 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_sxD2 = lvl_swuH lvl_sxD3 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_sxD3 = lvl_swuH lvl_sxD4 :: Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] lvl_sxD4 = Language.Haskell.TH.Syntax.ConE lvl_swvo lvl_sxD5 :: Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] lvl_sxD5 = Language.Haskell.TH.Syntax.VarE lvl_swvw $wa_sxaS :: forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> forall (m_awx9 :: * -> *). Language.Haskell.TH.Syntax.Quasi m_awx9 => m_awx9 (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) [LclId, Arity=4, Str=DmdType ] $wa_sxaS = \ (@ (frac_avhM :: GHC.TypeLits.Nat)) (@ (rep_avhN :: GHC.TypeLits.Nat -> *)) (@ (size_avhO :: GHC.TypeLits.Nat)) (w_sxaN :: GHC.TypeLits.KnownNat frac_avhM) (w_sxaP :: GHC.Enum.Bounded (rep_avhN size_avhO)) (w_sxaQ :: GHC.Real.Integral (rep_avhN size_avhO)) (w_sxaR :: GHC.Types.Double) -> let { x_akVD :: GHC.Integer.Type.Integer [LclId, Str=DmdType] x_akVD = let { rMax_swu0 [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType] rMax_swu0 = GHC.Real.toInteger @ (rep_avhN size_avhO) w_sxaQ (GHC.Enum.maxBound @ (rep_avhN size_avhO) w_sxaP) } in case w_sxaR of wild_aw7Y [Dmd=] { GHC.Types.D# x_aw80 -> case $w$s^_sxaM lvl_swvh (w_sxaN `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_avhM ~# GHC.Integer.Type.Integer)) of ww_sxaL { __DEFAULT -> case GHC.Integer.Type.decodeDoubleInteger (GHC.Prim.*## x_aw80 ww_sxaL) of ds_aw8O [Dmd=] { (# ipv_aw8Q, ipv1_aw8R #) -> let { truncated_swu2 [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType] truncated_swu2 = case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# ipv1_aw8R 0) of wild1_aw8T [Dmd=] { GHC.Types.False -> GHC.Integer.Type.shiftLInteger ipv_aw8Q ipv1_aw8R; GHC.Types.True -> let { s_aw8X :: GHC.Prim.Int# [LclId, Str=DmdType] s_aw8X = GHC.Prim.negateInt# ipv1_aw8R } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.># s_aw8X 52) of wild2_aw8Z [Dmd=] { GHC.Types.False -> case GHC.Integer.Type.ltInteger# ipv_aw8Q lvl_swuH of wild3_aw92 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild3_aw92 of wild4_aw93 [Dmd=] { GHC.Types.False -> case GHC.Integer.Type.integerToInt ipv_aw8Q of n_aw96 { __DEFAULT -> GHC.Integer.Type.smallInteger (GHC.Prim.uncheckedIShiftRA# n_aw96 s_aw8X) }; GHC.Types.True -> case GHC.Integer.Type.integerToInt (GHC.Integer.Type.negateInteger ipv_aw8Q) of n_aw99 { __DEFAULT -> GHC.Integer.Type.smallInteger (GHC.Prim.negateInt# (GHC.Prim.uncheckedIShiftRA# n_aw99 s_aw8X)) } } }; GHC.Types.True -> lvl_swuH } } } in case GHC.Integer.Type.gtInteger# truncated_swu2 rMax_swu0 of wild_akJ6 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akJ6 of wild_X13 [Dmd=] { GHC.Types.False -> let { rMin_swu1 [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType] rMin_swu1 = GHC.Real.toInteger @ (rep_avhN size_avhO) w_sxaQ (GHC.Enum.minBound @ (rep_avhN size_avhO) w_sxaP) } in case GHC.Integer.Type.ltInteger# truncated_swu2 rMin_swu1 of wild_a4It { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a4It of wild_Xd [Dmd=] { GHC.Types.False -> truncated_swu2; GHC.Types.True -> rMin_swu1 } }; GHC.Types.True -> rMax_swu0 } } } } } } in let { lvl_sxD6 :: Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] lvl_sxD6 = Language.Haskell.TH.Syntax.LitE (Language.Haskell.TH.Syntax.IntegerL x_akVD) } in \ (@ (m_awx9 :: * -> *)) (w1_awxa :: Language.Haskell.TH.Syntax.Quasi m_awx9) -> case w1_awxa of ww_awxb [Dmd=] { Language.Haskell.TH.Syntax.D:Quasi ww1_awxd [Dmd=] ww2_awxe [Dmd=] ww3_awxf [Dmd=] ww4_awxg [Dmd=] ww5_awxh [Dmd=] ww6_awxi [Dmd=] ww7_awxj [Dmd=] ww8_awxk [Dmd=] ww9_awxl [Dmd=] ww10_awxm [Dmd=] ww11_awxn [Dmd=] ww12_awxo [Dmd=] ww13_awxp [Dmd=] ww14_awxq [Dmd=] ww15_awxr [Dmd=] ww16_awxs [Dmd=] ww17_awxt [Dmd=] ww18_awxu [Dmd=] -> case ww1_awxd of ww19_awxw [Dmd=] { GHC.Base.D:Monad ww20_awxy [Dmd=] ww21_awxz [Dmd=] ww22_awxA [Dmd=] ww23_awxB [Dmd=] -> let { lvl_sxD7 :: m_awx9 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] lvl_sxD7 = ww22_awxA @ Language.Haskell.TH.Syntax.Exp lvl_sxD6 } in let { lvl_sxD8 :: m_awx9 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] lvl_sxD8 = ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (ww22_awxA @ Language.Haskell.TH.Syntax.Exp lvl_sxD5) (\ (x_Xd36 :: Language.Haskell.TH.Syntax.Exp) -> ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp lvl_sxD7 (\ (x1_acZX :: Language.Haskell.TH.Syntax.Exp) -> ww22_awxA @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.AppE x_Xd36 x1_acZX))) } in ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) (ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (ww22_awxA @ Language.Haskell.TH.Syntax.Exp lvl_sxD4) (\ (x_acZW :: Language.Haskell.TH.Syntax.Exp) -> ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp lvl_sxD8 (\ (x1_acZX :: Language.Haskell.TH.Syntax.Exp) -> ww22_awxA @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.AppE x_acZW x1_acZX)))) (\ (x_awxD :: Language.Haskell.TH.Syntax.Exp) -> ww22_awxA @ (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) (x_awxD `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:TExp[0] _N) :: Language.Haskell.TH.Syntax.Exp ~# Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)))) } } a_swxS [InlPrag=INLINE[0]] :: forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> forall (m_aw9c :: * -> *). Language.Haskell.TH.Syntax.Quasi m_aw9c => m_aw9c (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) [LclId, Arity=5, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= \ (@ (frac_avhM :: GHC.TypeLits.Nat)) (@ (rep_avhN :: GHC.TypeLits.Nat -> *)) (@ (size_avhO :: GHC.TypeLits.Nat)) (w_sxaN [Occ=Once] :: GHC.TypeLits.KnownNat frac_avhM) _ [Occ=Dead, Dmd=] (w_sxaP [Occ=Once] :: GHC.Enum.Bounded (rep_avhN size_avhO)) (w_sxaQ [Occ=Once] :: GHC.Real.Integral (rep_avhN size_avhO)) (w_sxaR [Occ=Once] :: GHC.Types.Double) -> $wa_sxaS @ frac_avhM @ rep_avhN @ size_avhO w_sxaN w_sxaP w_sxaQ w_sxaR}] a_swxS = \ (@ (frac_avhM :: GHC.TypeLits.Nat)) (@ (rep_avhN :: GHC.TypeLits.Nat -> *)) (@ (size_avhO :: GHC.TypeLits.Nat)) (w_sxaN :: GHC.TypeLits.KnownNat frac_avhM) _ [Occ=Dead, Dmd=] (w_sxaP :: GHC.Enum.Bounded (rep_avhN size_avhO)) (w_sxaQ :: GHC.Real.Integral (rep_avhN size_avhO)) (w_sxaR :: GHC.Types.Double) -> $wa_sxaS @ frac_avhM @ rep_avhN @ size_avhO w_sxaN w_sxaP w_sxaQ w_sxaR CLaSH.Sized.Fixed.fLit :: forall (frac_auFI :: GHC.TypeLits.Nat) (rep_auFJ :: GHC.TypeLits.Nat -> *) (size_auFK :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_auFI, GHC.Num.Num (rep_auFJ size_auFK), GHC.Enum.Bounded (rep_auFJ size_auFK), GHC.Real.Integral (rep_auFJ size_auFK)) => GHC.Types.Double -> Language.Haskell.TH.Syntax.Q (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_auFI rep_auFJ size_auFK)) [LclIdX, Arity=5, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= a_swxS `cast` (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO))) ~# (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> Language.Haskell.TH.Syntax.Q (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO))))}] CLaSH.Sized.Fixed.fLit = a_swxS `cast` (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO))) ~# (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> Language.Haskell.TH.Syntax.Q (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)))) poly_a_sxDa :: forall (n_auFM :: GHC.TypeLits.Nat). 1 GHC.TypeLits.<= n_auFM [LclId, Str=DmdType b] poly_a_sxDa = \ (@ (n_auFM :: GHC.TypeLits.Nat)) -> Control.Exception.Base.absentError @ (1 GHC.TypeLits.<= n_auFM) "ww_sxb3{v} [lid] 1 base:GHC.TypeLits.<={tc r4y} n{tv auFM} [tv]"# $wsatN2_sxbN :: forall (rep_auFL :: GHC.TypeLits.Nat -> *) (n_auFM :: GHC.TypeLits.Nat). (((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) GHC.Prim.~# (n_auFM GHC.TypeLits.+ 2)) -> CLaSH.Class.BitVector.BitVector (rep_auFL n_auFM) => (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) => rep_auFL (n_auFM GHC.TypeLits.+ 2) -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit) -> (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM) ~ n_auFM, CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2)) ~ (n_auFM GHC.TypeLits.+ 2), GHC.TypeLits.KnownNat n_auFM, GHC.TypeLits.KnownNat (n_auFM GHC.TypeLits.+ 2), GHC.Enum.Bounded (rep_auFL n_auFM)) => (rep_auFL (n_auFM GHC.TypeLits.+ 2) -> GHC.Types.Bool) -> rep_auFL (n_auFM GHC.TypeLits.+ 2) -> rep_auFL n_auFM [LclId, Arity=10, Str=DmdType ] $wsatN2_sxbN = \ (@ (rep_auFL :: GHC.TypeLits.Nat -> *)) (@ (n_auFM :: GHC.TypeLits.Nat)) (ww_sxb7 :: ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) GHC.Prim.~# (n_auFM GHC.TypeLits.+ 2)) (ww_sxb9 :: CLaSH.Class.BitVector.BitVector (rep_auFL n_auFM)) (ww_sxbd :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) => rep_auFL (n_auFM GHC.TypeLits.+ 2) -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit) (ww_sxbg :: CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM) ~ n_auFM) (ww_sxbh :: CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2)) ~ (n_auFM GHC.TypeLits.+ 2) Unf=OtherCon []) (ww_sxbi :: GHC.TypeLits.KnownNat n_auFM) (ww_sxbj :: GHC.TypeLits.KnownNat (n_auFM GHC.TypeLits.+ 2)) (ww_sxbk :: GHC.Enum.Bounded (rep_auFL n_auFM)) (ww_sxbD :: rep_auFL (n_auFM GHC.TypeLits.+ 2) -> GHC.Types.Bool) (w_sxb0 :: rep_auFL (n_auFM GHC.TypeLits.+ 2)) -> case ww_sxbh of cobox_sxDb { GHC.Types.Eq# cobox_sxDc -> let { a_sxop [Dmd=] :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit [LclId, Str=DmdType] a_sxop = ww_sxbd (ww_sxbj `cast` ((GHC.TypeLits.KnownNat (Sym cobox_sxDc))_R :: GHC.TypeLits.KnownNat (n_auFM GHC.TypeLits.+ 2) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))))) w_sxb0 } in let { s_swtS :: CLaSH.Sized.Vector.Vec n_auFM CLaSH.Bit.Bit [LclId, Str=DmdType] s_swtS = CLaSH.Sized.Vector.vtail @ n_auFM @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_auFM GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (a_sxop `cast` ((CLaSH.Sized.Vector.Vec (cobox_sxDc ; Sym ww_sxb7) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit))) } in case ww_sxbD w_sxb0 of wild_X5J [Dmd=] { GHC.Types.False -> case CLaSH.Sized.Vector.vhead @ (n_auFM GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (a_sxop `cast` ((CLaSH.Sized.Vector.Vec (cobox_sxDc ; Sym ww_sxb7) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit)) of wild_Xu [Dmd=] { CLaSH.Bit.H -> case CLaSH.Sized.Vector.vhead @ n_auFM @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_auFM GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (a_sxop `cast` ((CLaSH.Sized.Vector.Vec (cobox_sxDc ; Sym ww_sxb7) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit))) of wild_Xv [Dmd=] { CLaSH.Bit.H -> GHC.Enum.minBound @ (rep_auFL n_auFM) ww_sxbk; CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_auFL n_auFM) ww_sxb9 (case ww_sxbg of cobox_XvJ5 [Dmd=] { GHC.Types.Eq# cobox_dw7b -> ww_sxbi `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw7b))_R :: GHC.TypeLits.KnownNat n_auFM ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM))) }) (case ww_sxbg of cobox_XvJ4 [Dmd=] { GHC.Types.Eq# cobox_dw7c -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7c) _R)_R :: CLaSH.Sized.Vector.Vec n_auFM CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) CLaSH.Bit.Bit) }) }; CLaSH.Bit.L -> case CLaSH.Sized.Vector.vhead @ n_auFM @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_auFM GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (a_sxop `cast` ((CLaSH.Sized.Vector.Vec (cobox_sxDc ; Sym ww_sxb7) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit))) of wild_Xv [Dmd=] { CLaSH.Bit.H -> GHC.Enum.maxBound @ (rep_auFL n_auFM) ww_sxbk; CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_auFL n_auFM) ww_sxb9 (case ww_sxbg of cobox_XvJ5 [Dmd=] { GHC.Types.Eq# cobox_dw7b -> ww_sxbi `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw7b))_R :: GHC.TypeLits.KnownNat n_auFM ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM))) }) (case ww_sxbg of cobox_XvJ4 [Dmd=] { GHC.Types.Eq# cobox_dw7c -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7c) _R)_R :: CLaSH.Sized.Vector.Vec n_auFM CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) CLaSH.Bit.Bit) }) } }; GHC.Types.True -> case CLaSH.Sized.Vector.vhead @ (n_auFM GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (a_sxop `cast` ((CLaSH.Sized.Vector.Vec (cobox_sxDc ; Sym ww_sxb7) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit)) of wild_Xu [Dmd=] { CLaSH.Bit.H -> case CLaSH.Sized.Vector.vhead' @ n_auFM @ CLaSH.Bit.Bit (poly_a_sxDa @ n_auFM) s_swtS of wild_Xv [Dmd=] { CLaSH.Bit.H -> CLaSH.Class.BitVector.fromBV @ (rep_auFL n_auFM) ww_sxb9 (case ww_sxbg of cobox_XvJ7 [Dmd=] { GHC.Types.Eq# cobox_dw79 -> ww_sxbi `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw79))_R :: GHC.TypeLits.KnownNat n_auFM ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM))) }) (case ww_sxbg of cobox_avJl [Dmd=] { GHC.Types.Eq# cobox_dw7a -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7a) _R)_R :: CLaSH.Sized.Vector.Vec n_auFM CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) CLaSH.Bit.Bit) }); CLaSH.Bit.L -> GHC.Enum.minBound @ (rep_auFL n_auFM) ww_sxbk }; CLaSH.Bit.L -> case CLaSH.Sized.Vector.vhead' @ n_auFM @ CLaSH.Bit.Bit (poly_a_sxDa @ n_auFM) s_swtS of wild_Xv [Dmd=] { CLaSH.Bit.H -> GHC.Enum.maxBound @ (rep_auFL n_auFM) ww_sxbk; CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_auFL n_auFM) ww_sxb9 (case ww_sxbg of cobox_XvJ7 [Dmd=] { GHC.Types.Eq# cobox_dw79 -> ww_sxbi `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw79))_R :: GHC.TypeLits.KnownNat n_auFM ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM))) }) (case ww_sxbg of cobox_avJl [Dmd=] { GHC.Types.Eq# cobox_dw7a -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7a) _R)_R :: CLaSH.Sized.Vector.Vec n_auFM CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) CLaSH.Bit.Bit) }) } } } } CLaSH.Sized.Fixed.satN2 [InlPrag=INLINE[0]] :: forall (rep_auFL :: GHC.TypeLits.Nat -> *) (n_auFM :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.SatN2C rep_auFL n_auFM) => rep_auFL (n_auFM GHC.TypeLits.+ 2) -> rep_auFL n_auFM [LclIdX, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (rep_auFL :: GHC.TypeLits.Nat -> *)) (@ (n_auFM :: GHC.TypeLits.Nat)) (w_sxaZ [Occ=Once!] :: CLaSH.Sized.Fixed.SatN2C rep_auFL n_auFM) (w_sxb0 [Occ=Once] :: rep_auFL (n_auFM GHC.TypeLits.+ 2)) -> case w_sxaZ of _ [Occ=Dead] { (_ [Occ=Dead], ww_sxb4 [Occ=Once!], ww_sxb9 [Occ=Once], ww_sxba [Occ=Once!], ww_sxbg [Occ=Once], ww_sxbh [Occ=Once!], ww_sxbi [Occ=Once], ww_sxbj [Occ=Once], ww_sxbk [Occ=Once], ww_sxbl [Occ=Once!]) -> case ww_sxb4 of _ [Occ=Dead] { GHC.Types.Eq# ww_sxb7 -> case ww_sxba of _ [Occ=Dead] { CLaSH.Class.BitVector.D:BitVector ww_sxbd [Occ=Once] _ [Occ=Dead] -> case ww_sxbh of ww_XxbC { GHC.Types.Eq# ipv_sxoQ -> case ww_sxbl of _ [Occ=Dead] { Data.Bits.D:Bits _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] ww_sxbD [Occ=Once] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> $wsatN2_sxbN @ rep_auFL @ n_auFM @~ ww_sxb7 ww_sxb9 ww_sxbd ww_sxbg ww_XxbC ww_sxbi ww_sxbj ww_sxbk ww_sxbD w_sxb0 } } } } }}] CLaSH.Sized.Fixed.satN2 = \ (@ (rep_auFL :: GHC.TypeLits.Nat -> *)) (@ (n_auFM :: GHC.TypeLits.Nat)) (w_sxaZ :: CLaSH.Sized.Fixed.SatN2C rep_auFL n_auFM) (w_sxb0 :: rep_auFL (n_auFM GHC.TypeLits.+ 2)) -> case w_sxaZ of _ [Occ=Dead] { (ww_sxb3, ww_sxb4, ww_sxb9, ww_sxba, ww_sxbg, ww_sxbh, ww_sxbi, ww_sxbj, ww_sxbk, ww_sxbl) -> case ww_sxb4 of _ [Occ=Dead] { GHC.Types.Eq# ww_sxb7 -> case ww_sxba of _ [Occ=Dead] { CLaSH.Class.BitVector.D:BitVector ww_sxbd ww_sxbe -> case ww_sxbh of ww_Xxe7 { GHC.Types.Eq# ipv_sxoJ -> case ww_sxbl of _ [Occ=Dead] { Data.Bits.D:Bits ww_sxbo ww_sxbp ww_sxbq ww_sxbr ww_sxbs ww_sxbt ww_sxbu ww_sxbv ww_sxbw ww_sxbx ww_sxby ww_sxbz ww_sxbA ww_sxbB ww_sxbC ww_sxbD ww_sxbE ww_sxbF ww_sxbG ww_sxbH ww_sxbI ww_sxbJ ww_sxbK -> $wsatN2_sxbN @ rep_auFL @ n_auFM @~ ww_sxb7 ww_sxb9 ww_sxbd ww_sxbg ww_sxbh ww_sxbi ww_sxbj ww_sxbk ww_sxbD w_sxb0 } } } } } lvl_swvz :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swvz = lvl_swuH lvl_swvy :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swvy = lvl_swuH lvl_swvB :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swvB = lvl_swuH lvl_swvA :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swvA = lvl_swuH $wresizeF_sxcA :: forall (frac1_auFN :: GHC.TypeLits.Nat) (frac2_auFO :: GHC.TypeLits.Nat) (rep_auFP :: GHC.TypeLits.Nat -> *) (size1_auFQ :: GHC.TypeLits.Nat) (size2_auFR :: GHC.TypeLits.Nat). (GHC.Enum.Bounded (rep_auFP size2_auFR), GHC.Classes.Ord (rep_auFP size1_auFQ), GHC.Num.Num (rep_auFP size1_auFQ), Data.Bits.Bits (rep_auFP size1_auFQ), CLaSH.Class.Num.Resize rep_auFP, GHC.TypeLits.KnownNat size2_auFR, GHC.TypeLits.KnownNat size1_auFQ, Data.Bits.Bits (rep_auFP size2_auFR), GHC.TypeLits.KnownNat frac2_auFO, GHC.TypeLits.KnownNat frac1_auFN) => CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ -> CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR [LclId, Arity=11, Str=DmdType ] $wresizeF_sxcA = \ (@ (frac1_auFN :: GHC.TypeLits.Nat)) (@ (frac2_auFO :: GHC.TypeLits.Nat)) (@ (rep_auFP :: GHC.TypeLits.Nat -> *)) (@ (size1_auFQ :: GHC.TypeLits.Nat)) (@ (size2_auFR :: GHC.TypeLits.Nat)) (ww_sxcn :: GHC.Enum.Bounded (rep_auFP size2_auFR)) (ww_sxcp :: GHC.Classes.Ord (rep_auFP size1_auFQ)) (ww_sxcq :: GHC.Num.Num (rep_auFP size1_auFQ)) (ww_sxcr :: Data.Bits.Bits (rep_auFP size1_auFQ)) (ww_sxcs :: CLaSH.Class.Num.Resize rep_auFP) (ww_sxct :: GHC.TypeLits.KnownNat size2_auFR) (ww_sxcu :: GHC.TypeLits.KnownNat size1_auFQ) (ww_sxcv :: Data.Bits.Bits (rep_auFP size2_auFR)) (ww_sxcw :: GHC.TypeLits.KnownNat frac2_auFO) (ww_sxcx :: GHC.TypeLits.KnownNat frac1_auFN) (w_sxck :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ) -> case GHC.Integer.Type.leInteger# (ww_sxcu `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat size1_auFQ ~# GHC.Integer.Type.Integer)) (ww_sxct `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat size2_auFR ~# GHC.Integer.Type.Integer)) of wild_akJ3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akJ3 of wild_X1o [Dmd=] { GHC.Types.False -> let { fMax_swtA :: rep_auFP size2_auFR [LclId, Str=DmdType] fMax_swtA = GHC.Enum.maxBound @ (rep_auFP size2_auFR) ww_sxcn } in case ww_sxcr of ww_sxbP { Data.Bits.D:Bits ww_sxbQ ww_sxbW ww_sxbX ww_sxbY ww_sxbZ ww_sxc0 ww_sxc1 ww_sxc2 ww_sxc3 ww_sxc4 ww_sxc5 ww_sxc6 ww_sxc7 ww_sxc8 ww_sxc9 ww_sxca ww_sxcb ww_sxcc ww_sxcd ww_sxce ww_sxcf ww_sxcg ww_sxch -> case ww_sxbQ of ww_sxbS { GHC.Classes.D:Eq ww_sxbT ww_sxbU -> let { mask_swtz :: rep_auFP size1_auFQ [LclId, Str=DmdType] mask_swtz = ww_sxbZ ((ww_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size2_auFR @ size1_auFQ ww_sxct ww_sxcu fMax_swtA) } in case GHC.Integer.Type.integerToInt (ww_sxcx `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac1_auFN ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> case GHC.Integer.Type.integerToInt (ww_sxcw `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac2_auFO ~# GHC.Integer.Type.Integer)) of wild_XkFQ { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# wild_akCB wild_XkFQ) of wild_Xr [Dmd=] { GHC.Types.False -> let { shiftedR_swty :: rep_auFP size1_auFQ [LclId, Str=DmdType] shiftedR_swty = ww_sxcd (w_sxck `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ)) (GHC.Types.I# (GHC.Prim.-# wild_akCB wild_XkFQ)) } in case GHC.Classes.>= @ (rep_auFP size1_auFQ) ww_sxcp (w_sxck `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ)) (GHC.Num.fromInteger @ (rep_auFP size1_auFQ) ww_sxcq lvl_swuH) of wild_Xv [Dmd=] { GHC.Types.False -> case ww_sxbT (ww_sxbW shiftedR_swty mask_swtz) mask_swtz of wild_Xw [Dmd=] { GHC.Types.False -> (GHC.Enum.minBound @ (rep_auFP size2_auFR) ww_sxcn) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR); GHC.Types.True -> ((ww_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww_sxcu ww_sxct shiftedR_swty) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) }; GHC.Types.True -> case ww_sxbT (ww_sxbW shiftedR_swty mask_swtz) (GHC.Num.fromInteger @ (rep_auFP size1_auFQ) ww_sxcq lvl_swuH) of wild_Xw [Dmd=] { GHC.Types.False -> fMax_swtA `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR); GHC.Types.True -> ((ww_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww_sxcu ww_sxct shiftedR_swty) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) } }; GHC.Types.True -> let { shiftedL_swtK :: rep_auFP size1_auFQ [LclId, Str=DmdType] shiftedL_swtK = ww_sxcb (w_sxck `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ)) (GHC.Types.I# (GHC.Prim.-# wild_XkFQ wild_akCB)) } in case GHC.Classes.>= @ (rep_auFP size1_auFQ) ww_sxcp (w_sxck `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ)) (GHC.Num.fromInteger @ (rep_auFP size1_auFQ) ww_sxcq lvl_swuH) of wild_Xv [Dmd=] { GHC.Types.False -> case ww_sxbT (ww_sxbW shiftedL_swtK mask_swtz) mask_swtz of wild_Xw [Dmd=] { GHC.Types.False -> (GHC.Enum.minBound @ (rep_auFP size2_auFR) ww_sxcn) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR); GHC.Types.True -> ((ww_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww_sxcu ww_sxct shiftedL_swtK) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) }; GHC.Types.True -> case ww_sxbT (ww_sxbW shiftedL_swtK mask_swtz) (GHC.Num.fromInteger @ (rep_auFP size1_auFQ) ww_sxcq lvl_swuH) of wild_Xw [Dmd=] { GHC.Types.False -> fMax_swtA `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR); GHC.Types.True -> ((ww_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww_sxcu ww_sxct shiftedL_swtK) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) } } } } } } }; GHC.Types.True -> case GHC.Integer.Type.integerToInt (ww_sxcx `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac1_auFN ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> case GHC.Integer.Type.integerToInt (ww_sxcw `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac2_auFO ~# GHC.Integer.Type.Integer)) of wild_XkFG { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# wild_akCB wild_XkFG) of wild_Xo [Dmd=] { GHC.Types.False -> (Data.Bits.shiftR @ (rep_auFP size2_auFR) ww_sxcv ((ww_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww_sxcu ww_sxct (w_sxck `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ))) (GHC.Types.I# (GHC.Prim.-# wild_akCB wild_XkFG))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR); GHC.Types.True -> (Data.Bits.shiftL @ (rep_auFP size2_auFR) ww_sxcv ((ww_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww_sxcu ww_sxct (w_sxck `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ))) (GHC.Types.I# (GHC.Prim.-# wild_XkFG wild_akCB))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) } } } } } CLaSH.Sized.Fixed.resizeF [InlPrag=INLINE[0]] :: forall (frac1_auFN :: GHC.TypeLits.Nat) (frac2_auFO :: GHC.TypeLits.Nat) (rep_auFP :: GHC.TypeLits.Nat -> *) (size1_auFQ :: GHC.TypeLits.Nat) (size2_auFR :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.ResizeFC rep_auFP frac1_auFN frac2_auFO size1_auFQ size2_auFR) => CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ -> CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR [LclIdX, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac1_auFN :: GHC.TypeLits.Nat)) (@ (frac2_auFO :: GHC.TypeLits.Nat)) (@ (rep_auFP :: GHC.TypeLits.Nat -> *)) (@ (size1_auFQ :: GHC.TypeLits.Nat)) (@ (size2_auFR :: GHC.TypeLits.Nat)) (w_sxcj [Occ=Once!] :: CLaSH.Sized.Fixed.ResizeFC rep_auFP frac1_auFN frac2_auFO size1_auFQ size2_auFR) (w_sxck [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ) -> case w_sxcj of _ [Occ=Dead] { (ww_sxcn [Occ=Once], _ [Occ=Dead], ww_sxcp [Occ=Once], ww_sxcq [Occ=Once], ww_sxcr [Occ=Once], ww_sxcs [Occ=Once], ww_sxct [Occ=Once], ww_sxcu [Occ=Once], ww_sxcv [Occ=Once], ww_sxcw [Occ=Once], ww_sxcx [Occ=Once], _ [Occ=Dead]) -> $wresizeF_sxcA @ frac1_auFN @ frac2_auFO @ rep_auFP @ size1_auFQ @ size2_auFR ww_sxcn ww_sxcp ww_sxcq ww_sxcr ww_sxcs ww_sxct ww_sxcu ww_sxcv ww_sxcw ww_sxcx w_sxck }}] CLaSH.Sized.Fixed.resizeF = \ (@ (frac1_auFN :: GHC.TypeLits.Nat)) (@ (frac2_auFO :: GHC.TypeLits.Nat)) (@ (rep_auFP :: GHC.TypeLits.Nat -> *)) (@ (size1_auFQ :: GHC.TypeLits.Nat)) (@ (size2_auFR :: GHC.TypeLits.Nat)) (w_sxcj :: CLaSH.Sized.Fixed.ResizeFC rep_auFP frac1_auFN frac2_auFO size1_auFQ size2_auFR) (w_sxck :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ) -> case w_sxcj of _ [Occ=Dead] { (ww_sxcn, ww_sxco, ww_sxcp, ww_sxcq, ww_sxcr, ww_sxcs, ww_sxct, ww_sxcu, ww_sxcv, ww_sxcw, ww_sxcx, ww_sxcy) -> $wresizeF_sxcA @ frac1_auFN @ frac2_auFO @ rep_auFP @ size1_auFQ @ size2_auFR ww_sxcn ww_sxcp ww_sxcq ww_sxcr ww_sxcs ww_sxct ww_sxcu ww_sxcv ww_sxcw ww_sxcx w_sxck } CLaSH.Sized.Fixed.asRepProxy :: forall (frac_auFV :: GHC.TypeLits.Nat) (rep_auFW :: GHC.TypeLits.Nat -> *) (size_auFX :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFV rep_auFW size_auFX -> Data.Proxy.Proxy rep_auFW [LclIdX, Arity=1, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= \ (@ (frac_avk6 :: GHC.TypeLits.Nat)) (@ (rep_avk7 :: GHC.TypeLits.Nat -> *)) (@ (size_avk8 :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] -> Data.Proxy.Proxy @ (GHC.TypeLits.Nat -> *) @ rep_avk7}] CLaSH.Sized.Fixed.asRepProxy = \ (@ (frac_avk6 :: GHC.TypeLits.Nat)) (@ (rep_avk7 :: GHC.TypeLits.Nat -> *)) (@ (size_avk8 :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] -> Data.Proxy.Proxy @ (GHC.TypeLits.Nat -> *) @ rep_avk7 CLaSH.Sized.Fixed.asFracProxy :: forall (frac_auFY :: GHC.TypeLits.Nat) (rep_auFZ :: GHC.TypeLits.Nat -> *) (size_auG0 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFY rep_auFZ size_auG0 -> Data.Proxy.Proxy frac_auFY [LclIdX, Arity=1, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= \ (@ (frac_avkp :: GHC.TypeLits.Nat)) (@ (rep_avkq :: GHC.TypeLits.Nat -> *)) (@ (size_avkr :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] -> Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac_avkp}] CLaSH.Sized.Fixed.asFracProxy = \ (@ (frac_avkp :: GHC.TypeLits.Nat)) (@ (rep_avkq :: GHC.TypeLits.Nat -> *)) (@ (size_avkr :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] -> Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac_avkp CLaSH.Sized.Fixed.fracShift :: forall (frac_auFS :: GHC.TypeLits.Nat) (rep_auFT :: GHC.TypeLits.Nat -> *) (size_auFU :: GHC.TypeLits.Nat). GHC.TypeLits.KnownNat frac_auFS => CLaSH.Sized.Fixed.Fixed frac_auFS rep_auFT size_auFU -> GHC.Types.Int [LclIdX, Arity=2, Str=DmdType m, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_avjN :: GHC.TypeLits.Nat)) (@ (rep_avjO :: GHC.TypeLits.Nat -> *)) (@ (size_avjP :: GHC.TypeLits.Nat)) ($dKnownNat_avxa [Occ=Once] :: GHC.TypeLits.KnownNat frac_avjN) _ [Occ=Dead, Dmd=] -> case GHC.Integer.Type.integerToInt ($dKnownNat_avxa `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_avjN ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> GHC.Types.I# wild_akCB }}] CLaSH.Sized.Fixed.fracShift = \ (@ (frac_avjN :: GHC.TypeLits.Nat)) (@ (rep_avjO :: GHC.TypeLits.Nat -> *)) (@ (size_avjP :: GHC.TypeLits.Nat)) ($dKnownNat_avxa :: GHC.TypeLits.KnownNat frac_avjN) _ [Occ=Dead, Dmd=] -> case GHC.Integer.Type.integerToInt ($dKnownNat_avxa `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_avjN ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> GHC.Types.I# wild_akCB } a_swaI :: forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) [LclId, Arity=1, Str=DmdType ] a_swaI = \ (@ (int_avkK :: GHC.TypeLits.Nat)) (@ (frac_avkL :: GHC.TypeLits.Nat)) (ds_dvZi :: CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL)) -> ds_dvZi CLaSH.Sized.Fixed.unUF :: forall (int_auG1 :: GHC.TypeLits.Nat) (frac_auG2 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.UFixed int_auG1 frac_auG2 -> CLaSH.Sized.Unsigned.Unsigned (int_auG1 GHC.TypeLits.+ frac_auG2) [LclIdX, Arity=1, Str=DmdType ] CLaSH.Sized.Fixed.unUF = a_swaI `cast` (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL)) ~# (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL))) a_swaJ :: forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= \ (@ (frac_avl5 :: GHC.TypeLits.Nat)) (@ (int_avl6 :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] (fRep_auGb [Occ=Once] :: CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) -> fRep_auGb}] a_swaJ = \ (@ (frac_avl5 :: GHC.TypeLits.Nat)) (@ (int_avl6 :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] (fRep_auGb :: CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) -> fRep_auGb CLaSH.Sized.Fixed.uf :: forall (frac_auG3 :: GHC.TypeLits.Nat) (int_auG4 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_auG3 -> CLaSH.Sized.Unsigned.Unsigned (int_auG4 GHC.TypeLits.+ frac_auG3) -> CLaSH.Sized.Fixed.UFixed int_auG4 frac_auG3 [LclIdX, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= a_swaJ `cast` (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) ~# (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Fixed.Fixed frac_avl5 CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)))}] CLaSH.Sized.Fixed.uf = a_swaJ `cast` (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) ~# (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Fixed.Fixed frac_avl5 CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5))) a_swaK :: forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) [LclId, Arity=1, Str=DmdType ] a_swaK = \ (@ (int_avlp :: GHC.TypeLits.Nat)) (@ (frac_avlq :: GHC.TypeLits.Nat)) (ds_dvZu :: CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq)) -> ds_dvZu CLaSH.Sized.Fixed.unSF :: forall (int_auG5 :: GHC.TypeLits.Nat) (frac_auG6 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.SFixed int_auG5 frac_auG6 -> CLaSH.Sized.Signed.Signed (int_auG5 GHC.TypeLits.+ frac_auG6) [LclIdX, Arity=1, Str=DmdType ] CLaSH.Sized.Fixed.unSF = a_swaK `cast` (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq)) ~# (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq))) a_swaL :: forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= \ (@ (frac_avlK :: GHC.TypeLits.Nat)) (@ (int_avlL :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] (fRep_auG9 [Occ=Once] :: CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) -> fRep_auG9}] a_swaL = \ (@ (frac_avlK :: GHC.TypeLits.Nat)) (@ (int_avlL :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] (fRep_auG9 :: CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) -> fRep_auG9 CLaSH.Sized.Fixed.sf :: forall (frac_auG7 :: GHC.TypeLits.Nat) (int_auG8 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_auG7 -> CLaSH.Sized.Signed.Signed (int_auG8 GHC.TypeLits.+ frac_auG7) -> CLaSH.Sized.Fixed.SFixed int_auG8 frac_auG7 [LclIdX, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= a_swaL `cast` (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) ~# (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Fixed.Fixed frac_avlK CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)))}] CLaSH.Sized.Fixed.sf = a_swaL `cast` (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) ~# (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Fixed.Fixed frac_avlK CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK))) a_swaM :: forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 [LclId, Arity=1, Str=DmdType ] a_swaM = \ (@ (frac_auI2 :: GHC.TypeLits.Nat)) (@ (rep_auI3 :: GHC.TypeLits.Nat -> *)) (@ (size_auI4 :: GHC.TypeLits.Nat)) (ds_dvZF :: CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4) -> ds_dvZF CLaSH.Sized.Fixed.unFixed :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> rep_auFG size_auFH [LclIdX[[RecSel]], Arity=1, Str=DmdType ] CLaSH.Sized.Fixed.unFixed = a_swaM `cast` (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4) ~# (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> rep_auI3 size_auI4)) lvl_swvD :: GHC.Types.Char [LclId, Str=DmdType m] lvl_swvD = GHC.Types.C# '-' lvl_swvC :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swvC = lvl_swuH lvl_swvG :: GHC.Types.Char [LclId, Str=DmdType m] lvl_swvG = GHC.Types.C# '0' ds_swvM :: GHC.Integer.Type.Integer [LclId, Str=DmdType] ds_swvM = lvl_swv0 dt_akMa :: GHC.Integer.Type.Integer [LclId, Str=DmdType] dt_akMa = __integer 10 $wlvl_sxd6 :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) -> (# GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer #) [LclId, Arity=1, Str=DmdType ] $wlvl_sxd6 = \ (w_sxd3 :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) -> (# case w_sxd3 of wild_awe4 [Dmd=] { (x_awe6 [Dmd=], y_awe7 [Dmd=]) -> case x_awe6 of wild_awdA [Dmd=] { GHC.Types.I# x1_awdC [Dmd=] -> case x1_awdC of wild1_awdE { __DEFAULT -> GHC.Types.I# (GHC.Prim.+# x1_awdC 1); 9223372036854775807 -> GHC.Enum.$fEnumInt2 } } }, case w_sxd3 of wild_awe9 [Dmd=] { (x_aweb [Dmd=], y_awec [Dmd=]) -> case y_awec of ww_awdH [Dmd=] { GHC.Real.:% ww1_awdJ [Dmd=] ww2_awdK [Dmd=] -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger ww1_awdJ dt_akMa) (GHC.Integer.Type.timesInteger ww2_awdK GHC.Real.$fEnumRatio1) of ww6_awdS [Dmd=] { (# ww7_awdU, ww8_awdV #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww7_awdU ww8_awdV } } } #) lvl_swvV [InlPrag=INLINE[0]] :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) -> (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) [LclId, Arity=1, Str=DmdType m, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (w_sxd3 [Occ=Once] :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) -> case $wlvl_sxd6 w_sxd3 of _ [Occ=Dead] { (# ww_sxn9 [Occ=Once], ww_sxna [Occ=Once] #) -> (ww_sxn9, ww_sxna) }}] lvl_swvV = \ (w_sxd3 :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) -> case $wlvl_sxd6 w_sxd3 of _ [Occ=Dead] { (# ww_sxn9, ww_sxna #) -> (ww_sxn9, ww_sxna) } lvl_swvX :: GHC.Types.Int [LclId, Str=DmdType m] lvl_swvX = GHC.Types.I# 0 lvl_sww5 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_sww5 = lvl_swv4 lvl_sww6 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_sww6 = lvl_swv0 lvl_sww7 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_sww7 = lvl_swv4 lvl_sww8 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_sww8 = lvl_swv0 lvl_sww4 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_sww4 = lvl_swuH lvl_sww9 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_sww9 = lvl_swv4 lvl_sxDd :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) -> [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)] -> [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)] [LclId, Str=DmdType] lvl_sxDd = \ (x_awzz :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) (r_awzA [OS=OneShot] :: [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)]) -> case x_awzz of wild_afnB { (ds1_afnD [Dmd=], y_afnE [Dmd=]) -> case y_afnE of wild_awdn [Dmd=] { GHC.Real.:% ds1_awdp [Dmd=] y_awdq [Dmd=] -> case GHC.Integer.Type.eqInteger# y_awdq lvl_swv0 of wild_a2f3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a2f3 of wild_awzB [Dmd=] { GHC.Types.False -> r_awzA; GHC.Types.True -> GHC.Types.: @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) x_awzz r_awzA } } } } lvl_sxDe :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_sxDe = lvl_swuH lvl_sxDf :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_sxDf = lvl_swuH lvl_sxDh :: GHC.Types.Char [LclId, Str=DmdType] lvl_sxDh = GHC.Types.C# '.' lvl_sxDi :: GHC.Types.Char [LclId, Str=DmdType] lvl_sxDi = lvl_sxDh lvl_sxDj :: GHC.Types.Char [LclId, Str=DmdType] lvl_sxDj = lvl_sxDh $w$cshow_sxdD :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). GHC.TypeLits.KnownNat frac_auHx => (rep_auHy size_auHz -> GHC.Integer.Type.Integer) -> CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> [GHC.Types.Char] [LclId, Arity=3, Str=DmdType ] $w$cshow_sxdD = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) (w_sxdo :: GHC.TypeLits.KnownNat frac_auHx) (ww_sxdB :: rep_auHy size_auHz -> GHC.Integer.Type.Integer) (w_sxdq :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) -> let { nF_swti [Dmd=] :: GHC.Types.Int [LclId, Str=DmdType] nF_swti = case GHC.Integer.Type.integerToInt (w_sxdo `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_auHx ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> GHC.Types.I# wild_akCB } } in let { fRepI_swtk [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType] fRepI_swtk = ww_sxdB (w_sxdq `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz ~# rep_auHy size_auHz)) } in let { fRepI_abs_swtj :: GHC.Integer.Type.Integer [LclId, Str=DmdType] fRepI_abs_swtj = GHC.Integer.Type.absInteger fRepI_swtk } in let { a_swOO :: [GHC.Types.Char] [LclId, Str=DmdType] a_swOO = case GHC.List.iterateFB @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) @ [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)] lvl_sxDd lvl_swvV (lvl_swvX, case GHC.Integer.Type.ltInteger# fRepI_swtk lvl_swuH of wild_a4It { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a4It of wild_X1C [Dmd=] { GHC.Types.False -> case nF_swti of wild_awO7 [Dmd=] { GHC.Types.I# x_awO9 [Dmd=] -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# x_awO9 0) of wild1_awOb [Dmd=] { GHC.Types.False -> case wild1_awOb of wild1_XwRo [Dmd=] { GHC.Types.False -> let { a_swOs [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType] a_swOs = case x_awO9 of wild2_awOe { __DEFAULT -> GHC.Real.$wf1 lvl_swv4 x_awO9; 0 -> GHC.Real.$fEnumRatio1 } } in case x_awO9 of wild2_awOe { __DEFAULT -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger (GHC.Integer.Type.andInteger fRepI_swtk (GHC.Integer.Type.minusInteger (GHC.Real.$wf1 lvl_swv4 x_awO9) lvl_swv0)) (GHC.Integer.Type.signumInteger a_swOs)) (GHC.Integer.Type.absInteger a_swOs) of ww_awf3 [Dmd=] { (# ww1_awf5, ww2_awf6 #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww1_awf5 ww2_awf6 }; 0 -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger (GHC.Integer.Type.andInteger fRepI_swtk lvl_swuH) (GHC.Integer.Type.signumInteger a_swOs)) (GHC.Integer.Type.absInteger a_swOs) of ww_awf3 [Dmd=] { (# ww1_awf5, ww2_awf6 #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww1_awf5 ww2_awf6 } }; GHC.Types.True -> case GHC.Real.^3 of wild_00 { } }; GHC.Types.True -> case GHC.Real.^3 of wild_00 { } } }; GHC.Types.True -> case nF_swti of wild_awO7 [Dmd=] { GHC.Types.I# x_awO9 [Dmd=] -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# x_awO9 0) of wild1_awOb [Dmd=] { GHC.Types.False -> case wild1_awOb of wild1_XwRo [Dmd=] { GHC.Types.False -> let { a_swOy [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType] a_swOy = case x_awO9 of wild2_awOe { __DEFAULT -> GHC.Real.$wf1 lvl_swv4 x_awO9; 0 -> GHC.Real.$fEnumRatio1 } } in case x_awO9 of wild2_awOe { __DEFAULT -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger (GHC.Integer.Type.andInteger fRepI_abs_swtj (GHC.Integer.Type.minusInteger (GHC.Real.$wf1 lvl_swv4 x_awO9) lvl_swv0)) (GHC.Integer.Type.signumInteger a_swOy)) (GHC.Integer.Type.absInteger a_swOy) of ww_awf3 [Dmd=] { (# ww1_awf5, ww2_awf6 #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww1_awf5 ww2_awf6 }; 0 -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger (GHC.Integer.Type.andInteger fRepI_abs_swtj lvl_swuH) (GHC.Integer.Type.signumInteger a_swOy)) (GHC.Integer.Type.absInteger a_swOy) of ww_awf3 [Dmd=] { (# ww1_awf5, ww2_awf6 #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww1_awf5 ww2_awf6 } }; GHC.Types.True -> case GHC.Real.^3 of wild_00 { } }; GHC.Types.True -> case GHC.Real.^3 of wild_00 { } } } } }) of wild_awde [Dmd=] { [] -> case Data.Maybe.fromJust1 of wild_00 { }; : a1_awdh [Dmd=] ds1_awdi [Dmd=] -> case a1_awdh of ww_sxd8 { (ww_sxd9, ww_sxde) -> case ww_sxd9 of ww_sxdb { GHC.Types.I# ww_sxdc -> case ww_sxde of ww_sxdg { GHC.Real.:% ww_sxdh ww_sxdi -> case GHC.Show.$w$cshowsPrec 0 ww_sxdh (GHC.Types.[] @ GHC.Types.Char) of ww2_a2hY [Dmd=] { (# ww3_a2i0, ww4_a2i1 #) -> let { str_auHK [OS=ProbOneShot] :: [GHC.Types.Char] [LclId, Str=DmdType] str_auHK = GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1 } in let { lvl_sxDg :: [GHC.Types.Char] [LclId, Str=DmdType] lvl_sxDg = GHC.Types.: @ GHC.Types.Char lvl_swvG str_auHK } in case GHC.List.$wlenAcc @ GHC.Types.Char str_auHK 0 of ww_awOK { __DEFAULT -> let { n#_awbi :: GHC.Prim.Int# [LclId, Str=DmdType] n#_awbi = GHC.Prim.-# ww_sxdc ww_awOK } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# n#_awbi 0) of wild1_awbk [Dmd=] { GHC.Types.False -> letrec { xs_awyT [Occ=LoopBreaker] :: GHC.Prim.Int# -> [GHC.Types.Char] [LclId, Arity=1, Str=DmdType ] xs_awyT = \ (m_awz0 :: GHC.Prim.Int#) -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# m_awz0 1) of wild_awz1 [Dmd=] { GHC.Types.False -> GHC.Types.: @ GHC.Types.Char lvl_swvG (xs_awyT (GHC.Prim.-# m_awz0 1)); GHC.Types.True -> lvl_sxDg }; } in xs_awyT n#_awbi; GHC.Types.True -> str_auHK } } } } } } } } in case GHC.Integer.Type.ltInteger# fRepI_swtk lvl_swuH of wild_a4It { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a4It of wild_X1C [Dmd=] { GHC.Types.False -> case nF_swti of wild_aiKL [Dmd=] { GHC.Types.I# x_aiKN -> let { ww_al4F :: GHC.Prim.Int# [LclId, Str=DmdType] ww_al4F = GHC.Prim.negateInt# x_aiKN } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.>=# ww_al4F 0) of wild_al4G [Dmd=] { GHC.Types.False -> case GHC.Show.$w$cshowsPrec 0 (GHC.Integer.Type.shiftRInteger fRepI_swtk (GHC.Prim.negateInt# ww_al4F)) (GHC.Types.[] @ GHC.Types.Char) of ww2_a2hY [Dmd=] { (# ww3_a2i0, ww4_a2i1 #) -> GHC.Base.++ @ GHC.Types.Char (GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1) (GHC.Types.: @ GHC.Types.Char lvl_sxDh a_swOO) }; GHC.Types.True -> case GHC.Show.$w$cshowsPrec 0 (GHC.Integer.Type.shiftLInteger fRepI_swtk ww_al4F) (GHC.Types.[] @ GHC.Types.Char) of ww2_a2hY [Dmd=] { (# ww3_a2i0, ww4_a2i1 #) -> GHC.Base.++ @ GHC.Types.Char (GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1) (GHC.Types.: @ GHC.Types.Char lvl_sxDh a_swOO) } } }; GHC.Types.True -> GHC.Base.++ @ GHC.Types.Char (GHC.Types.: @ GHC.Types.Char lvl_swvD (case nF_swti of wild_aiKL [Dmd=] { GHC.Types.I# x_aiKN -> let { ww_al4F :: GHC.Prim.Int# [LclId, Str=DmdType] ww_al4F = GHC.Prim.negateInt# x_aiKN } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.>=# ww_al4F 0) of wild_al4G [Dmd=] { GHC.Types.False -> case GHC.Show.$w$cshowsPrec 0 (GHC.Integer.Type.shiftRInteger fRepI_abs_swtj (GHC.Prim.negateInt# ww_al4F)) (GHC.Types.[] @ GHC.Types.Char) of ww2_a2hY [Dmd=] { (# ww3_a2i0, ww4_a2i1 #) -> GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1 }; GHC.Types.True -> case GHC.Show.$w$cshowsPrec 0 (GHC.Integer.Type.shiftLInteger fRepI_abs_swtj ww_al4F) (GHC.Types.[] @ GHC.Types.Char) of ww2_a2hY [Dmd=] { (# ww3_a2i0, ww4_a2i1 #) -> GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1 } } })) (GHC.Types.: @ GHC.Types.Char lvl_sxDh a_swOO) } } $cshow_avFD [InlPrag=INLINE[0]] :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> GHC.Base.String [LclId, Arity=5, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] _ [Occ=Dead, Dmd=] (w_sxdo [Occ=Once] :: GHC.TypeLits.KnownNat frac_auHx) (w_sxdp [Occ=Once!] :: GHC.Real.Integral (rep_auHy size_auHz)) (w_sxdq [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) -> case w_sxdp of _ [Occ=Dead] { GHC.Real.D:Integral _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] ww_sxdB [Occ=Once] -> $w$cshow_sxdD @ frac_auHx @ rep_auHy @ size_auHz w_sxdo ww_sxdB w_sxdq }}] $cshow_avFD = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] _ [Occ=Dead, Dmd=] (w_sxdo :: GHC.TypeLits.KnownNat frac_auHx) (w_sxdp :: GHC.Real.Integral (rep_auHy size_auHz)) (w_sxdq :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) -> case w_sxdp of _ [Occ=Dead] { GHC.Real.D:Integral ww_sxdt ww_sxdu ww_sxdv ww_sxdw ww_sxdx ww_sxdy ww_sxdz ww_sxdA ww_sxdB -> $w$cshow_sxdD @ frac_auHx @ rep_auHy @ size_auHz w_sxdo ww_sxdB w_sxdq } $cshowsPrec_avFB :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => GHC.Types.Int -> CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> GHC.Show.ShowS [LclId, Arity=7, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=7, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv [Occ=Once] :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw [Occ=Once] :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx [Occ=Once] :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy [Occ=Once] :: GHC.Real.Integral (rep_auHy size_auHz)) _ [Occ=Dead, Dmd=] (x_a2fY [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (s_a2fZ [Occ=Once] :: GHC.Base.String) -> GHC.Base.augment @ GHC.Types.Char (\ (@ b_a4II) (c_a4IJ [Occ=Once, OS=OneShot] :: GHC.Types.Char -> b_a4II -> b_a4II) (n_a4IK [Occ=Once, OS=OneShot] :: b_a4II) -> GHC.Base.foldr @ GHC.Types.Char @ b_a4II c_a4IJ n_a4IK ($cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy x_a2fY)) s_a2fZ}] $cshowsPrec_avFB = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) _ [Occ=Dead] _ [Occ=Dead] ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) _ [Occ=Dead, Dmd=] (x_a2fY :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (s_a2fZ :: GHC.Base.String) -> case $dIntegral_avFy of ww_sxds { GHC.Real.D:Integral ww_sxdt ww_sxdu ww_sxdv ww_sxdw ww_sxdx ww_sxdy ww_sxdz ww_sxdA ww_sxdB -> GHC.Base.++ @ GHC.Types.Char ($w$cshow_sxdD @ frac_auHx @ rep_auHy @ size_auHz $dKnownNat_avFx ww_sxdB x_a2fY) s_a2fZ } $w$cshowList_sxe4 :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz] -> GHC.Base.String -> GHC.Base.String [LclId, Arity=4, Str=DmdType ] $w$cshowList_sxe4 = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) (w_sxe0 :: GHC.TypeLits.KnownNat frac_auHx) (w_sxe1 :: GHC.Real.Integral (rep_auHy size_auHz)) (w_sxe2 :: [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz]) (w_sxe3 :: GHC.Base.String) -> GHC.Show.showList__ @ (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (\ (x_a2fY :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (s_a2fZ [OS=OneShot] :: GHC.Base.String) -> case w_sxe1 of ww_sxds { GHC.Real.D:Integral ww_sxdt ww_sxdu ww_sxdv ww_sxdw ww_sxdx ww_sxdy ww_sxdz ww_sxdA ww_sxdB -> GHC.Base.++ @ GHC.Types.Char ($w$cshow_sxdD @ frac_auHx @ rep_auHy @ size_auHz w_sxe0 ww_sxdB x_a2fY) s_a2fZ }) w_sxe2 w_sxe3 CLaSH.Sized.Fixed.$fShowFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => GHC.Show.Show (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) [LclIdX[DFunId], Arity=4, Str=DmdType m, Unf=DFun: \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) -> GHC.Show.D:Show TYPE CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz $cshowsPrec_avFB @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy $cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy \ (w_sxe2 :: [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz]) (w_sxe3 :: GHC.Base.String) -> $w$cshowList_sxe4 @ frac_auHx @ rep_auHy @ size_auHz $dKnownNat_avFx $dIntegral_avFy w_sxe2 w_sxe3] CLaSH.Sized.Fixed.$fShowFixed = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv [Dmd=] :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw [Dmd=] :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy [Dmd=] :: GHC.Real.Integral (rep_auHy size_auHz)) -> GHC.Show.D:Show @ (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) ($cshowsPrec_avFB @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy) ($cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy) (\ (w_sxe2 :: [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz]) (w_sxe3 :: GHC.Base.String) -> $w$cshowList_sxe4 @ frac_auHx @ rep_auHy @ size_auHz $dKnownNat_avFx $dIntegral_avFy w_sxe2 w_sxe3) a_swjx :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu) [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac1_auHq :: GHC.TypeLits.Nat)) (@ (rep_auHr :: GHC.TypeLits.Nat -> *)) (@ (size1_auHs :: GHC.TypeLits.Nat)) (@ (frac2_auHt :: GHC.TypeLits.Nat)) (@ (size2_auHu :: GHC.TypeLits.Nat)) (tup_avFg [Occ=Once!] :: CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) (eta_B2 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (eta_B1 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) -> case tup_avFg of _ [Occ=Dead, Dmd=] { (tpl_X1z [Occ=Once, Dmd=], tpl_X1B [Occ=Once!, Dmd=]) -> case tpl_X1B of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw3M -> ((tpl_X1z `cast` (CLaSH.Class.Num.NTCo:Mult[0] _N _N :: CLaSH.Class.Num.Mult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# (rep_auHr size1_auHs -> rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu)))) (eta_B2 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs ~# rep_auHr size1_auHs)) (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu ~# rep_auHr size2_auHu))) `cast` (Sub cobox_dw3M :: CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) } }}] a_swjx = \ (@ (frac1_auHq :: GHC.TypeLits.Nat)) (@ (rep_auHr :: GHC.TypeLits.Nat -> *)) (@ (size1_auHs :: GHC.TypeLits.Nat)) (@ (frac2_auHt :: GHC.TypeLits.Nat)) (@ (size2_auHu :: GHC.TypeLits.Nat)) (tup_avFg :: CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) (eta_B2 :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (eta_B1 :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) -> case tup_avFg of wild_X1y [Dmd=] { (tpl_X1z [Dmd=], tpl_X1B [Dmd=]) -> case tpl_X1B of cobox_XvFS [Dmd=] { GHC.Types.Eq# cobox_dw3M -> ((tpl_X1z `cast` (CLaSH.Class.Num.NTCo:Mult[0] _N _N :: CLaSH.Class.Num.Mult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# (rep_auHr size1_auHs -> rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu)))) (eta_B2 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs ~# rep_auHr size1_auHs)) (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu ~# rep_auHr size2_auHu))) `cast` (Sub cobox_dw3M :: CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) } } $cmult_avFi :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= a_swjx `cast` (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). _R -> _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:MResultFixedFixed[0] _N _N _N _N _N)) :: (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) ~# (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu)))}] $cmult_avFi = a_swjx `cast` (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). _R -> _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:MResultFixedFixed[0] _N _N _N _N _N)) :: (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) ~# (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu))) CLaSH.Sized.Fixed.$fMultFixedFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) [LclIdX[DFunId(nt)], Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= $cmult_avFi `cast` (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). _R -> Sym (CLaSH.Class.Num.NTCo:Mult[0] _N _N) :: (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_XuJ1 frac1_XuIZ frac2_XuJ5 size1_XuJ3 size2_XuJ7) => CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3 -> CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7 -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3) (CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7)) ~# (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_XuJ1 frac1_XuIZ frac2_XuJ5 size1_XuJ3 size2_XuJ7) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3) (CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7)))}] CLaSH.Sized.Fixed.$fMultFixedFixed = a_swjx `cast` (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). _R -> (_R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:MResultFixedFixed[0] _N _N _N _N _N))) ; Sym (CLaSH.Class.Num.NTCo:Mult[0] _N _N) :: (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) ~# (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu))) $w$cminus_sxeW :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1), CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) => (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) -> CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclId, Arity=5, Str=DmdType ] $w$cminus_sxeW = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (ww_sxeI :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (ww_sxeJ :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (ww_sxeP :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (w_sxeE :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w_sxeF :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> let { $dBounded_swt9 [Dmd=] :: GHC.Enum.Bounded (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType] $dBounded_swt9 = case ww_sxeJ of wild_X1C [Dmd=] { (tpl_X1N [Dmd=], tpl_X1P [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X1N } } in let { $dResize_swt7 [Dmd=] :: CLaSH.Class.Num.Resize rep_auHe [LclId, Str=DmdType] $dResize_swt7 = case ww_sxeJ of wild_X1M [Dmd=] { (tpl_X1R [Dmd=], tpl_X1T [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B6 } } in let { $dKnownNat_swt6 :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] $dKnownNat_swt6 = case ww_sxeJ of wild_X1O [Dmd=] { (tpl_X1T [Dmd=], tpl_X1V [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B7 } } in let { $dBits_swt5 [Dmd=] :: Data.Bits.Bits (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType] $dBits_swt5 = case ww_sxeJ of wild_X1S [Dmd=] { (tpl_X1V [Dmd=], tpl_X1X [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B9 } } in let { $dKnownNat_swt4 :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) [LclId, Str=DmdType] $dKnownNat_swt4 = case ww_sxeJ of wild_X1U [Dmd=] { (tpl_X1X [Dmd=], tpl_X1Z [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_Ba } } in (ww_sxeP (case ww_sxeI of wild_X2a [Dmd=] { (tpl_X7n [Dmd=], tpl_X7q [Dmd=], tpl_X5q [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> ($wresizeF_sxcA @ frac1_auHd @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size1_auHf @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) $dBounded_swt9 tpl_X5q tpl_B4 tpl_B5 $dResize_swt7 $dKnownNat_swt6 tpl_B8 $dBits_swt5 $dKnownNat_swt4 tpl_Bb w_sxeE) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) }) (case ww_sxeJ of wild_X1Q [Dmd=] { (tpl_X7k [Dmd=], tpl_X7n [Dmd=], tpl_X5n [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> ($wresizeF_sxcA @ frac2_auHg @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size2_auHh @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) $dBounded_swt9 tpl_X5n tpl_B4 tpl_B5 $dResize_swt7 $dKnownNat_swt6 tpl_B8 $dBits_swt5 $dKnownNat_swt4 tpl_Bb w_sxeF) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:AResultFixedFixed[0] _N _N _N _N _N)) :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh)) $cminus_avEx [InlPrag=INLINE[0]] :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (w_sxeD [Occ=Once!] :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (w_sxeE [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w_sxeF [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> case w_sxeD of _ [Occ=Dead] { (ww_sxeI [Occ=Once], ww_sxeJ [Occ=Once], ww_sxeK [Occ=Once!]) -> case ww_sxeK of _ [Occ=Dead] { GHC.Num.D:Num _ [Occ=Dead] _ [Occ=Dead] ww_sxeP [Occ=Once] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> $w$cminus_sxeW @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh ww_sxeI ww_sxeJ ww_sxeP w_sxeE w_sxeF } }}] $cminus_avEx = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (w_sxeD :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (w_sxeE :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w_sxeF :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> case w_sxeD of _ [Occ=Dead] { (ww_sxeI, ww_sxeJ, ww_sxeK) -> case ww_sxeK of _ [Occ=Dead] { GHC.Num.D:Num ww_sxeN ww_sxeO ww_sxeP ww_sxeQ ww_sxeR ww_sxeS ww_sxeT -> $w$cminus_sxeW @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh ww_sxeI ww_sxeJ ww_sxeP w_sxeE w_sxeF } } $w$cplus_sxfg :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1), CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) => (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) -> CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclId, Arity=5, Str=DmdType ] $w$cplus_sxfg = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (ww_sxf2 :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (ww_sxf3 :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (ww_sxf7 :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (w_sxeY :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w_sxeZ :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> let { $dBounded_swsR [Dmd=] :: GHC.Enum.Bounded (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType] $dBounded_swsR = case ww_sxf3 of wild_X1D [Dmd=] { (tpl_X1O [Dmd=], tpl_X1Q [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X1O } } in let { $dResize_swsP [Dmd=] :: CLaSH.Class.Num.Resize rep_auHe [LclId, Str=DmdType] $dResize_swsP = case ww_sxf3 of wild_X1N [Dmd=] { (tpl_X1S [Dmd=], tpl_X1U [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B6 } } in let { $dKnownNat_swsO :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] $dKnownNat_swsO = case ww_sxf3 of wild_X1P [Dmd=] { (tpl_X1U [Dmd=], tpl_X1W [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B7 } } in let { $dBits_swsN [Dmd=] :: Data.Bits.Bits (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType] $dBits_swsN = case ww_sxf3 of wild_X1T [Dmd=] { (tpl_X1W [Dmd=], tpl_X1Y [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B9 } } in let { $dKnownNat_swsM :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) [LclId, Str=DmdType] $dKnownNat_swsM = case ww_sxf3 of wild_X1V [Dmd=] { (tpl_X1Y [Dmd=], tpl_X20 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_Ba } } in (ww_sxf7 (case ww_sxf2 of wild_X2b [Dmd=] { (tpl_X7p [Dmd=], tpl_X7s [Dmd=], tpl_X5r [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> ($wresizeF_sxcA @ frac1_auHd @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size1_auHf @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) $dBounded_swsR tpl_X5r tpl_B4 tpl_B5 $dResize_swsP $dKnownNat_swsO tpl_B8 $dBits_swsN $dKnownNat_swsM tpl_Bb w_sxeY) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) }) (case ww_sxf3 of wild_X1R [Dmd=] { (tpl_X7m [Dmd=], tpl_X7p [Dmd=], tpl_X5o [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> ($wresizeF_sxcA @ frac2_auHg @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size2_auHh @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) $dBounded_swsR tpl_X5o tpl_B4 tpl_B5 $dResize_swsP $dKnownNat_swsO tpl_B8 $dBits_swsN $dKnownNat_swsM tpl_Bb w_sxeZ) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:AResultFixedFixed[0] _N _N _N _N _N)) :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh)) $cplus_avDP [InlPrag=INLINE[0]] :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (w_sxeX [Occ=Once!] :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (w_sxeY [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w_sxeZ [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> case w_sxeX of _ [Occ=Dead] { (ww_sxf2 [Occ=Once], ww_sxf3 [Occ=Once], ww_sxf4 [Occ=Once!]) -> case ww_sxf4 of _ [Occ=Dead] { GHC.Num.D:Num ww_sxf7 [Occ=Once] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> $w$cplus_sxfg @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh ww_sxf2 ww_sxf3 ww_sxf7 w_sxeY w_sxeZ } }}] $cplus_avDP = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (w_sxeX :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (w_sxeY :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w_sxeZ :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> case w_sxeX of _ [Occ=Dead] { (ww_sxf2, ww_sxf3, ww_sxf4) -> case ww_sxf4 of _ [Occ=Dead] { GHC.Num.D:Num ww_sxf7 ww_sxf8 ww_sxf9 ww_sxfa ww_sxfb ww_sxfc ww_sxfd -> $w$cplus_sxfg @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh ww_sxf2 ww_sxf3 ww_sxf7 w_sxeY w_sxeZ } } CLaSH.Sized.Fixed.$fAddFixedFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Class.Num.Add (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclIdX[DFunId], Arity=1, Str=DmdType m, Unf=DFun: \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) -> CLaSH.Class.Num.D:Add TYPE CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf TYPE CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh $cplus_avDP @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN $cminus_avEx @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN] CLaSH.Sized.Fixed.$fAddFixedFixed = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN [Dmd=] :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) -> CLaSH.Class.Num.D:Add @ (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) @ (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) ($cplus_avDP @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN) ($cminus_avEx @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN) $cfromInteger_avDp [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => GHC.Integer.Type.Integer -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_XuKb :: GHC.TypeLits.Nat)) (@ (rep_XuKd :: GHC.TypeLits.Nat -> *)) (@ (size_XuKf :: GHC.TypeLits.Nat)) (w_sxfl [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKb rep_XuKd size_XuKf) (w_XxiD [Occ=Once] :: GHC.Integer.Type.Integer) -> case w_sxfl of _ [Occ=Dead] { (_ [Occ=Dead], ww_sxfq [Occ=Once!], ww_Xxjr [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> case ww_sxfq of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], ww_sxfB [Occ=Once!], ww_XxjD [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> case ww_sxfB of _ [Occ=Dead] { Data.Bits.D:Bits _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] ww_XxjR [Occ=Once!] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> (ww_XxjR (GHC.Num.fromInteger @ (rep_XuKd size_XuKf) ww_Xxjr w_XxiD) (case GHC.Integer.Type.integerToInt (ww_XxjD `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_XuKb ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> GHC.Types.I# wild_akCB })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKd size_XuKf ~# CLaSH.Sized.Fixed.Fixed frac_XuKb rep_XuKd size_XuKf) } } }}] $cfromInteger_avDp = \ (@ (frac_XuKb :: GHC.TypeLits.Nat)) (@ (rep_XuKd :: GHC.TypeLits.Nat -> *)) (@ (size_XuKf :: GHC.TypeLits.Nat)) (w_sxfl :: CLaSH.Sized.Fixed.NumFixed frac_XuKb rep_XuKd size_XuKf) (w_XxiD :: GHC.Integer.Type.Integer) -> case w_sxfl of _ [Occ=Dead] { (ww_sxfp, ww_sxfq, ww_Xxjr, ww_sxg7, ww_sxg8, ww_sxg9) -> case ww_sxfq of _ [Occ=Dead] { (ww_sxft, ww_sxfu, ww_sxfv, ww_sxfw, ww_sxfx, ww_sxfy, ww_sxfz, ww_sxfA, ww_sxfB, ww_XxjD, ww_sxg3, ww_sxg4) -> case ww_sxfB of _ [Occ=Dead] { Data.Bits.D:Bits ww_sxfE ww_sxfF ww_sxfG ww_sxfH ww_sxfI ww_sxfJ ww_sxfK ww_sxfL ww_sxfM ww_sxfN ww_sxfO ww_sxfP ww_sxfQ ww_sxfR ww_sxfS ww_sxfT ww_XxjR ww_sxfV ww_sxfW ww_sxfX ww_sxfY ww_sxfZ ww_sxg0 -> (ww_XxjR (GHC.Num.fromInteger @ (rep_XuKd size_XuKf) ww_Xxjr w_XxiD) (case GHC.Integer.Type.integerToInt (ww_XxjD `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_XuKb ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> GHC.Types.I# wild_akCB })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKd size_XuKf ~# CLaSH.Sized.Fixed.Fixed frac_XuKb rep_XuKd size_XuKf) } } } a_swkh :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_XuKc :: GHC.TypeLits.Nat)) (@ (rep_XuKe :: GHC.TypeLits.Nat -> *)) (@ (size_XuKg :: GHC.TypeLits.Nat)) (tup_avBm [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKc rep_XuKe size_XuKg) (eta_X1J [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKc rep_XuKe size_XuKg) -> case tup_avBm of _ [Occ=Dead, Dmd=] { (_ [Occ=Dead, Dmd=], _ [Occ=Dead, Dmd=], tpl_B3 [Occ=Once, Dmd=], _ [Occ=Dead, Dmd=], _ [Occ=Dead, Dmd=], _ [Occ=Dead, Dmd=]) -> GHC.Num.signum @ (rep_XuKe size_XuKg) tpl_B3 (eta_X1J `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKc rep_XuKe size_XuKg ~# rep_XuKe size_XuKg)) }}] a_swkh = \ (@ (frac_XuKc :: GHC.TypeLits.Nat)) (@ (rep_XuKe :: GHC.TypeLits.Nat -> *)) (@ (size_XuKg :: GHC.TypeLits.Nat)) (tup_avBm :: CLaSH.Sized.Fixed.NumFixed frac_XuKc rep_XuKe size_XuKg) (eta_X1J :: CLaSH.Sized.Fixed.Fixed frac_XuKc rep_XuKe size_XuKg) -> case tup_avBm of wild_X1C [Dmd=] { (tpl_X1L [Dmd=], tpl_X1N [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=]) -> GHC.Num.signum @ (rep_XuKe size_XuKg) tpl_B3 (eta_X1J `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKc rep_XuKe size_XuKg ~# rep_XuKe size_XuKg)) } $w$cabs_sxhI :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (1 GHC.TypeLits.<= size_auH0, ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_auH0 GHC.TypeLits.+ 2), CLaSH.Class.BitVector.BitVector (rep_auGZ size_auH0), CLaSH.Class.BitVector.BitVector (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0) ~ size_auH0, CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) ~ (size_auH0 GHC.TypeLits.+ 2), GHC.TypeLits.KnownNat size_auH0, GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ 2), GHC.Enum.Bounded (rep_auGZ size_auH0), Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0, GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=13, Str=DmdType ] $w$cabs_sxhI = \ (@ (frac_XuKd :: GHC.TypeLits.Nat)) (@ (rep_XuKf :: GHC.TypeLits.Nat -> *)) (@ (size_XuKh :: GHC.TypeLits.Nat)) _ [Occ=Dead] (ww_sxhs :: ((size_XuKh GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_XuKh GHC.TypeLits.+ 2)) (ww_sxht :: CLaSH.Class.BitVector.BitVector (rep_XuKf size_XuKh)) (ww_sxhu :: CLaSH.Class.BitVector.BitVector (rep_XuKf (size_XuKh GHC.TypeLits.+ 2))) (ww_sxhv :: CLaSH.Class.BitVector.BitSize (rep_XuKf size_XuKh) ~ size_XuKh) (ww_sxhw :: CLaSH.Class.BitVector.BitSize (rep_XuKf (size_XuKh GHC.TypeLits.+ 2)) ~ (size_XuKh GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww_sxhy :: GHC.TypeLits.KnownNat (size_XuKh GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww_sxhA :: Data.Bits.Bits (rep_XuKf (size_XuKh GHC.TypeLits.+ 2))) (ww_sxhC :: CLaSH.Sized.Fixed.ResizeFC rep_XuKf (frac_XuKd GHC.TypeLits.+ frac_XuKd) frac_XuKd (size_XuKh GHC.TypeLits.+ size_XuKh) size_XuKh) (ww_sxhE :: GHC.Num.Num (rep_XuKf (size_XuKh GHC.TypeLits.+ 2))) (w_sxhl :: CLaSH.Sized.Fixed.Fixed frac_XuKd rep_XuKf size_XuKh) -> let { $dKnownNat_swsx :: GHC.TypeLits.KnownNat size_XuKh [LclId, Str=DmdType] $dKnownNat_swsx = case ww_sxhC of wild_X1H [Dmd=] { (tpl_X1V [Dmd=], tpl_X1X [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B7 } } in case ww_sxhs of ww_sxgD { GHC.Types.Eq# ww_sxgE -> case ww_sxhu of ww_sxgJ { CLaSH.Class.BitVector.D:BitVector ww_sxgK ww_sxgL -> case ww_sxhw of ww_XxkJ { GHC.Types.Eq# ipv_sxsr -> case ww_sxhA of ww_sxgU { Data.Bits.D:Bits ww_sxgV ww_sxgW ww_sxgX ww_sxgY ww_sxgZ ww_sxh0 ww_sxh1 ww_sxh2 ww_sxh3 ww_sxh4 ww_sxh5 ww_sxh6 ww_sxh7 ww_sxh8 ww_sxh9 ww_sxha ww_sxhb ww_sxhc ww_sxhd ww_sxhe ww_sxhf ww_sxhg ww_sxhh -> ($wsatN2_sxbN @ rep_XuKf @ size_XuKh @~ ww_sxgE ww_sxht ww_sxgK ww_sxhv ww_sxhw $dKnownNat_swsx ww_sxhy (case ww_sxhC of wild_X1F [Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X20 }) ww_sxha (GHC.Num.abs @ (rep_XuKf (size_XuKh GHC.TypeLits.+ 2)) ww_sxhE (case ww_sxhC of wild_X21 [Dmd=] { (tpl_X7i [Dmd=], tpl_X7l [Dmd=], tpl_X5n [Dmd=], tpl_X5p [Dmd=], tpl_X5r [Dmd=], tpl_X5t [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> (tpl_X5t `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKf ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKf a_ae8M -> rep_XuKf b_ae8N))) @ size_XuKh @ (size_XuKh GHC.TypeLits.+ 2) $dKnownNat_swsx ww_sxhy (w_sxhl `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKd rep_XuKf size_XuKh ~# rep_XuKf size_XuKh)) }))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKf size_XuKh ~# CLaSH.Sized.Fixed.Fixed frac_XuKd rep_XuKf size_XuKh) } } } } $cabs_avCW [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_XuKe :: GHC.TypeLits.Nat)) (@ (rep_XuKg :: GHC.TypeLits.Nat -> *)) (@ (size_XuKi :: GHC.TypeLits.Nat)) (w_sxhk [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKe rep_XuKg size_XuKi) (w_sxhl [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKe rep_XuKg size_XuKi) -> case w_sxhk of _ [Occ=Dead] { (ww_sxho [Occ=Once!], ww_sxhC [Occ=Once], _ [Occ=Dead], ww_sxhE [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> case ww_sxho of _ [Occ=Dead] { (ww_sxhr [Occ=Once], ww_sxhs [Occ=Once], ww_sxht [Occ=Once], ww_sxhu [Occ=Once], ww_sxhv [Occ=Once], ww_sxhw [Occ=Once], ww_sxhx [Occ=Once], ww_sxhy [Occ=Once], ww_sxhz [Occ=Once], ww_sxhA [Occ=Once]) -> $w$cabs_sxhI @ frac_XuKe @ rep_XuKg @ size_XuKi ww_sxhr ww_sxhs ww_sxht ww_sxhu ww_sxhv ww_sxhw ww_sxhx ww_sxhy ww_sxhz ww_sxhA ww_sxhC ww_sxhE w_sxhl } }}] $cabs_avCW = \ (@ (frac_XuKe :: GHC.TypeLits.Nat)) (@ (rep_XuKg :: GHC.TypeLits.Nat -> *)) (@ (size_XuKi :: GHC.TypeLits.Nat)) (w_sxhk :: CLaSH.Sized.Fixed.NumFixed frac_XuKe rep_XuKg size_XuKi) (w_sxhl :: CLaSH.Sized.Fixed.Fixed frac_XuKe rep_XuKg size_XuKi) -> case w_sxhk of _ [Occ=Dead] { (ww_sxho, ww_sxhC, ww_sxhD, ww_sxhE, ww_sxhF, ww_sxhG) -> case ww_sxho of _ [Occ=Dead] { (ww_sxhr, ww_sxhs, ww_sxht, ww_sxhu, ww_sxhv, ww_sxhw, ww_sxhx, ww_sxhy, ww_sxhz, ww_sxhA) -> $w$cabs_sxhI @ frac_XuKe @ rep_XuKg @ size_XuKi ww_sxhr ww_sxhs ww_sxht ww_sxhu ww_sxhv ww_sxhw ww_sxhx ww_sxhy ww_sxhz ww_sxhA ww_sxhC ww_sxhE w_sxhl } } $w$cnegate_sxiT :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (1 GHC.TypeLits.<= size_auH0, ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_auH0 GHC.TypeLits.+ 2), CLaSH.Class.BitVector.BitVector (rep_auGZ size_auH0), CLaSH.Class.BitVector.BitVector (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0) ~ size_auH0, CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) ~ (size_auH0 GHC.TypeLits.+ 2), GHC.TypeLits.KnownNat size_auH0, GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ 2), GHC.Enum.Bounded (rep_auGZ size_auH0), Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0, GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=13, Str=DmdType ] $w$cnegate_sxiT = \ (@ (frac_XuKf :: GHC.TypeLits.Nat)) (@ (rep_XuKh :: GHC.TypeLits.Nat -> *)) (@ (size_XuKj :: GHC.TypeLits.Nat)) _ [Occ=Dead] (ww_sxiD :: ((size_XuKj GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_XuKj GHC.TypeLits.+ 2)) (ww_sxiE :: CLaSH.Class.BitVector.BitVector (rep_XuKh size_XuKj)) (ww_sxiF :: CLaSH.Class.BitVector.BitVector (rep_XuKh (size_XuKj GHC.TypeLits.+ 2))) (ww_sxiG :: CLaSH.Class.BitVector.BitSize (rep_XuKh size_XuKj) ~ size_XuKj) (ww_sxiH :: CLaSH.Class.BitVector.BitSize (rep_XuKh (size_XuKj GHC.TypeLits.+ 2)) ~ (size_XuKj GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww_sxiJ :: GHC.TypeLits.KnownNat (size_XuKj GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww_sxiL :: Data.Bits.Bits (rep_XuKh (size_XuKj GHC.TypeLits.+ 2))) (ww_sxiN :: CLaSH.Sized.Fixed.ResizeFC rep_XuKh (frac_XuKf GHC.TypeLits.+ frac_XuKf) frac_XuKf (size_XuKj GHC.TypeLits.+ size_XuKj) size_XuKj) (ww_sxiP :: GHC.Num.Num (rep_XuKh (size_XuKj GHC.TypeLits.+ 2))) (w_sxiw :: CLaSH.Sized.Fixed.Fixed frac_XuKf rep_XuKh size_XuKj) -> let { $dKnownNat_swsp :: GHC.TypeLits.KnownNat size_XuKj [LclId, Str=DmdType] $dKnownNat_swsp = case ww_sxiN of wild_X1I [Dmd=] { (tpl_X1W [Dmd=], tpl_X1Y [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B7 } } in case ww_sxiD of ww_sxhO { GHC.Types.Eq# ww_sxhP -> case ww_sxiF of ww_sxhU { CLaSH.Class.BitVector.D:BitVector ww_sxhV ww_sxhW -> case ww_sxiH of ww_XxlW { GHC.Types.Eq# ipv_sxtc -> case ww_sxiL of ww_sxi5 { Data.Bits.D:Bits ww_sxi6 ww_sxi7 ww_sxi8 ww_sxi9 ww_sxia ww_sxib ww_sxic ww_sxid ww_sxie ww_sxif ww_sxig ww_sxih ww_sxii ww_sxij ww_sxik ww_sxil ww_sxim ww_sxin ww_sxio ww_sxip ww_sxiq ww_sxir ww_sxis -> ($wsatN2_sxbN @ rep_XuKh @ size_XuKj @~ ww_sxhP ww_sxiE ww_sxhV ww_sxiG ww_sxiH $dKnownNat_swsp ww_sxiJ (case ww_sxiN of wild_X1G [Dmd=] { (tpl_X21 [Dmd=], tpl_X23 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X21 }) ww_sxil (GHC.Num.negate @ (rep_XuKh (size_XuKj GHC.TypeLits.+ 2)) ww_sxiP (case ww_sxiN of wild_X22 [Dmd=] { (tpl_X7k [Dmd=], tpl_X7n [Dmd=], tpl_X5o [Dmd=], tpl_X5q [Dmd=], tpl_X5s [Dmd=], tpl_X5u [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> (tpl_X5u `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKh ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKh a_ae8M -> rep_XuKh b_ae8N))) @ size_XuKj @ (size_XuKj GHC.TypeLits.+ 2) $dKnownNat_swsp ww_sxiJ (w_sxiw `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKf rep_XuKh size_XuKj ~# rep_XuKh size_XuKj)) }))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKh size_XuKj ~# CLaSH.Sized.Fixed.Fixed frac_XuKf rep_XuKh size_XuKj) } } } } $cnegate_avCC [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_XuKg :: GHC.TypeLits.Nat)) (@ (rep_XuKi :: GHC.TypeLits.Nat -> *)) (@ (size_XuKk :: GHC.TypeLits.Nat)) (w_sxiv [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKg rep_XuKi size_XuKk) (w_sxiw [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKg rep_XuKi size_XuKk) -> case w_sxiv of _ [Occ=Dead] { (ww_sxiz [Occ=Once!], ww_sxiN [Occ=Once], _ [Occ=Dead], ww_sxiP [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> case ww_sxiz of _ [Occ=Dead] { (ww_sxiC [Occ=Once], ww_sxiD [Occ=Once], ww_sxiE [Occ=Once], ww_sxiF [Occ=Once], ww_sxiG [Occ=Once], ww_sxiH [Occ=Once], ww_sxiI [Occ=Once], ww_sxiJ [Occ=Once], ww_sxiK [Occ=Once], ww_sxiL [Occ=Once]) -> $w$cnegate_sxiT @ frac_XuKg @ rep_XuKi @ size_XuKk ww_sxiC ww_sxiD ww_sxiE ww_sxiF ww_sxiG ww_sxiH ww_sxiI ww_sxiJ ww_sxiK ww_sxiL ww_sxiN ww_sxiP w_sxiw } }}] $cnegate_avCC = \ (@ (frac_XuKg :: GHC.TypeLits.Nat)) (@ (rep_XuKi :: GHC.TypeLits.Nat -> *)) (@ (size_XuKk :: GHC.TypeLits.Nat)) (w_sxiv :: CLaSH.Sized.Fixed.NumFixed frac_XuKg rep_XuKi size_XuKk) (w_sxiw :: CLaSH.Sized.Fixed.Fixed frac_XuKg rep_XuKi size_XuKk) -> case w_sxiv of _ [Occ=Dead] { (ww_sxiz, ww_sxiN, ww_sxiO, ww_sxiP, ww_sxiQ, ww_sxiR) -> case ww_sxiz of _ [Occ=Dead] { (ww_sxiC, ww_sxiD, ww_sxiE, ww_sxiF, ww_sxiG, ww_sxiH, ww_sxiI, ww_sxiJ, ww_sxiK, ww_sxiL) -> $w$cnegate_sxiT @ frac_XuKg @ rep_XuKi @ size_XuKk ww_sxiC ww_sxiD ww_sxiE ww_sxiF ww_sxiG ww_sxiH ww_sxiI ww_sxiJ ww_sxiK ww_sxiL ww_sxiN ww_sxiP w_sxiw } } $w$c-_sxk5 :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (1 GHC.TypeLits.<= size_auH0, ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_auH0 GHC.TypeLits.+ 2), CLaSH.Class.BitVector.BitVector (rep_auGZ size_auH0), CLaSH.Class.BitVector.BitVector (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0) ~ size_auH0, CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) ~ (size_auH0 GHC.TypeLits.+ 2), GHC.TypeLits.KnownNat size_auH0, GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ 2), GHC.Enum.Bounded (rep_auGZ size_auH0), Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0, GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=14, Str=DmdType ] $w$c-_sxk5 = \ (@ (frac_XuKh :: GHC.TypeLits.Nat)) (@ (rep_XuKj :: GHC.TypeLits.Nat -> *)) (@ (size_XuKl :: GHC.TypeLits.Nat)) _ [Occ=Dead] (ww_sxjP :: ((size_XuKl GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_XuKl GHC.TypeLits.+ 2)) (ww_sxjQ :: CLaSH.Class.BitVector.BitVector (rep_XuKj size_XuKl)) (ww_sxjR :: CLaSH.Class.BitVector.BitVector (rep_XuKj (size_XuKl GHC.TypeLits.+ 2))) (ww_sxjS :: CLaSH.Class.BitVector.BitSize (rep_XuKj size_XuKl) ~ size_XuKl) (ww_sxjT :: CLaSH.Class.BitVector.BitSize (rep_XuKj (size_XuKl GHC.TypeLits.+ 2)) ~ (size_XuKl GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww_sxjV :: GHC.TypeLits.KnownNat (size_XuKl GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww_sxjX :: Data.Bits.Bits (rep_XuKj (size_XuKl GHC.TypeLits.+ 2))) (ww_sxjZ :: CLaSH.Sized.Fixed.ResizeFC rep_XuKj (frac_XuKh GHC.TypeLits.+ frac_XuKh) frac_XuKh (size_XuKl GHC.TypeLits.+ size_XuKl) size_XuKl) (ww_sxk1 :: GHC.Num.Num (rep_XuKj (size_XuKl GHC.TypeLits.+ 2))) (w_sxjH :: CLaSH.Sized.Fixed.Fixed frac_XuKh rep_XuKj size_XuKl) (w_sxjI :: CLaSH.Sized.Fixed.Fixed frac_XuKh rep_XuKj size_XuKl) -> let { $dKnownNat_swsg :: GHC.TypeLits.KnownNat size_XuKl [LclId, Str=DmdType] $dKnownNat_swsg = case ww_sxjZ of wild_X1L [Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B7 } } in case ww_sxjP of ww_sxiZ { GHC.Types.Eq# ww_sxj0 -> case ww_sxjR of ww_sxj5 { CLaSH.Class.BitVector.D:BitVector ww_sxj6 ww_sxj7 -> case ww_sxjT of ww_Xxna { GHC.Types.Eq# ipv_sxtX -> case ww_sxjX of ww_sxjg { Data.Bits.D:Bits ww_sxjh ww_sxji ww_sxjj ww_sxjk ww_sxjl ww_sxjm ww_sxjn ww_sxjo ww_sxjp ww_sxjq ww_sxjr ww_sxjs ww_sxjt ww_sxju ww_sxjv ww_sxjw ww_sxjx ww_sxjy ww_sxjz ww_sxjA ww_sxjB ww_sxjC ww_sxjD -> ($wsatN2_sxbN @ rep_XuKj @ size_XuKl @~ ww_sxj0 ww_sxjQ ww_sxj6 ww_sxjS ww_sxjT $dKnownNat_swsg ww_sxjV (case ww_sxjZ of wild_X1H [Dmd=] { (tpl_X25 [Dmd=], tpl_X27 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X25 }) ww_sxjw (GHC.Num.- @ (rep_XuKj (size_XuKl GHC.TypeLits.+ 2)) ww_sxk1 (case ww_sxjZ of wild_X3F [Dmd=] { (tpl_X1Y [Dmd=], tpl_X20 [Dmd=], tpl_X5s [Dmd=], tpl_X5u [Dmd=], tpl_X5w [Dmd=], tpl_X5y [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> (tpl_X5y `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKj ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKj a_ae8M -> rep_XuKj b_ae8N))) @ size_XuKl @ (size_XuKl GHC.TypeLits.+ 2) $dKnownNat_swsg ww_sxjV (w_sxjH `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKh rep_XuKj size_XuKl ~# rep_XuKj size_XuKl)) }) (case ww_sxjZ of wild_X3F [Dmd=] { (tpl_X1Y [Dmd=], tpl_X20 [Dmd=], tpl_X5s [Dmd=], tpl_X5u [Dmd=], tpl_X5w [Dmd=], tpl_X5y [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> (tpl_X5y `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKj ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKj a_ae8M -> rep_XuKj b_ae8N))) @ size_XuKl @ (size_XuKl GHC.TypeLits.+ 2) $dKnownNat_swsg ww_sxjV (w_sxjI `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKh rep_XuKj size_XuKl ~# rep_XuKj size_XuKl)) }))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKj size_XuKl ~# CLaSH.Sized.Fixed.Fixed frac_XuKh rep_XuKj size_XuKl) } } } } $c-_avCb [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_XuKi :: GHC.TypeLits.Nat)) (@ (rep_XuKk :: GHC.TypeLits.Nat -> *)) (@ (size_XuKm :: GHC.TypeLits.Nat)) (w_sxjG [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKi rep_XuKk size_XuKm) (w_sxjH [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKi rep_XuKk size_XuKm) (w_sxjI [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKi rep_XuKk size_XuKm) -> case w_sxjG of _ [Occ=Dead] { (ww_sxjL [Occ=Once!], ww_sxjZ [Occ=Once], _ [Occ=Dead], ww_sxk1 [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> case ww_sxjL of _ [Occ=Dead] { (ww_sxjO [Occ=Once], ww_sxjP [Occ=Once], ww_sxjQ [Occ=Once], ww_sxjR [Occ=Once], ww_sxjS [Occ=Once], ww_sxjT [Occ=Once], ww_sxjU [Occ=Once], ww_sxjV [Occ=Once], ww_sxjW [Occ=Once], ww_sxjX [Occ=Once]) -> $w$c-_sxk5 @ frac_XuKi @ rep_XuKk @ size_XuKm ww_sxjO ww_sxjP ww_sxjQ ww_sxjR ww_sxjS ww_sxjT ww_sxjU ww_sxjV ww_sxjW ww_sxjX ww_sxjZ ww_sxk1 w_sxjH w_sxjI } }}] $c-_avCb = \ (@ (frac_XuKi :: GHC.TypeLits.Nat)) (@ (rep_XuKk :: GHC.TypeLits.Nat -> *)) (@ (size_XuKm :: GHC.TypeLits.Nat)) (w_sxjG :: CLaSH.Sized.Fixed.NumFixed frac_XuKi rep_XuKk size_XuKm) (w_sxjH :: CLaSH.Sized.Fixed.Fixed frac_XuKi rep_XuKk size_XuKm) (w_sxjI :: CLaSH.Sized.Fixed.Fixed frac_XuKi rep_XuKk size_XuKm) -> case w_sxjG of _ [Occ=Dead] { (ww_sxjL, ww_sxjZ, ww_sxk0, ww_sxk1, ww_sxk2, ww_sxk3) -> case ww_sxjL of _ [Occ=Dead] { (ww_sxjO, ww_sxjP, ww_sxjQ, ww_sxjR, ww_sxjS, ww_sxjT, ww_sxjU, ww_sxjV, ww_sxjW, ww_sxjX) -> $w$c-_sxk5 @ frac_XuKi @ rep_XuKk @ size_XuKm ww_sxjO ww_sxjP ww_sxjQ ww_sxjR ww_sxjS ww_sxjT ww_sxjU ww_sxjV ww_sxjW ww_sxjX ww_sxjZ ww_sxk1 w_sxjH w_sxjI } } $c*_avBP [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_XuKk :: GHC.TypeLits.Nat)) (@ (rep_XuKm :: GHC.TypeLits.Nat -> *)) (@ (size_XuKo :: GHC.TypeLits.Nat)) (w_sxkl [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKk rep_XuKm size_XuKo) (w_sxkm [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo) (w_sxkn [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo) -> case w_sxkl of _ [Occ=Dead] { (_ [Occ=Dead], ww_sxkr [Occ=Once!], _ [Occ=Dead], _ [Occ=Dead], ww_sxkJ [Occ=Once], ww_sxkK [Occ=Once!]) -> case ww_sxkr of _ [Occ=Dead] { (ww_sxku [Occ=Once], _ [Occ=Dead], ww_sxkw [Occ=Once], ww_sxkx [Occ=Once], ww_sxky [Occ=Once], ww_sxkz [Occ=Once], ww_sxkA [Occ=Once], ww_sxkB [Occ=Once], ww_sxkC [Occ=Once], ww_sxkD [Occ=Once], ww_sxkE [Occ=Once], _ [Occ=Dead]) -> $wresizeF_sxcA @ (frac_XuKk GHC.TypeLits.+ frac_XuKk) @ frac_XuKk @ rep_XuKm @ (size_XuKo GHC.TypeLits.+ size_XuKo) @ size_XuKo ww_sxku ww_sxkw ww_sxkx ww_sxky ww_sxkz ww_sxkA ww_sxkB ww_sxkC ww_sxkD ww_sxkE (case ww_sxkK of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw1a -> ((ww_sxkJ `cast` (CLaSH.Class.Num.NTCo:Mult[0] _N _N :: CLaSH.Class.Num.Mult (rep_XuKm size_XuKo) (rep_XuKm size_XuKo) ~# (rep_XuKm size_XuKo -> rep_XuKm size_XuKo -> CLaSH.Class.Num.MResult (rep_XuKm size_XuKo) (rep_XuKm size_XuKo)))) (w_sxkm `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo ~# rep_XuKm size_XuKo)) (w_sxkn `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo ~# rep_XuKm size_XuKo))) `cast` (Sub cobox_dw1a ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: CLaSH.Class.Num.MResult (rep_XuKm size_XuKo) (rep_XuKm size_XuKo) ~# CLaSH.Sized.Fixed.Fixed (frac_XuKk GHC.TypeLits.+ frac_XuKk) rep_XuKm (size_XuKo GHC.TypeLits.+ size_XuKo)) }) } }}] $c*_avBP = \ (@ (frac_XuKk :: GHC.TypeLits.Nat)) (@ (rep_XuKm :: GHC.TypeLits.Nat -> *)) (@ (size_XuKo :: GHC.TypeLits.Nat)) (w_sxkl :: CLaSH.Sized.Fixed.NumFixed frac_XuKk rep_XuKm size_XuKo) (w_sxkm :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo) (w_sxkn :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo) -> case w_sxkl of _ [Occ=Dead] { (ww_sxkq, ww_sxkr, ww_sxkH, ww_sxkI, ww_sxkJ, ww_sxkK) -> case ww_sxkr of _ [Occ=Dead] { (ww_sxku, ww_sxkv, ww_sxkw, ww_sxkx, ww_sxky, ww_sxkz, ww_sxkA, ww_sxkB, ww_sxkC, ww_sxkD, ww_sxkE, ww_sxkF) -> $wresizeF_sxcA @ (frac_XuKk GHC.TypeLits.+ frac_XuKk) @ frac_XuKk @ rep_XuKm @ (size_XuKo GHC.TypeLits.+ size_XuKo) @ size_XuKo ww_sxku ww_sxkw ww_sxkx ww_sxky ww_sxkz ww_sxkA ww_sxkB ww_sxkC ww_sxkD ww_sxkE (case ww_sxkK of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw1a -> ((ww_sxkJ `cast` (CLaSH.Class.Num.NTCo:Mult[0] _N _N :: CLaSH.Class.Num.Mult (rep_XuKm size_XuKo) (rep_XuKm size_XuKo) ~# (rep_XuKm size_XuKo -> rep_XuKm size_XuKo -> CLaSH.Class.Num.MResult (rep_XuKm size_XuKo) (rep_XuKm size_XuKo)))) (w_sxkm `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo ~# rep_XuKm size_XuKo)) (w_sxkn `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo ~# rep_XuKm size_XuKo))) `cast` (Sub cobox_dw1a ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: CLaSH.Class.Num.MResult (rep_XuKm size_XuKo) (rep_XuKm size_XuKo) ~# CLaSH.Sized.Fixed.Fixed (frac_XuKk GHC.TypeLits.+ frac_XuKk) rep_XuKm (size_XuKo GHC.TypeLits.+ size_XuKo)) }) } } $w$c+_sxlY :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (1 GHC.TypeLits.<= size_auH0, ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_auH0 GHC.TypeLits.+ 2), CLaSH.Class.BitVector.BitVector (rep_auGZ size_auH0), CLaSH.Class.BitVector.BitVector (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0) ~ size_auH0, CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) ~ (size_auH0 GHC.TypeLits.+ 2), GHC.TypeLits.KnownNat size_auH0, GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ 2), GHC.Enum.Bounded (rep_auGZ size_auH0), Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0, GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=14, Str=DmdType ] $w$c+_sxlY = \ (@ (frac_XuKl :: GHC.TypeLits.Nat)) (@ (rep_XuKn :: GHC.TypeLits.Nat -> *)) (@ (size_XuKp :: GHC.TypeLits.Nat)) _ [Occ=Dead] (ww_sxlI :: ((size_XuKp GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_XuKp GHC.TypeLits.+ 2)) (ww_sxlJ :: CLaSH.Class.BitVector.BitVector (rep_XuKn size_XuKp)) (ww_sxlK :: CLaSH.Class.BitVector.BitVector (rep_XuKn (size_XuKp GHC.TypeLits.+ 2))) (ww_sxlL :: CLaSH.Class.BitVector.BitSize (rep_XuKn size_XuKp) ~ size_XuKp) (ww_sxlM :: CLaSH.Class.BitVector.BitSize (rep_XuKn (size_XuKp GHC.TypeLits.+ 2)) ~ (size_XuKp GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww_sxlO :: GHC.TypeLits.KnownNat (size_XuKp GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww_sxlQ :: Data.Bits.Bits (rep_XuKn (size_XuKp GHC.TypeLits.+ 2))) (ww_sxlS :: CLaSH.Sized.Fixed.ResizeFC rep_XuKn (frac_XuKl GHC.TypeLits.+ frac_XuKl) frac_XuKl (size_XuKp GHC.TypeLits.+ size_XuKp) size_XuKp) (ww_sxlU :: GHC.Num.Num (rep_XuKn (size_XuKp GHC.TypeLits.+ 2))) (w_sxlA :: CLaSH.Sized.Fixed.Fixed frac_XuKl rep_XuKn size_XuKp) (w_sxlB :: CLaSH.Sized.Fixed.Fixed frac_XuKl rep_XuKn size_XuKp) -> let { $dKnownNat_sws2 :: GHC.TypeLits.KnownNat size_XuKp [LclId, Str=DmdType] $dKnownNat_sws2 = case ww_sxlS of wild_X1N [Dmd=] { (tpl_X22 [Dmd=], tpl_X24 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B7 } } in case ww_sxlI of ww_sxkS { GHC.Types.Eq# ww_sxkT -> case ww_sxlK of ww_sxkY { CLaSH.Class.BitVector.D:BitVector ww_sxkZ ww_sxl0 -> case ww_sxlM of ww_Xxp7 { GHC.Types.Eq# ipv_sxuU -> case ww_sxlQ of ww_sxl9 { Data.Bits.D:Bits ww_sxla ww_sxlb ww_sxlc ww_sxld ww_sxle ww_sxlf ww_sxlg ww_sxlh ww_sxli ww_sxlj ww_sxlk ww_sxll ww_sxlm ww_sxln ww_sxlo ww_sxlp ww_sxlq ww_sxlr ww_sxls ww_sxlt ww_sxlu ww_sxlv ww_sxlw -> ($wsatN2_sxbN @ rep_XuKn @ size_XuKp @~ ww_sxkT ww_sxlJ ww_sxkZ ww_sxlL ww_sxlM $dKnownNat_sws2 ww_sxlO (case ww_sxlS of wild_X3O [Dmd=] { (tpl_X27 [Dmd=], tpl_X29 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X27 }) ww_sxlp (GHC.Num.+ @ (rep_XuKn (size_XuKp GHC.TypeLits.+ 2)) ww_sxlU (case ww_sxlS of wild_X1L [Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_X5u [Dmd=], tpl_X5w [Dmd=], tpl_X5y [Dmd=], tpl_X5A [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> (tpl_X5A `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKn ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKn a_ae8M -> rep_XuKn b_ae8N))) @ size_XuKp @ (size_XuKp GHC.TypeLits.+ 2) $dKnownNat_sws2 ww_sxlO (w_sxlA `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKl rep_XuKn size_XuKp ~# rep_XuKn size_XuKp)) }) (case ww_sxlS of wild_X1L [Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_X5u [Dmd=], tpl_X5w [Dmd=], tpl_X5y [Dmd=], tpl_X5A [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> (tpl_X5A `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKn ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKn a_ae8M -> rep_XuKn b_ae8N))) @ size_XuKp @ (size_XuKp GHC.TypeLits.+ 2) $dKnownNat_sws2 ww_sxlO (w_sxlB `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKl rep_XuKn size_XuKp ~# rep_XuKn size_XuKp)) }))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKn size_XuKp ~# CLaSH.Sized.Fixed.Fixed frac_XuKl rep_XuKn size_XuKp) } } } } $c+_avBo [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_XuKm :: GHC.TypeLits.Nat)) (@ (rep_XuKo :: GHC.TypeLits.Nat -> *)) (@ (size_XuKq :: GHC.TypeLits.Nat)) (w_sxlz [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKm rep_XuKo size_XuKq) (w_sxlA [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKm rep_XuKo size_XuKq) (w_sxlB [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKm rep_XuKo size_XuKq) -> case w_sxlz of _ [Occ=Dead] { (ww_sxlE [Occ=Once!], ww_sxlS [Occ=Once], _ [Occ=Dead], ww_sxlU [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> case ww_sxlE of _ [Occ=Dead] { (ww_sxlH [Occ=Once], ww_sxlI [Occ=Once], ww_sxlJ [Occ=Once], ww_sxlK [Occ=Once], ww_sxlL [Occ=Once], ww_sxlM [Occ=Once], ww_sxlN [Occ=Once], ww_sxlO [Occ=Once], ww_sxlP [Occ=Once], ww_sxlQ [Occ=Once]) -> $w$c+_sxlY @ frac_XuKm @ rep_XuKo @ size_XuKq ww_sxlH ww_sxlI ww_sxlJ ww_sxlK ww_sxlL ww_sxlM ww_sxlN ww_sxlO ww_sxlP ww_sxlQ ww_sxlS ww_sxlU w_sxlA w_sxlB } }}] $c+_avBo = \ (@ (frac_XuKm :: GHC.TypeLits.Nat)) (@ (rep_XuKo :: GHC.TypeLits.Nat -> *)) (@ (size_XuKq :: GHC.TypeLits.Nat)) (w_sxlz :: CLaSH.Sized.Fixed.NumFixed frac_XuKm rep_XuKo size_XuKq) (w_sxlA :: CLaSH.Sized.Fixed.Fixed frac_XuKm rep_XuKo size_XuKq) (w_sxlB :: CLaSH.Sized.Fixed.Fixed frac_XuKm rep_XuKo size_XuKq) -> case w_sxlz of _ [Occ=Dead] { (ww_sxlE, ww_sxlS, ww_sxlT, ww_sxlU, ww_sxlV, ww_sxlW) -> case ww_sxlE of _ [Occ=Dead] { (ww_sxlH, ww_sxlI, ww_sxlJ, ww_sxlK, ww_sxlL, ww_sxlM, ww_sxlN, ww_sxlO, ww_sxlP, ww_sxlQ) -> $w$c+_sxlY @ frac_XuKm @ rep_XuKo @ size_XuKq ww_sxlH ww_sxlI ww_sxlJ ww_sxlK ww_sxlL ww_sxlM ww_sxlN ww_sxlO ww_sxlP ww_sxlQ ww_sxlS ww_sxlU w_sxlA w_sxlB } } CLaSH.Sized.Fixed.$fNumFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => GHC.Num.Num (CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) [LclIdX[DFunId], Arity=1, Str=DmdType m, Unf=DFun: \ (@ (frac_XuIO :: GHC.TypeLits.Nat)) (@ (rep_XuIQ :: GHC.TypeLits.Nat -> *)) (@ (size_XuIS :: GHC.TypeLits.Nat)) (tup_XvDf :: CLaSH.Sized.Fixed.NumFixed frac_XuIO rep_XuIQ size_XuIS) -> GHC.Num.D:Num TYPE CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS $c+_avBo @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $c*_avBP @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $c-_avCb @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $cnegate_avCC @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $cabs_avCW @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf (a_swkh @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) `cast` (_R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> rep_XuIQ size_XuIS) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS)) $cfromInteger_avDp @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf] CLaSH.Sized.Fixed.$fNumFixed = \ (@ (frac_XuIO :: GHC.TypeLits.Nat)) (@ (rep_XuIQ :: GHC.TypeLits.Nat -> *)) (@ (size_XuIS :: GHC.TypeLits.Nat)) (tup_XvDf [Dmd=] :: CLaSH.Sized.Fixed.NumFixed frac_XuIO rep_XuIQ size_XuIS) -> GHC.Num.D:Num @ (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS) ($c+_avBo @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($c*_avBP @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($c-_avCb @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($cnegate_avCC @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($cabs_avCW @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ((a_swkh @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) `cast` (_R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> rep_XuIQ size_XuIS) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS))) ($cfromInteger_avDp @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) CLaSH.Sized.Fixed.$fBitVectorFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV) => CLaSH.Class.BitVector.BitVector (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV) [LclIdX[DFunId], Arity=1, Str=DmdType m, Unf=DFun: \ (@ (frac_XuIN :: GHC.TypeLits.Nat)) (@ (rep_XuIP :: GHC.TypeLits.Nat -> *)) (@ (size_XuIR :: GHC.TypeLits.Nat)) ($dBitVector_XvCT :: CLaSH.Class.BitVector.BitVector (rep_XuIP size_XuIR)) -> CLaSH.Class.BitVector.D:BitVector TYPE CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR (\ ($dKnownNat_avB0 :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (ds_dw0H :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) -> CLaSH.Class.BitVector.toBV @ (rep_XuIP size_XuIR) $dBitVector_XvCT ($dKnownNat_avB0 `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (ds_dw0H `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR ~# rep_XuIP size_XuIR))) `cast` (_R -> _R -> (CLaSH.Sized.Vector.Vec (Sym (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N)) _R)_R :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit)) (\ ($dKnownNat_avBa :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (bv_auGX :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit) -> CLaSH.Class.BitVector.fromBV @ (rep_XuIP size_XuIR) $dBitVector_XvCT ($dKnownNat_avBa `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (bv_auGX `cast` ((CLaSH.Sized.Vector.Vec (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit))) `cast` (_R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> rep_XuIP size_XuIR) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))] CLaSH.Sized.Fixed.$fBitVectorFixed = \ (@ (frac_XuIN :: GHC.TypeLits.Nat)) (@ (rep_XuIP :: GHC.TypeLits.Nat -> *)) (@ (size_XuIR :: GHC.TypeLits.Nat)) ($dBitVector_XvCT [Dmd=] :: CLaSH.Class.BitVector.BitVector (rep_XuIP size_XuIR)) -> let { lvl_sxDk :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) => rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit [LclId, Str=DmdType] lvl_sxDk = CLaSH.Class.BitVector.toBV @ (rep_XuIP size_XuIR) $dBitVector_XvCT } in let { lvl_sxDl :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> rep_XuIP size_XuIR [LclId, Str=DmdType] lvl_sxDl = CLaSH.Class.BitVector.fromBV @ (rep_XuIP size_XuIR) $dBitVector_XvCT } in CLaSH.Class.BitVector.D:BitVector @ (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) ((\ ($dKnownNat_avB0 :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (ds_dw0H :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) -> lvl_sxDk ($dKnownNat_avB0 `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (ds_dw0H `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR ~# rep_XuIP size_XuIR))) `cast` (_R -> _R -> (CLaSH.Sized.Vector.Vec (Sym (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N)) _R)_R :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit))) ((\ ($dKnownNat_avBa :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (bv_auGX :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit) -> lvl_sxDl ($dKnownNat_avBa `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (bv_auGX `cast` ((CLaSH.Sized.Vector.Vec (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit))) `cast` (_R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> rep_XuIP size_XuIR) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) a_swC4 :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => Data.Default.Class.Default (rep_auGM size_auGN) [LclId, Arity=1, Str=DmdType ] a_swC4 = \ (@ (frac_auGL :: GHC.TypeLits.Nat)) (@ (rep_auGM :: GHC.TypeLits.Nat -> *)) (@ (size_auGN :: GHC.TypeLits.Nat)) ($dDefault_avAe :: Data.Default.Class.Default (rep_auGM size_auGN)) -> $dDefault_avAe $cdef_avAg :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => CLaSH.Sized.Fixed.Fixed frac_auGL rep_auGM size_auGN [LclId, Arity=1, Str=DmdType ] $cdef_avAg = a_swC4 `cast` (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). _R -> Data.Default.Class.NTCo:Default[0] _N ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => Data.Default.Class.Default (rep_XuLZ size_XuM1)) ~# (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => CLaSH.Sized.Fixed.Fixed frac_XuLX rep_XuLZ size_XuM1)) CLaSH.Sized.Fixed.$fDefaultFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_auGL rep_auGM size_auGN) [LclIdX[DFunId(nt)], Arity=1, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= $cdef_avAg `cast` (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). _R -> Sym (Data.Default.Class.NTCo:Default[0] _N) :: (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuIO size_XuIQ) => CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ) ~# (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuIO size_XuIQ) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ)))}] CLaSH.Sized.Fixed.$fDefaultFixed = a_swC4 `cast` (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). _R -> Data.Default.Class.NTCo:Default[0] _N ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sym (Data.Default.Class.NTCo:Default[0] _N) :: (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => Data.Default.Class.Default (rep_XuLZ size_XuM1)) ~# (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_XuLX rep_XuLZ size_XuM1))) CLaSH.Sized.Fixed.$fBoundedFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_auGJ size_auGK) => GHC.Enum.Bounded (CLaSH.Sized.Fixed.Fixed frac_auGI rep_auGJ size_auGK) [LclIdX[DFunId], Arity=1, Str=DmdType m, Unf=DFun: \ (@ (frac_XuIW :: GHC.TypeLits.Nat)) (@ (rep_XuIY :: GHC.TypeLits.Nat -> *)) (@ (size_XuJ0 :: GHC.TypeLits.Nat)) ($dBounded_XvCa :: GHC.Enum.Bounded (rep_XuIY size_XuJ0)) -> GHC.Enum.D:Bounded TYPE CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0 (GHC.Enum.minBound @ (rep_XuIY size_XuJ0) $dBounded_XvCa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0) (GHC.Enum.maxBound @ (rep_XuIY size_XuJ0) $dBounded_XvCa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0)] CLaSH.Sized.Fixed.$fBoundedFixed = \ (@ (frac_XuIW :: GHC.TypeLits.Nat)) (@ (rep_XuIY :: GHC.TypeLits.Nat -> *)) (@ (size_XuJ0 :: GHC.TypeLits.Nat)) ($dBounded_XvCa [Dmd=] :: GHC.Enum.Bounded (rep_XuIY size_XuJ0)) -> GHC.Enum.D:Bounded @ (CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0) ((GHC.Enum.minBound @ (rep_XuIY size_XuJ0) $dBounded_XvCa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0)) ((GHC.Enum.maxBound @ (rep_XuIY size_XuJ0) $dBounded_XvCa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0)) CLaSH.Sized.Fixed.$fOrdFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => GHC.Classes.Ord (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) [LclIdX[DFunId[1]], Arity=2, Str=DmdType m, Unf=DFun: \ (@ (frac_XuIv :: GHC.TypeLits.Nat)) (@ (rep_XuIx :: GHC.TypeLits.Nat -> *)) (@ (size_XuIz :: GHC.TypeLits.Nat)) ($dEq_XvB3 :: GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) ($dOrd_XvB5 :: GHC.Classes.Ord (rep_XuIx size_XuIz)) -> GHC.Classes.D:Ord TYPE CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz $dEq_XvB3 (GHC.Classes.compare @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Ordering) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Ordering)) (GHC.Classes.< @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) (GHC.Classes.>= @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) (GHC.Classes.> @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) (GHC.Classes.<= @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) (GHC.Classes.max @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) (GHC.Classes.min @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz))] CLaSH.Sized.Fixed.$fOrdFixed = \ (@ (frac_XuIv :: GHC.TypeLits.Nat)) (@ (rep_XuIx :: GHC.TypeLits.Nat -> *)) (@ (size_XuIz :: GHC.TypeLits.Nat)) ($dEq_XvB3 :: GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) ($dOrd_XvB5 [Dmd=] :: GHC.Classes.Ord (rep_XuIx size_XuIz)) -> GHC.Classes.D:Ord @ (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz) $dEq_XvB3 ((GHC.Classes.compare @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Ordering) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Ordering))) ((GHC.Classes.< @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.>= @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.> @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.<= @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.max @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz))) ((GHC.Classes.min @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz))) CLaSH.Sized.Fixed.$fEqFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_auFG size_auFH) => GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) [LclIdX[DFunId], Arity=1, Str=DmdType m, Unf=DFun: \ (@ (frac_XuII :: GHC.TypeLits.Nat)) (@ (rep_XuIK :: GHC.TypeLits.Nat -> *)) (@ (size_XuIM :: GHC.TypeLits.Nat)) ($dEq_XvAL :: GHC.Classes.Eq (rep_XuIK size_XuIM)) -> GHC.Classes.D:Eq TYPE CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM (GHC.Classes.== @ (rep_XuIK size_XuIM) $dEq_XvAL) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool)) (GHC.Classes./= @ (rep_XuIK size_XuIM) $dEq_XvAL) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool))] CLaSH.Sized.Fixed.$fEqFixed = \ (@ (frac_XuII :: GHC.TypeLits.Nat)) (@ (rep_XuIK :: GHC.TypeLits.Nat -> *)) (@ (size_XuIM :: GHC.TypeLits.Nat)) ($dEq_XvAL [Dmd=] :: GHC.Classes.Eq (rep_XuIK size_XuIM)) -> GHC.Classes.D:Eq @ (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM) ((GHC.Classes.== @ (rep_XuIK size_XuIM) $dEq_XvAL) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool))) ((GHC.Classes./= @ (rep_XuIK size_XuIM) $dEq_XvAL) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool))) a_swC6 :: [GHC.Types.Char] [LclId, Str=DmdType] a_swC6 = a_swwS a_swC9 :: [GHC.Types.Char] [LclId, Str=DmdType] a_swC9 = a_swwV a_swCb :: [GHC.Types.Char] [LclId, Str=DmdType] a_swCb = a_swwX a_swC7 :: Language.Haskell.TH.Syntax.NameFlavour [LclId, Str=DmdType m5] a_swC7 = a_swwT lvl_swwh :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType m] lvl_swwh = lvl_swvo a_swCe :: [GHC.Types.Char] [LclId, Str=DmdType] a_swCe = a_swwS a_swCh :: [GHC.Types.Char] [LclId, Str=DmdType] a_swCh = a_swwV a_swCj :: [GHC.Types.Char] [LclId, Str=DmdType] a_swCj = a_swwX a_swCf :: Language.Haskell.TH.Syntax.NameFlavour [LclId, Str=DmdType m5] a_swCf = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.TcClsName (a_swwV `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a_swwX `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) lvl_swwp :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType m] lvl_swwp = Language.Haskell.TH.Syntax.Name (a_swwS `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a_swCf lvl_sxDm :: Language.Haskell.TH.Syntax.Type [LclId, Str=DmdType] lvl_sxDm = Language.Haskell.TH.Syntax.ConT lvl_swwp a_swCk :: forall (m_a4Ni :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4Ni => m_a4Ni Language.Haskell.TH.Syntax.Type [LclId, Arity=1, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (m_a4Ni :: * -> *)) (eta_a4Nj [Occ=Once] :: Language.Haskell.TH.Syntax.Quasi m_a4Ni) -> GHC.Base.return @ m_a4Ni (Language.Haskell.TH.Syntax.$p1Quasi @ m_a4Ni eta_a4Nj) @ Language.Haskell.TH.Syntax.Type (Language.Haskell.TH.Syntax.ConT lvl_swwp)}] a_swCk = \ (@ (m_a4Ni :: * -> *)) (eta_a4Nj :: Language.Haskell.TH.Syntax.Quasi m_a4Ni) -> GHC.Base.return @ m_a4Ni (Language.Haskell.TH.Syntax.$p1Quasi @ m_a4Ni eta_a4Nj) @ Language.Haskell.TH.Syntax.Type lvl_sxDm Rec { lgo_sxDo [Occ=LoopBreaker] :: Language.Haskell.TH.Lib.TypeQ -> [Language.Haskell.TH.Lib.TypeQ] -> Language.Haskell.TH.Lib.TypeQ [LclId, Arity=2, Str=DmdType ] lgo_sxDo = \ (z_awhM :: Language.Haskell.TH.Lib.TypeQ) (ds_awhN :: [Language.Haskell.TH.Lib.TypeQ]) -> case ds_awhN of wild_awhO [Dmd=] { [] -> z_awhM; : x_awhS [Dmd=] xs_awhT [Dmd=] -> lgo_sxDo ((Language.Haskell.TH.Lib.appT1 z_awhM x_awhS) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) xs_awhT } end Rec } lvl_sxDp :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType] lvl_sxDp = Language.Haskell.TH.Syntax.Name ((GHC.Types.[] @ GHC.Types.Char) `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) Language.Haskell.TH.Syntax.NameS lvl_sxDr :: Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] lvl_sxDr = lvl_sxD4 a_swCv :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> forall (m_akMz :: * -> *). Language.Haskell.TH.Syntax.Quasi m_akMz => m_akMz Language.Haskell.TH.Syntax.Exp [LclId, Arity=5, Str=DmdType ] a_swCv = \ (@ (frac_auGO :: GHC.TypeLits.Nat)) (@ (rep_auGP :: GHC.TypeLits.Nat -> *)) (@ (size_auGQ :: GHC.TypeLits.Nat)) ($dLift_avAq [Dmd=] :: Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ)) ($dKnownNat_avAr :: GHC.TypeLits.KnownNat frac_auGO) ($dKnownNat_avAs :: GHC.TypeLits.KnownNat size_auGQ) ($dTypeable_avAt :: Data.Typeable.Internal.Typeable rep_auGP) (f_auGR :: CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ) -> let { w1_acZp [Dmd=] :: Language.Haskell.TH.Lib.ExpQ [LclId, Str=DmdType] w1_acZp = ($dLift_avAq `cast` (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N :: Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ) ~# (rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp))) (f_auGR `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ ~# rep_auGP size_auGQ)) } in let { w1_akV2 [Dmd=] :: Language.Haskell.TH.Lib.TypeQ [LclId, Str=DmdType] w1_akV2 = lgo_sxDo (a_swCk `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (GHC.Types.: @ Language.Haskell.TH.Lib.TypeQ (let { l_a5DZ [Dmd=] :: Language.Haskell.TH.Lib.TyLitQ [LclId, Str=DmdType] l_a5DZ = Language.Haskell.TH.Lib.numTyLit ($dKnownNat_avAr `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_auGO ~# GHC.Integer.Type.Integer)) } in (\ (@ (m_a5E0 :: * -> *)) (eta_a5E1 :: Language.Haskell.TH.Syntax.Quasi m_a5E0) -> GHC.Base.fmap @ m_a5E0 (Control.Applicative.$p1Applicative @ m_a5E0 (Language.Haskell.TH.Syntax.$p2Quasi @ m_a5E0 eta_a5E1)) @ Language.Haskell.TH.Syntax.TyLit @ Language.Haskell.TH.Syntax.Type Language.Haskell.TH.Syntax.LitT ((l_a5DZ `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.TyLit ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.TyLit))) @ m_a5E0 eta_a5E1)) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (GHC.Types.: @ Language.Haskell.TH.Lib.TypeQ (let { x_X4Ts :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType] x_X4Ts = case ($dTypeable_avAt `cast` (Data.Typeable.Internal.NTCo:Typeable[0] *>_N _N :: Data.Typeable.Internal.Typeable rep_auGP ~# (GHC.Prim.Proxy# rep_auGP -> Data.Typeable.Internal.TypeRep))) (GHC.Prim.proxy# @ (GHC.TypeLits.Nat -> *) @ rep_auGP) of ww_awCo [Dmd=] { Data.Typeable.Internal.TypeRep ww1_awCq [Dmd=] ww2_awCr [Dmd=] ww3_awCs [Dmd=] ww4_awCt [Dmd=] -> case GHC.List.reverse1 @ GHC.Types.Char (Data.Typeable.Internal.$w$cshowsPrec GHC.Show.shows27 ww3_awCs ww4_awCt (GHC.Types.[] @ GHC.Types.Char)) (GHC.Types.[] @ GHC.Types.Char) of wild21_a5F6 [Dmd=] { [] -> lvl_sxDp; : ds_a5Fa [Dmd=] rev_a5Fb [Dmd=] -> case ds_a5Fa of wild22_a5Fd { GHC.Types.C# ds1_a5Ff [Dmd=] -> case ds1_a5Ff of ds2_a5Fh [Dmd=] { __DEFAULT -> case Language.Haskell.TH.Syntax.mkName_$s$wsplit1 ds_a5Fa (GHC.Types.[] @ GHC.Types.Char) rev_a5Fb of ww_a5Au [Dmd=] { (# ww1_a5Aw, ww2_a5Ax #) -> Language.Haskell.TH.Syntax.Name ww1_a5Aw ww2_a5Ax }; '.' -> case Language.Haskell.TH.Syntax.mkName_$s$wsplit1 ds_a5Fa (GHC.Types.[] @ GHC.Types.Char) rev_a5Fb of ww_a5Au [Dmd=] { (# ww1_a5Aw, ww2_a5Ax #) -> Language.Haskell.TH.Syntax.Name ww1_a5Aw ww2_a5Ax } } } } } } in let { lvl_sxDq :: Language.Haskell.TH.Syntax.Type [LclId, Str=DmdType] lvl_sxDq = Language.Haskell.TH.Syntax.ConT x_X4Ts } in (\ (@ (m_X4Tv :: * -> *)) (eta_X4Tx :: Language.Haskell.TH.Syntax.Quasi m_X4Tv) -> GHC.Base.return @ m_X4Tv (Language.Haskell.TH.Syntax.$p1Quasi @ m_X4Tv eta_X4Tx) @ Language.Haskell.TH.Syntax.Type lvl_sxDq) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (GHC.Types.: @ Language.Haskell.TH.Lib.TypeQ (let { l_a5DZ [Dmd=] :: Language.Haskell.TH.Lib.TyLitQ [LclId, Str=DmdType] l_a5DZ = Language.Haskell.TH.Lib.numTyLit ($dKnownNat_avAs `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat size_auGQ ~# GHC.Integer.Type.Integer)) } in (\ (@ (m_a5E0 :: * -> *)) (eta_a5E1 :: Language.Haskell.TH.Syntax.Quasi m_a5E0) -> GHC.Base.fmap @ m_a5E0 (Control.Applicative.$p1Applicative @ m_a5E0 (Language.Haskell.TH.Syntax.$p2Quasi @ m_a5E0 eta_a5E1)) @ Language.Haskell.TH.Syntax.TyLit @ Language.Haskell.TH.Syntax.Type Language.Haskell.TH.Syntax.LitT ((l_a5DZ `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.TyLit ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.TyLit))) @ m_a5E0 eta_a5E1)) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (GHC.Types.[] @ Language.Haskell.TH.Lib.TypeQ)))) } in \ (@ (m_akV3 :: * -> *)) (w2_akV4 :: Language.Haskell.TH.Syntax.Quasi m_akV3) -> case w2_akV4 of ww_akV5 [Dmd=] { Language.Haskell.TH.Syntax.D:Quasi ww1_akV7 [Dmd=] ww2_akV8 ww3_akV9 ww4_akVa ww5_akVb ww6_akVc ww7_akVd ww8_akVe ww9_akVf ww10_akVg ww11_akVh ww12_akVi ww13_akVj ww14_akVk ww15_akVl ww16_akVm ww17_akVn ww18_akVo -> case ww1_akV7 of ww19_akVq [Dmd=] { GHC.Base.D:Monad ww20_akVt [Dmd=] ww21_akVu ww22_akVv ww23_akVw -> let { a_akVs :: GHC.Base.Monad m_akV3 [LclId, Str=DmdType m] a_akVs = ww1_akV7 } in let { eta_akVy :: Language.Haskell.TH.Syntax.Quasi m_akV3 [LclId, Str=DmdType] eta_akVy = w2_akV4 } in let { lvl_sxDt :: m_akV3 Language.Haskell.TH.Syntax.Type [LclId, Str=DmdType] lvl_sxDt = (w1_akV2 `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type))) @ m_akV3 w2_akV4 } in ww20_akVt @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (let { a_acZP :: GHC.Base.Monad m_akV3 [LclId, Str=DmdType m] a_acZP = ww1_akV7 } in let { eta_acZV :: Language.Haskell.TH.Syntax.Quasi m_akV3 [LclId, Str=DmdType] eta_acZV = w2_akV4 } in let { lvl_sxDs :: m_akV3 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] lvl_sxDs = (w1_acZp `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp))) @ m_akV3 w2_akV4 } in ww20_akVt @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (ww22_akVv @ Language.Haskell.TH.Syntax.Exp lvl_sxD4) (\ (x_acZW :: Language.Haskell.TH.Syntax.Exp) -> ww20_akVt @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp lvl_sxDs (\ (x1_acZX :: Language.Haskell.TH.Syntax.Exp) -> ww22_akVv @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.AppE x_acZW x1_acZX)))) (\ (x_akVz :: Language.Haskell.TH.Syntax.Exp) -> ww20_akVt @ Language.Haskell.TH.Syntax.Type @ Language.Haskell.TH.Syntax.Exp lvl_sxDt (\ (x1_akVA :: Language.Haskell.TH.Syntax.Type) -> ww22_akVv @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.SigE x_akVz x1_akVA))) } } $clift_avAv :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp [LclId, Arity=5, Str=DmdType ] $clift_avAv = a_swCv `cast` (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp)) CLaSH.Sized.Fixed.$fLiftFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ) [LclIdX[DFunId(nt)], Arity=5, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=4, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= $clift_avAv `cast` (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N) :: (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ)))}] CLaSH.Sized.Fixed.$fLiftFixed = a_swCv `cast` (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> (_R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N)) ; Sym (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N) :: (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ))) ------ Local rules for imported ids -------- "SPEC GHC.Real.^ [GHC.Types.Double, GHC.Integer.Type.Integer]" [1] forall ($dNum_swu4 :: GHC.Num.Num GHC.Types.Double) ($dIntegral_swu5 :: GHC.Real.Integral GHC.Integer.Type.Integer). GHC.Real.^ @ GHC.Types.Double @ GHC.Integer.Type.Integer $dNum_swu4 $dIntegral_swu5 = $s^_swu6 *** Float inwards: ==================== Float inwards ==================== Result size of Float inwards = {terms: 2,212, types: 8,025, coercions: 959} lvl_sxD1 :: [GHC.Types.Char] [LclId, Str=DmdType] lvl_sxD1 = GHC.CString.unpackCString# "Negative exponent"# lvl_swvg :: GHC.Types.Double [LclId, Str=DmdType b] lvl_swvg = GHC.Err.error @ GHC.Types.Double lvl_sxD1 lvl_swv0 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swv0 = __integer 1 lvl_swv2 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swv2 = lvl_swv0 lvl_swv4 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swv4 = __integer 2 lvl_swv6 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swv6 = lvl_swv4 Rec { $wg1_sxaw [Occ=LoopBreaker] :: GHC.Prim.Double# -> GHC.Integer.Type.Integer -> GHC.Prim.Double# -> GHC.Prim.Double# [LclId, Arity=3, Str=DmdType ] $wg1_sxaw = \ (ww_sxan :: GHC.Prim.Double#) (w_sxaj :: GHC.Integer.Type.Integer) (ww_sxar :: GHC.Prim.Double#) -> case GHC.Integer.Type.eqInteger# (GHC.Integer.Type.remInteger w_sxaj GHC.Real.even2) GHC.Real.even1 of wild_akF2 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akF2 of wild4_akDQ [Dmd=] { GHC.Types.False -> case GHC.Integer.Type.eqInteger# w_sxaj lvl_swv0 of wild_a2f3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a2f3 of wild5_akDT [Dmd=] { GHC.Types.False -> $wg1_sxaw (GHC.Prim.*## ww_sxan ww_sxan) (GHC.Integer.Type.quotInteger (GHC.Integer.Type.minusInteger w_sxaj lvl_swv0) lvl_swv4) (GHC.Prim.*## ww_sxan ww_sxar); GHC.Types.True -> GHC.Prim.*## ww_sxan ww_sxar } }; GHC.Types.True -> $wg1_sxaw (GHC.Prim.*## ww_sxan ww_sxan) (GHC.Integer.Type.quotInteger w_sxaj lvl_swv4) ww_sxar } } end Rec } lvl_swuS :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swuS = lvl_swv0 lvl_swv8 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swv8 = lvl_swv0 lvl_swva :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swva = lvl_swv4 lvl_swvc :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swvc = lvl_swv4 Rec { $wf_sxaG [Occ=LoopBreaker] :: GHC.Prim.Double# -> GHC.Integer.Type.Integer -> GHC.Prim.Double# [LclId, Arity=2, Str=DmdType ] $wf_sxaG = \ (ww_sxaB :: GHC.Prim.Double#) (w_sxay :: GHC.Integer.Type.Integer) -> case GHC.Integer.Type.eqInteger# (GHC.Integer.Type.remInteger w_sxay GHC.Real.even2) GHC.Real.even1 of wild_akF2 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akF2 of wild2_akDC [Dmd=] { GHC.Types.False -> case GHC.Integer.Type.eqInteger# w_sxay lvl_swv0 of wild_a2f3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a2f3 of wild3_akDF [Dmd=] { GHC.Types.False -> $wg1_sxaw (GHC.Prim.*## ww_sxaB ww_sxaB) (GHC.Integer.Type.quotInteger (GHC.Integer.Type.minusInteger w_sxay lvl_swv0) lvl_swv4) ww_sxaB; GHC.Types.True -> ww_sxaB } }; GHC.Types.True -> $wf_sxaG (GHC.Prim.*## ww_sxaB ww_sxaB) (GHC.Integer.Type.quotInteger w_sxay lvl_swv4) } } end Rec } lvl_swuH :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swuH = __integer 0 lvl_swuK :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swuK = lvl_swuH $w$s^_sxaM [InlPrag=[1]] :: GHC.Types.Double -> GHC.Integer.Type.Integer -> GHC.Prim.Double# [LclId, Arity=2, Str=DmdType ] $w$s^_sxaM = \ (w_sxaH :: GHC.Types.Double) (w_sxaI :: GHC.Integer.Type.Integer) -> case GHC.Integer.Type.ltInteger# w_sxaI lvl_swuH of wild_a4It { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a4It of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case GHC.Integer.Type.eqInteger# w_sxaI lvl_swuK of wild_a2f3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a2f3 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case w_sxaH of _ [Occ=Dead] { GHC.Types.D# ww_sxaB -> $wf_sxaG ww_sxaB w_sxaI }; GHC.Types.True -> 1.0 } }; GHC.Types.True -> case lvl_swvg of wild_00 { } } } $s^_swu6 [InlPrag=INLINE[0]] :: GHC.Types.Double -> GHC.Integer.Type.Integer -> GHC.Types.Double [LclId, Arity=2, Str=DmdType m, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (w_sxaH [Occ=Once] :: GHC.Types.Double) (w_sxaI [Occ=Once] :: GHC.Integer.Type.Integer) -> case $w$s^_sxaM w_sxaH w_sxaI of ww_sxaL { __DEFAULT -> GHC.Types.D# ww_sxaL }}] $s^_swu6 = \ (w_sxaH :: GHC.Types.Double) (w_sxaI :: GHC.Integer.Type.Integer) -> case $w$s^_sxaM w_sxaH w_sxaI of ww_sxaL { __DEFAULT -> GHC.Types.D# ww_sxaL } lvl_swvh :: GHC.Types.Double [LclId, Str=DmdType m] lvl_swvh = GHC.Types.D# 2.0 a_swwS :: [GHC.Types.Char] [LclId, Str=DmdType] a_swwS = GHC.CString.unpackCString# "Fixed"# a_swwV :: [GHC.Types.Char] [LclId, Str=DmdType] a_swwV = GHC.CString.unpackCString# "clash-prelude-0.5"# a_swwX :: [GHC.Types.Char] [LclId, Str=DmdType] a_swwX = GHC.CString.unpackCString# "CLaSH.Sized.Fixed"# a_swwT :: Language.Haskell.TH.Syntax.NameFlavour [LclId, Str=DmdType m5] a_swwT = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.DataName (a_swwV `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a_swwX `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) lvl_swvo :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType m] lvl_swvo = Language.Haskell.TH.Syntax.Name (a_swwS `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a_swwT a_swx0 :: [GHC.Types.Char] [LclId, Str=DmdType] a_swx0 = GHC.CString.unpackCString# "fromInteger"# a_swx3 :: [GHC.Types.Char] [LclId, Str=DmdType] a_swx3 = GHC.CString.unpackCString# "base"# a_swx5 :: [GHC.Types.Char] [LclId, Str=DmdType] a_swx5 = GHC.CString.unpackCString# "GHC.Num"# a_swx1 :: Language.Haskell.TH.Syntax.NameFlavour [LclId, Str=DmdType m5] a_swx1 = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.VarName (a_swx3 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a_swx5 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) lvl_swvw :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType m] lvl_swvw = Language.Haskell.TH.Syntax.Name (a_swx0 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a_swx1 lvl_sxD2 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_sxD2 = lvl_swuH lvl_sxD3 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_sxD3 = lvl_swuH lvl_sxD4 :: Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] lvl_sxD4 = Language.Haskell.TH.Syntax.ConE lvl_swvo lvl_sxD5 :: Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] lvl_sxD5 = Language.Haskell.TH.Syntax.VarE lvl_swvw $wa_sxaS :: forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> forall (m_awx9 :: * -> *). Language.Haskell.TH.Syntax.Quasi m_awx9 => m_awx9 (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) [LclId, Arity=4, Str=DmdType ] $wa_sxaS = \ (@ (frac_avhM :: GHC.TypeLits.Nat)) (@ (rep_avhN :: GHC.TypeLits.Nat -> *)) (@ (size_avhO :: GHC.TypeLits.Nat)) (w_sxaN :: GHC.TypeLits.KnownNat frac_avhM) (w_sxaP :: GHC.Enum.Bounded (rep_avhN size_avhO)) (w_sxaQ :: GHC.Real.Integral (rep_avhN size_avhO)) (w_sxaR :: GHC.Types.Double) -> let { x_akVD :: GHC.Integer.Type.Integer [LclId, Str=DmdType] x_akVD = case w_sxaR of wild_aw7Y [Dmd=] { GHC.Types.D# x_aw80 -> case $w$s^_sxaM lvl_swvh (w_sxaN `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_avhM ~# GHC.Integer.Type.Integer)) of ww_sxaL { __DEFAULT -> case GHC.Integer.Type.decodeDoubleInteger (GHC.Prim.*## x_aw80 ww_sxaL) of ds_aw8O [Dmd=] { (# ipv_aw8Q, ipv1_aw8R #) -> let { truncated_swu2 [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType] truncated_swu2 = case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# ipv1_aw8R 0) of wild1_aw8T [Dmd=] { GHC.Types.False -> GHC.Integer.Type.shiftLInteger ipv_aw8Q ipv1_aw8R; GHC.Types.True -> let { s_aw8X :: GHC.Prim.Int# [LclId, Str=DmdType] s_aw8X = GHC.Prim.negateInt# ipv1_aw8R } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.># s_aw8X 52) of wild2_aw8Z [Dmd=] { GHC.Types.False -> case GHC.Integer.Type.ltInteger# ipv_aw8Q lvl_swuH of wild3_aw92 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild3_aw92 of wild4_aw93 [Dmd=] { GHC.Types.False -> case GHC.Integer.Type.integerToInt ipv_aw8Q of n_aw96 { __DEFAULT -> GHC.Integer.Type.smallInteger (GHC.Prim.uncheckedIShiftRA# n_aw96 s_aw8X) }; GHC.Types.True -> case GHC.Integer.Type.integerToInt (GHC.Integer.Type.negateInteger ipv_aw8Q) of n_aw99 { __DEFAULT -> GHC.Integer.Type.smallInteger (GHC.Prim.negateInt# (GHC.Prim.uncheckedIShiftRA# n_aw99 s_aw8X)) } } }; GHC.Types.True -> lvl_swuH } } } in let { rMax_swu0 [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType] rMax_swu0 = GHC.Real.toInteger @ (rep_avhN size_avhO) w_sxaQ (GHC.Enum.maxBound @ (rep_avhN size_avhO) w_sxaP) } in case GHC.Integer.Type.gtInteger# truncated_swu2 rMax_swu0 of wild_akJ6 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akJ6 of wild_X13 [Dmd=] { GHC.Types.False -> let { rMin_swu1 [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType] rMin_swu1 = GHC.Real.toInteger @ (rep_avhN size_avhO) w_sxaQ (GHC.Enum.minBound @ (rep_avhN size_avhO) w_sxaP) } in case GHC.Integer.Type.ltInteger# truncated_swu2 rMin_swu1 of wild_a4It { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a4It of wild_Xd [Dmd=] { GHC.Types.False -> truncated_swu2; GHC.Types.True -> rMin_swu1 } }; GHC.Types.True -> rMax_swu0 } } } } } } in let { lvl_sxD6 :: Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] lvl_sxD6 = Language.Haskell.TH.Syntax.LitE (Language.Haskell.TH.Syntax.IntegerL x_akVD) } in \ (@ (m_awx9 :: * -> *)) (w1_awxa :: Language.Haskell.TH.Syntax.Quasi m_awx9) -> case w1_awxa of ww_awxb [Dmd=] { Language.Haskell.TH.Syntax.D:Quasi ww1_awxd [Dmd=] ww2_awxe [Dmd=] ww3_awxf [Dmd=] ww4_awxg [Dmd=] ww5_awxh [Dmd=] ww6_awxi [Dmd=] ww7_awxj [Dmd=] ww8_awxk [Dmd=] ww9_awxl [Dmd=] ww10_awxm [Dmd=] ww11_awxn [Dmd=] ww12_awxo [Dmd=] ww13_awxp [Dmd=] ww14_awxq [Dmd=] ww15_awxr [Dmd=] ww16_awxs [Dmd=] ww17_awxt [Dmd=] ww18_awxu [Dmd=] -> case ww1_awxd of ww19_awxw [Dmd=] { GHC.Base.D:Monad ww20_awxy [Dmd=] ww21_awxz [Dmd=] ww22_awxA [Dmd=] ww23_awxB [Dmd=] -> ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) (let { lvl_sxD8 :: m_awx9 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] lvl_sxD8 = let { lvl_sxD7 :: m_awx9 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] lvl_sxD7 = ww22_awxA @ Language.Haskell.TH.Syntax.Exp lvl_sxD6 } in ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (ww22_awxA @ Language.Haskell.TH.Syntax.Exp lvl_sxD5) (\ (x_Xd36 :: Language.Haskell.TH.Syntax.Exp) -> ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp lvl_sxD7 (\ (x1_acZX :: Language.Haskell.TH.Syntax.Exp) -> ww22_awxA @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.AppE x_Xd36 x1_acZX))) } in ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (ww22_awxA @ Language.Haskell.TH.Syntax.Exp lvl_sxD4) (\ (x_acZW :: Language.Haskell.TH.Syntax.Exp) -> ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp lvl_sxD8 (\ (x1_acZX :: Language.Haskell.TH.Syntax.Exp) -> ww22_awxA @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.AppE x_acZW x1_acZX)))) (\ (x_awxD :: Language.Haskell.TH.Syntax.Exp) -> ww22_awxA @ (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) (x_awxD `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:TExp[0] _N) :: Language.Haskell.TH.Syntax.Exp ~# Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)))) } } a_swxS [InlPrag=INLINE[0]] :: forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> forall (m_aw9c :: * -> *). Language.Haskell.TH.Syntax.Quasi m_aw9c => m_aw9c (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) [LclId, Arity=5, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= \ (@ (frac_avhM :: GHC.TypeLits.Nat)) (@ (rep_avhN :: GHC.TypeLits.Nat -> *)) (@ (size_avhO :: GHC.TypeLits.Nat)) (w_sxaN [Occ=Once] :: GHC.TypeLits.KnownNat frac_avhM) _ [Occ=Dead, Dmd=] (w_sxaP [Occ=Once] :: GHC.Enum.Bounded (rep_avhN size_avhO)) (w_sxaQ [Occ=Once] :: GHC.Real.Integral (rep_avhN size_avhO)) (w_sxaR [Occ=Once] :: GHC.Types.Double) -> $wa_sxaS @ frac_avhM @ rep_avhN @ size_avhO w_sxaN w_sxaP w_sxaQ w_sxaR}] a_swxS = \ (@ (frac_avhM :: GHC.TypeLits.Nat)) (@ (rep_avhN :: GHC.TypeLits.Nat -> *)) (@ (size_avhO :: GHC.TypeLits.Nat)) (w_sxaN :: GHC.TypeLits.KnownNat frac_avhM) _ [Occ=Dead, Dmd=] (w_sxaP :: GHC.Enum.Bounded (rep_avhN size_avhO)) (w_sxaQ :: GHC.Real.Integral (rep_avhN size_avhO)) (w_sxaR :: GHC.Types.Double) -> $wa_sxaS @ frac_avhM @ rep_avhN @ size_avhO w_sxaN w_sxaP w_sxaQ w_sxaR CLaSH.Sized.Fixed.fLit :: forall (frac_auFI :: GHC.TypeLits.Nat) (rep_auFJ :: GHC.TypeLits.Nat -> *) (size_auFK :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_auFI, GHC.Num.Num (rep_auFJ size_auFK), GHC.Enum.Bounded (rep_auFJ size_auFK), GHC.Real.Integral (rep_auFJ size_auFK)) => GHC.Types.Double -> Language.Haskell.TH.Syntax.Q (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_auFI rep_auFJ size_auFK)) [LclIdX, Arity=5, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= a_swxS `cast` (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO))) ~# (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> Language.Haskell.TH.Syntax.Q (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO))))}] CLaSH.Sized.Fixed.fLit = a_swxS `cast` (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO))) ~# (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> Language.Haskell.TH.Syntax.Q (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)))) poly_a_sxDa :: forall (n_auFM :: GHC.TypeLits.Nat). 1 GHC.TypeLits.<= n_auFM [LclId, Str=DmdType b] poly_a_sxDa = \ (@ (n_auFM :: GHC.TypeLits.Nat)) -> Control.Exception.Base.absentError @ (1 GHC.TypeLits.<= n_auFM) "ww_sxb3{v} [lid] 1 base:GHC.TypeLits.<={tc r4y} n{tv auFM} [tv]"# $wsatN2_sxbN :: forall (rep_auFL :: GHC.TypeLits.Nat -> *) (n_auFM :: GHC.TypeLits.Nat). (((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) GHC.Prim.~# (n_auFM GHC.TypeLits.+ 2)) -> CLaSH.Class.BitVector.BitVector (rep_auFL n_auFM) => (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) => rep_auFL (n_auFM GHC.TypeLits.+ 2) -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit) -> (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM) ~ n_auFM, CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2)) ~ (n_auFM GHC.TypeLits.+ 2), GHC.TypeLits.KnownNat n_auFM, GHC.TypeLits.KnownNat (n_auFM GHC.TypeLits.+ 2), GHC.Enum.Bounded (rep_auFL n_auFM)) => (rep_auFL (n_auFM GHC.TypeLits.+ 2) -> GHC.Types.Bool) -> rep_auFL (n_auFM GHC.TypeLits.+ 2) -> rep_auFL n_auFM [LclId, Arity=10, Str=DmdType ] $wsatN2_sxbN = \ (@ (rep_auFL :: GHC.TypeLits.Nat -> *)) (@ (n_auFM :: GHC.TypeLits.Nat)) (ww_sxb7 :: ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) GHC.Prim.~# (n_auFM GHC.TypeLits.+ 2)) (ww_sxb9 :: CLaSH.Class.BitVector.BitVector (rep_auFL n_auFM)) (ww_sxbd :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) => rep_auFL (n_auFM GHC.TypeLits.+ 2) -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit) (ww_sxbg :: CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM) ~ n_auFM) (ww_sxbh :: CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2)) ~ (n_auFM GHC.TypeLits.+ 2) Unf=OtherCon []) (ww_sxbi :: GHC.TypeLits.KnownNat n_auFM) (ww_sxbj :: GHC.TypeLits.KnownNat (n_auFM GHC.TypeLits.+ 2)) (ww_sxbk :: GHC.Enum.Bounded (rep_auFL n_auFM)) (ww_sxbD :: rep_auFL (n_auFM GHC.TypeLits.+ 2) -> GHC.Types.Bool) (w_sxb0 :: rep_auFL (n_auFM GHC.TypeLits.+ 2)) -> case ww_sxbh of cobox_sxDb { GHC.Types.Eq# cobox_sxDc -> let { a_sxop [Dmd=] :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit [LclId, Str=DmdType] a_sxop = ww_sxbd (ww_sxbj `cast` ((GHC.TypeLits.KnownNat (Sym cobox_sxDc))_R :: GHC.TypeLits.KnownNat (n_auFM GHC.TypeLits.+ 2) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))))) w_sxb0 } in let { s_swtS :: CLaSH.Sized.Vector.Vec n_auFM CLaSH.Bit.Bit [LclId, Str=DmdType] s_swtS = CLaSH.Sized.Vector.vtail @ n_auFM @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_auFM GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (a_sxop `cast` ((CLaSH.Sized.Vector.Vec (cobox_sxDc ; Sym ww_sxb7) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit))) } in case ww_sxbD w_sxb0 of wild_X5J [Dmd=] { GHC.Types.False -> case CLaSH.Sized.Vector.vhead @ (n_auFM GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (a_sxop `cast` ((CLaSH.Sized.Vector.Vec (cobox_sxDc ; Sym ww_sxb7) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit)) of wild_Xu [Dmd=] { CLaSH.Bit.H -> case CLaSH.Sized.Vector.vhead @ n_auFM @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_auFM GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (a_sxop `cast` ((CLaSH.Sized.Vector.Vec (cobox_sxDc ; Sym ww_sxb7) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit))) of wild_Xv [Dmd=] { CLaSH.Bit.H -> GHC.Enum.minBound @ (rep_auFL n_auFM) ww_sxbk; CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_auFL n_auFM) ww_sxb9 (case ww_sxbg of cobox_XvJ5 [Dmd=] { GHC.Types.Eq# cobox_dw7b -> ww_sxbi `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw7b))_R :: GHC.TypeLits.KnownNat n_auFM ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM))) }) (case ww_sxbg of cobox_XvJ4 [Dmd=] { GHC.Types.Eq# cobox_dw7c -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7c) _R)_R :: CLaSH.Sized.Vector.Vec n_auFM CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) CLaSH.Bit.Bit) }) }; CLaSH.Bit.L -> case CLaSH.Sized.Vector.vhead @ n_auFM @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_auFM GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (a_sxop `cast` ((CLaSH.Sized.Vector.Vec (cobox_sxDc ; Sym ww_sxb7) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit))) of wild_Xv [Dmd=] { CLaSH.Bit.H -> GHC.Enum.maxBound @ (rep_auFL n_auFM) ww_sxbk; CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_auFL n_auFM) ww_sxb9 (case ww_sxbg of cobox_XvJ5 [Dmd=] { GHC.Types.Eq# cobox_dw7b -> ww_sxbi `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw7b))_R :: GHC.TypeLits.KnownNat n_auFM ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM))) }) (case ww_sxbg of cobox_XvJ4 [Dmd=] { GHC.Types.Eq# cobox_dw7c -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7c) _R)_R :: CLaSH.Sized.Vector.Vec n_auFM CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) CLaSH.Bit.Bit) }) } }; GHC.Types.True -> case CLaSH.Sized.Vector.vhead @ (n_auFM GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (a_sxop `cast` ((CLaSH.Sized.Vector.Vec (cobox_sxDc ; Sym ww_sxb7) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit)) of wild_Xu [Dmd=] { CLaSH.Bit.H -> case CLaSH.Sized.Vector.vhead' @ n_auFM @ CLaSH.Bit.Bit (poly_a_sxDa @ n_auFM) s_swtS of wild_Xv [Dmd=] { CLaSH.Bit.H -> CLaSH.Class.BitVector.fromBV @ (rep_auFL n_auFM) ww_sxb9 (case ww_sxbg of cobox_XvJ7 [Dmd=] { GHC.Types.Eq# cobox_dw79 -> ww_sxbi `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw79))_R :: GHC.TypeLits.KnownNat n_auFM ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM))) }) (case ww_sxbg of cobox_avJl [Dmd=] { GHC.Types.Eq# cobox_dw7a -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7a) _R)_R :: CLaSH.Sized.Vector.Vec n_auFM CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) CLaSH.Bit.Bit) }); CLaSH.Bit.L -> GHC.Enum.minBound @ (rep_auFL n_auFM) ww_sxbk }; CLaSH.Bit.L -> case CLaSH.Sized.Vector.vhead' @ n_auFM @ CLaSH.Bit.Bit (poly_a_sxDa @ n_auFM) s_swtS of wild_Xv [Dmd=] { CLaSH.Bit.H -> GHC.Enum.maxBound @ (rep_auFL n_auFM) ww_sxbk; CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_auFL n_auFM) ww_sxb9 (case ww_sxbg of cobox_XvJ7 [Dmd=] { GHC.Types.Eq# cobox_dw79 -> ww_sxbi `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw79))_R :: GHC.TypeLits.KnownNat n_auFM ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM))) }) (case ww_sxbg of cobox_avJl [Dmd=] { GHC.Types.Eq# cobox_dw7a -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7a) _R)_R :: CLaSH.Sized.Vector.Vec n_auFM CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) CLaSH.Bit.Bit) }) } } } } CLaSH.Sized.Fixed.satN2 [InlPrag=INLINE[0]] :: forall (rep_auFL :: GHC.TypeLits.Nat -> *) (n_auFM :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.SatN2C rep_auFL n_auFM) => rep_auFL (n_auFM GHC.TypeLits.+ 2) -> rep_auFL n_auFM [LclIdX, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (rep_auFL :: GHC.TypeLits.Nat -> *)) (@ (n_auFM :: GHC.TypeLits.Nat)) (w_sxaZ [Occ=Once!] :: CLaSH.Sized.Fixed.SatN2C rep_auFL n_auFM) (w_sxb0 [Occ=Once] :: rep_auFL (n_auFM GHC.TypeLits.+ 2)) -> case w_sxaZ of _ [Occ=Dead] { (_ [Occ=Dead], ww_sxb4 [Occ=Once!], ww_sxb9 [Occ=Once], ww_sxba [Occ=Once!], ww_sxbg [Occ=Once], ww_sxbh [Occ=Once!], ww_sxbi [Occ=Once], ww_sxbj [Occ=Once], ww_sxbk [Occ=Once], ww_sxbl [Occ=Once!]) -> case ww_sxb4 of _ [Occ=Dead] { GHC.Types.Eq# ww_sxb7 -> case ww_sxba of _ [Occ=Dead] { CLaSH.Class.BitVector.D:BitVector ww_sxbd [Occ=Once] _ [Occ=Dead] -> case ww_sxbh of ww_XxbC { GHC.Types.Eq# ipv_sxoQ -> case ww_sxbl of _ [Occ=Dead] { Data.Bits.D:Bits _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] ww_sxbD [Occ=Once] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> $wsatN2_sxbN @ rep_auFL @ n_auFM @~ ww_sxb7 ww_sxb9 ww_sxbd ww_sxbg ww_XxbC ww_sxbi ww_sxbj ww_sxbk ww_sxbD w_sxb0 } } } } }}] CLaSH.Sized.Fixed.satN2 = \ (@ (rep_auFL :: GHC.TypeLits.Nat -> *)) (@ (n_auFM :: GHC.TypeLits.Nat)) (w_sxaZ :: CLaSH.Sized.Fixed.SatN2C rep_auFL n_auFM) (w_sxb0 :: rep_auFL (n_auFM GHC.TypeLits.+ 2)) -> case w_sxaZ of _ [Occ=Dead] { (ww_sxb3, ww_sxb4, ww_sxb9, ww_sxba, ww_sxbg, ww_sxbh, ww_sxbi, ww_sxbj, ww_sxbk, ww_sxbl) -> case ww_sxb4 of _ [Occ=Dead] { GHC.Types.Eq# ww_sxb7 -> case ww_sxba of _ [Occ=Dead] { CLaSH.Class.BitVector.D:BitVector ww_sxbd ww_sxbe -> case ww_sxbh of ww_Xxe7 { GHC.Types.Eq# ipv_sxoJ -> case ww_sxbl of _ [Occ=Dead] { Data.Bits.D:Bits ww_sxbo ww_sxbp ww_sxbq ww_sxbr ww_sxbs ww_sxbt ww_sxbu ww_sxbv ww_sxbw ww_sxbx ww_sxby ww_sxbz ww_sxbA ww_sxbB ww_sxbC ww_sxbD ww_sxbE ww_sxbF ww_sxbG ww_sxbH ww_sxbI ww_sxbJ ww_sxbK -> $wsatN2_sxbN @ rep_auFL @ n_auFM @~ ww_sxb7 ww_sxb9 ww_sxbd ww_sxbg ww_sxbh ww_sxbi ww_sxbj ww_sxbk ww_sxbD w_sxb0 } } } } } lvl_swvz :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swvz = lvl_swuH lvl_swvy :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swvy = lvl_swuH lvl_swvB :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swvB = lvl_swuH lvl_swvA :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swvA = lvl_swuH $wresizeF_sxcA :: forall (frac1_auFN :: GHC.TypeLits.Nat) (frac2_auFO :: GHC.TypeLits.Nat) (rep_auFP :: GHC.TypeLits.Nat -> *) (size1_auFQ :: GHC.TypeLits.Nat) (size2_auFR :: GHC.TypeLits.Nat). (GHC.Enum.Bounded (rep_auFP size2_auFR), GHC.Classes.Ord (rep_auFP size1_auFQ), GHC.Num.Num (rep_auFP size1_auFQ), Data.Bits.Bits (rep_auFP size1_auFQ), CLaSH.Class.Num.Resize rep_auFP, GHC.TypeLits.KnownNat size2_auFR, GHC.TypeLits.KnownNat size1_auFQ, Data.Bits.Bits (rep_auFP size2_auFR), GHC.TypeLits.KnownNat frac2_auFO, GHC.TypeLits.KnownNat frac1_auFN) => CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ -> CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR [LclId, Arity=11, Str=DmdType ] $wresizeF_sxcA = \ (@ (frac1_auFN :: GHC.TypeLits.Nat)) (@ (frac2_auFO :: GHC.TypeLits.Nat)) (@ (rep_auFP :: GHC.TypeLits.Nat -> *)) (@ (size1_auFQ :: GHC.TypeLits.Nat)) (@ (size2_auFR :: GHC.TypeLits.Nat)) (ww_sxcn :: GHC.Enum.Bounded (rep_auFP size2_auFR)) (ww_sxcp :: GHC.Classes.Ord (rep_auFP size1_auFQ)) (ww_sxcq :: GHC.Num.Num (rep_auFP size1_auFQ)) (ww_sxcr :: Data.Bits.Bits (rep_auFP size1_auFQ)) (ww_sxcs :: CLaSH.Class.Num.Resize rep_auFP) (ww_sxct :: GHC.TypeLits.KnownNat size2_auFR) (ww_sxcu :: GHC.TypeLits.KnownNat size1_auFQ) (ww_sxcv :: Data.Bits.Bits (rep_auFP size2_auFR)) (ww_sxcw :: GHC.TypeLits.KnownNat frac2_auFO) (ww_sxcx :: GHC.TypeLits.KnownNat frac1_auFN) (w_sxck :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ) -> case GHC.Integer.Type.leInteger# (ww_sxcu `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat size1_auFQ ~# GHC.Integer.Type.Integer)) (ww_sxct `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat size2_auFR ~# GHC.Integer.Type.Integer)) of wild_akJ3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akJ3 of wild_X1o [Dmd=] { GHC.Types.False -> case ww_sxcr of ww_sxbP { Data.Bits.D:Bits ww_sxbQ ww_sxbW ww_sxbX ww_sxbY ww_sxbZ ww_sxc0 ww_sxc1 ww_sxc2 ww_sxc3 ww_sxc4 ww_sxc5 ww_sxc6 ww_sxc7 ww_sxc8 ww_sxc9 ww_sxca ww_sxcb ww_sxcc ww_sxcd ww_sxce ww_sxcf ww_sxcg ww_sxch -> case ww_sxbQ of ww_sxbS { GHC.Classes.D:Eq ww_sxbT ww_sxbU -> case GHC.Integer.Type.integerToInt (ww_sxcx `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac1_auFN ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> case GHC.Integer.Type.integerToInt (ww_sxcw `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac2_auFO ~# GHC.Integer.Type.Integer)) of wild_XkFQ { __DEFAULT -> let { fMax_swtA :: rep_auFP size2_auFR [LclId, Str=DmdType] fMax_swtA = GHC.Enum.maxBound @ (rep_auFP size2_auFR) ww_sxcn } in let { mask_swtz :: rep_auFP size1_auFQ [LclId, Str=DmdType] mask_swtz = ww_sxbZ ((ww_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size2_auFR @ size1_auFQ ww_sxct ww_sxcu fMax_swtA) } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# wild_akCB wild_XkFQ) of wild_Xr [Dmd=] { GHC.Types.False -> let { shiftedR_swty :: rep_auFP size1_auFQ [LclId, Str=DmdType] shiftedR_swty = ww_sxcd (w_sxck `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ)) (GHC.Types.I# (GHC.Prim.-# wild_akCB wild_XkFQ)) } in case GHC.Classes.>= @ (rep_auFP size1_auFQ) ww_sxcp (w_sxck `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ)) (GHC.Num.fromInteger @ (rep_auFP size1_auFQ) ww_sxcq lvl_swuH) of wild_Xv [Dmd=] { GHC.Types.False -> case ww_sxbT (ww_sxbW shiftedR_swty mask_swtz) mask_swtz of wild_Xw [Dmd=] { GHC.Types.False -> (GHC.Enum.minBound @ (rep_auFP size2_auFR) ww_sxcn) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR); GHC.Types.True -> ((ww_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww_sxcu ww_sxct shiftedR_swty) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) }; GHC.Types.True -> case ww_sxbT (ww_sxbW shiftedR_swty mask_swtz) (GHC.Num.fromInteger @ (rep_auFP size1_auFQ) ww_sxcq lvl_swuH) of wild_Xw [Dmd=] { GHC.Types.False -> fMax_swtA `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR); GHC.Types.True -> ((ww_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww_sxcu ww_sxct shiftedR_swty) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) } }; GHC.Types.True -> let { shiftedL_swtK :: rep_auFP size1_auFQ [LclId, Str=DmdType] shiftedL_swtK = ww_sxcb (w_sxck `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ)) (GHC.Types.I# (GHC.Prim.-# wild_XkFQ wild_akCB)) } in case GHC.Classes.>= @ (rep_auFP size1_auFQ) ww_sxcp (w_sxck `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ)) (GHC.Num.fromInteger @ (rep_auFP size1_auFQ) ww_sxcq lvl_swuH) of wild_Xv [Dmd=] { GHC.Types.False -> case ww_sxbT (ww_sxbW shiftedL_swtK mask_swtz) mask_swtz of wild_Xw [Dmd=] { GHC.Types.False -> (GHC.Enum.minBound @ (rep_auFP size2_auFR) ww_sxcn) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR); GHC.Types.True -> ((ww_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww_sxcu ww_sxct shiftedL_swtK) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) }; GHC.Types.True -> case ww_sxbT (ww_sxbW shiftedL_swtK mask_swtz) (GHC.Num.fromInteger @ (rep_auFP size1_auFQ) ww_sxcq lvl_swuH) of wild_Xw [Dmd=] { GHC.Types.False -> fMax_swtA `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR); GHC.Types.True -> ((ww_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww_sxcu ww_sxct shiftedL_swtK) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) } } } } } } }; GHC.Types.True -> case GHC.Integer.Type.integerToInt (ww_sxcx `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac1_auFN ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> case GHC.Integer.Type.integerToInt (ww_sxcw `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac2_auFO ~# GHC.Integer.Type.Integer)) of wild_XkFG { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# wild_akCB wild_XkFG) of wild_Xo [Dmd=] { GHC.Types.False -> (Data.Bits.shiftR @ (rep_auFP size2_auFR) ww_sxcv ((ww_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww_sxcu ww_sxct (w_sxck `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ))) (GHC.Types.I# (GHC.Prim.-# wild_akCB wild_XkFG))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR); GHC.Types.True -> (Data.Bits.shiftL @ (rep_auFP size2_auFR) ww_sxcv ((ww_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww_sxcu ww_sxct (w_sxck `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ))) (GHC.Types.I# (GHC.Prim.-# wild_XkFG wild_akCB))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) } } } } } CLaSH.Sized.Fixed.resizeF [InlPrag=INLINE[0]] :: forall (frac1_auFN :: GHC.TypeLits.Nat) (frac2_auFO :: GHC.TypeLits.Nat) (rep_auFP :: GHC.TypeLits.Nat -> *) (size1_auFQ :: GHC.TypeLits.Nat) (size2_auFR :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.ResizeFC rep_auFP frac1_auFN frac2_auFO size1_auFQ size2_auFR) => CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ -> CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR [LclIdX, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac1_auFN :: GHC.TypeLits.Nat)) (@ (frac2_auFO :: GHC.TypeLits.Nat)) (@ (rep_auFP :: GHC.TypeLits.Nat -> *)) (@ (size1_auFQ :: GHC.TypeLits.Nat)) (@ (size2_auFR :: GHC.TypeLits.Nat)) (w_sxcj [Occ=Once!] :: CLaSH.Sized.Fixed.ResizeFC rep_auFP frac1_auFN frac2_auFO size1_auFQ size2_auFR) (w_sxck [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ) -> case w_sxcj of _ [Occ=Dead] { (ww_sxcn [Occ=Once], _ [Occ=Dead], ww_sxcp [Occ=Once], ww_sxcq [Occ=Once], ww_sxcr [Occ=Once], ww_sxcs [Occ=Once], ww_sxct [Occ=Once], ww_sxcu [Occ=Once], ww_sxcv [Occ=Once], ww_sxcw [Occ=Once], ww_sxcx [Occ=Once], _ [Occ=Dead]) -> $wresizeF_sxcA @ frac1_auFN @ frac2_auFO @ rep_auFP @ size1_auFQ @ size2_auFR ww_sxcn ww_sxcp ww_sxcq ww_sxcr ww_sxcs ww_sxct ww_sxcu ww_sxcv ww_sxcw ww_sxcx w_sxck }}] CLaSH.Sized.Fixed.resizeF = \ (@ (frac1_auFN :: GHC.TypeLits.Nat)) (@ (frac2_auFO :: GHC.TypeLits.Nat)) (@ (rep_auFP :: GHC.TypeLits.Nat -> *)) (@ (size1_auFQ :: GHC.TypeLits.Nat)) (@ (size2_auFR :: GHC.TypeLits.Nat)) (w_sxcj :: CLaSH.Sized.Fixed.ResizeFC rep_auFP frac1_auFN frac2_auFO size1_auFQ size2_auFR) (w_sxck :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ) -> case w_sxcj of _ [Occ=Dead] { (ww_sxcn, ww_sxco, ww_sxcp, ww_sxcq, ww_sxcr, ww_sxcs, ww_sxct, ww_sxcu, ww_sxcv, ww_sxcw, ww_sxcx, ww_sxcy) -> $wresizeF_sxcA @ frac1_auFN @ frac2_auFO @ rep_auFP @ size1_auFQ @ size2_auFR ww_sxcn ww_sxcp ww_sxcq ww_sxcr ww_sxcs ww_sxct ww_sxcu ww_sxcv ww_sxcw ww_sxcx w_sxck } CLaSH.Sized.Fixed.asRepProxy :: forall (frac_auFV :: GHC.TypeLits.Nat) (rep_auFW :: GHC.TypeLits.Nat -> *) (size_auFX :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFV rep_auFW size_auFX -> Data.Proxy.Proxy rep_auFW [LclIdX, Arity=1, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= \ (@ (frac_avk6 :: GHC.TypeLits.Nat)) (@ (rep_avk7 :: GHC.TypeLits.Nat -> *)) (@ (size_avk8 :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] -> Data.Proxy.Proxy @ (GHC.TypeLits.Nat -> *) @ rep_avk7}] CLaSH.Sized.Fixed.asRepProxy = \ (@ (frac_avk6 :: GHC.TypeLits.Nat)) (@ (rep_avk7 :: GHC.TypeLits.Nat -> *)) (@ (size_avk8 :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] -> Data.Proxy.Proxy @ (GHC.TypeLits.Nat -> *) @ rep_avk7 CLaSH.Sized.Fixed.asFracProxy :: forall (frac_auFY :: GHC.TypeLits.Nat) (rep_auFZ :: GHC.TypeLits.Nat -> *) (size_auG0 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFY rep_auFZ size_auG0 -> Data.Proxy.Proxy frac_auFY [LclIdX, Arity=1, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= \ (@ (frac_avkp :: GHC.TypeLits.Nat)) (@ (rep_avkq :: GHC.TypeLits.Nat -> *)) (@ (size_avkr :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] -> Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac_avkp}] CLaSH.Sized.Fixed.asFracProxy = \ (@ (frac_avkp :: GHC.TypeLits.Nat)) (@ (rep_avkq :: GHC.TypeLits.Nat -> *)) (@ (size_avkr :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] -> Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac_avkp CLaSH.Sized.Fixed.fracShift :: forall (frac_auFS :: GHC.TypeLits.Nat) (rep_auFT :: GHC.TypeLits.Nat -> *) (size_auFU :: GHC.TypeLits.Nat). GHC.TypeLits.KnownNat frac_auFS => CLaSH.Sized.Fixed.Fixed frac_auFS rep_auFT size_auFU -> GHC.Types.Int [LclIdX, Arity=2, Str=DmdType m, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_avjN :: GHC.TypeLits.Nat)) (@ (rep_avjO :: GHC.TypeLits.Nat -> *)) (@ (size_avjP :: GHC.TypeLits.Nat)) ($dKnownNat_avxa [Occ=Once] :: GHC.TypeLits.KnownNat frac_avjN) _ [Occ=Dead, Dmd=] -> case GHC.Integer.Type.integerToInt ($dKnownNat_avxa `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_avjN ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> GHC.Types.I# wild_akCB }}] CLaSH.Sized.Fixed.fracShift = \ (@ (frac_avjN :: GHC.TypeLits.Nat)) (@ (rep_avjO :: GHC.TypeLits.Nat -> *)) (@ (size_avjP :: GHC.TypeLits.Nat)) ($dKnownNat_avxa :: GHC.TypeLits.KnownNat frac_avjN) _ [Occ=Dead, Dmd=] -> case GHC.Integer.Type.integerToInt ($dKnownNat_avxa `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_avjN ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> GHC.Types.I# wild_akCB } a_swaI :: forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) [LclId, Arity=1, Str=DmdType ] a_swaI = \ (@ (int_avkK :: GHC.TypeLits.Nat)) (@ (frac_avkL :: GHC.TypeLits.Nat)) (ds_dvZi :: CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL)) -> ds_dvZi CLaSH.Sized.Fixed.unUF :: forall (int_auG1 :: GHC.TypeLits.Nat) (frac_auG2 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.UFixed int_auG1 frac_auG2 -> CLaSH.Sized.Unsigned.Unsigned (int_auG1 GHC.TypeLits.+ frac_auG2) [LclIdX, Arity=1, Str=DmdType ] CLaSH.Sized.Fixed.unUF = a_swaI `cast` (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL)) ~# (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL))) a_swaJ :: forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= \ (@ (frac_avl5 :: GHC.TypeLits.Nat)) (@ (int_avl6 :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] (fRep_auGb [Occ=Once] :: CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) -> fRep_auGb}] a_swaJ = \ (@ (frac_avl5 :: GHC.TypeLits.Nat)) (@ (int_avl6 :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] (fRep_auGb :: CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) -> fRep_auGb CLaSH.Sized.Fixed.uf :: forall (frac_auG3 :: GHC.TypeLits.Nat) (int_auG4 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_auG3 -> CLaSH.Sized.Unsigned.Unsigned (int_auG4 GHC.TypeLits.+ frac_auG3) -> CLaSH.Sized.Fixed.UFixed int_auG4 frac_auG3 [LclIdX, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= a_swaJ `cast` (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) ~# (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Fixed.Fixed frac_avl5 CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)))}] CLaSH.Sized.Fixed.uf = a_swaJ `cast` (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) ~# (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Fixed.Fixed frac_avl5 CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5))) a_swaK :: forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) [LclId, Arity=1, Str=DmdType ] a_swaK = \ (@ (int_avlp :: GHC.TypeLits.Nat)) (@ (frac_avlq :: GHC.TypeLits.Nat)) (ds_dvZu :: CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq)) -> ds_dvZu CLaSH.Sized.Fixed.unSF :: forall (int_auG5 :: GHC.TypeLits.Nat) (frac_auG6 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.SFixed int_auG5 frac_auG6 -> CLaSH.Sized.Signed.Signed (int_auG5 GHC.TypeLits.+ frac_auG6) [LclIdX, Arity=1, Str=DmdType ] CLaSH.Sized.Fixed.unSF = a_swaK `cast` (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq)) ~# (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq))) a_swaL :: forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= \ (@ (frac_avlK :: GHC.TypeLits.Nat)) (@ (int_avlL :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] (fRep_auG9 [Occ=Once] :: CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) -> fRep_auG9}] a_swaL = \ (@ (frac_avlK :: GHC.TypeLits.Nat)) (@ (int_avlL :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] (fRep_auG9 :: CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) -> fRep_auG9 CLaSH.Sized.Fixed.sf :: forall (frac_auG7 :: GHC.TypeLits.Nat) (int_auG8 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_auG7 -> CLaSH.Sized.Signed.Signed (int_auG8 GHC.TypeLits.+ frac_auG7) -> CLaSH.Sized.Fixed.SFixed int_auG8 frac_auG7 [LclIdX, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= a_swaL `cast` (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) ~# (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Fixed.Fixed frac_avlK CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)))}] CLaSH.Sized.Fixed.sf = a_swaL `cast` (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) ~# (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Fixed.Fixed frac_avlK CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK))) a_swaM :: forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 [LclId, Arity=1, Str=DmdType ] a_swaM = \ (@ (frac_auI2 :: GHC.TypeLits.Nat)) (@ (rep_auI3 :: GHC.TypeLits.Nat -> *)) (@ (size_auI4 :: GHC.TypeLits.Nat)) (ds_dvZF :: CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4) -> ds_dvZF CLaSH.Sized.Fixed.unFixed :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> rep_auFG size_auFH [LclIdX[[RecSel]], Arity=1, Str=DmdType ] CLaSH.Sized.Fixed.unFixed = a_swaM `cast` (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4) ~# (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> rep_auI3 size_auI4)) lvl_swvD :: GHC.Types.Char [LclId, Str=DmdType m] lvl_swvD = GHC.Types.C# '-' lvl_swvC :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_swvC = lvl_swuH lvl_swvG :: GHC.Types.Char [LclId, Str=DmdType m] lvl_swvG = GHC.Types.C# '0' ds_swvM :: GHC.Integer.Type.Integer [LclId, Str=DmdType] ds_swvM = lvl_swv0 dt_akMa :: GHC.Integer.Type.Integer [LclId, Str=DmdType] dt_akMa = __integer 10 $wlvl_sxd6 :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) -> (# GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer #) [LclId, Arity=1, Str=DmdType ] $wlvl_sxd6 = \ (w_sxd3 :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) -> (# case w_sxd3 of wild_awe4 [Dmd=] { (x_awe6 [Dmd=], y_awe7 [Dmd=]) -> case x_awe6 of wild_awdA [Dmd=] { GHC.Types.I# x1_awdC [Dmd=] -> case x1_awdC of wild1_awdE { __DEFAULT -> GHC.Types.I# (GHC.Prim.+# x1_awdC 1); 9223372036854775807 -> GHC.Enum.$fEnumInt2 } } }, case w_sxd3 of wild_awe9 [Dmd=] { (x_aweb [Dmd=], y_awec [Dmd=]) -> case y_awec of ww_awdH [Dmd=] { GHC.Real.:% ww1_awdJ [Dmd=] ww2_awdK [Dmd=] -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger ww1_awdJ dt_akMa) (GHC.Integer.Type.timesInteger ww2_awdK GHC.Real.$fEnumRatio1) of ww6_awdS [Dmd=] { (# ww7_awdU, ww8_awdV #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww7_awdU ww8_awdV } } } #) lvl_swvV [InlPrag=INLINE[0]] :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) -> (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) [LclId, Arity=1, Str=DmdType m, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (w_sxd3 [Occ=Once] :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) -> case $wlvl_sxd6 w_sxd3 of _ [Occ=Dead] { (# ww_sxn9 [Occ=Once], ww_sxna [Occ=Once] #) -> (ww_sxn9, ww_sxna) }}] lvl_swvV = \ (w_sxd3 :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) -> case $wlvl_sxd6 w_sxd3 of _ [Occ=Dead] { (# ww_sxn9, ww_sxna #) -> (ww_sxn9, ww_sxna) } lvl_swvX :: GHC.Types.Int [LclId, Str=DmdType m] lvl_swvX = GHC.Types.I# 0 lvl_sww5 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_sww5 = lvl_swv4 lvl_sww6 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_sww6 = lvl_swv0 lvl_sww7 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_sww7 = lvl_swv4 lvl_sww8 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_sww8 = lvl_swv0 lvl_sww4 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_sww4 = lvl_swuH lvl_sww9 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_sww9 = lvl_swv4 lvl_sxDd :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) -> [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)] -> [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)] [LclId, Str=DmdType] lvl_sxDd = \ (x_awzz :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) (r_awzA [OS=OneShot] :: [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)]) -> case x_awzz of wild_afnB { (ds1_afnD [Dmd=], y_afnE [Dmd=]) -> case y_afnE of wild_awdn [Dmd=] { GHC.Real.:% ds1_awdp [Dmd=] y_awdq [Dmd=] -> case GHC.Integer.Type.eqInteger# y_awdq lvl_swv0 of wild_a2f3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a2f3 of wild_awzB [Dmd=] { GHC.Types.False -> r_awzA; GHC.Types.True -> GHC.Types.: @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) x_awzz r_awzA } } } } lvl_sxDe :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_sxDe = lvl_swuH lvl_sxDf :: GHC.Integer.Type.Integer [LclId, Str=DmdType] lvl_sxDf = lvl_swuH lvl_sxDh :: GHC.Types.Char [LclId, Str=DmdType] lvl_sxDh = GHC.Types.C# '.' lvl_sxDi :: GHC.Types.Char [LclId, Str=DmdType] lvl_sxDi = lvl_sxDh lvl_sxDj :: GHC.Types.Char [LclId, Str=DmdType] lvl_sxDj = lvl_sxDh $w$cshow_sxdD :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). GHC.TypeLits.KnownNat frac_auHx => (rep_auHy size_auHz -> GHC.Integer.Type.Integer) -> CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> [GHC.Types.Char] [LclId, Arity=3, Str=DmdType ] $w$cshow_sxdD = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) (w_sxdo :: GHC.TypeLits.KnownNat frac_auHx) (ww_sxdB :: rep_auHy size_auHz -> GHC.Integer.Type.Integer) (w_sxdq :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) -> let { fRepI_swtk [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType] fRepI_swtk = ww_sxdB (w_sxdq `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz ~# rep_auHy size_auHz)) } in case GHC.Integer.Type.ltInteger# fRepI_swtk lvl_swuH of wild_a4It { __DEFAULT -> let { fRepI_abs_swtj :: GHC.Integer.Type.Integer [LclId, Str=DmdType] fRepI_abs_swtj = GHC.Integer.Type.absInteger fRepI_swtk } in let { nF_swti [Dmd=] :: GHC.Types.Int [LclId, Str=DmdType] nF_swti = case GHC.Integer.Type.integerToInt (w_sxdo `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_auHx ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> GHC.Types.I# wild_akCB } } in let { a_swOO :: [GHC.Types.Char] [LclId, Str=DmdType] a_swOO = case GHC.List.iterateFB @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) @ [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)] lvl_sxDd lvl_swvV (lvl_swvX, case GHC.Integer.Type.ltInteger# fRepI_swtk lvl_swuH of wild_a4It { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a4It of wild_X1C [Dmd=] { GHC.Types.False -> case nF_swti of wild_awO7 [Dmd=] { GHC.Types.I# x_awO9 [Dmd=] -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# x_awO9 0) of wild1_awOb [Dmd=] { GHC.Types.False -> case wild1_awOb of wild1_XwRo [Dmd=] { GHC.Types.False -> let { a_swOs [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType] a_swOs = case x_awO9 of wild2_awOe { __DEFAULT -> GHC.Real.$wf1 lvl_swv4 x_awO9; 0 -> GHC.Real.$fEnumRatio1 } } in case x_awO9 of wild2_awOe { __DEFAULT -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger (GHC.Integer.Type.andInteger fRepI_swtk (GHC.Integer.Type.minusInteger (GHC.Real.$wf1 lvl_swv4 x_awO9) lvl_swv0)) (GHC.Integer.Type.signumInteger a_swOs)) (GHC.Integer.Type.absInteger a_swOs) of ww_awf3 [Dmd=] { (# ww1_awf5, ww2_awf6 #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww1_awf5 ww2_awf6 }; 0 -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger (GHC.Integer.Type.andInteger fRepI_swtk lvl_swuH) (GHC.Integer.Type.signumInteger a_swOs)) (GHC.Integer.Type.absInteger a_swOs) of ww_awf3 [Dmd=] { (# ww1_awf5, ww2_awf6 #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww1_awf5 ww2_awf6 } }; GHC.Types.True -> case GHC.Real.^3 of wild_00 { } }; GHC.Types.True -> case GHC.Real.^3 of wild_00 { } } }; GHC.Types.True -> case nF_swti of wild_awO7 [Dmd=] { GHC.Types.I# x_awO9 [Dmd=] -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# x_awO9 0) of wild1_awOb [Dmd=] { GHC.Types.False -> case wild1_awOb of wild1_XwRo [Dmd=] { GHC.Types.False -> let { a_swOy [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType] a_swOy = case x_awO9 of wild2_awOe { __DEFAULT -> GHC.Real.$wf1 lvl_swv4 x_awO9; 0 -> GHC.Real.$fEnumRatio1 } } in case x_awO9 of wild2_awOe { __DEFAULT -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger (GHC.Integer.Type.andInteger fRepI_abs_swtj (GHC.Integer.Type.minusInteger (GHC.Real.$wf1 lvl_swv4 x_awO9) lvl_swv0)) (GHC.Integer.Type.signumInteger a_swOy)) (GHC.Integer.Type.absInteger a_swOy) of ww_awf3 [Dmd=] { (# ww1_awf5, ww2_awf6 #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww1_awf5 ww2_awf6 }; 0 -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger (GHC.Integer.Type.andInteger fRepI_abs_swtj lvl_swuH) (GHC.Integer.Type.signumInteger a_swOy)) (GHC.Integer.Type.absInteger a_swOy) of ww_awf3 [Dmd=] { (# ww1_awf5, ww2_awf6 #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww1_awf5 ww2_awf6 } }; GHC.Types.True -> case GHC.Real.^3 of wild_00 { } }; GHC.Types.True -> case GHC.Real.^3 of wild_00 { } } } } }) of wild_awde [Dmd=] { [] -> case Data.Maybe.fromJust1 of wild_00 { }; : a1_awdh [Dmd=] ds1_awdi [Dmd=] -> case a1_awdh of ww_sxd8 { (ww_sxd9, ww_sxde) -> case ww_sxd9 of ww_sxdb { GHC.Types.I# ww_sxdc -> case ww_sxde of ww_sxdg { GHC.Real.:% ww_sxdh ww_sxdi -> case GHC.Show.$w$cshowsPrec 0 ww_sxdh (GHC.Types.[] @ GHC.Types.Char) of ww2_a2hY [Dmd=] { (# ww3_a2i0, ww4_a2i1 #) -> let { str_auHK [OS=ProbOneShot] :: [GHC.Types.Char] [LclId, Str=DmdType] str_auHK = GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1 } in case GHC.List.$wlenAcc @ GHC.Types.Char str_auHK 0 of ww_awOK { __DEFAULT -> let { n#_awbi :: GHC.Prim.Int# [LclId, Str=DmdType] n#_awbi = GHC.Prim.-# ww_sxdc ww_awOK } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# n#_awbi 0) of wild1_awbk [Dmd=] { GHC.Types.False -> (let { lvl_sxDg :: [GHC.Types.Char] [LclId, Str=DmdType] lvl_sxDg = GHC.Types.: @ GHC.Types.Char lvl_swvG str_auHK } in letrec { xs_awyT [Occ=LoopBreaker] :: GHC.Prim.Int# -> [GHC.Types.Char] [LclId, Arity=1, Str=DmdType ] xs_awyT = \ (m_awz0 :: GHC.Prim.Int#) -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# m_awz0 1) of wild_awz1 [Dmd=] { GHC.Types.False -> GHC.Types.: @ GHC.Types.Char lvl_swvG (xs_awyT (GHC.Prim.-# m_awz0 1)); GHC.Types.True -> lvl_sxDg }; } in xs_awyT) n#_awbi; GHC.Types.True -> str_auHK } } } } } } } } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a4It of wild_X1C [Dmd=] { GHC.Types.False -> case nF_swti of wild_aiKL [Dmd=] { GHC.Types.I# x_aiKN -> let { ww_al4F :: GHC.Prim.Int# [LclId, Str=DmdType] ww_al4F = GHC.Prim.negateInt# x_aiKN } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.>=# ww_al4F 0) of wild_al4G [Dmd=] { GHC.Types.False -> case GHC.Show.$w$cshowsPrec 0 (GHC.Integer.Type.shiftRInteger fRepI_swtk (GHC.Prim.negateInt# ww_al4F)) (GHC.Types.[] @ GHC.Types.Char) of ww2_a2hY [Dmd=] { (# ww3_a2i0, ww4_a2i1 #) -> GHC.Base.++ @ GHC.Types.Char (GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1) (GHC.Types.: @ GHC.Types.Char lvl_sxDh a_swOO) }; GHC.Types.True -> case GHC.Show.$w$cshowsPrec 0 (GHC.Integer.Type.shiftLInteger fRepI_swtk ww_al4F) (GHC.Types.[] @ GHC.Types.Char) of ww2_a2hY [Dmd=] { (# ww3_a2i0, ww4_a2i1 #) -> GHC.Base.++ @ GHC.Types.Char (GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1) (GHC.Types.: @ GHC.Types.Char lvl_sxDh a_swOO) } } }; GHC.Types.True -> GHC.Base.++ @ GHC.Types.Char (GHC.Types.: @ GHC.Types.Char lvl_swvD (case nF_swti of wild_aiKL [Dmd=] { GHC.Types.I# x_aiKN -> let { ww_al4F :: GHC.Prim.Int# [LclId, Str=DmdType] ww_al4F = GHC.Prim.negateInt# x_aiKN } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.>=# ww_al4F 0) of wild_al4G [Dmd=] { GHC.Types.False -> case GHC.Show.$w$cshowsPrec 0 (GHC.Integer.Type.shiftRInteger fRepI_abs_swtj (GHC.Prim.negateInt# ww_al4F)) (GHC.Types.[] @ GHC.Types.Char) of ww2_a2hY [Dmd=] { (# ww3_a2i0, ww4_a2i1 #) -> GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1 }; GHC.Types.True -> case GHC.Show.$w$cshowsPrec 0 (GHC.Integer.Type.shiftLInteger fRepI_abs_swtj ww_al4F) (GHC.Types.[] @ GHC.Types.Char) of ww2_a2hY [Dmd=] { (# ww3_a2i0, ww4_a2i1 #) -> GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1 } } })) (GHC.Types.: @ GHC.Types.Char lvl_sxDh a_swOO) } } $cshow_avFD [InlPrag=INLINE[0]] :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> GHC.Base.String [LclId, Arity=5, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] _ [Occ=Dead, Dmd=] (w_sxdo [Occ=Once] :: GHC.TypeLits.KnownNat frac_auHx) (w_sxdp [Occ=Once!] :: GHC.Real.Integral (rep_auHy size_auHz)) (w_sxdq [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) -> case w_sxdp of _ [Occ=Dead] { GHC.Real.D:Integral _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] ww_sxdB [Occ=Once] -> $w$cshow_sxdD @ frac_auHx @ rep_auHy @ size_auHz w_sxdo ww_sxdB w_sxdq }}] $cshow_avFD = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] _ [Occ=Dead, Dmd=] (w_sxdo :: GHC.TypeLits.KnownNat frac_auHx) (w_sxdp :: GHC.Real.Integral (rep_auHy size_auHz)) (w_sxdq :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) -> case w_sxdp of _ [Occ=Dead] { GHC.Real.D:Integral ww_sxdt ww_sxdu ww_sxdv ww_sxdw ww_sxdx ww_sxdy ww_sxdz ww_sxdA ww_sxdB -> $w$cshow_sxdD @ frac_auHx @ rep_auHy @ size_auHz w_sxdo ww_sxdB w_sxdq } $cshowsPrec_avFB :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => GHC.Types.Int -> CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> GHC.Show.ShowS [LclId, Arity=7, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=7, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv [Occ=Once] :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw [Occ=Once] :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx [Occ=Once] :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy [Occ=Once] :: GHC.Real.Integral (rep_auHy size_auHz)) _ [Occ=Dead, Dmd=] (x_a2fY [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (s_a2fZ [Occ=Once] :: GHC.Base.String) -> GHC.Base.augment @ GHC.Types.Char (\ (@ b_a4II) (c_a4IJ [Occ=Once, OS=OneShot] :: GHC.Types.Char -> b_a4II -> b_a4II) (n_a4IK [Occ=Once, OS=OneShot] :: b_a4II) -> GHC.Base.foldr @ GHC.Types.Char @ b_a4II c_a4IJ n_a4IK ($cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy x_a2fY)) s_a2fZ}] $cshowsPrec_avFB = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) _ [Occ=Dead] _ [Occ=Dead] ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) _ [Occ=Dead, Dmd=] (x_a2fY :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (s_a2fZ :: GHC.Base.String) -> case $dIntegral_avFy of ww_sxds { GHC.Real.D:Integral ww_sxdt ww_sxdu ww_sxdv ww_sxdw ww_sxdx ww_sxdy ww_sxdz ww_sxdA ww_sxdB -> GHC.Base.++ @ GHC.Types.Char ($w$cshow_sxdD @ frac_auHx @ rep_auHy @ size_auHz $dKnownNat_avFx ww_sxdB x_a2fY) s_a2fZ } $w$cshowList_sxe4 :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz] -> GHC.Base.String -> GHC.Base.String [LclId, Arity=4, Str=DmdType ] $w$cshowList_sxe4 = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) (w_sxe0 :: GHC.TypeLits.KnownNat frac_auHx) (w_sxe1 :: GHC.Real.Integral (rep_auHy size_auHz)) (w_sxe2 :: [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz]) (w_sxe3 :: GHC.Base.String) -> GHC.Show.showList__ @ (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (\ (x_a2fY :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (s_a2fZ [OS=OneShot] :: GHC.Base.String) -> case w_sxe1 of ww_sxds { GHC.Real.D:Integral ww_sxdt ww_sxdu ww_sxdv ww_sxdw ww_sxdx ww_sxdy ww_sxdz ww_sxdA ww_sxdB -> GHC.Base.++ @ GHC.Types.Char ($w$cshow_sxdD @ frac_auHx @ rep_auHy @ size_auHz w_sxe0 ww_sxdB x_a2fY) s_a2fZ }) w_sxe2 w_sxe3 CLaSH.Sized.Fixed.$fShowFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => GHC.Show.Show (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) [LclIdX[DFunId], Arity=4, Str=DmdType m, Unf=DFun: \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) -> GHC.Show.D:Show TYPE CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz $cshowsPrec_avFB @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy $cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy \ (w_sxe2 :: [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz]) (w_sxe3 :: GHC.Base.String) -> $w$cshowList_sxe4 @ frac_auHx @ rep_auHy @ size_auHz $dKnownNat_avFx $dIntegral_avFy w_sxe2 w_sxe3] CLaSH.Sized.Fixed.$fShowFixed = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv [Dmd=] :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw [Dmd=] :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy [Dmd=] :: GHC.Real.Integral (rep_auHy size_auHz)) -> GHC.Show.D:Show @ (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) ($cshowsPrec_avFB @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy) ($cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy) (\ (w_sxe2 :: [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz]) (w_sxe3 :: GHC.Base.String) -> $w$cshowList_sxe4 @ frac_auHx @ rep_auHy @ size_auHz $dKnownNat_avFx $dIntegral_avFy w_sxe2 w_sxe3) a_swjx :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu) [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac1_auHq :: GHC.TypeLits.Nat)) (@ (rep_auHr :: GHC.TypeLits.Nat -> *)) (@ (size1_auHs :: GHC.TypeLits.Nat)) (@ (frac2_auHt :: GHC.TypeLits.Nat)) (@ (size2_auHu :: GHC.TypeLits.Nat)) (tup_avFg [Occ=Once!] :: CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) (eta_B2 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (eta_B1 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) -> case tup_avFg of _ [Occ=Dead, Dmd=] { (tpl_X1z [Occ=Once, Dmd=], tpl_X1B [Occ=Once!, Dmd=]) -> case tpl_X1B of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw3M -> ((tpl_X1z `cast` (CLaSH.Class.Num.NTCo:Mult[0] _N _N :: CLaSH.Class.Num.Mult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# (rep_auHr size1_auHs -> rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu)))) (eta_B2 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs ~# rep_auHr size1_auHs)) (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu ~# rep_auHr size2_auHu))) `cast` (Sub cobox_dw3M :: CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) } }}] a_swjx = \ (@ (frac1_auHq :: GHC.TypeLits.Nat)) (@ (rep_auHr :: GHC.TypeLits.Nat -> *)) (@ (size1_auHs :: GHC.TypeLits.Nat)) (@ (frac2_auHt :: GHC.TypeLits.Nat)) (@ (size2_auHu :: GHC.TypeLits.Nat)) (tup_avFg :: CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) (eta_B2 :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (eta_B1 :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) -> case tup_avFg of wild_X1y [Dmd=] { (tpl_X1z [Dmd=], tpl_X1B [Dmd=]) -> case tpl_X1B of cobox_XvFS [Dmd=] { GHC.Types.Eq# cobox_dw3M -> ((tpl_X1z `cast` (CLaSH.Class.Num.NTCo:Mult[0] _N _N :: CLaSH.Class.Num.Mult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# (rep_auHr size1_auHs -> rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu)))) (eta_B2 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs ~# rep_auHr size1_auHs)) (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu ~# rep_auHr size2_auHu))) `cast` (Sub cobox_dw3M :: CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) } } $cmult_avFi :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= a_swjx `cast` (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). _R -> _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:MResultFixedFixed[0] _N _N _N _N _N)) :: (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) ~# (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu)))}] $cmult_avFi = a_swjx `cast` (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). _R -> _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:MResultFixedFixed[0] _N _N _N _N _N)) :: (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) ~# (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu))) CLaSH.Sized.Fixed.$fMultFixedFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) [LclIdX[DFunId(nt)], Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= $cmult_avFi `cast` (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). _R -> Sym (CLaSH.Class.Num.NTCo:Mult[0] _N _N) :: (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_XuJ1 frac1_XuIZ frac2_XuJ5 size1_XuJ3 size2_XuJ7) => CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3 -> CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7 -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3) (CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7)) ~# (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_XuJ1 frac1_XuIZ frac2_XuJ5 size1_XuJ3 size2_XuJ7) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3) (CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7)))}] CLaSH.Sized.Fixed.$fMultFixedFixed = a_swjx `cast` (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). _R -> (_R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:MResultFixedFixed[0] _N _N _N _N _N))) ; Sym (CLaSH.Class.Num.NTCo:Mult[0] _N _N) :: (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) ~# (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu))) $w$cminus_sxeW :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1), CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) => (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) -> CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclId, Arity=5, Str=DmdType ] $w$cminus_sxeW = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (ww_sxeI :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (ww_sxeJ :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (ww_sxeP :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (w_sxeE :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w_sxeF :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> (let { $dKnownNat_swt4 :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) [LclId, Str=DmdType] $dKnownNat_swt4 = case ww_sxeJ of wild_X1U [Dmd=] { (tpl_X1X [Dmd=], tpl_X1Z [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_Ba } } in let { $dBits_swt5 [Dmd=] :: Data.Bits.Bits (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType] $dBits_swt5 = case ww_sxeJ of wild_X1S [Dmd=] { (tpl_X1V [Dmd=], tpl_X1X [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B9 } } in let { $dKnownNat_swt6 :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] $dKnownNat_swt6 = case ww_sxeJ of wild_X1O [Dmd=] { (tpl_X1T [Dmd=], tpl_X1V [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B7 } } in let { $dResize_swt7 [Dmd=] :: CLaSH.Class.Num.Resize rep_auHe [LclId, Str=DmdType] $dResize_swt7 = case ww_sxeJ of wild_X1M [Dmd=] { (tpl_X1R [Dmd=], tpl_X1T [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B6 } } in let { $dBounded_swt9 [Dmd=] :: GHC.Enum.Bounded (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType] $dBounded_swt9 = case ww_sxeJ of wild_X1C [Dmd=] { (tpl_X1N [Dmd=], tpl_X1P [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X1N } } in ww_sxeP (case ww_sxeI of wild_X2a [Dmd=] { (tpl_X7n [Dmd=], tpl_X7q [Dmd=], tpl_X5q [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> ($wresizeF_sxcA @ frac1_auHd @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size1_auHf @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) $dBounded_swt9 tpl_X5q tpl_B4 tpl_B5 $dResize_swt7 $dKnownNat_swt6 tpl_B8 $dBits_swt5 $dKnownNat_swt4 tpl_Bb w_sxeE) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) }) (case ww_sxeJ of wild_X1Q [Dmd=] { (tpl_X7k [Dmd=], tpl_X7n [Dmd=], tpl_X5n [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> ($wresizeF_sxcA @ frac2_auHg @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size2_auHh @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) $dBounded_swt9 tpl_X5n tpl_B4 tpl_B5 $dResize_swt7 $dKnownNat_swt6 tpl_B8 $dBits_swt5 $dKnownNat_swt4 tpl_Bb w_sxeF) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:AResultFixedFixed[0] _N _N _N _N _N)) :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh)) $cminus_avEx [InlPrag=INLINE[0]] :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (w_sxeD [Occ=Once!] :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (w_sxeE [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w_sxeF [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> case w_sxeD of _ [Occ=Dead] { (ww_sxeI [Occ=Once], ww_sxeJ [Occ=Once], ww_sxeK [Occ=Once!]) -> case ww_sxeK of _ [Occ=Dead] { GHC.Num.D:Num _ [Occ=Dead] _ [Occ=Dead] ww_sxeP [Occ=Once] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> $w$cminus_sxeW @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh ww_sxeI ww_sxeJ ww_sxeP w_sxeE w_sxeF } }}] $cminus_avEx = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (w_sxeD :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (w_sxeE :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w_sxeF :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> case w_sxeD of _ [Occ=Dead] { (ww_sxeI, ww_sxeJ, ww_sxeK) -> case ww_sxeK of _ [Occ=Dead] { GHC.Num.D:Num ww_sxeN ww_sxeO ww_sxeP ww_sxeQ ww_sxeR ww_sxeS ww_sxeT -> $w$cminus_sxeW @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh ww_sxeI ww_sxeJ ww_sxeP w_sxeE w_sxeF } } $w$cplus_sxfg :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1), CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) => (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) -> CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclId, Arity=5, Str=DmdType ] $w$cplus_sxfg = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (ww_sxf2 :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (ww_sxf3 :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (ww_sxf7 :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (w_sxeY :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w_sxeZ :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> (let { $dKnownNat_swsM :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) [LclId, Str=DmdType] $dKnownNat_swsM = case ww_sxf3 of wild_X1V [Dmd=] { (tpl_X1Y [Dmd=], tpl_X20 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_Ba } } in let { $dBits_swsN [Dmd=] :: Data.Bits.Bits (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType] $dBits_swsN = case ww_sxf3 of wild_X1T [Dmd=] { (tpl_X1W [Dmd=], tpl_X1Y [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B9 } } in let { $dKnownNat_swsO :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] $dKnownNat_swsO = case ww_sxf3 of wild_X1P [Dmd=] { (tpl_X1U [Dmd=], tpl_X1W [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B7 } } in let { $dResize_swsP [Dmd=] :: CLaSH.Class.Num.Resize rep_auHe [LclId, Str=DmdType] $dResize_swsP = case ww_sxf3 of wild_X1N [Dmd=] { (tpl_X1S [Dmd=], tpl_X1U [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B6 } } in let { $dBounded_swsR [Dmd=] :: GHC.Enum.Bounded (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType] $dBounded_swsR = case ww_sxf3 of wild_X1D [Dmd=] { (tpl_X1O [Dmd=], tpl_X1Q [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X1O } } in ww_sxf7 (case ww_sxf2 of wild_X2b [Dmd=] { (tpl_X7p [Dmd=], tpl_X7s [Dmd=], tpl_X5r [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> ($wresizeF_sxcA @ frac1_auHd @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size1_auHf @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) $dBounded_swsR tpl_X5r tpl_B4 tpl_B5 $dResize_swsP $dKnownNat_swsO tpl_B8 $dBits_swsN $dKnownNat_swsM tpl_Bb w_sxeY) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) }) (case ww_sxf3 of wild_X1R [Dmd=] { (tpl_X7m [Dmd=], tpl_X7p [Dmd=], tpl_X5o [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> ($wresizeF_sxcA @ frac2_auHg @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size2_auHh @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) $dBounded_swsR tpl_X5o tpl_B4 tpl_B5 $dResize_swsP $dKnownNat_swsO tpl_B8 $dBits_swsN $dKnownNat_swsM tpl_Bb w_sxeZ) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:AResultFixedFixed[0] _N _N _N _N _N)) :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh)) $cplus_avDP [InlPrag=INLINE[0]] :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (w_sxeX [Occ=Once!] :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (w_sxeY [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w_sxeZ [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> case w_sxeX of _ [Occ=Dead] { (ww_sxf2 [Occ=Once], ww_sxf3 [Occ=Once], ww_sxf4 [Occ=Once!]) -> case ww_sxf4 of _ [Occ=Dead] { GHC.Num.D:Num ww_sxf7 [Occ=Once] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> $w$cplus_sxfg @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh ww_sxf2 ww_sxf3 ww_sxf7 w_sxeY w_sxeZ } }}] $cplus_avDP = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (w_sxeX :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (w_sxeY :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w_sxeZ :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> case w_sxeX of _ [Occ=Dead] { (ww_sxf2, ww_sxf3, ww_sxf4) -> case ww_sxf4 of _ [Occ=Dead] { GHC.Num.D:Num ww_sxf7 ww_sxf8 ww_sxf9 ww_sxfa ww_sxfb ww_sxfc ww_sxfd -> $w$cplus_sxfg @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh ww_sxf2 ww_sxf3 ww_sxf7 w_sxeY w_sxeZ } } CLaSH.Sized.Fixed.$fAddFixedFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Class.Num.Add (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclIdX[DFunId], Arity=1, Str=DmdType m, Unf=DFun: \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) -> CLaSH.Class.Num.D:Add TYPE CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf TYPE CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh $cplus_avDP @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN $cminus_avEx @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN] CLaSH.Sized.Fixed.$fAddFixedFixed = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN [Dmd=] :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) -> CLaSH.Class.Num.D:Add @ (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) @ (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) ($cplus_avDP @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN) ($cminus_avEx @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN) $cfromInteger_avDp [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => GHC.Integer.Type.Integer -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_XuKb :: GHC.TypeLits.Nat)) (@ (rep_XuKd :: GHC.TypeLits.Nat -> *)) (@ (size_XuKf :: GHC.TypeLits.Nat)) (w_sxfl [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKb rep_XuKd size_XuKf) (w_XxiD [Occ=Once] :: GHC.Integer.Type.Integer) -> case w_sxfl of _ [Occ=Dead] { (_ [Occ=Dead], ww_sxfq [Occ=Once!], ww_Xxjr [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> case ww_sxfq of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], ww_sxfB [Occ=Once!], ww_XxjD [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> case ww_sxfB of _ [Occ=Dead] { Data.Bits.D:Bits _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] ww_XxjR [Occ=Once!] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> (ww_XxjR (GHC.Num.fromInteger @ (rep_XuKd size_XuKf) ww_Xxjr w_XxiD) (case GHC.Integer.Type.integerToInt (ww_XxjD `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_XuKb ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> GHC.Types.I# wild_akCB })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKd size_XuKf ~# CLaSH.Sized.Fixed.Fixed frac_XuKb rep_XuKd size_XuKf) } } }}] $cfromInteger_avDp = \ (@ (frac_XuKb :: GHC.TypeLits.Nat)) (@ (rep_XuKd :: GHC.TypeLits.Nat -> *)) (@ (size_XuKf :: GHC.TypeLits.Nat)) (w_sxfl :: CLaSH.Sized.Fixed.NumFixed frac_XuKb rep_XuKd size_XuKf) (w_XxiD :: GHC.Integer.Type.Integer) -> case w_sxfl of _ [Occ=Dead] { (ww_sxfp, ww_sxfq, ww_Xxjr, ww_sxg7, ww_sxg8, ww_sxg9) -> case ww_sxfq of _ [Occ=Dead] { (ww_sxft, ww_sxfu, ww_sxfv, ww_sxfw, ww_sxfx, ww_sxfy, ww_sxfz, ww_sxfA, ww_sxfB, ww_XxjD, ww_sxg3, ww_sxg4) -> case ww_sxfB of _ [Occ=Dead] { Data.Bits.D:Bits ww_sxfE ww_sxfF ww_sxfG ww_sxfH ww_sxfI ww_sxfJ ww_sxfK ww_sxfL ww_sxfM ww_sxfN ww_sxfO ww_sxfP ww_sxfQ ww_sxfR ww_sxfS ww_sxfT ww_XxjR ww_sxfV ww_sxfW ww_sxfX ww_sxfY ww_sxfZ ww_sxg0 -> (ww_XxjR (GHC.Num.fromInteger @ (rep_XuKd size_XuKf) ww_Xxjr w_XxiD) (case GHC.Integer.Type.integerToInt (ww_XxjD `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_XuKb ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> GHC.Types.I# wild_akCB })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKd size_XuKf ~# CLaSH.Sized.Fixed.Fixed frac_XuKb rep_XuKd size_XuKf) } } } a_swkh :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_XuKc :: GHC.TypeLits.Nat)) (@ (rep_XuKe :: GHC.TypeLits.Nat -> *)) (@ (size_XuKg :: GHC.TypeLits.Nat)) (tup_avBm [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKc rep_XuKe size_XuKg) (eta_X1J [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKc rep_XuKe size_XuKg) -> case tup_avBm of _ [Occ=Dead, Dmd=] { (_ [Occ=Dead, Dmd=], _ [Occ=Dead, Dmd=], tpl_B3 [Occ=Once, Dmd=], _ [Occ=Dead, Dmd=], _ [Occ=Dead, Dmd=], _ [Occ=Dead, Dmd=]) -> GHC.Num.signum @ (rep_XuKe size_XuKg) tpl_B3 (eta_X1J `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKc rep_XuKe size_XuKg ~# rep_XuKe size_XuKg)) }}] a_swkh = \ (@ (frac_XuKc :: GHC.TypeLits.Nat)) (@ (rep_XuKe :: GHC.TypeLits.Nat -> *)) (@ (size_XuKg :: GHC.TypeLits.Nat)) (tup_avBm :: CLaSH.Sized.Fixed.NumFixed frac_XuKc rep_XuKe size_XuKg) (eta_X1J :: CLaSH.Sized.Fixed.Fixed frac_XuKc rep_XuKe size_XuKg) -> case tup_avBm of wild_X1C [Dmd=] { (tpl_X1L [Dmd=], tpl_X1N [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=]) -> GHC.Num.signum @ (rep_XuKe size_XuKg) tpl_B3 (eta_X1J `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKc rep_XuKe size_XuKg ~# rep_XuKe size_XuKg)) } $w$cabs_sxhI :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (1 GHC.TypeLits.<= size_auH0, ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_auH0 GHC.TypeLits.+ 2), CLaSH.Class.BitVector.BitVector (rep_auGZ size_auH0), CLaSH.Class.BitVector.BitVector (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0) ~ size_auH0, CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) ~ (size_auH0 GHC.TypeLits.+ 2), GHC.TypeLits.KnownNat size_auH0, GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ 2), GHC.Enum.Bounded (rep_auGZ size_auH0), Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0, GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=13, Str=DmdType ] $w$cabs_sxhI = \ (@ (frac_XuKd :: GHC.TypeLits.Nat)) (@ (rep_XuKf :: GHC.TypeLits.Nat -> *)) (@ (size_XuKh :: GHC.TypeLits.Nat)) _ [Occ=Dead] (ww_sxhs :: ((size_XuKh GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_XuKh GHC.TypeLits.+ 2)) (ww_sxht :: CLaSH.Class.BitVector.BitVector (rep_XuKf size_XuKh)) (ww_sxhu :: CLaSH.Class.BitVector.BitVector (rep_XuKf (size_XuKh GHC.TypeLits.+ 2))) (ww_sxhv :: CLaSH.Class.BitVector.BitSize (rep_XuKf size_XuKh) ~ size_XuKh) (ww_sxhw :: CLaSH.Class.BitVector.BitSize (rep_XuKf (size_XuKh GHC.TypeLits.+ 2)) ~ (size_XuKh GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww_sxhy :: GHC.TypeLits.KnownNat (size_XuKh GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww_sxhA :: Data.Bits.Bits (rep_XuKf (size_XuKh GHC.TypeLits.+ 2))) (ww_sxhC :: CLaSH.Sized.Fixed.ResizeFC rep_XuKf (frac_XuKd GHC.TypeLits.+ frac_XuKd) frac_XuKd (size_XuKh GHC.TypeLits.+ size_XuKh) size_XuKh) (ww_sxhE :: GHC.Num.Num (rep_XuKf (size_XuKh GHC.TypeLits.+ 2))) (w_sxhl :: CLaSH.Sized.Fixed.Fixed frac_XuKd rep_XuKf size_XuKh) -> case ww_sxhs of ww_sxgD { GHC.Types.Eq# ww_sxgE -> case ww_sxhu of ww_sxgJ { CLaSH.Class.BitVector.D:BitVector ww_sxgK ww_sxgL -> case ww_sxhw of ww_XxkJ { GHC.Types.Eq# ipv_sxsr -> case ww_sxhA of ww_sxgU { Data.Bits.D:Bits ww_sxgV ww_sxgW ww_sxgX ww_sxgY ww_sxgZ ww_sxh0 ww_sxh1 ww_sxh2 ww_sxh3 ww_sxh4 ww_sxh5 ww_sxh6 ww_sxh7 ww_sxh8 ww_sxh9 ww_sxha ww_sxhb ww_sxhc ww_sxhd ww_sxhe ww_sxhf ww_sxhg ww_sxhh -> (let { $dKnownNat_swsx :: GHC.TypeLits.KnownNat size_XuKh [LclId, Str=DmdType] $dKnownNat_swsx = case ww_sxhC of wild_X1H [Dmd=] { (tpl_X1V [Dmd=], tpl_X1X [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B7 } } in $wsatN2_sxbN @ rep_XuKf @ size_XuKh @~ ww_sxgE ww_sxht ww_sxgK ww_sxhv ww_sxhw $dKnownNat_swsx ww_sxhy (case ww_sxhC of wild_X1F [Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X20 }) ww_sxha (GHC.Num.abs @ (rep_XuKf (size_XuKh GHC.TypeLits.+ 2)) ww_sxhE (case ww_sxhC of wild_X21 [Dmd=] { (tpl_X7i [Dmd=], tpl_X7l [Dmd=], tpl_X5n [Dmd=], tpl_X5p [Dmd=], tpl_X5r [Dmd=], tpl_X5t [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> (tpl_X5t `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKf ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKf a_ae8M -> rep_XuKf b_ae8N))) @ size_XuKh @ (size_XuKh GHC.TypeLits.+ 2) $dKnownNat_swsx ww_sxhy (w_sxhl `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKd rep_XuKf size_XuKh ~# rep_XuKf size_XuKh)) }))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKf size_XuKh ~# CLaSH.Sized.Fixed.Fixed frac_XuKd rep_XuKf size_XuKh) } } } } $cabs_avCW [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_XuKe :: GHC.TypeLits.Nat)) (@ (rep_XuKg :: GHC.TypeLits.Nat -> *)) (@ (size_XuKi :: GHC.TypeLits.Nat)) (w_sxhk [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKe rep_XuKg size_XuKi) (w_sxhl [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKe rep_XuKg size_XuKi) -> case w_sxhk of _ [Occ=Dead] { (ww_sxho [Occ=Once!], ww_sxhC [Occ=Once], _ [Occ=Dead], ww_sxhE [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> case ww_sxho of _ [Occ=Dead] { (ww_sxhr [Occ=Once], ww_sxhs [Occ=Once], ww_sxht [Occ=Once], ww_sxhu [Occ=Once], ww_sxhv [Occ=Once], ww_sxhw [Occ=Once], ww_sxhx [Occ=Once], ww_sxhy [Occ=Once], ww_sxhz [Occ=Once], ww_sxhA [Occ=Once]) -> $w$cabs_sxhI @ frac_XuKe @ rep_XuKg @ size_XuKi ww_sxhr ww_sxhs ww_sxht ww_sxhu ww_sxhv ww_sxhw ww_sxhx ww_sxhy ww_sxhz ww_sxhA ww_sxhC ww_sxhE w_sxhl } }}] $cabs_avCW = \ (@ (frac_XuKe :: GHC.TypeLits.Nat)) (@ (rep_XuKg :: GHC.TypeLits.Nat -> *)) (@ (size_XuKi :: GHC.TypeLits.Nat)) (w_sxhk :: CLaSH.Sized.Fixed.NumFixed frac_XuKe rep_XuKg size_XuKi) (w_sxhl :: CLaSH.Sized.Fixed.Fixed frac_XuKe rep_XuKg size_XuKi) -> case w_sxhk of _ [Occ=Dead] { (ww_sxho, ww_sxhC, ww_sxhD, ww_sxhE, ww_sxhF, ww_sxhG) -> case ww_sxho of _ [Occ=Dead] { (ww_sxhr, ww_sxhs, ww_sxht, ww_sxhu, ww_sxhv, ww_sxhw, ww_sxhx, ww_sxhy, ww_sxhz, ww_sxhA) -> $w$cabs_sxhI @ frac_XuKe @ rep_XuKg @ size_XuKi ww_sxhr ww_sxhs ww_sxht ww_sxhu ww_sxhv ww_sxhw ww_sxhx ww_sxhy ww_sxhz ww_sxhA ww_sxhC ww_sxhE w_sxhl } } $w$cnegate_sxiT :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (1 GHC.TypeLits.<= size_auH0, ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_auH0 GHC.TypeLits.+ 2), CLaSH.Class.BitVector.BitVector (rep_auGZ size_auH0), CLaSH.Class.BitVector.BitVector (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0) ~ size_auH0, CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) ~ (size_auH0 GHC.TypeLits.+ 2), GHC.TypeLits.KnownNat size_auH0, GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ 2), GHC.Enum.Bounded (rep_auGZ size_auH0), Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0, GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=13, Str=DmdType ] $w$cnegate_sxiT = \ (@ (frac_XuKf :: GHC.TypeLits.Nat)) (@ (rep_XuKh :: GHC.TypeLits.Nat -> *)) (@ (size_XuKj :: GHC.TypeLits.Nat)) _ [Occ=Dead] (ww_sxiD :: ((size_XuKj GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_XuKj GHC.TypeLits.+ 2)) (ww_sxiE :: CLaSH.Class.BitVector.BitVector (rep_XuKh size_XuKj)) (ww_sxiF :: CLaSH.Class.BitVector.BitVector (rep_XuKh (size_XuKj GHC.TypeLits.+ 2))) (ww_sxiG :: CLaSH.Class.BitVector.BitSize (rep_XuKh size_XuKj) ~ size_XuKj) (ww_sxiH :: CLaSH.Class.BitVector.BitSize (rep_XuKh (size_XuKj GHC.TypeLits.+ 2)) ~ (size_XuKj GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww_sxiJ :: GHC.TypeLits.KnownNat (size_XuKj GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww_sxiL :: Data.Bits.Bits (rep_XuKh (size_XuKj GHC.TypeLits.+ 2))) (ww_sxiN :: CLaSH.Sized.Fixed.ResizeFC rep_XuKh (frac_XuKf GHC.TypeLits.+ frac_XuKf) frac_XuKf (size_XuKj GHC.TypeLits.+ size_XuKj) size_XuKj) (ww_sxiP :: GHC.Num.Num (rep_XuKh (size_XuKj GHC.TypeLits.+ 2))) (w_sxiw :: CLaSH.Sized.Fixed.Fixed frac_XuKf rep_XuKh size_XuKj) -> case ww_sxiD of ww_sxhO { GHC.Types.Eq# ww_sxhP -> case ww_sxiF of ww_sxhU { CLaSH.Class.BitVector.D:BitVector ww_sxhV ww_sxhW -> case ww_sxiH of ww_XxlW { GHC.Types.Eq# ipv_sxtc -> case ww_sxiL of ww_sxi5 { Data.Bits.D:Bits ww_sxi6 ww_sxi7 ww_sxi8 ww_sxi9 ww_sxia ww_sxib ww_sxic ww_sxid ww_sxie ww_sxif ww_sxig ww_sxih ww_sxii ww_sxij ww_sxik ww_sxil ww_sxim ww_sxin ww_sxio ww_sxip ww_sxiq ww_sxir ww_sxis -> (let { $dKnownNat_swsp :: GHC.TypeLits.KnownNat size_XuKj [LclId, Str=DmdType] $dKnownNat_swsp = case ww_sxiN of wild_X1I [Dmd=] { (tpl_X1W [Dmd=], tpl_X1Y [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B7 } } in $wsatN2_sxbN @ rep_XuKh @ size_XuKj @~ ww_sxhP ww_sxiE ww_sxhV ww_sxiG ww_sxiH $dKnownNat_swsp ww_sxiJ (case ww_sxiN of wild_X1G [Dmd=] { (tpl_X21 [Dmd=], tpl_X23 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X21 }) ww_sxil (GHC.Num.negate @ (rep_XuKh (size_XuKj GHC.TypeLits.+ 2)) ww_sxiP (case ww_sxiN of wild_X22 [Dmd=] { (tpl_X7k [Dmd=], tpl_X7n [Dmd=], tpl_X5o [Dmd=], tpl_X5q [Dmd=], tpl_X5s [Dmd=], tpl_X5u [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> (tpl_X5u `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKh ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKh a_ae8M -> rep_XuKh b_ae8N))) @ size_XuKj @ (size_XuKj GHC.TypeLits.+ 2) $dKnownNat_swsp ww_sxiJ (w_sxiw `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKf rep_XuKh size_XuKj ~# rep_XuKh size_XuKj)) }))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKh size_XuKj ~# CLaSH.Sized.Fixed.Fixed frac_XuKf rep_XuKh size_XuKj) } } } } $cnegate_avCC [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_XuKg :: GHC.TypeLits.Nat)) (@ (rep_XuKi :: GHC.TypeLits.Nat -> *)) (@ (size_XuKk :: GHC.TypeLits.Nat)) (w_sxiv [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKg rep_XuKi size_XuKk) (w_sxiw [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKg rep_XuKi size_XuKk) -> case w_sxiv of _ [Occ=Dead] { (ww_sxiz [Occ=Once!], ww_sxiN [Occ=Once], _ [Occ=Dead], ww_sxiP [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> case ww_sxiz of _ [Occ=Dead] { (ww_sxiC [Occ=Once], ww_sxiD [Occ=Once], ww_sxiE [Occ=Once], ww_sxiF [Occ=Once], ww_sxiG [Occ=Once], ww_sxiH [Occ=Once], ww_sxiI [Occ=Once], ww_sxiJ [Occ=Once], ww_sxiK [Occ=Once], ww_sxiL [Occ=Once]) -> $w$cnegate_sxiT @ frac_XuKg @ rep_XuKi @ size_XuKk ww_sxiC ww_sxiD ww_sxiE ww_sxiF ww_sxiG ww_sxiH ww_sxiI ww_sxiJ ww_sxiK ww_sxiL ww_sxiN ww_sxiP w_sxiw } }}] $cnegate_avCC = \ (@ (frac_XuKg :: GHC.TypeLits.Nat)) (@ (rep_XuKi :: GHC.TypeLits.Nat -> *)) (@ (size_XuKk :: GHC.TypeLits.Nat)) (w_sxiv :: CLaSH.Sized.Fixed.NumFixed frac_XuKg rep_XuKi size_XuKk) (w_sxiw :: CLaSH.Sized.Fixed.Fixed frac_XuKg rep_XuKi size_XuKk) -> case w_sxiv of _ [Occ=Dead] { (ww_sxiz, ww_sxiN, ww_sxiO, ww_sxiP, ww_sxiQ, ww_sxiR) -> case ww_sxiz of _ [Occ=Dead] { (ww_sxiC, ww_sxiD, ww_sxiE, ww_sxiF, ww_sxiG, ww_sxiH, ww_sxiI, ww_sxiJ, ww_sxiK, ww_sxiL) -> $w$cnegate_sxiT @ frac_XuKg @ rep_XuKi @ size_XuKk ww_sxiC ww_sxiD ww_sxiE ww_sxiF ww_sxiG ww_sxiH ww_sxiI ww_sxiJ ww_sxiK ww_sxiL ww_sxiN ww_sxiP w_sxiw } } $w$c-_sxk5 :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (1 GHC.TypeLits.<= size_auH0, ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_auH0 GHC.TypeLits.+ 2), CLaSH.Class.BitVector.BitVector (rep_auGZ size_auH0), CLaSH.Class.BitVector.BitVector (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0) ~ size_auH0, CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) ~ (size_auH0 GHC.TypeLits.+ 2), GHC.TypeLits.KnownNat size_auH0, GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ 2), GHC.Enum.Bounded (rep_auGZ size_auH0), Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0, GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=14, Str=DmdType ] $w$c-_sxk5 = \ (@ (frac_XuKh :: GHC.TypeLits.Nat)) (@ (rep_XuKj :: GHC.TypeLits.Nat -> *)) (@ (size_XuKl :: GHC.TypeLits.Nat)) _ [Occ=Dead] (ww_sxjP :: ((size_XuKl GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_XuKl GHC.TypeLits.+ 2)) (ww_sxjQ :: CLaSH.Class.BitVector.BitVector (rep_XuKj size_XuKl)) (ww_sxjR :: CLaSH.Class.BitVector.BitVector (rep_XuKj (size_XuKl GHC.TypeLits.+ 2))) (ww_sxjS :: CLaSH.Class.BitVector.BitSize (rep_XuKj size_XuKl) ~ size_XuKl) (ww_sxjT :: CLaSH.Class.BitVector.BitSize (rep_XuKj (size_XuKl GHC.TypeLits.+ 2)) ~ (size_XuKl GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww_sxjV :: GHC.TypeLits.KnownNat (size_XuKl GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww_sxjX :: Data.Bits.Bits (rep_XuKj (size_XuKl GHC.TypeLits.+ 2))) (ww_sxjZ :: CLaSH.Sized.Fixed.ResizeFC rep_XuKj (frac_XuKh GHC.TypeLits.+ frac_XuKh) frac_XuKh (size_XuKl GHC.TypeLits.+ size_XuKl) size_XuKl) (ww_sxk1 :: GHC.Num.Num (rep_XuKj (size_XuKl GHC.TypeLits.+ 2))) (w_sxjH :: CLaSH.Sized.Fixed.Fixed frac_XuKh rep_XuKj size_XuKl) (w_sxjI :: CLaSH.Sized.Fixed.Fixed frac_XuKh rep_XuKj size_XuKl) -> case ww_sxjP of ww_sxiZ { GHC.Types.Eq# ww_sxj0 -> case ww_sxjR of ww_sxj5 { CLaSH.Class.BitVector.D:BitVector ww_sxj6 ww_sxj7 -> case ww_sxjT of ww_Xxna { GHC.Types.Eq# ipv_sxtX -> case ww_sxjX of ww_sxjg { Data.Bits.D:Bits ww_sxjh ww_sxji ww_sxjj ww_sxjk ww_sxjl ww_sxjm ww_sxjn ww_sxjo ww_sxjp ww_sxjq ww_sxjr ww_sxjs ww_sxjt ww_sxju ww_sxjv ww_sxjw ww_sxjx ww_sxjy ww_sxjz ww_sxjA ww_sxjB ww_sxjC ww_sxjD -> (let { $dKnownNat_swsg :: GHC.TypeLits.KnownNat size_XuKl [LclId, Str=DmdType] $dKnownNat_swsg = case ww_sxjZ of wild_X1L [Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B7 } } in $wsatN2_sxbN @ rep_XuKj @ size_XuKl @~ ww_sxj0 ww_sxjQ ww_sxj6 ww_sxjS ww_sxjT $dKnownNat_swsg ww_sxjV (case ww_sxjZ of wild_X1H [Dmd=] { (tpl_X25 [Dmd=], tpl_X27 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X25 }) ww_sxjw (GHC.Num.- @ (rep_XuKj (size_XuKl GHC.TypeLits.+ 2)) ww_sxk1 (case ww_sxjZ of wild_X3F [Dmd=] { (tpl_X1Y [Dmd=], tpl_X20 [Dmd=], tpl_X5s [Dmd=], tpl_X5u [Dmd=], tpl_X5w [Dmd=], tpl_X5y [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> (tpl_X5y `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKj ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKj a_ae8M -> rep_XuKj b_ae8N))) @ size_XuKl @ (size_XuKl GHC.TypeLits.+ 2) $dKnownNat_swsg ww_sxjV (w_sxjH `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKh rep_XuKj size_XuKl ~# rep_XuKj size_XuKl)) }) (case ww_sxjZ of wild_X3F [Dmd=] { (tpl_X1Y [Dmd=], tpl_X20 [Dmd=], tpl_X5s [Dmd=], tpl_X5u [Dmd=], tpl_X5w [Dmd=], tpl_X5y [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> (tpl_X5y `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKj ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKj a_ae8M -> rep_XuKj b_ae8N))) @ size_XuKl @ (size_XuKl GHC.TypeLits.+ 2) $dKnownNat_swsg ww_sxjV (w_sxjI `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKh rep_XuKj size_XuKl ~# rep_XuKj size_XuKl)) }))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKj size_XuKl ~# CLaSH.Sized.Fixed.Fixed frac_XuKh rep_XuKj size_XuKl) } } } } $c-_avCb [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_XuKi :: GHC.TypeLits.Nat)) (@ (rep_XuKk :: GHC.TypeLits.Nat -> *)) (@ (size_XuKm :: GHC.TypeLits.Nat)) (w_sxjG [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKi rep_XuKk size_XuKm) (w_sxjH [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKi rep_XuKk size_XuKm) (w_sxjI [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKi rep_XuKk size_XuKm) -> case w_sxjG of _ [Occ=Dead] { (ww_sxjL [Occ=Once!], ww_sxjZ [Occ=Once], _ [Occ=Dead], ww_sxk1 [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> case ww_sxjL of _ [Occ=Dead] { (ww_sxjO [Occ=Once], ww_sxjP [Occ=Once], ww_sxjQ [Occ=Once], ww_sxjR [Occ=Once], ww_sxjS [Occ=Once], ww_sxjT [Occ=Once], ww_sxjU [Occ=Once], ww_sxjV [Occ=Once], ww_sxjW [Occ=Once], ww_sxjX [Occ=Once]) -> $w$c-_sxk5 @ frac_XuKi @ rep_XuKk @ size_XuKm ww_sxjO ww_sxjP ww_sxjQ ww_sxjR ww_sxjS ww_sxjT ww_sxjU ww_sxjV ww_sxjW ww_sxjX ww_sxjZ ww_sxk1 w_sxjH w_sxjI } }}] $c-_avCb = \ (@ (frac_XuKi :: GHC.TypeLits.Nat)) (@ (rep_XuKk :: GHC.TypeLits.Nat -> *)) (@ (size_XuKm :: GHC.TypeLits.Nat)) (w_sxjG :: CLaSH.Sized.Fixed.NumFixed frac_XuKi rep_XuKk size_XuKm) (w_sxjH :: CLaSH.Sized.Fixed.Fixed frac_XuKi rep_XuKk size_XuKm) (w_sxjI :: CLaSH.Sized.Fixed.Fixed frac_XuKi rep_XuKk size_XuKm) -> case w_sxjG of _ [Occ=Dead] { (ww_sxjL, ww_sxjZ, ww_sxk0, ww_sxk1, ww_sxk2, ww_sxk3) -> case ww_sxjL of _ [Occ=Dead] { (ww_sxjO, ww_sxjP, ww_sxjQ, ww_sxjR, ww_sxjS, ww_sxjT, ww_sxjU, ww_sxjV, ww_sxjW, ww_sxjX) -> $w$c-_sxk5 @ frac_XuKi @ rep_XuKk @ size_XuKm ww_sxjO ww_sxjP ww_sxjQ ww_sxjR ww_sxjS ww_sxjT ww_sxjU ww_sxjV ww_sxjW ww_sxjX ww_sxjZ ww_sxk1 w_sxjH w_sxjI } } $c*_avBP [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_XuKk :: GHC.TypeLits.Nat)) (@ (rep_XuKm :: GHC.TypeLits.Nat -> *)) (@ (size_XuKo :: GHC.TypeLits.Nat)) (w_sxkl [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKk rep_XuKm size_XuKo) (w_sxkm [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo) (w_sxkn [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo) -> case w_sxkl of _ [Occ=Dead] { (_ [Occ=Dead], ww_sxkr [Occ=Once!], _ [Occ=Dead], _ [Occ=Dead], ww_sxkJ [Occ=Once], ww_sxkK [Occ=Once!]) -> case ww_sxkr of _ [Occ=Dead] { (ww_sxku [Occ=Once], _ [Occ=Dead], ww_sxkw [Occ=Once], ww_sxkx [Occ=Once], ww_sxky [Occ=Once], ww_sxkz [Occ=Once], ww_sxkA [Occ=Once], ww_sxkB [Occ=Once], ww_sxkC [Occ=Once], ww_sxkD [Occ=Once], ww_sxkE [Occ=Once], _ [Occ=Dead]) -> $wresizeF_sxcA @ (frac_XuKk GHC.TypeLits.+ frac_XuKk) @ frac_XuKk @ rep_XuKm @ (size_XuKo GHC.TypeLits.+ size_XuKo) @ size_XuKo ww_sxku ww_sxkw ww_sxkx ww_sxky ww_sxkz ww_sxkA ww_sxkB ww_sxkC ww_sxkD ww_sxkE (case ww_sxkK of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw1a -> ((ww_sxkJ `cast` (CLaSH.Class.Num.NTCo:Mult[0] _N _N :: CLaSH.Class.Num.Mult (rep_XuKm size_XuKo) (rep_XuKm size_XuKo) ~# (rep_XuKm size_XuKo -> rep_XuKm size_XuKo -> CLaSH.Class.Num.MResult (rep_XuKm size_XuKo) (rep_XuKm size_XuKo)))) (w_sxkm `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo ~# rep_XuKm size_XuKo)) (w_sxkn `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo ~# rep_XuKm size_XuKo))) `cast` (Sub cobox_dw1a ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: CLaSH.Class.Num.MResult (rep_XuKm size_XuKo) (rep_XuKm size_XuKo) ~# CLaSH.Sized.Fixed.Fixed (frac_XuKk GHC.TypeLits.+ frac_XuKk) rep_XuKm (size_XuKo GHC.TypeLits.+ size_XuKo)) }) } }}] $c*_avBP = \ (@ (frac_XuKk :: GHC.TypeLits.Nat)) (@ (rep_XuKm :: GHC.TypeLits.Nat -> *)) (@ (size_XuKo :: GHC.TypeLits.Nat)) (w_sxkl :: CLaSH.Sized.Fixed.NumFixed frac_XuKk rep_XuKm size_XuKo) (w_sxkm :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo) (w_sxkn :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo) -> case w_sxkl of _ [Occ=Dead] { (ww_sxkq, ww_sxkr, ww_sxkH, ww_sxkI, ww_sxkJ, ww_sxkK) -> case ww_sxkr of _ [Occ=Dead] { (ww_sxku, ww_sxkv, ww_sxkw, ww_sxkx, ww_sxky, ww_sxkz, ww_sxkA, ww_sxkB, ww_sxkC, ww_sxkD, ww_sxkE, ww_sxkF) -> $wresizeF_sxcA @ (frac_XuKk GHC.TypeLits.+ frac_XuKk) @ frac_XuKk @ rep_XuKm @ (size_XuKo GHC.TypeLits.+ size_XuKo) @ size_XuKo ww_sxku ww_sxkw ww_sxkx ww_sxky ww_sxkz ww_sxkA ww_sxkB ww_sxkC ww_sxkD ww_sxkE (case ww_sxkK of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw1a -> ((ww_sxkJ `cast` (CLaSH.Class.Num.NTCo:Mult[0] _N _N :: CLaSH.Class.Num.Mult (rep_XuKm size_XuKo) (rep_XuKm size_XuKo) ~# (rep_XuKm size_XuKo -> rep_XuKm size_XuKo -> CLaSH.Class.Num.MResult (rep_XuKm size_XuKo) (rep_XuKm size_XuKo)))) (w_sxkm `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo ~# rep_XuKm size_XuKo)) (w_sxkn `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo ~# rep_XuKm size_XuKo))) `cast` (Sub cobox_dw1a ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: CLaSH.Class.Num.MResult (rep_XuKm size_XuKo) (rep_XuKm size_XuKo) ~# CLaSH.Sized.Fixed.Fixed (frac_XuKk GHC.TypeLits.+ frac_XuKk) rep_XuKm (size_XuKo GHC.TypeLits.+ size_XuKo)) }) } } $w$c+_sxlY :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (1 GHC.TypeLits.<= size_auH0, ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_auH0 GHC.TypeLits.+ 2), CLaSH.Class.BitVector.BitVector (rep_auGZ size_auH0), CLaSH.Class.BitVector.BitVector (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0) ~ size_auH0, CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) ~ (size_auH0 GHC.TypeLits.+ 2), GHC.TypeLits.KnownNat size_auH0, GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ 2), GHC.Enum.Bounded (rep_auGZ size_auH0), Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0, GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=14, Str=DmdType ] $w$c+_sxlY = \ (@ (frac_XuKl :: GHC.TypeLits.Nat)) (@ (rep_XuKn :: GHC.TypeLits.Nat -> *)) (@ (size_XuKp :: GHC.TypeLits.Nat)) _ [Occ=Dead] (ww_sxlI :: ((size_XuKp GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_XuKp GHC.TypeLits.+ 2)) (ww_sxlJ :: CLaSH.Class.BitVector.BitVector (rep_XuKn size_XuKp)) (ww_sxlK :: CLaSH.Class.BitVector.BitVector (rep_XuKn (size_XuKp GHC.TypeLits.+ 2))) (ww_sxlL :: CLaSH.Class.BitVector.BitSize (rep_XuKn size_XuKp) ~ size_XuKp) (ww_sxlM :: CLaSH.Class.BitVector.BitSize (rep_XuKn (size_XuKp GHC.TypeLits.+ 2)) ~ (size_XuKp GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww_sxlO :: GHC.TypeLits.KnownNat (size_XuKp GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww_sxlQ :: Data.Bits.Bits (rep_XuKn (size_XuKp GHC.TypeLits.+ 2))) (ww_sxlS :: CLaSH.Sized.Fixed.ResizeFC rep_XuKn (frac_XuKl GHC.TypeLits.+ frac_XuKl) frac_XuKl (size_XuKp GHC.TypeLits.+ size_XuKp) size_XuKp) (ww_sxlU :: GHC.Num.Num (rep_XuKn (size_XuKp GHC.TypeLits.+ 2))) (w_sxlA :: CLaSH.Sized.Fixed.Fixed frac_XuKl rep_XuKn size_XuKp) (w_sxlB :: CLaSH.Sized.Fixed.Fixed frac_XuKl rep_XuKn size_XuKp) -> case ww_sxlI of ww_sxkS { GHC.Types.Eq# ww_sxkT -> case ww_sxlK of ww_sxkY { CLaSH.Class.BitVector.D:BitVector ww_sxkZ ww_sxl0 -> case ww_sxlM of ww_Xxp7 { GHC.Types.Eq# ipv_sxuU -> case ww_sxlQ of ww_sxl9 { Data.Bits.D:Bits ww_sxla ww_sxlb ww_sxlc ww_sxld ww_sxle ww_sxlf ww_sxlg ww_sxlh ww_sxli ww_sxlj ww_sxlk ww_sxll ww_sxlm ww_sxln ww_sxlo ww_sxlp ww_sxlq ww_sxlr ww_sxls ww_sxlt ww_sxlu ww_sxlv ww_sxlw -> (let { $dKnownNat_sws2 :: GHC.TypeLits.KnownNat size_XuKp [LclId, Str=DmdType] $dKnownNat_sws2 = case ww_sxlS of wild_X1N [Dmd=] { (tpl_X22 [Dmd=], tpl_X24 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B7 } } in $wsatN2_sxbN @ rep_XuKn @ size_XuKp @~ ww_sxkT ww_sxlJ ww_sxkZ ww_sxlL ww_sxlM $dKnownNat_sws2 ww_sxlO (case ww_sxlS of wild_X3O [Dmd=] { (tpl_X27 [Dmd=], tpl_X29 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X27 }) ww_sxlp (GHC.Num.+ @ (rep_XuKn (size_XuKp GHC.TypeLits.+ 2)) ww_sxlU (case ww_sxlS of wild_X1L [Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_X5u [Dmd=], tpl_X5w [Dmd=], tpl_X5y [Dmd=], tpl_X5A [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> (tpl_X5A `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKn ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKn a_ae8M -> rep_XuKn b_ae8N))) @ size_XuKp @ (size_XuKp GHC.TypeLits.+ 2) $dKnownNat_sws2 ww_sxlO (w_sxlA `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKl rep_XuKn size_XuKp ~# rep_XuKn size_XuKp)) }) (case ww_sxlS of wild_X1L [Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_X5u [Dmd=], tpl_X5w [Dmd=], tpl_X5y [Dmd=], tpl_X5A [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> (tpl_X5A `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKn ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKn a_ae8M -> rep_XuKn b_ae8N))) @ size_XuKp @ (size_XuKp GHC.TypeLits.+ 2) $dKnownNat_sws2 ww_sxlO (w_sxlB `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKl rep_XuKn size_XuKp ~# rep_XuKn size_XuKp)) }))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKn size_XuKp ~# CLaSH.Sized.Fixed.Fixed frac_XuKl rep_XuKn size_XuKp) } } } } $c+_avBo [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_XuKm :: GHC.TypeLits.Nat)) (@ (rep_XuKo :: GHC.TypeLits.Nat -> *)) (@ (size_XuKq :: GHC.TypeLits.Nat)) (w_sxlz [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKm rep_XuKo size_XuKq) (w_sxlA [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKm rep_XuKo size_XuKq) (w_sxlB [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKm rep_XuKo size_XuKq) -> case w_sxlz of _ [Occ=Dead] { (ww_sxlE [Occ=Once!], ww_sxlS [Occ=Once], _ [Occ=Dead], ww_sxlU [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> case ww_sxlE of _ [Occ=Dead] { (ww_sxlH [Occ=Once], ww_sxlI [Occ=Once], ww_sxlJ [Occ=Once], ww_sxlK [Occ=Once], ww_sxlL [Occ=Once], ww_sxlM [Occ=Once], ww_sxlN [Occ=Once], ww_sxlO [Occ=Once], ww_sxlP [Occ=Once], ww_sxlQ [Occ=Once]) -> $w$c+_sxlY @ frac_XuKm @ rep_XuKo @ size_XuKq ww_sxlH ww_sxlI ww_sxlJ ww_sxlK ww_sxlL ww_sxlM ww_sxlN ww_sxlO ww_sxlP ww_sxlQ ww_sxlS ww_sxlU w_sxlA w_sxlB } }}] $c+_avBo = \ (@ (frac_XuKm :: GHC.TypeLits.Nat)) (@ (rep_XuKo :: GHC.TypeLits.Nat -> *)) (@ (size_XuKq :: GHC.TypeLits.Nat)) (w_sxlz :: CLaSH.Sized.Fixed.NumFixed frac_XuKm rep_XuKo size_XuKq) (w_sxlA :: CLaSH.Sized.Fixed.Fixed frac_XuKm rep_XuKo size_XuKq) (w_sxlB :: CLaSH.Sized.Fixed.Fixed frac_XuKm rep_XuKo size_XuKq) -> case w_sxlz of _ [Occ=Dead] { (ww_sxlE, ww_sxlS, ww_sxlT, ww_sxlU, ww_sxlV, ww_sxlW) -> case ww_sxlE of _ [Occ=Dead] { (ww_sxlH, ww_sxlI, ww_sxlJ, ww_sxlK, ww_sxlL, ww_sxlM, ww_sxlN, ww_sxlO, ww_sxlP, ww_sxlQ) -> $w$c+_sxlY @ frac_XuKm @ rep_XuKo @ size_XuKq ww_sxlH ww_sxlI ww_sxlJ ww_sxlK ww_sxlL ww_sxlM ww_sxlN ww_sxlO ww_sxlP ww_sxlQ ww_sxlS ww_sxlU w_sxlA w_sxlB } } CLaSH.Sized.Fixed.$fNumFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => GHC.Num.Num (CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) [LclIdX[DFunId], Arity=1, Str=DmdType m, Unf=DFun: \ (@ (frac_XuIO :: GHC.TypeLits.Nat)) (@ (rep_XuIQ :: GHC.TypeLits.Nat -> *)) (@ (size_XuIS :: GHC.TypeLits.Nat)) (tup_XvDf :: CLaSH.Sized.Fixed.NumFixed frac_XuIO rep_XuIQ size_XuIS) -> GHC.Num.D:Num TYPE CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS $c+_avBo @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $c*_avBP @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $c-_avCb @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $cnegate_avCC @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $cabs_avCW @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf (a_swkh @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) `cast` (_R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> rep_XuIQ size_XuIS) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS)) $cfromInteger_avDp @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf] CLaSH.Sized.Fixed.$fNumFixed = \ (@ (frac_XuIO :: GHC.TypeLits.Nat)) (@ (rep_XuIQ :: GHC.TypeLits.Nat -> *)) (@ (size_XuIS :: GHC.TypeLits.Nat)) (tup_XvDf [Dmd=] :: CLaSH.Sized.Fixed.NumFixed frac_XuIO rep_XuIQ size_XuIS) -> GHC.Num.D:Num @ (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS) ($c+_avBo @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($c*_avBP @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($c-_avCb @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($cnegate_avCC @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($cabs_avCW @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ((a_swkh @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) `cast` (_R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> rep_XuIQ size_XuIS) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS))) ($cfromInteger_avDp @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) CLaSH.Sized.Fixed.$fBitVectorFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV) => CLaSH.Class.BitVector.BitVector (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV) [LclIdX[DFunId], Arity=1, Str=DmdType m, Unf=DFun: \ (@ (frac_XuIN :: GHC.TypeLits.Nat)) (@ (rep_XuIP :: GHC.TypeLits.Nat -> *)) (@ (size_XuIR :: GHC.TypeLits.Nat)) ($dBitVector_XvCT :: CLaSH.Class.BitVector.BitVector (rep_XuIP size_XuIR)) -> CLaSH.Class.BitVector.D:BitVector TYPE CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR (\ ($dKnownNat_avB0 :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (ds_dw0H :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) -> CLaSH.Class.BitVector.toBV @ (rep_XuIP size_XuIR) $dBitVector_XvCT ($dKnownNat_avB0 `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (ds_dw0H `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR ~# rep_XuIP size_XuIR))) `cast` (_R -> _R -> (CLaSH.Sized.Vector.Vec (Sym (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N)) _R)_R :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit)) (\ ($dKnownNat_avBa :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (bv_auGX :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit) -> CLaSH.Class.BitVector.fromBV @ (rep_XuIP size_XuIR) $dBitVector_XvCT ($dKnownNat_avBa `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (bv_auGX `cast` ((CLaSH.Sized.Vector.Vec (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit))) `cast` (_R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> rep_XuIP size_XuIR) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))] CLaSH.Sized.Fixed.$fBitVectorFixed = \ (@ (frac_XuIN :: GHC.TypeLits.Nat)) (@ (rep_XuIP :: GHC.TypeLits.Nat -> *)) (@ (size_XuIR :: GHC.TypeLits.Nat)) ($dBitVector_XvCT [Dmd=] :: CLaSH.Class.BitVector.BitVector (rep_XuIP size_XuIR)) -> let { lvl_sxDl :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> rep_XuIP size_XuIR [LclId, Str=DmdType] lvl_sxDl = CLaSH.Class.BitVector.fromBV @ (rep_XuIP size_XuIR) $dBitVector_XvCT } in (let { lvl_sxDk :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) => rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit [LclId, Str=DmdType] lvl_sxDk = CLaSH.Class.BitVector.toBV @ (rep_XuIP size_XuIR) $dBitVector_XvCT } in CLaSH.Class.BitVector.D:BitVector @ (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) ((\ ($dKnownNat_avB0 :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (ds_dw0H :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) -> lvl_sxDk ($dKnownNat_avB0 `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (ds_dw0H `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR ~# rep_XuIP size_XuIR))) `cast` (_R -> _R -> (CLaSH.Sized.Vector.Vec (Sym (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N)) _R)_R :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit)))) ((\ ($dKnownNat_avBa :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (bv_auGX :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit) -> lvl_sxDl ($dKnownNat_avBa `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (bv_auGX `cast` ((CLaSH.Sized.Vector.Vec (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit))) `cast` (_R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> rep_XuIP size_XuIR) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) a_swC4 :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => Data.Default.Class.Default (rep_auGM size_auGN) [LclId, Arity=1, Str=DmdType ] a_swC4 = \ (@ (frac_auGL :: GHC.TypeLits.Nat)) (@ (rep_auGM :: GHC.TypeLits.Nat -> *)) (@ (size_auGN :: GHC.TypeLits.Nat)) ($dDefault_avAe :: Data.Default.Class.Default (rep_auGM size_auGN)) -> $dDefault_avAe $cdef_avAg :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => CLaSH.Sized.Fixed.Fixed frac_auGL rep_auGM size_auGN [LclId, Arity=1, Str=DmdType ] $cdef_avAg = a_swC4 `cast` (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). _R -> Data.Default.Class.NTCo:Default[0] _N ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => Data.Default.Class.Default (rep_XuLZ size_XuM1)) ~# (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => CLaSH.Sized.Fixed.Fixed frac_XuLX rep_XuLZ size_XuM1)) CLaSH.Sized.Fixed.$fDefaultFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_auGL rep_auGM size_auGN) [LclIdX[DFunId(nt)], Arity=1, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= $cdef_avAg `cast` (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). _R -> Sym (Data.Default.Class.NTCo:Default[0] _N) :: (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuIO size_XuIQ) => CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ) ~# (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuIO size_XuIQ) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ)))}] CLaSH.Sized.Fixed.$fDefaultFixed = a_swC4 `cast` (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). _R -> Data.Default.Class.NTCo:Default[0] _N ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sym (Data.Default.Class.NTCo:Default[0] _N) :: (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => Data.Default.Class.Default (rep_XuLZ size_XuM1)) ~# (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_XuLX rep_XuLZ size_XuM1))) CLaSH.Sized.Fixed.$fBoundedFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_auGJ size_auGK) => GHC.Enum.Bounded (CLaSH.Sized.Fixed.Fixed frac_auGI rep_auGJ size_auGK) [LclIdX[DFunId], Arity=1, Str=DmdType m, Unf=DFun: \ (@ (frac_XuIW :: GHC.TypeLits.Nat)) (@ (rep_XuIY :: GHC.TypeLits.Nat -> *)) (@ (size_XuJ0 :: GHC.TypeLits.Nat)) ($dBounded_XvCa :: GHC.Enum.Bounded (rep_XuIY size_XuJ0)) -> GHC.Enum.D:Bounded TYPE CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0 (GHC.Enum.minBound @ (rep_XuIY size_XuJ0) $dBounded_XvCa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0) (GHC.Enum.maxBound @ (rep_XuIY size_XuJ0) $dBounded_XvCa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0)] CLaSH.Sized.Fixed.$fBoundedFixed = \ (@ (frac_XuIW :: GHC.TypeLits.Nat)) (@ (rep_XuIY :: GHC.TypeLits.Nat -> *)) (@ (size_XuJ0 :: GHC.TypeLits.Nat)) ($dBounded_XvCa [Dmd=] :: GHC.Enum.Bounded (rep_XuIY size_XuJ0)) -> GHC.Enum.D:Bounded @ (CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0) ((GHC.Enum.minBound @ (rep_XuIY size_XuJ0) $dBounded_XvCa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0)) ((GHC.Enum.maxBound @ (rep_XuIY size_XuJ0) $dBounded_XvCa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0)) CLaSH.Sized.Fixed.$fOrdFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => GHC.Classes.Ord (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) [LclIdX[DFunId[1]], Arity=2, Str=DmdType m, Unf=DFun: \ (@ (frac_XuIv :: GHC.TypeLits.Nat)) (@ (rep_XuIx :: GHC.TypeLits.Nat -> *)) (@ (size_XuIz :: GHC.TypeLits.Nat)) ($dEq_XvB3 :: GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) ($dOrd_XvB5 :: GHC.Classes.Ord (rep_XuIx size_XuIz)) -> GHC.Classes.D:Ord TYPE CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz $dEq_XvB3 (GHC.Classes.compare @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Ordering) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Ordering)) (GHC.Classes.< @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) (GHC.Classes.>= @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) (GHC.Classes.> @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) (GHC.Classes.<= @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) (GHC.Classes.max @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) (GHC.Classes.min @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz))] CLaSH.Sized.Fixed.$fOrdFixed = \ (@ (frac_XuIv :: GHC.TypeLits.Nat)) (@ (rep_XuIx :: GHC.TypeLits.Nat -> *)) (@ (size_XuIz :: GHC.TypeLits.Nat)) ($dEq_XvB3 :: GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) ($dOrd_XvB5 [Dmd=] :: GHC.Classes.Ord (rep_XuIx size_XuIz)) -> GHC.Classes.D:Ord @ (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz) $dEq_XvB3 ((GHC.Classes.compare @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Ordering) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Ordering))) ((GHC.Classes.< @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.>= @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.> @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.<= @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.max @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz))) ((GHC.Classes.min @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz))) CLaSH.Sized.Fixed.$fEqFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_auFG size_auFH) => GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) [LclIdX[DFunId], Arity=1, Str=DmdType m, Unf=DFun: \ (@ (frac_XuII :: GHC.TypeLits.Nat)) (@ (rep_XuIK :: GHC.TypeLits.Nat -> *)) (@ (size_XuIM :: GHC.TypeLits.Nat)) ($dEq_XvAL :: GHC.Classes.Eq (rep_XuIK size_XuIM)) -> GHC.Classes.D:Eq TYPE CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM (GHC.Classes.== @ (rep_XuIK size_XuIM) $dEq_XvAL) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool)) (GHC.Classes./= @ (rep_XuIK size_XuIM) $dEq_XvAL) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool))] CLaSH.Sized.Fixed.$fEqFixed = \ (@ (frac_XuII :: GHC.TypeLits.Nat)) (@ (rep_XuIK :: GHC.TypeLits.Nat -> *)) (@ (size_XuIM :: GHC.TypeLits.Nat)) ($dEq_XvAL [Dmd=] :: GHC.Classes.Eq (rep_XuIK size_XuIM)) -> GHC.Classes.D:Eq @ (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM) ((GHC.Classes.== @ (rep_XuIK size_XuIM) $dEq_XvAL) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool))) ((GHC.Classes./= @ (rep_XuIK size_XuIM) $dEq_XvAL) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool))) a_swC6 :: [GHC.Types.Char] [LclId, Str=DmdType] a_swC6 = a_swwS a_swC9 :: [GHC.Types.Char] [LclId, Str=DmdType] a_swC9 = a_swwV a_swCb :: [GHC.Types.Char] [LclId, Str=DmdType] a_swCb = a_swwX a_swC7 :: Language.Haskell.TH.Syntax.NameFlavour [LclId, Str=DmdType m5] a_swC7 = a_swwT lvl_swwh :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType m] lvl_swwh = lvl_swvo a_swCe :: [GHC.Types.Char] [LclId, Str=DmdType] a_swCe = a_swwS a_swCh :: [GHC.Types.Char] [LclId, Str=DmdType] a_swCh = a_swwV a_swCj :: [GHC.Types.Char] [LclId, Str=DmdType] a_swCj = a_swwX a_swCf :: Language.Haskell.TH.Syntax.NameFlavour [LclId, Str=DmdType m5] a_swCf = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.TcClsName (a_swwV `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a_swwX `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) lvl_swwp :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType m] lvl_swwp = Language.Haskell.TH.Syntax.Name (a_swwS `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a_swCf lvl_sxDm :: Language.Haskell.TH.Syntax.Type [LclId, Str=DmdType] lvl_sxDm = Language.Haskell.TH.Syntax.ConT lvl_swwp a_swCk :: forall (m_a4Ni :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4Ni => m_a4Ni Language.Haskell.TH.Syntax.Type [LclId, Arity=1, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (m_a4Ni :: * -> *)) (eta_a4Nj [Occ=Once] :: Language.Haskell.TH.Syntax.Quasi m_a4Ni) -> GHC.Base.return @ m_a4Ni (Language.Haskell.TH.Syntax.$p1Quasi @ m_a4Ni eta_a4Nj) @ Language.Haskell.TH.Syntax.Type (Language.Haskell.TH.Syntax.ConT lvl_swwp)}] a_swCk = \ (@ (m_a4Ni :: * -> *)) (eta_a4Nj :: Language.Haskell.TH.Syntax.Quasi m_a4Ni) -> GHC.Base.return @ m_a4Ni (Language.Haskell.TH.Syntax.$p1Quasi @ m_a4Ni eta_a4Nj) @ Language.Haskell.TH.Syntax.Type lvl_sxDm Rec { lgo_sxDo [Occ=LoopBreaker] :: Language.Haskell.TH.Lib.TypeQ -> [Language.Haskell.TH.Lib.TypeQ] -> Language.Haskell.TH.Lib.TypeQ [LclId, Arity=2, Str=DmdType ] lgo_sxDo = \ (z_awhM :: Language.Haskell.TH.Lib.TypeQ) (ds_awhN :: [Language.Haskell.TH.Lib.TypeQ]) -> case ds_awhN of wild_awhO [Dmd=] { [] -> z_awhM; : x_awhS [Dmd=] xs_awhT [Dmd=] -> lgo_sxDo ((Language.Haskell.TH.Lib.appT1 z_awhM x_awhS) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) xs_awhT } end Rec } lvl_sxDp :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType] lvl_sxDp = Language.Haskell.TH.Syntax.Name ((GHC.Types.[] @ GHC.Types.Char) `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) Language.Haskell.TH.Syntax.NameS lvl_sxDr :: Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] lvl_sxDr = lvl_sxD4 a_swCv :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> forall (m_akMz :: * -> *). Language.Haskell.TH.Syntax.Quasi m_akMz => m_akMz Language.Haskell.TH.Syntax.Exp [LclId, Arity=5, Str=DmdType ] a_swCv = \ (@ (frac_auGO :: GHC.TypeLits.Nat)) (@ (rep_auGP :: GHC.TypeLits.Nat -> *)) (@ (size_auGQ :: GHC.TypeLits.Nat)) ($dLift_avAq [Dmd=] :: Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ)) ($dKnownNat_avAr :: GHC.TypeLits.KnownNat frac_auGO) ($dKnownNat_avAs :: GHC.TypeLits.KnownNat size_auGQ) ($dTypeable_avAt :: Data.Typeable.Internal.Typeable rep_auGP) (f_auGR :: CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ) -> let { w1_akV2 [Dmd=] :: Language.Haskell.TH.Lib.TypeQ [LclId, Str=DmdType] w1_akV2 = lgo_sxDo (a_swCk `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (GHC.Types.: @ Language.Haskell.TH.Lib.TypeQ ((let { l_a5DZ [Dmd=] :: Language.Haskell.TH.Lib.TyLitQ [LclId, Str=DmdType] l_a5DZ = Language.Haskell.TH.Lib.numTyLit ($dKnownNat_avAr `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_auGO ~# GHC.Integer.Type.Integer)) } in \ (@ (m_a5E0 :: * -> *)) (eta_a5E1 :: Language.Haskell.TH.Syntax.Quasi m_a5E0) -> GHC.Base.fmap @ m_a5E0 (Control.Applicative.$p1Applicative @ m_a5E0 (Language.Haskell.TH.Syntax.$p2Quasi @ m_a5E0 eta_a5E1)) @ Language.Haskell.TH.Syntax.TyLit @ Language.Haskell.TH.Syntax.Type Language.Haskell.TH.Syntax.LitT ((l_a5DZ `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.TyLit ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.TyLit))) @ m_a5E0 eta_a5E1)) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (GHC.Types.: @ Language.Haskell.TH.Lib.TypeQ ((let { x_X4Ts :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType] x_X4Ts = case ($dTypeable_avAt `cast` (Data.Typeable.Internal.NTCo:Typeable[0] *>_N _N :: Data.Typeable.Internal.Typeable rep_auGP ~# (GHC.Prim.Proxy# rep_auGP -> Data.Typeable.Internal.TypeRep))) (GHC.Prim.proxy# @ (GHC.TypeLits.Nat -> *) @ rep_auGP) of ww_awCo [Dmd=] { Data.Typeable.Internal.TypeRep ww1_awCq [Dmd=] ww2_awCr [Dmd=] ww3_awCs [Dmd=] ww4_awCt [Dmd=] -> case GHC.List.reverse1 @ GHC.Types.Char (Data.Typeable.Internal.$w$cshowsPrec GHC.Show.shows27 ww3_awCs ww4_awCt (GHC.Types.[] @ GHC.Types.Char)) (GHC.Types.[] @ GHC.Types.Char) of wild21_a5F6 [Dmd=] { [] -> lvl_sxDp; : ds_a5Fa [Dmd=] rev_a5Fb [Dmd=] -> case ds_a5Fa of wild22_a5Fd { GHC.Types.C# ds1_a5Ff [Dmd=] -> case ds1_a5Ff of ds2_a5Fh [Dmd=] { __DEFAULT -> case Language.Haskell.TH.Syntax.mkName_$s$wsplit1 ds_a5Fa (GHC.Types.[] @ GHC.Types.Char) rev_a5Fb of ww_a5Au [Dmd=] { (# ww1_a5Aw, ww2_a5Ax #) -> Language.Haskell.TH.Syntax.Name ww1_a5Aw ww2_a5Ax }; '.' -> case Language.Haskell.TH.Syntax.mkName_$s$wsplit1 ds_a5Fa (GHC.Types.[] @ GHC.Types.Char) rev_a5Fb of ww_a5Au [Dmd=] { (# ww1_a5Aw, ww2_a5Ax #) -> Language.Haskell.TH.Syntax.Name ww1_a5Aw ww2_a5Ax } } } } } } in let { lvl_sxDq :: Language.Haskell.TH.Syntax.Type [LclId, Str=DmdType] lvl_sxDq = Language.Haskell.TH.Syntax.ConT x_X4Ts } in \ (@ (m_X4Tv :: * -> *)) (eta_X4Tx :: Language.Haskell.TH.Syntax.Quasi m_X4Tv) -> GHC.Base.return @ m_X4Tv (Language.Haskell.TH.Syntax.$p1Quasi @ m_X4Tv eta_X4Tx) @ Language.Haskell.TH.Syntax.Type lvl_sxDq) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (GHC.Types.: @ Language.Haskell.TH.Lib.TypeQ ((let { l_a5DZ [Dmd=] :: Language.Haskell.TH.Lib.TyLitQ [LclId, Str=DmdType] l_a5DZ = Language.Haskell.TH.Lib.numTyLit ($dKnownNat_avAs `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat size_auGQ ~# GHC.Integer.Type.Integer)) } in \ (@ (m_a5E0 :: * -> *)) (eta_a5E1 :: Language.Haskell.TH.Syntax.Quasi m_a5E0) -> GHC.Base.fmap @ m_a5E0 (Control.Applicative.$p1Applicative @ m_a5E0 (Language.Haskell.TH.Syntax.$p2Quasi @ m_a5E0 eta_a5E1)) @ Language.Haskell.TH.Syntax.TyLit @ Language.Haskell.TH.Syntax.Type Language.Haskell.TH.Syntax.LitT ((l_a5DZ `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.TyLit ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.TyLit))) @ m_a5E0 eta_a5E1)) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (GHC.Types.[] @ Language.Haskell.TH.Lib.TypeQ)))) } in let { w1_acZp [Dmd=] :: Language.Haskell.TH.Lib.ExpQ [LclId, Str=DmdType] w1_acZp = ($dLift_avAq `cast` (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N :: Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ) ~# (rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp))) (f_auGR `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ ~# rep_auGP size_auGQ)) } in \ (@ (m_akV3 :: * -> *)) (w2_akV4 :: Language.Haskell.TH.Syntax.Quasi m_akV3) -> case w2_akV4 of ww_akV5 [Dmd=] { Language.Haskell.TH.Syntax.D:Quasi ww1_akV7 [Dmd=] ww2_akV8 ww3_akV9 ww4_akVa ww5_akVb ww6_akVc ww7_akVd ww8_akVe ww9_akVf ww10_akVg ww11_akVh ww12_akVi ww13_akVj ww14_akVk ww15_akVl ww16_akVm ww17_akVn ww18_akVo -> case ww1_akV7 of ww19_akVq [Dmd=] { GHC.Base.D:Monad ww20_akVt [Dmd=] ww21_akVu ww22_akVv ww23_akVw -> let { a_akVs :: GHC.Base.Monad m_akV3 [LclId, Str=DmdType m] a_akVs = ww1_akV7 } in let { eta_akVy :: Language.Haskell.TH.Syntax.Quasi m_akV3 [LclId, Str=DmdType] eta_akVy = w2_akV4 } in let { lvl_sxDt :: m_akV3 Language.Haskell.TH.Syntax.Type [LclId, Str=DmdType] lvl_sxDt = (w1_akV2 `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type))) @ m_akV3 w2_akV4 } in ww20_akVt @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (let { a_acZP :: GHC.Base.Monad m_akV3 [LclId, Str=DmdType m] a_acZP = ww1_akV7 } in let { eta_acZV :: Language.Haskell.TH.Syntax.Quasi m_akV3 [LclId, Str=DmdType] eta_acZV = w2_akV4 } in let { lvl_sxDs :: m_akV3 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] lvl_sxDs = (w1_acZp `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp))) @ m_akV3 w2_akV4 } in ww20_akVt @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (ww22_akVv @ Language.Haskell.TH.Syntax.Exp lvl_sxD4) (\ (x_acZW :: Language.Haskell.TH.Syntax.Exp) -> ww20_akVt @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp lvl_sxDs (\ (x1_acZX :: Language.Haskell.TH.Syntax.Exp) -> ww22_akVv @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.AppE x_acZW x1_acZX)))) (\ (x_akVz :: Language.Haskell.TH.Syntax.Exp) -> ww20_akVt @ Language.Haskell.TH.Syntax.Type @ Language.Haskell.TH.Syntax.Exp lvl_sxDt (\ (x1_akVA :: Language.Haskell.TH.Syntax.Type) -> ww22_akVv @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.SigE x_akVz x1_akVA))) } } $clift_avAv :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp [LclId, Arity=5, Str=DmdType ] $clift_avAv = a_swCv `cast` (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp)) CLaSH.Sized.Fixed.$fLiftFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ) [LclIdX[DFunId(nt)], Arity=5, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=4, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= $clift_avAv `cast` (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N) :: (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ)))}] CLaSH.Sized.Fixed.$fLiftFixed = a_swCv `cast` (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> (_R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N)) ; Sym (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N) :: (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ))) ------ Local rules for imported ids -------- "SPEC GHC.Real.^ [GHC.Types.Double, GHC.Integer.Type.Integer]" [1] forall ($dNum_swu4 :: GHC.Num.Num GHC.Types.Double) ($dIntegral_swu5 :: GHC.Real.Integral GHC.Integer.Type.Integer). GHC.Real.^ @ GHC.Types.Double @ GHC.Integer.Type.Integer $dNum_swu4 $dIntegral_swu5 = $s^_swu6 *** Simplifier: SimplBind [lvl_sxD1{v} [lid]] SimplBind [lvl_swvg{v} [lid]] SimplBind [lvl_swv0{v} [lid]] SimplBind [lvl_swv4{v} [lid]] SimplBind [$wg1{v sxaw} [lid]] SimplBind [$wf{v sxaG} [lid]] SimplBind [lvl_swuH{v} [lid]] SimplBind [lvl_swuK{v} [lid]] SimplBind [$w$s^{v sxaM} [lid]] SimplBind [$s^{v swu6} [lid]] SimplBind [lvl_swvh{v} [lid]] SimplBind [a_swwS{v} [lid]] SimplBind [a_swwV{v} [lid]] SimplBind [a_swwX{v} [lid]] SimplBind [a_swwT{v} [lid]] SimplBind [lvl_swvo{v} [lid]] SimplBind [a_swx0{v} [lid]] SimplBind [a_swx3{v} [lid]] SimplBind [a_swx5{v} [lid]] SimplBind [a_swx1{v} [lid]] SimplBind [lvl_swvw{v} [lid]] SimplBind [lvl_sxD4{v} [lid]] SimplBind [lvl_sxD5{v} [lid]] SimplBind [$wa{v sxaS} [lid]] SimplBind [a_swxS{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.fLit{v ruEL} [lidx]] SimplBind [poly_a_sxDa{v} [lid]] SimplBind [$wsatN2{v sxbN} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.satN2{v ruEK} [lidx]] SimplBind [$wresizeF{v sxcA} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.resizeF{v ruEJ} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.asRepProxy{v ruEG} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.asFracProxy{v ruEF} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.fracShift{v ruEH} [lidx]] SimplBind [a_swaI{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unUF{v ruEE} [lidx]] SimplBind [a_swaJ{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.uf{v ruED} [lidx]] SimplBind [a_swaK{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unSF{v ruEC} [lidx]] SimplBind [a_swaL{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.sf{v ruEB} [lidx]] SimplBind [a_swaM{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unFixed{v ruEA} [lidx[[RecSel]]]] SimplBind [lvl_swvD{v} [lid]] SimplBind [lvl_swvG{v} [lid]] SimplBind [dt{v akMa} [lid]] SimplBind [$wlvl{v sxd6} [lid]] SimplBind [lvl_swvV{v} [lid]] SimplBind [lvl_swvX{v} [lid]] SimplBind [lvl_sxDd{v} [lid]] SimplBind [lvl_sxDh{v} [lid]] SimplBind [$w$cshow{v sxdD} [lid]] SimplBind [$cshow{v avFD} [lid]] SimplBind [$cshowsPrec{v avFB} [lid]] SimplBind [$w$cshowList{v sxe4} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fShowFixed{v ruTI} [lidx[DFunId]]] SimplBind [a_swjx{v} [lid]] SimplBind [$cmult{v avFi} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fMultFixedFixed{v ruTC} [lidx[DFunId(nt)]]] SimplBind [$w$cminus{v sxeW} [lid]] SimplBind [$cminus{v avEx} [lid]] SimplBind [$w$cplus{v sxfg} [lid]] SimplBind [$cplus{v avDP} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fAddFixedFixed{v ruSO} [lidx[DFunId]]] SimplBind [$cfromInteger{v avDp} [lid]] SimplBind [a_swkh{v} [lid]] SimplBind [$w$cabs{v sxhI} [lid]] SimplBind [$cabs{v avCW} [lid]] SimplBind [$w$cnegate{v sxiT} [lid]] SimplBind [$cnegate{v avCC} [lid]] SimplBind [$w$c-{v sxk5} [lid]] SimplBind [$c-{v avCb} [lid]] SimplBind [$c*{v avBP} [lid]] SimplBind [$w$c+{v sxlY} [lid]] SimplBind [$c+{v avBo} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fNumFixed{v ruPB} [lidx[DFunId]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fBitVectorFixed{v ruPx} [lidx[DFunId]]] SimplBind [a_swC4{v} [lid]] SimplBind [$cdef{v avAg} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fDefaultFixed{v ruO2} [lidx[DFunId(nt)]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fBoundedFixed{v ruHR} [lidx[DFunId]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fOrdFixed{v ruUw} [lidx[DFunId[1]]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fEqFixed{v ruUr} [lidx[DFunId]]] SimplBind [a_swCf{v} [lid]] SimplBind [lvl_swwp{v} [lid]] SimplBind [lvl_sxDm{v} [lid]] SimplBind [a_swCk{v} [lid]] SimplBind [lgo{v sxDo} [lid]] SimplBind [lvl_sxDp{v} [lid]] SimplBind [a_swCv{v} [lid]] SimplBind [$clift{v avAv} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fLiftFixed{v ruOs} [lidx[DFunId(nt)]]] Result size of Simplifier iteration=1 = {terms: 2,128, types: 7,975, coercions: 959} SimplBind [lvl_sxD1{v} [lid]] SimplBind [lvl_swvg{v} [lid]] SimplBind [lvl_swv0{v} [lid]] SimplBind [lvl_swv4{v} [lid]] SimplBind [$wg1{v sxaw} [lid]] SimplBind [$wf{v sxaG} [lid]] SimplBind [lvl_swuH{v} [lid]] SimplBind [$w$s^{v sxaM} [lid]] SimplBind [$s^{v swu6} [lid]] SimplBind [lvl_swvh{v} [lid]] SimplBind [a_swwS{v} [lid]] SimplBind [a_swwV{v} [lid]] SimplBind [a_swwX{v} [lid]] SimplBind [a_swwT{v} [lid]] SimplBind [lvl_swvo{v} [lid]] SimplBind [a_swx0{v} [lid]] SimplBind [a_swx3{v} [lid]] SimplBind [a_swx5{v} [lid]] SimplBind [a_swx1{v} [lid]] SimplBind [lvl_swvw{v} [lid]] SimplBind [lvl_sxD4{v} [lid]] SimplBind [lvl_sxD5{v} [lid]] SimplBind [$wa{v sxaS} [lid]] SimplBind [a_swxS{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.fLit{v ruEL} [lidx]] SimplBind [poly_a_sxDa{v} [lid]] SimplBind [$wsatN2{v sxbN} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.satN2{v ruEK} [lidx]] SimplBind [$wresizeF{v sxcA} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.resizeF{v ruEJ} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.asRepProxy{v ruEG} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.asFracProxy{v ruEF} [lidx]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.fracShift{v ruEH} [lidx]] SimplBind [a_swaI{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unUF{v ruEE} [lidx]] SimplBind [a_swaJ{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.uf{v ruED} [lidx]] SimplBind [a_swaK{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unSF{v ruEC} [lidx]] SimplBind [a_swaL{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.sf{v ruEB} [lidx]] SimplBind [a_swaM{v} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.unFixed{v ruEA} [lidx[[RecSel]]]] SimplBind [lvl_swvD{v} [lid]] SimplBind [lvl_swvG{v} [lid]] SimplBind [dt{v akMa} [lid]] SimplBind [$wlvl{v sxd6} [lid]] SimplBind [lvl_swvV{v} [lid]] SimplBind [lvl_swvX{v} [lid]] SimplBind [lvl_sxDd{v} [lid]] SimplBind [lvl_sxDh{v} [lid]] SimplBind [$w$cshow{v sxdD} [lid]] SimplBind [$cshow{v avFD} [lid]] SimplBind [$cshowsPrec{v avFB} [lid]] SimplBind [$w$cshowList{v sxe4} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fShowFixed{v ruTI} [lidx[DFunId]]] SimplBind [a_swjx{v} [lid]] SimplBind [$cmult{v avFi} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fMultFixedFixed{v ruTC} [lidx[DFunId(nt)]]] SimplBind [$w$cminus{v sxeW} [lid]] SimplBind [$cminus{v avEx} [lid]] SimplBind [$w$cplus{v sxfg} [lid]] SimplBind [$cplus{v avDP} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fAddFixedFixed{v ruSO} [lidx[DFunId]]] SimplBind [$cfromInteger{v avDp} [lid]] SimplBind [a_swkh{v} [lid]] SimplBind [$w$cabs{v sxhI} [lid]] SimplBind [$cabs{v avCW} [lid]] SimplBind [$w$cnegate{v sxiT} [lid]] SimplBind [$cnegate{v avCC} [lid]] SimplBind [$w$c-{v sxk5} [lid]] SimplBind [$c-{v avCb} [lid]] SimplBind [$c*{v avBP} [lid]] SimplBind [$w$c+{v sxlY} [lid]] SimplBind [$c+{v avBo} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fNumFixed{v ruPB} [lidx[DFunId]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fBitVectorFixed{v ruPx} [lidx[DFunId]]] SimplBind [a_swC4{v} [lid]] SimplBind [$cdef{v avAg} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fDefaultFixed{v ruO2} [lidx[DFunId(nt)]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fBoundedFixed{v ruHR} [lidx[DFunId]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fOrdFixed{v ruUw} [lidx[DFunId[1]]]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fEqFixed{v ruUr} [lidx[DFunId]]] SimplBind [a_swCf{v} [lid]] SimplBind [lvl_swwp{v} [lid]] SimplBind [lvl_sxDm{v} [lid]] SimplBind [a_swCk{v} [lid]] SimplBind [lgo{v sxDo} [lid]] SimplBind [lvl_sxDp{v} [lid]] SimplBind [a_swCv{v} [lid]] SimplBind [$clift{v avAv} [lid]] SimplBind [clash-prelude-0.5:CLaSH.Sized.Fixed.$fLiftFixed{v ruOs} [lidx[DFunId(nt)]]] ==================== Simplifier ==================== Max iterations = 4 SimplMode {Phase = 0 [final], inline, rules, eta-expand, case-of-case} Result size of Simplifier = {terms: 2,126, types: 7,974, coercions: 959} lvl_sxD1 :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 0}] lvl_sxD1 = GHC.CString.unpackCString# "Negative exponent"# lvl_swvg :: GHC.Types.Double [LclId, Str=DmdType b] lvl_swvg = GHC.Err.error @ GHC.Types.Double lvl_sxD1 lvl_swv0 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swv0 = __integer 1 lvl_swv4 :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swv4 = __integer 2 Rec { $wg1_sxaw [Occ=LoopBreaker] :: GHC.Prim.Double# -> GHC.Integer.Type.Integer -> GHC.Prim.Double# -> GHC.Prim.Double# [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0 0] 326 0}] $wg1_sxaw = \ (ww_sxan :: GHC.Prim.Double#) (w_sxaj :: GHC.Integer.Type.Integer) (ww_sxar :: GHC.Prim.Double#) -> case GHC.Integer.Type.eqInteger# (GHC.Integer.Type.remInteger w_sxaj GHC.Real.even2) GHC.Real.even1 of wild_akF2 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akF2 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case GHC.Integer.Type.eqInteger# w_sxaj lvl_swv0 of wild_a2f3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a2f3 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> $wg1_sxaw (GHC.Prim.*## ww_sxan ww_sxan) (GHC.Integer.Type.quotInteger (GHC.Integer.Type.minusInteger w_sxaj lvl_swv0) lvl_swv4) (GHC.Prim.*## ww_sxan ww_sxar); GHC.Types.True -> GHC.Prim.*## ww_sxan ww_sxar } }; GHC.Types.True -> $wg1_sxaw (GHC.Prim.*## ww_sxan ww_sxan) (GHC.Integer.Type.quotInteger w_sxaj lvl_swv4) ww_sxar } } end Rec } Rec { $wf_sxaG [Occ=LoopBreaker] :: GHC.Prim.Double# -> GHC.Integer.Type.Integer -> GHC.Prim.Double# [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 0] 314 0}] $wf_sxaG = \ (ww_sxaB :: GHC.Prim.Double#) (w_sxay :: GHC.Integer.Type.Integer) -> case GHC.Integer.Type.eqInteger# (GHC.Integer.Type.remInteger w_sxay GHC.Real.even2) GHC.Real.even1 of wild_akF2 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akF2 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case GHC.Integer.Type.eqInteger# w_sxay lvl_swv0 of wild_a2f3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a2f3 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> $wg1_sxaw (GHC.Prim.*## ww_sxaB ww_sxaB) (GHC.Integer.Type.quotInteger (GHC.Integer.Type.minusInteger w_sxay lvl_swv0) lvl_swv4) ww_sxaB; GHC.Types.True -> ww_sxaB } }; GHC.Types.True -> $wf_sxaG (GHC.Prim.*## ww_sxaB ww_sxaB) (GHC.Integer.Type.quotInteger w_sxay lvl_swv4) } } end Rec } lvl_swuH :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] lvl_swuH = __integer 0 $w$s^_sxaM [InlPrag=[1]] :: GHC.Types.Double -> GHC.Integer.Type.Integer -> GHC.Prim.Double# [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [20 0] 162 0}] $w$s^_sxaM = \ (w_sxaH :: GHC.Types.Double) (w_sxaI :: GHC.Integer.Type.Integer) -> case GHC.Integer.Type.ltInteger# w_sxaI lvl_swuH of wild_a4It { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a4It of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case GHC.Integer.Type.eqInteger# w_sxaI lvl_swuH of wild_a2f3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a2f3 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case w_sxaH of _ [Occ=Dead] { GHC.Types.D# ww_sxaB -> $wf_sxaG ww_sxaB w_sxaI }; GHC.Types.True -> 1.0 } }; GHC.Types.True -> case lvl_swvg of wild_00 { } } } $s^_swu6 [InlPrag=INLINE[0]] :: GHC.Types.Double -> GHC.Integer.Type.Integer -> GHC.Types.Double [LclId, Arity=2, Str=DmdType m, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (w_sxaH [Occ=Once] :: GHC.Types.Double) (w_sxaI [Occ=Once] :: GHC.Integer.Type.Integer) -> case $w$s^_sxaM w_sxaH w_sxaI of ww_sxaL { __DEFAULT -> GHC.Types.D# ww_sxaL }}] $s^_swu6 = \ (w_sxaH :: GHC.Types.Double) (w_sxaI :: GHC.Integer.Type.Integer) -> case $w$s^_sxaM w_sxaH w_sxaI of ww_sxaL { __DEFAULT -> GHC.Types.D# ww_sxaL } lvl_swvh :: GHC.Types.Double [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}] lvl_swvh = GHC.Types.D# 2.0 a_swwS :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] a_swwS = GHC.CString.unpackCString# "Fixed"# a_swwV :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 0}] a_swwV = GHC.CString.unpackCString# "clash-prelude-0.5"# a_swwX :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 80 0}] a_swwX = GHC.CString.unpackCString# "CLaSH.Sized.Fixed"# a_swwT :: Language.Haskell.TH.Syntax.NameFlavour [LclId, Str=DmdType m5, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}] a_swwT = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.DataName (a_swwV `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a_swwX `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) lvl_swvo :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] lvl_swvo = Language.Haskell.TH.Syntax.Name (a_swwS `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a_swwT a_swx0 :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 60 0}] a_swx0 = GHC.CString.unpackCString# "fromInteger"# a_swx3 :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 0}] a_swx3 = GHC.CString.unpackCString# "base"# a_swx5 :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] a_swx5 = GHC.CString.unpackCString# "GHC.Num"# a_swx1 :: Language.Haskell.TH.Syntax.NameFlavour [LclId, Str=DmdType m5, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}] a_swx1 = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.VarName (a_swx3 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a_swx5 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) lvl_swvw :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] lvl_swvw = Language.Haskell.TH.Syntax.Name (a_swx0 `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a_swx1 lvl_sxD4 :: Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}] lvl_sxD4 = Language.Haskell.TH.Syntax.ConE lvl_swvo lvl_sxD5 :: Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}] lvl_sxD5 = Language.Haskell.TH.Syntax.VarE lvl_swvw $wa_sxaS :: forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> forall (m_awx9 :: * -> *). Language.Haskell.TH.Syntax.Quasi m_awx9 => m_awx9 (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) [LclId, Arity=4, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=4, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] $wa_sxaS = \ (@ (frac_avhM :: GHC.TypeLits.Nat)) (@ (rep_avhN :: GHC.TypeLits.Nat -> *)) (@ (size_avhO :: GHC.TypeLits.Nat)) (w_sxaN :: GHC.TypeLits.KnownNat frac_avhM) (w_sxaP :: GHC.Enum.Bounded (rep_avhN size_avhO)) (w_sxaQ :: GHC.Real.Integral (rep_avhN size_avhO)) (w_sxaR :: GHC.Types.Double) -> let { x_akVD :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 592 0}] x_akVD = case w_sxaR of _ [Occ=Dead, Dmd=] { GHC.Types.D# x_aw80 -> case $w$s^_sxaM lvl_swvh (w_sxaN `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_avhM ~# GHC.Integer.Type.Integer)) of ww_sxaL { __DEFAULT -> case GHC.Integer.Type.decodeDoubleInteger (GHC.Prim.*## x_aw80 ww_sxaL) of _ [Occ=Dead, Dmd=] { (# ipv_aw8Q, ipv1_aw8R #) -> let { truncated_swu2 [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 259 0}] truncated_swu2 = case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# ipv1_aw8R 0) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> GHC.Integer.Type.shiftLInteger ipv_aw8Q ipv1_aw8R; GHC.Types.True -> let { s_aw8X :: GHC.Prim.Int# [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 1 0}] s_aw8X = GHC.Prim.negateInt# ipv1_aw8R } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.># s_aw8X 52) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case GHC.Integer.Type.ltInteger# ipv_aw8Q lvl_swuH of wild3_aw92 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild3_aw92 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case GHC.Integer.Type.integerToInt ipv_aw8Q of n_aw96 { __DEFAULT -> GHC.Integer.Type.smallInteger (GHC.Prim.uncheckedIShiftRA# n_aw96 s_aw8X) }; GHC.Types.True -> case GHC.Integer.Type.integerToInt (GHC.Integer.Type.negateInteger ipv_aw8Q) of n_aw99 { __DEFAULT -> GHC.Integer.Type.smallInteger (GHC.Prim.negateInt# (GHC.Prim.uncheckedIShiftRA# n_aw99 s_aw8X)) } } }; GHC.Types.True -> lvl_swuH } } } in let { rMax_swu0 [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] rMax_swu0 = GHC.Real.toInteger @ (rep_avhN size_avhO) w_sxaQ (GHC.Enum.maxBound @ (rep_avhN size_avhO) w_sxaP) } in case GHC.Integer.Type.gtInteger# truncated_swu2 rMax_swu0 of wild_akJ6 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akJ6 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> let { rMin_swu1 [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] rMin_swu1 = GHC.Real.toInteger @ (rep_avhN size_avhO) w_sxaQ (GHC.Enum.minBound @ (rep_avhN size_avhO) w_sxaP) } in case GHC.Integer.Type.ltInteger# truncated_swu2 rMin_swu1 of wild_a4It { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a4It of _ [Occ=Dead, Dmd=] { GHC.Types.False -> truncated_swu2; GHC.Types.True -> rMin_swu1 } }; GHC.Types.True -> rMax_swu0 } } } } } } in let { a_sxDZ :: Language.Haskell.TH.Syntax.Lit [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}] a_sxDZ = Language.Haskell.TH.Syntax.IntegerL x_akVD } in let { lvl_sxD6 :: Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}] lvl_sxD6 = Language.Haskell.TH.Syntax.LitE a_sxDZ } in \ (@ (m_awx9 :: * -> *)) (w1_awxa :: Language.Haskell.TH.Syntax.Quasi m_awx9) -> case w1_awxa of _ [Occ=Dead, Dmd=] { Language.Haskell.TH.Syntax.D:Quasi ww1_awxd [Dmd=] ww2_awxe [Dmd=] ww3_awxf [Dmd=] ww4_awxg [Dmd=] ww5_awxh [Dmd=] ww6_awxi [Dmd=] ww7_awxj [Dmd=] ww8_awxk [Dmd=] ww9_awxl [Dmd=] ww10_awxm [Dmd=] ww11_awxn [Dmd=] ww12_awxo [Dmd=] ww13_awxp [Dmd=] ww14_awxq [Dmd=] ww15_awxr [Dmd=] ww16_awxs [Dmd=] ww17_awxt [Dmd=] ww18_awxu [Dmd=] -> case ww1_awxd of _ [Occ=Dead, Dmd=] { GHC.Base.D:Monad ww20_awxy [Dmd=] ww21_awxz [Dmd=] ww22_awxA [Dmd=] ww23_awxB [Dmd=] -> ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) (let { lvl_sxD8 :: m_awx9 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 160 0}] lvl_sxD8 = let { lvl_sxD7 :: m_awx9 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 20 0}] lvl_sxD7 = ww22_awxA @ Language.Haskell.TH.Syntax.Exp lvl_sxD6 } in ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (ww22_awxA @ Language.Haskell.TH.Syntax.Exp lvl_sxD5) (\ (x_Xd36 :: Language.Haskell.TH.Syntax.Exp) -> ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp lvl_sxD7 (\ (x1_acZX :: Language.Haskell.TH.Syntax.Exp) -> ww22_awxA @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.AppE x_Xd36 x1_acZX))) } in ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (ww22_awxA @ Language.Haskell.TH.Syntax.Exp lvl_sxD4) (\ (x_acZW :: Language.Haskell.TH.Syntax.Exp) -> ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp lvl_sxD8 (\ (x1_acZX :: Language.Haskell.TH.Syntax.Exp) -> ww22_awxA @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.AppE x_acZW x1_acZX)))) (\ (x_awxD :: Language.Haskell.TH.Syntax.Exp) -> ww22_awxA @ (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) (x_awxD `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:TExp[0] _N) :: Language.Haskell.TH.Syntax.Exp ~# Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)))) } } a_swxS [InlPrag=INLINE[0]] :: forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> forall (m_aw9c :: * -> *). Language.Haskell.TH.Syntax.Quasi m_aw9c => m_aw9c (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) [LclId, Arity=5, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= \ (@ (frac_avhM :: GHC.TypeLits.Nat)) (@ (rep_avhN :: GHC.TypeLits.Nat -> *)) (@ (size_avhO :: GHC.TypeLits.Nat)) (w_sxaN [Occ=Once] :: GHC.TypeLits.KnownNat frac_avhM) _ [Occ=Dead, Dmd=] (w_sxaP [Occ=Once] :: GHC.Enum.Bounded (rep_avhN size_avhO)) (w_sxaQ [Occ=Once] :: GHC.Real.Integral (rep_avhN size_avhO)) (w_sxaR [Occ=Once] :: GHC.Types.Double) -> $wa_sxaS @ frac_avhM @ rep_avhN @ size_avhO w_sxaN w_sxaP w_sxaQ w_sxaR}] a_swxS = \ (@ (frac_avhM :: GHC.TypeLits.Nat)) (@ (rep_avhN :: GHC.TypeLits.Nat -> *)) (@ (size_avhO :: GHC.TypeLits.Nat)) (w_sxaN :: GHC.TypeLits.KnownNat frac_avhM) _ [Occ=Dead, Dmd=] (w_sxaP :: GHC.Enum.Bounded (rep_avhN size_avhO)) (w_sxaQ :: GHC.Real.Integral (rep_avhN size_avhO)) (w_sxaR :: GHC.Types.Double) -> $wa_sxaS @ frac_avhM @ rep_avhN @ size_avhO w_sxaN w_sxaP w_sxaQ w_sxaR CLaSH.Sized.Fixed.fLit :: forall (frac_auFI :: GHC.TypeLits.Nat) (rep_auFJ :: GHC.TypeLits.Nat -> *) (size_auFK :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_auFI, GHC.Num.Num (rep_auFJ size_auFK), GHC.Enum.Bounded (rep_auFJ size_auFK), GHC.Real.Integral (rep_auFJ size_auFK)) => GHC.Types.Double -> Language.Haskell.TH.Syntax.Q (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_auFI rep_auFJ size_auFK)) [LclIdX, Arity=5, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= a_swxS `cast` (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO))) ~# (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> Language.Haskell.TH.Syntax.Q (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO))))}] CLaSH.Sized.Fixed.fLit = a_swxS `cast` (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO))) ~# (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> Language.Haskell.TH.Syntax.Q (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)))) poly_a_sxDa :: forall (n_auFM :: GHC.TypeLits.Nat). 1 GHC.TypeLits.<= n_auFM [LclId, Str=DmdType b] poly_a_sxDa = \ (@ (n_auFM :: GHC.TypeLits.Nat)) -> Control.Exception.Base.absentError @ (1 GHC.TypeLits.<= n_auFM) "ww_sxb3{v} [lid] 1 base:GHC.TypeLits.<={tc r4y} n{tv auFM} [tv]"# $wsatN2_sxbN :: forall (rep_auFL :: GHC.TypeLits.Nat -> *) (n_auFM :: GHC.TypeLits.Nat). (((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) GHC.Prim.~# (n_auFM GHC.TypeLits.+ 2)) -> CLaSH.Class.BitVector.BitVector (rep_auFL n_auFM) => (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) => rep_auFL (n_auFM GHC.TypeLits.+ 2) -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit) -> (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM) ~ n_auFM, CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2)) ~ (n_auFM GHC.TypeLits.+ 2), GHC.TypeLits.KnownNat n_auFM, GHC.TypeLits.KnownNat (n_auFM GHC.TypeLits.+ 2), GHC.Enum.Bounded (rep_auFL n_auFM)) => (rep_auFL (n_auFM GHC.TypeLits.+ 2) -> GHC.Types.Bool) -> rep_auFL (n_auFM GHC.TypeLits.+ 2) -> rep_auFL n_auFM [LclId, Arity=10, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=10, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] $wsatN2_sxbN = \ (@ (rep_auFL :: GHC.TypeLits.Nat -> *)) (@ (n_auFM :: GHC.TypeLits.Nat)) (ww_sxb7 :: ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) GHC.Prim.~# (n_auFM GHC.TypeLits.+ 2)) (ww_sxb9 :: CLaSH.Class.BitVector.BitVector (rep_auFL n_auFM)) (ww_sxbd :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) => rep_auFL (n_auFM GHC.TypeLits.+ 2) -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit) (ww_sxbg :: CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM) ~ n_auFM) (ww_sxbh :: CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2)) ~ (n_auFM GHC.TypeLits.+ 2) Unf=OtherCon []) (ww_sxbi :: GHC.TypeLits.KnownNat n_auFM) (ww_sxbj :: GHC.TypeLits.KnownNat (n_auFM GHC.TypeLits.+ 2)) (ww_sxbk :: GHC.Enum.Bounded (rep_auFL n_auFM)) (ww_sxbD :: rep_auFL (n_auFM GHC.TypeLits.+ 2) -> GHC.Types.Bool) (w_sxb0 :: rep_auFL (n_auFM GHC.TypeLits.+ 2)) -> case ww_sxbh of _ [Occ=Dead] { GHC.Types.Eq# cobox_sxDc -> let { a_sxop [Dmd=] :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 30 0}] a_sxop = ww_sxbd (ww_sxbj `cast` ((GHC.TypeLits.KnownNat (Sym cobox_sxDc))_R :: GHC.TypeLits.KnownNat (n_auFM GHC.TypeLits.+ 2) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))))) w_sxb0 } in let { s_swtS :: CLaSH.Sized.Vector.Vec n_auFM CLaSH.Bit.Bit [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 0}] s_swtS = CLaSH.Sized.Vector.vtail @ n_auFM @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_auFM GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (a_sxop `cast` ((CLaSH.Sized.Vector.Vec (cobox_sxDc ; Sym ww_sxb7) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit))) } in case ww_sxbD w_sxb0 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case CLaSH.Sized.Vector.vhead @ (n_auFM GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (a_sxop `cast` ((CLaSH.Sized.Vector.Vec (cobox_sxDc ; Sym ww_sxb7) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit)) of _ [Occ=Dead, Dmd=] { CLaSH.Bit.H -> case CLaSH.Sized.Vector.vhead @ n_auFM @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_auFM GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (a_sxop `cast` ((CLaSH.Sized.Vector.Vec (cobox_sxDc ; Sym ww_sxb7) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit))) of _ [Occ=Dead, Dmd=] { CLaSH.Bit.H -> GHC.Enum.minBound @ (rep_auFL n_auFM) ww_sxbk; CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_auFL n_auFM) ww_sxb9 (case ww_sxbg of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw7b -> ww_sxbi `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw7b))_R :: GHC.TypeLits.KnownNat n_auFM ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM))) }) (case ww_sxbg of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw7c -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7c) _R)_R :: CLaSH.Sized.Vector.Vec n_auFM CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) CLaSH.Bit.Bit) }) }; CLaSH.Bit.L -> case CLaSH.Sized.Vector.vhead @ n_auFM @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_auFM GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (a_sxop `cast` ((CLaSH.Sized.Vector.Vec (cobox_sxDc ; Sym ww_sxb7) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit))) of _ [Occ=Dead, Dmd=] { CLaSH.Bit.H -> GHC.Enum.maxBound @ (rep_auFL n_auFM) ww_sxbk; CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_auFL n_auFM) ww_sxb9 (case ww_sxbg of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw7b -> ww_sxbi `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw7b))_R :: GHC.TypeLits.KnownNat n_auFM ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM))) }) (case ww_sxbg of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw7c -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7c) _R)_R :: CLaSH.Sized.Vector.Vec n_auFM CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) CLaSH.Bit.Bit) }) } }; GHC.Types.True -> case CLaSH.Sized.Vector.vhead @ (n_auFM GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (a_sxop `cast` ((CLaSH.Sized.Vector.Vec (cobox_sxDc ; Sym ww_sxb7) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit)) of _ [Occ=Dead, Dmd=] { CLaSH.Bit.H -> case CLaSH.Sized.Vector.vhead' @ n_auFM @ CLaSH.Bit.Bit (poly_a_sxDa @ n_auFM) s_swtS of _ [Occ=Dead, Dmd=] { CLaSH.Bit.H -> CLaSH.Class.BitVector.fromBV @ (rep_auFL n_auFM) ww_sxb9 (case ww_sxbg of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw79 -> ww_sxbi `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw79))_R :: GHC.TypeLits.KnownNat n_auFM ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM))) }) (case ww_sxbg of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw7a -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7a) _R)_R :: CLaSH.Sized.Vector.Vec n_auFM CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) CLaSH.Bit.Bit) }); CLaSH.Bit.L -> GHC.Enum.minBound @ (rep_auFL n_auFM) ww_sxbk }; CLaSH.Bit.L -> case CLaSH.Sized.Vector.vhead' @ n_auFM @ CLaSH.Bit.Bit (poly_a_sxDa @ n_auFM) s_swtS of _ [Occ=Dead, Dmd=] { CLaSH.Bit.H -> GHC.Enum.maxBound @ (rep_auFL n_auFM) ww_sxbk; CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_auFL n_auFM) ww_sxb9 (case ww_sxbg of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw79 -> ww_sxbi `cast` ((GHC.TypeLits.KnownNat (Sym cobox_dw79))_R :: GHC.TypeLits.KnownNat n_auFM ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM))) }) (case ww_sxbg of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw7a -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox_dw7a) _R)_R :: CLaSH.Sized.Vector.Vec n_auFM CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) CLaSH.Bit.Bit) }) } } } } CLaSH.Sized.Fixed.satN2 [InlPrag=INLINE[0]] :: forall (rep_auFL :: GHC.TypeLits.Nat -> *) (n_auFM :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.SatN2C rep_auFL n_auFM) => rep_auFL (n_auFM GHC.TypeLits.+ 2) -> rep_auFL n_auFM [LclIdX, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (rep_auFL :: GHC.TypeLits.Nat -> *)) (@ (n_auFM :: GHC.TypeLits.Nat)) (w_sxaZ [Occ=Once!] :: CLaSH.Sized.Fixed.SatN2C rep_auFL n_auFM) (w_sxb0 [Occ=Once] :: rep_auFL (n_auFM GHC.TypeLits.+ 2)) -> case w_sxaZ of _ [Occ=Dead] { (_ [Occ=Dead], ww_sxb4 [Occ=Once!], ww_sxb9 [Occ=Once], ww_sxba [Occ=Once!], ww_sxbg [Occ=Once], ww_sxbh [Occ=Once!], ww_sxbi [Occ=Once], ww_sxbj [Occ=Once], ww_sxbk [Occ=Once], ww_sxbl [Occ=Once!]) -> case ww_sxb4 of _ [Occ=Dead] { GHC.Types.Eq# ww_sxb7 -> case ww_sxba of _ [Occ=Dead] { CLaSH.Class.BitVector.D:BitVector ww_sxbd [Occ=Once] _ [Occ=Dead] -> case ww_sxbh of ww_XxbC { GHC.Types.Eq# _ [Occ=Dead] -> case ww_sxbl of _ [Occ=Dead] { Data.Bits.D:Bits _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] ww_sxbD [Occ=Once] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> $wsatN2_sxbN @ rep_auFL @ n_auFM @~ ww_sxb7 ww_sxb9 ww_sxbd ww_sxbg ww_XxbC ww_sxbi ww_sxbj ww_sxbk ww_sxbD w_sxb0 } } } } }}] CLaSH.Sized.Fixed.satN2 = \ (@ (rep_auFL :: GHC.TypeLits.Nat -> *)) (@ (n_auFM :: GHC.TypeLits.Nat)) (w_sxaZ :: CLaSH.Sized.Fixed.SatN2C rep_auFL n_auFM) (w_sxb0 :: rep_auFL (n_auFM GHC.TypeLits.+ 2)) -> case w_sxaZ of _ [Occ=Dead] { (ww_sxb3, ww_sxb4, ww_sxb9, ww_sxba, ww_sxbg, ww_sxbh, ww_sxbi, ww_sxbj, ww_sxbk, ww_sxbl) -> case ww_sxb4 of _ [Occ=Dead] { GHC.Types.Eq# ww_sxb7 -> case ww_sxba of _ [Occ=Dead] { CLaSH.Class.BitVector.D:BitVector ww_sxbd ww_sxbe -> case ww_sxbh of ww_Xxe7 { GHC.Types.Eq# ipv_sxoJ -> case ww_sxbl of _ [Occ=Dead] { Data.Bits.D:Bits ww_sxbo ww_sxbp ww_sxbq ww_sxbr ww_sxbs ww_sxbt ww_sxbu ww_sxbv ww_sxbw ww_sxbx ww_sxby ww_sxbz ww_sxbA ww_sxbB ww_sxbC ww_sxbD ww_sxbE ww_sxbF ww_sxbG ww_sxbH ww_sxbI ww_sxbJ ww_sxbK -> $wsatN2_sxbN @ rep_auFL @ n_auFM @~ ww_sxb7 ww_sxb9 ww_sxbd ww_sxbg ww_Xxe7 ww_sxbi ww_sxbj ww_sxbk ww_sxbD w_sxb0 } } } } } $wresizeF_sxcA :: forall (frac1_auFN :: GHC.TypeLits.Nat) (frac2_auFO :: GHC.TypeLits.Nat) (rep_auFP :: GHC.TypeLits.Nat -> *) (size1_auFQ :: GHC.TypeLits.Nat) (size2_auFR :: GHC.TypeLits.Nat). (GHC.Enum.Bounded (rep_auFP size2_auFR), GHC.Classes.Ord (rep_auFP size1_auFQ), GHC.Num.Num (rep_auFP size1_auFQ), Data.Bits.Bits (rep_auFP size1_auFQ), CLaSH.Class.Num.Resize rep_auFP, GHC.TypeLits.KnownNat size2_auFR, GHC.TypeLits.KnownNat size1_auFQ, Data.Bits.Bits (rep_auFP size2_auFR), GHC.TypeLits.KnownNat frac2_auFO, GHC.TypeLits.KnownNat frac1_auFN) => CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ -> CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR [LclId, Arity=11, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=11, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] $wresizeF_sxcA = \ (@ (frac1_auFN :: GHC.TypeLits.Nat)) (@ (frac2_auFO :: GHC.TypeLits.Nat)) (@ (rep_auFP :: GHC.TypeLits.Nat -> *)) (@ (size1_auFQ :: GHC.TypeLits.Nat)) (@ (size2_auFR :: GHC.TypeLits.Nat)) (ww_sxcn :: GHC.Enum.Bounded (rep_auFP size2_auFR)) (ww_sxcp :: GHC.Classes.Ord (rep_auFP size1_auFQ)) (ww_sxcq :: GHC.Num.Num (rep_auFP size1_auFQ)) (ww_sxcr :: Data.Bits.Bits (rep_auFP size1_auFQ)) (ww_sxcs :: CLaSH.Class.Num.Resize rep_auFP) (ww_sxct :: GHC.TypeLits.KnownNat size2_auFR) (ww_sxcu :: GHC.TypeLits.KnownNat size1_auFQ) (ww_sxcv :: Data.Bits.Bits (rep_auFP size2_auFR)) (ww_sxcw :: GHC.TypeLits.KnownNat frac2_auFO) (ww_sxcx :: GHC.TypeLits.KnownNat frac1_auFN) (w_sxck :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ) -> case GHC.Integer.Type.leInteger# (ww_sxcu `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat size1_auFQ ~# GHC.Integer.Type.Integer)) (ww_sxct `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat size2_auFR ~# GHC.Integer.Type.Integer)) of wild_akJ3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akJ3 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case ww_sxcr of _ [Occ=Dead] { Data.Bits.D:Bits ww_sxbQ ww_sxbW ww_sxbX ww_sxbY ww_sxbZ ww_sxc0 ww_sxc1 ww_sxc2 ww_sxc3 ww_sxc4 ww_sxc5 ww_sxc6 ww_sxc7 ww_sxc8 ww_sxc9 ww_sxca ww_sxcb ww_sxcc ww_sxcd ww_sxce ww_sxcf ww_sxcg ww_sxch -> case ww_sxbQ of _ [Occ=Dead] { GHC.Classes.D:Eq ww_sxbT ww_sxbU -> case GHC.Integer.Type.integerToInt (ww_sxcx `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac1_auFN ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> case GHC.Integer.Type.integerToInt (ww_sxcw `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac2_auFO ~# GHC.Integer.Type.Integer)) of wild_XkFQ { __DEFAULT -> let { fMax_swtA :: rep_auFP size2_auFR [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 20 0}] fMax_swtA = GHC.Enum.maxBound @ (rep_auFP size2_auFR) ww_sxcn } in let { mask_swtz :: rep_auFP size1_auFQ [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 23 0}] mask_swtz = ww_sxbZ ((ww_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size2_auFR @ size1_auFQ ww_sxct ww_sxcu fMax_swtA) } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# wild_akCB wild_XkFQ) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> let { shiftedR_swty :: rep_auFP size1_auFQ [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 41 0}] shiftedR_swty = ww_sxcd (w_sxck `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ)) (GHC.Types.I# (GHC.Prim.-# wild_akCB wild_XkFQ)) } in case GHC.Classes.>= @ (rep_auFP size1_auFQ) ww_sxcp (w_sxck `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ)) (GHC.Num.fromInteger @ (rep_auFP size1_auFQ) ww_sxcq lvl_swuH) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case ww_sxbT (ww_sxbW shiftedR_swty mask_swtz) mask_swtz of _ [Occ=Dead, Dmd=] { GHC.Types.False -> (GHC.Enum.minBound @ (rep_auFP size2_auFR) ww_sxcn) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR); GHC.Types.True -> ((ww_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww_sxcu ww_sxct shiftedR_swty) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) }; GHC.Types.True -> case ww_sxbT (ww_sxbW shiftedR_swty mask_swtz) (GHC.Num.fromInteger @ (rep_auFP size1_auFQ) ww_sxcq lvl_swuH) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> fMax_swtA `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR); GHC.Types.True -> ((ww_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww_sxcu ww_sxct shiftedR_swty) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) } }; GHC.Types.True -> let { shiftedL_swtK :: rep_auFP size1_auFQ [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 41 0}] shiftedL_swtK = ww_sxcb (w_sxck `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ)) (GHC.Types.I# (GHC.Prim.-# wild_XkFQ wild_akCB)) } in case GHC.Classes.>= @ (rep_auFP size1_auFQ) ww_sxcp (w_sxck `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ)) (GHC.Num.fromInteger @ (rep_auFP size1_auFQ) ww_sxcq lvl_swuH) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case ww_sxbT (ww_sxbW shiftedL_swtK mask_swtz) mask_swtz of _ [Occ=Dead, Dmd=] { GHC.Types.False -> (GHC.Enum.minBound @ (rep_auFP size2_auFR) ww_sxcn) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR); GHC.Types.True -> ((ww_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww_sxcu ww_sxct shiftedL_swtK) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) }; GHC.Types.True -> case ww_sxbT (ww_sxbW shiftedL_swtK mask_swtz) (GHC.Num.fromInteger @ (rep_auFP size1_auFQ) ww_sxcq lvl_swuH) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> fMax_swtA `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR); GHC.Types.True -> ((ww_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww_sxcu ww_sxct shiftedL_swtK) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) } } } } } } }; GHC.Types.True -> case GHC.Integer.Type.integerToInt (ww_sxcx `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac1_auFN ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> case GHC.Integer.Type.integerToInt (ww_sxcw `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac2_auFO ~# GHC.Integer.Type.Integer)) of wild_XkFG { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# wild_akCB wild_XkFG) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> (Data.Bits.shiftR @ (rep_auFP size2_auFR) ww_sxcv ((ww_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww_sxcu ww_sxct (w_sxck `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ))) (GHC.Types.I# (GHC.Prim.-# wild_akCB wild_XkFG))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR); GHC.Types.True -> (Data.Bits.shiftL @ (rep_auFP size2_auFR) ww_sxcv ((ww_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww_sxcu ww_sxct (w_sxck `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ))) (GHC.Types.I# (GHC.Prim.-# wild_XkFG wild_akCB))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) } } } } } CLaSH.Sized.Fixed.resizeF [InlPrag=INLINE[0]] :: forall (frac1_auFN :: GHC.TypeLits.Nat) (frac2_auFO :: GHC.TypeLits.Nat) (rep_auFP :: GHC.TypeLits.Nat -> *) (size1_auFQ :: GHC.TypeLits.Nat) (size2_auFR :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.ResizeFC rep_auFP frac1_auFN frac2_auFO size1_auFQ size2_auFR) => CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ -> CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR [LclIdX, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac1_auFN :: GHC.TypeLits.Nat)) (@ (frac2_auFO :: GHC.TypeLits.Nat)) (@ (rep_auFP :: GHC.TypeLits.Nat -> *)) (@ (size1_auFQ :: GHC.TypeLits.Nat)) (@ (size2_auFR :: GHC.TypeLits.Nat)) (w_sxcj [Occ=Once!] :: CLaSH.Sized.Fixed.ResizeFC rep_auFP frac1_auFN frac2_auFO size1_auFQ size2_auFR) (w_sxck [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ) -> case w_sxcj of _ [Occ=Dead] { (ww_sxcn [Occ=Once], _ [Occ=Dead], ww_sxcp [Occ=Once], ww_sxcq [Occ=Once], ww_sxcr [Occ=Once], ww_sxcs [Occ=Once], ww_sxct [Occ=Once], ww_sxcu [Occ=Once], ww_sxcv [Occ=Once], ww_sxcw [Occ=Once], ww_sxcx [Occ=Once], _ [Occ=Dead]) -> $wresizeF_sxcA @ frac1_auFN @ frac2_auFO @ rep_auFP @ size1_auFQ @ size2_auFR ww_sxcn ww_sxcp ww_sxcq ww_sxcr ww_sxcs ww_sxct ww_sxcu ww_sxcv ww_sxcw ww_sxcx w_sxck }}] CLaSH.Sized.Fixed.resizeF = \ (@ (frac1_auFN :: GHC.TypeLits.Nat)) (@ (frac2_auFO :: GHC.TypeLits.Nat)) (@ (rep_auFP :: GHC.TypeLits.Nat -> *)) (@ (size1_auFQ :: GHC.TypeLits.Nat)) (@ (size2_auFR :: GHC.TypeLits.Nat)) (w_sxcj :: CLaSH.Sized.Fixed.ResizeFC rep_auFP frac1_auFN frac2_auFO size1_auFQ size2_auFR) (w_sxck :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ) -> case w_sxcj of _ [Occ=Dead] { (ww_sxcn, ww_sxco, ww_sxcp, ww_sxcq, ww_sxcr, ww_sxcs, ww_sxct, ww_sxcu, ww_sxcv, ww_sxcw, ww_sxcx, ww_sxcy) -> $wresizeF_sxcA @ frac1_auFN @ frac2_auFO @ rep_auFP @ size1_auFQ @ size2_auFR ww_sxcn ww_sxcp ww_sxcq ww_sxcr ww_sxcs ww_sxct ww_sxcu ww_sxcv ww_sxcw ww_sxcx w_sxck } CLaSH.Sized.Fixed.asRepProxy :: forall (frac_auFV :: GHC.TypeLits.Nat) (rep_auFW :: GHC.TypeLits.Nat -> *) (size_auFX :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFV rep_auFW size_auFX -> Data.Proxy.Proxy rep_auFW [LclIdX, Arity=1, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= \ (@ (frac_avk6 :: GHC.TypeLits.Nat)) (@ (rep_avk7 :: GHC.TypeLits.Nat -> *)) (@ (size_avk8 :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] -> Data.Proxy.Proxy @ (GHC.TypeLits.Nat -> *) @ rep_avk7}] CLaSH.Sized.Fixed.asRepProxy = \ (@ (frac_avk6 :: GHC.TypeLits.Nat)) (@ (rep_avk7 :: GHC.TypeLits.Nat -> *)) (@ (size_avk8 :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] -> Data.Proxy.Proxy @ (GHC.TypeLits.Nat -> *) @ rep_avk7 CLaSH.Sized.Fixed.asFracProxy :: forall (frac_auFY :: GHC.TypeLits.Nat) (rep_auFZ :: GHC.TypeLits.Nat -> *) (size_auG0 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFY rep_auFZ size_auG0 -> Data.Proxy.Proxy frac_auFY [LclIdX, Arity=1, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= \ (@ (frac_avkp :: GHC.TypeLits.Nat)) (@ (rep_avkq :: GHC.TypeLits.Nat -> *)) (@ (size_avkr :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] -> Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac_avkp}] CLaSH.Sized.Fixed.asFracProxy = \ (@ (frac_avkp :: GHC.TypeLits.Nat)) (@ (rep_avkq :: GHC.TypeLits.Nat -> *)) (@ (size_avkr :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] -> Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac_avkp CLaSH.Sized.Fixed.fracShift :: forall (frac_auFS :: GHC.TypeLits.Nat) (rep_auFT :: GHC.TypeLits.Nat -> *) (size_auFU :: GHC.TypeLits.Nat). GHC.TypeLits.KnownNat frac_auFS => CLaSH.Sized.Fixed.Fixed frac_auFS rep_auFT size_auFU -> GHC.Types.Int [LclIdX, Arity=2, Str=DmdType m, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_avjN :: GHC.TypeLits.Nat)) (@ (rep_avjO :: GHC.TypeLits.Nat -> *)) (@ (size_avjP :: GHC.TypeLits.Nat)) ($dKnownNat_avxa [Occ=Once] :: GHC.TypeLits.KnownNat frac_avjN) _ [Occ=Dead, Dmd=] -> case GHC.Integer.Type.integerToInt ($dKnownNat_avxa `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_avjN ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> GHC.Types.I# wild_akCB }}] CLaSH.Sized.Fixed.fracShift = \ (@ (frac_avjN :: GHC.TypeLits.Nat)) (@ (rep_avjO :: GHC.TypeLits.Nat -> *)) (@ (size_avjP :: GHC.TypeLits.Nat)) ($dKnownNat_avxa :: GHC.TypeLits.KnownNat frac_avjN) _ [Occ=Dead, Dmd=] -> case GHC.Integer.Type.integerToInt ($dKnownNat_avxa `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_avjN ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> GHC.Types.I# wild_akCB } a_swaI :: forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) [LclId, Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaI = \ (@ (int_avkK :: GHC.TypeLits.Nat)) (@ (frac_avkL :: GHC.TypeLits.Nat)) (ds_dvZi :: CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL)) -> ds_dvZi CLaSH.Sized.Fixed.unUF :: forall (int_auG1 :: GHC.TypeLits.Nat) (frac_auG2 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.UFixed int_auG1 frac_auG2 -> CLaSH.Sized.Unsigned.Unsigned (int_auG1 GHC.TypeLits.+ frac_auG2) [LclIdX, Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.unUF = a_swaI `cast` (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL)) ~# (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL))) a_swaJ :: forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= \ (@ (frac_avl5 :: GHC.TypeLits.Nat)) (@ (int_avl6 :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] (fRep_auGb [Occ=Once] :: CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) -> fRep_auGb}] a_swaJ = \ (@ (frac_avl5 :: GHC.TypeLits.Nat)) (@ (int_avl6 :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] (fRep_auGb :: CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) -> fRep_auGb CLaSH.Sized.Fixed.uf :: forall (frac_auG3 :: GHC.TypeLits.Nat) (int_auG4 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_auG3 -> CLaSH.Sized.Unsigned.Unsigned (int_auG4 GHC.TypeLits.+ frac_auG3) -> CLaSH.Sized.Fixed.UFixed int_auG4 frac_auG3 [LclIdX, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= a_swaJ `cast` (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) ~# (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Fixed.Fixed frac_avl5 CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)))}] CLaSH.Sized.Fixed.uf = a_swaJ `cast` (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) ~# (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Fixed.Fixed frac_avl5 CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5))) a_swaK :: forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) [LclId, Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaK = \ (@ (int_avlp :: GHC.TypeLits.Nat)) (@ (frac_avlq :: GHC.TypeLits.Nat)) (ds_dvZu :: CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq)) -> ds_dvZu CLaSH.Sized.Fixed.unSF :: forall (int_auG5 :: GHC.TypeLits.Nat) (frac_auG6 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.SFixed int_auG5 frac_auG6 -> CLaSH.Sized.Signed.Signed (int_auG5 GHC.TypeLits.+ frac_auG6) [LclIdX, Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.unSF = a_swaK `cast` (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq)) ~# (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq))) a_swaL :: forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= \ (@ (frac_avlK :: GHC.TypeLits.Nat)) (@ (int_avlL :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] (fRep_auG9 [Occ=Once] :: CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) -> fRep_auG9}] a_swaL = \ (@ (frac_avlK :: GHC.TypeLits.Nat)) (@ (int_avlL :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] (fRep_auG9 :: CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) -> fRep_auG9 CLaSH.Sized.Fixed.sf :: forall (frac_auG7 :: GHC.TypeLits.Nat) (int_auG8 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_auG7 -> CLaSH.Sized.Signed.Signed (int_auG8 GHC.TypeLits.+ frac_auG7) -> CLaSH.Sized.Fixed.SFixed int_auG8 frac_auG7 [LclIdX, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= a_swaL `cast` (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) ~# (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Fixed.Fixed frac_avlK CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)))}] CLaSH.Sized.Fixed.sf = a_swaL `cast` (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) ~# (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Fixed.Fixed frac_avlK CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK))) a_swaM :: forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 [LclId, Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swaM = \ (@ (frac_auI2 :: GHC.TypeLits.Nat)) (@ (rep_auI3 :: GHC.TypeLits.Nat -> *)) (@ (size_auI4 :: GHC.TypeLits.Nat)) (ds_dvZF :: CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4) -> ds_dvZF CLaSH.Sized.Fixed.unFixed :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> rep_auFG size_auFH [LclIdX[[RecSel]], Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.unFixed = a_swaM `cast` (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4) ~# (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> rep_auI3 size_auI4)) lvl_swvD :: GHC.Types.Char [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}] lvl_swvD = GHC.Types.C# '-' lvl_swvG :: GHC.Types.Char [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}] lvl_swvG = GHC.Types.C# '0' dt_akMa :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] dt_akMa = __integer 10 $wlvl_sxd6 :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) -> (# GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer #) [LclId, Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [40] 181 30}] $wlvl_sxd6 = \ (w_sxd3 :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) -> (# case w_sxd3 of _ [Occ=Dead, Dmd=] { (x_awe6 [Dmd=], y_awe7 [Dmd=]) -> case x_awe6 of _ [Occ=Dead, Dmd=] { GHC.Types.I# x1_awdC [Dmd=] -> case x1_awdC of wild1_awdE { __DEFAULT -> GHC.Types.I# (GHC.Prim.+# wild1_awdE 1); 9223372036854775807 -> GHC.Enum.$fEnumInt2 } } }, case w_sxd3 of _ [Occ=Dead, Dmd=] { (x_aweb [Dmd=], y_awec [Dmd=]) -> case y_awec of _ [Occ=Dead, Dmd=] { GHC.Real.:% ww1_awdJ [Dmd=] ww2_awdK [Dmd=] -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger ww1_awdJ dt_akMa) (GHC.Integer.Type.timesInteger ww2_awdK GHC.Real.$fEnumRatio1) of _ [Occ=Dead, Dmd=] { (# ww7_awdU, ww8_awdV #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww7_awdU ww8_awdV } } } #) lvl_swvV [InlPrag=INLINE[0]] :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) -> (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) [LclId, Arity=1, Str=DmdType m, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (w_sxd3 [Occ=Once] :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) -> case $wlvl_sxd6 w_sxd3 of _ [Occ=Dead] { (# ww_sxn9 [Occ=Once], ww_sxna [Occ=Once] #) -> (ww_sxn9, ww_sxna) }}] lvl_swvV = \ (w_sxd3 :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) -> case $wlvl_sxd6 w_sxd3 of _ [Occ=Dead] { (# ww_sxn9, ww_sxna #) -> (ww_sxn9, ww_sxna) } lvl_swvX :: GHC.Types.Int [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}] lvl_swvX = GHC.Types.I# 0 lvl_sxDd :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) -> [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)] -> [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)] [LclId, Arity=2, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [20 0] 91 30}] lvl_sxDd = \ (x_awzz :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) (r_awzA [OS=OneShot] :: [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)]) -> case x_awzz of wild_afnB { (ds1_afnD [Dmd=], y_afnE [Dmd=]) -> case y_afnE of _ [Occ=Dead, Dmd=] { GHC.Real.:% ds1_awdp [Dmd=] y_awdq [Dmd=] -> case GHC.Integer.Type.eqInteger# y_awdq lvl_swv0 of wild_a2f3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a2f3 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> r_awzA; GHC.Types.True -> GHC.Types.: @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) wild_afnB r_awzA } } } } lvl_sxDh :: GHC.Types.Char [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}] lvl_sxDh = GHC.Types.C# '.' $w$cshow_sxdD :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). GHC.TypeLits.KnownNat frac_auHx => (rep_auHy size_auHz -> GHC.Integer.Type.Integer) -> CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> [GHC.Types.Char] [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] $w$cshow_sxdD = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) (w_sxdo :: GHC.TypeLits.KnownNat frac_auHx) (ww_sxdB :: rep_auHy size_auHz -> GHC.Integer.Type.Integer) (w_sxdq :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) -> let { fRepI_swtk [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 20 0}] fRepI_swtk = ww_sxdB (w_sxdq `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz ~# rep_auHy size_auHz)) } in case GHC.Integer.Type.ltInteger# fRepI_swtk lvl_swuH of wild_a4It { __DEFAULT -> let { fRepI_abs_swtj :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 20 0}] fRepI_abs_swtj = GHC.Integer.Type.absInteger fRepI_swtk } in let { nF_swti [Dmd=] :: GHC.Types.Int [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 40 20}] nF_swti = case GHC.Integer.Type.integerToInt (w_sxdo `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_auHx ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> GHC.Types.I# wild_akCB } } in let { a_swOO :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=NEVER}] a_swOO = case GHC.List.iterateFB @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) @ [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)] lvl_sxDd lvl_swvV (lvl_swvX, case GHC.Integer.Type.ltInteger# fRepI_swtk lvl_swuH of wild_X4L4 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_X4L4 of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case nF_swti of _ [Occ=Dead, Dmd=] { GHC.Types.I# x_awO9 [Dmd=] -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# x_awO9 0) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> let { a_swOs [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] a_swOs = case x_awO9 of wild2_awOe { __DEFAULT -> GHC.Real.$wf1 lvl_swv4 wild2_awOe; 0 -> GHC.Real.$fEnumRatio1 } } in case x_awO9 of wild2_awOe { __DEFAULT -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger (GHC.Integer.Type.andInteger fRepI_swtk (GHC.Integer.Type.minusInteger (GHC.Real.$wf1 lvl_swv4 wild2_awOe) lvl_swv0)) (GHC.Integer.Type.signumInteger a_swOs)) (GHC.Integer.Type.absInteger a_swOs) of _ [Occ=Dead, Dmd=] { (# ww1_awf5, ww2_awf6 #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww1_awf5 ww2_awf6 }; 0 -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger (GHC.Integer.Type.andInteger fRepI_swtk lvl_swuH) (GHC.Integer.Type.signumInteger a_swOs)) (GHC.Integer.Type.absInteger a_swOs) of _ [Occ=Dead, Dmd=] { (# ww1_awf5, ww2_awf6 #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww1_awf5 ww2_awf6 } }; GHC.Types.True -> case GHC.Real.^3 of wild_00 { } } }; GHC.Types.True -> case nF_swti of _ [Occ=Dead, Dmd=] { GHC.Types.I# x_awO9 [Dmd=] -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# x_awO9 0) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> let { a_swOy [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 50 0}] a_swOy = case x_awO9 of wild2_awOe { __DEFAULT -> GHC.Real.$wf1 lvl_swv4 wild2_awOe; 0 -> GHC.Real.$fEnumRatio1 } } in case x_awO9 of wild2_awOe { __DEFAULT -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger (GHC.Integer.Type.andInteger fRepI_abs_swtj (GHC.Integer.Type.minusInteger (GHC.Real.$wf1 lvl_swv4 wild2_awOe) lvl_swv0)) (GHC.Integer.Type.signumInteger a_swOy)) (GHC.Integer.Type.absInteger a_swOy) of _ [Occ=Dead, Dmd=] { (# ww1_awf5, ww2_awf6 #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww1_awf5 ww2_awf6 }; 0 -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger (GHC.Integer.Type.andInteger fRepI_abs_swtj lvl_swuH) (GHC.Integer.Type.signumInteger a_swOy)) (GHC.Integer.Type.absInteger a_swOy) of _ [Occ=Dead, Dmd=] { (# ww1_awf5, ww2_awf6 #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww1_awf5 ww2_awf6 } }; GHC.Types.True -> case GHC.Real.^3 of wild_00 { } } } } }) of _ [Occ=Dead, Dmd=] { [] -> case Data.Maybe.fromJust1 of wild_00 { }; : a1_awdh [Dmd=] ds1_awdi [Dmd=] -> case a1_awdh of _ [Occ=Dead] { (ww_sxd9, ww_sxde) -> case ww_sxd9 of _ [Occ=Dead] { GHC.Types.I# ww_sxdc -> case ww_sxde of _ [Occ=Dead] { GHC.Real.:% ww_sxdh ww_sxdi -> case GHC.Show.$w$cshowsPrec 0 ww_sxdh (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead, Dmd=] { (# ww3_a2i0, ww4_a2i1 #) -> let { str_auHK [OS=ProbOneShot] :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] str_auHK = GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1 } in case GHC.List.$wlenAcc @ GHC.Types.Char str_auHK 0 of ww_awOK { __DEFAULT -> let { n#_awbi :: GHC.Prim.Int# [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 1 0}] n#_awbi = GHC.Prim.-# ww_sxdc ww_awOK } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# n#_awbi 0) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> let { lvl_sxDg :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] lvl_sxDg = GHC.Types.: @ GHC.Types.Char lvl_swvG str_auHK } in letrec { xs_awyT [Occ=LoopBreaker] :: GHC.Prim.Int# -> [GHC.Types.Char] [LclId, Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=False, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0] 53 30}] xs_awyT = \ (m_awz0 :: GHC.Prim.Int#) -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# m_awz0 1) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> GHC.Types.: @ GHC.Types.Char lvl_swvG (xs_awyT (GHC.Prim.-# m_awz0 1)); GHC.Types.True -> lvl_sxDg }; } in xs_awyT n#_awbi; GHC.Types.True -> str_auHK } } } } } } } } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a4It of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case nF_swti of _ [Occ=Dead, Dmd=] { GHC.Types.I# x_aiKN -> let { ww_al4F :: GHC.Prim.Int# [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 1 0}] ww_al4F = GHC.Prim.negateInt# x_aiKN } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.>=# ww_al4F 0) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case GHC.Show.$w$cshowsPrec 0 (GHC.Integer.Type.shiftRInteger fRepI_swtk (GHC.Prim.negateInt# ww_al4F)) (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead, Dmd=] { (# ww3_a2i0, ww4_a2i1 #) -> GHC.Base.++ @ GHC.Types.Char (GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1) (GHC.Types.: @ GHC.Types.Char lvl_sxDh a_swOO) }; GHC.Types.True -> case GHC.Show.$w$cshowsPrec 0 (GHC.Integer.Type.shiftLInteger fRepI_swtk ww_al4F) (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead, Dmd=] { (# ww3_a2i0, ww4_a2i1 #) -> GHC.Base.++ @ GHC.Types.Char (GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1) (GHC.Types.: @ GHC.Types.Char lvl_sxDh a_swOO) } } }; GHC.Types.True -> GHC.Base.++ @ GHC.Types.Char (GHC.Types.: @ GHC.Types.Char lvl_swvD (case nF_swti of _ [Occ=Dead, Dmd=] { GHC.Types.I# x_aiKN -> let { ww_al4F :: GHC.Prim.Int# [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 1 0}] ww_al4F = GHC.Prim.negateInt# x_aiKN } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.>=# ww_al4F 0) of _ [Occ=Dead, Dmd=] { GHC.Types.False -> case GHC.Show.$w$cshowsPrec 0 (GHC.Integer.Type.shiftRInteger fRepI_abs_swtj (GHC.Prim.negateInt# ww_al4F)) (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead, Dmd=] { (# ww3_a2i0, ww4_a2i1 #) -> GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1 }; GHC.Types.True -> case GHC.Show.$w$cshowsPrec 0 (GHC.Integer.Type.shiftLInteger fRepI_abs_swtj ww_al4F) (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead, Dmd=] { (# ww3_a2i0, ww4_a2i1 #) -> GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1 } } })) (GHC.Types.: @ GHC.Types.Char lvl_sxDh a_swOO) } } $cshow_avFD [InlPrag=INLINE[0]] :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> GHC.Base.String [LclId, Arity=5, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] _ [Occ=Dead, Dmd=] (w_sxdo [Occ=Once] :: GHC.TypeLits.KnownNat frac_auHx) (w_sxdp [Occ=Once!] :: GHC.Real.Integral (rep_auHy size_auHz)) (w_sxdq [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) -> case w_sxdp of _ [Occ=Dead] { GHC.Real.D:Integral _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] ww_sxdB [Occ=Once] -> $w$cshow_sxdD @ frac_auHx @ rep_auHy @ size_auHz w_sxdo ww_sxdB w_sxdq }}] $cshow_avFD = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) _ [Occ=Dead, Dmd=] _ [Occ=Dead, Dmd=] (w_sxdo :: GHC.TypeLits.KnownNat frac_auHx) (w_sxdp :: GHC.Real.Integral (rep_auHy size_auHz)) (w_sxdq :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) -> case w_sxdp of _ [Occ=Dead] { GHC.Real.D:Integral ww_sxdt ww_sxdu ww_sxdv ww_sxdw ww_sxdx ww_sxdy ww_sxdz ww_sxdA ww_sxdB -> $w$cshow_sxdD @ frac_auHx @ rep_auHy @ size_auHz w_sxdo ww_sxdB w_sxdq } $cshowsPrec_avFB :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => GHC.Types.Int -> CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> GHC.Show.ShowS [LclId, Arity=7, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=7, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv [Occ=Once] :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw [Occ=Once] :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx [Occ=Once] :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy [Occ=Once] :: GHC.Real.Integral (rep_auHy size_auHz)) _ [Occ=Dead, Dmd=] (x_a2fY [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (s_a2fZ [Occ=Once] :: GHC.Base.String) -> GHC.Base.augment @ GHC.Types.Char (\ (@ b_a4II) (c_a4IJ [Occ=Once, OS=OneShot] :: GHC.Types.Char -> b_a4II -> b_a4II) (n_a4IK [Occ=Once, OS=OneShot] :: b_a4II) -> GHC.Base.foldr @ GHC.Types.Char @ b_a4II c_a4IJ n_a4IK ($cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy x_a2fY)) s_a2fZ}] $cshowsPrec_avFB = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) _ [Occ=Dead] _ [Occ=Dead] ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) _ [Occ=Dead, Dmd=] (x_a2fY :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (s_a2fZ :: GHC.Base.String) -> case $dIntegral_avFy of _ [Occ=Dead] { GHC.Real.D:Integral ww_sxdt ww_sxdu ww_sxdv ww_sxdw ww_sxdx ww_sxdy ww_sxdz ww_sxdA ww_sxdB -> GHC.Base.++ @ GHC.Types.Char ($w$cshow_sxdD @ frac_auHx @ rep_auHy @ size_auHz $dKnownNat_avFx ww_sxdB x_a2fY) s_a2fZ } $w$cshowList_sxe4 :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz] -> GHC.Base.String -> GHC.Base.String [LclId, Arity=4, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=4, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 20 0 0] 140 0}] $w$cshowList_sxe4 = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) (w_sxe0 :: GHC.TypeLits.KnownNat frac_auHx) (w_sxe1 :: GHC.Real.Integral (rep_auHy size_auHz)) (w_sxe2 :: [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz]) (w_sxe3 :: GHC.Base.String) -> GHC.Show.showList__ @ (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (\ (x_a2fY :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (s_a2fZ [OS=OneShot] :: GHC.Base.String) -> case w_sxe1 of _ [Occ=Dead] { GHC.Real.D:Integral ww_sxdt ww_sxdu ww_sxdv ww_sxdw ww_sxdx ww_sxdy ww_sxdz ww_sxdA ww_sxdB -> GHC.Base.++ @ GHC.Types.Char ($w$cshow_sxdD @ frac_auHx @ rep_auHy @ size_auHz w_sxe0 ww_sxdB x_a2fY) s_a2fZ }) w_sxe2 w_sxe3 CLaSH.Sized.Fixed.$fShowFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => GHC.Show.Show (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) [LclIdX[DFunId], Arity=4, Str=DmdType m, Unf=DFun: \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) -> GHC.Show.D:Show TYPE CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz $cshowsPrec_avFB @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy $cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy \ (w_sxe2 :: [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz]) (w_sxe3 :: GHC.Base.String) -> $w$cshowList_sxe4 @ frac_auHx @ rep_auHy @ size_auHz $dKnownNat_avFx $dIntegral_avFy w_sxe2 w_sxe3] CLaSH.Sized.Fixed.$fShowFixed = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv [Dmd=] :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw [Dmd=] :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy [Dmd=] :: GHC.Real.Integral (rep_auHy size_auHz)) -> GHC.Show.D:Show @ (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) ($cshowsPrec_avFB @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy) ($cshow_avFD @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy) (\ (w_sxe2 :: [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz]) (w_sxe3 :: GHC.Base.String) -> $w$cshowList_sxe4 @ frac_auHx @ rep_auHy @ size_auHz $dKnownNat_avFx $dIntegral_avFy w_sxe2 w_sxe3) a_swjx :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu) [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac1_auHq :: GHC.TypeLits.Nat)) (@ (rep_auHr :: GHC.TypeLits.Nat -> *)) (@ (size1_auHs :: GHC.TypeLits.Nat)) (@ (frac2_auHt :: GHC.TypeLits.Nat)) (@ (size2_auHu :: GHC.TypeLits.Nat)) (tup_avFg [Occ=Once!] :: CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) (eta_B2 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (eta_B1 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) -> case tup_avFg of _ [Occ=Dead, Dmd=] { (tpl_X1z [Occ=Once, Dmd=], tpl_X1B [Occ=Once!, Dmd=]) -> case tpl_X1B of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw3M -> ((tpl_X1z `cast` (CLaSH.Class.Num.NTCo:Mult[0] _N _N :: CLaSH.Class.Num.Mult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# (rep_auHr size1_auHs -> rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu)))) (eta_B2 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs ~# rep_auHr size1_auHs)) (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu ~# rep_auHr size2_auHu))) `cast` (Sub cobox_dw3M :: CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) } }}] a_swjx = \ (@ (frac1_auHq :: GHC.TypeLits.Nat)) (@ (rep_auHr :: GHC.TypeLits.Nat -> *)) (@ (size1_auHs :: GHC.TypeLits.Nat)) (@ (frac2_auHt :: GHC.TypeLits.Nat)) (@ (size2_auHu :: GHC.TypeLits.Nat)) (tup_avFg :: CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) (eta_B2 :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (eta_B1 :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) -> case tup_avFg of _ [Occ=Dead, Dmd=] { (tpl_X1z [Dmd=], tpl_X1B [Dmd=]) -> case tpl_X1B of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw3M -> ((tpl_X1z `cast` (CLaSH.Class.Num.NTCo:Mult[0] _N _N :: CLaSH.Class.Num.Mult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# (rep_auHr size1_auHs -> rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu)))) (eta_B2 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs ~# rep_auHr size1_auHs)) (eta_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu ~# rep_auHr size2_auHu))) `cast` (Sub cobox_dw3M :: CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) } } $cmult_avFi :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= a_swjx `cast` (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). _R -> _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:MResultFixedFixed[0] _N _N _N _N _N)) :: (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) ~# (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu)))}] $cmult_avFi = a_swjx `cast` (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). _R -> _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:MResultFixedFixed[0] _N _N _N _N _N)) :: (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) ~# (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu))) CLaSH.Sized.Fixed.$fMultFixedFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) [LclIdX[DFunId(nt)], Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= $cmult_avFi `cast` (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). _R -> Sym (CLaSH.Class.Num.NTCo:Mult[0] _N _N) :: (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_XuJ1 frac1_XuIZ frac2_XuJ5 size1_XuJ3 size2_XuJ7) => CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3 -> CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7 -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3) (CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7)) ~# (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_XuJ1 frac1_XuIZ frac2_XuJ5 size1_XuJ3 size2_XuJ7) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3) (CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7)))}] CLaSH.Sized.Fixed.$fMultFixedFixed = a_swjx `cast` (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). _R -> (_R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:MResultFixedFixed[0] _N _N _N _N _N))) ; Sym (CLaSH.Class.Num.NTCo:Mult[0] _N _N) :: (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) ~# (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu))) $w$cminus_sxeW :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1), CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) => (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) -> CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclId, Arity=5, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [20 120 60 0 0] 390 0}] $w$cminus_sxeW = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (ww_sxeI :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (ww_sxeJ :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (ww_sxeP :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (w_sxeE :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w_sxeF :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> let { $dKnownNat_swt4 :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swt4 = case ww_sxeJ of _ [Occ=Dead, Dmd=] { (tpl_X1X [Dmd=], tpl_X1Z [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_Ba } } in let { $dBits_swt5 [Dmd=] :: Data.Bits.Bits (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_swt5 = case ww_sxeJ of _ [Occ=Dead, Dmd=] { (tpl_X1V [Dmd=], tpl_X1X [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B9 } } in let { $dKnownNat_swt6 :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swt6 = case ww_sxeJ of _ [Occ=Dead, Dmd=] { (tpl_X1T [Dmd=], tpl_X1V [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B7 } } in let { $dResize_swt7 [Dmd=] :: CLaSH.Class.Num.Resize rep_auHe [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dResize_swt7 = case ww_sxeJ of _ [Occ=Dead, Dmd=] { (tpl_X1R [Dmd=], tpl_X1T [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B6 } } in let { $dBounded_swt9 [Dmd=] :: GHC.Enum.Bounded (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBounded_swt9 = case ww_sxeJ of _ [Occ=Dead, Dmd=] { (tpl_X1N [Dmd=], tpl_X1P [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X1N } } in (ww_sxeP (case ww_sxeI of _ [Occ=Dead, Dmd=] { (tpl_X7n [Dmd=], tpl_X7q [Dmd=], tpl_X5q [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> ($wresizeF_sxcA @ frac1_auHd @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size1_auHf @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) $dBounded_swt9 tpl_X5q tpl_B4 tpl_B5 $dResize_swt7 $dKnownNat_swt6 tpl_B8 $dBits_swt5 $dKnownNat_swt4 tpl_Bb w_sxeE) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) }) (case ww_sxeJ of _ [Occ=Dead, Dmd=] { (tpl_X7k [Dmd=], tpl_X7n [Dmd=], tpl_X5n [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> ($wresizeF_sxcA @ frac2_auHg @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size2_auHh @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) $dBounded_swt9 tpl_X5n tpl_B4 tpl_B5 $dResize_swt7 $dKnownNat_swt6 tpl_B8 $dBits_swt5 $dKnownNat_swt4 tpl_Bb w_sxeF) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:AResultFixedFixed[0] _N _N _N _N _N)) :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh)) $cminus_avEx [InlPrag=INLINE[0]] :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (w_sxeD [Occ=Once!] :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (w_sxeE [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w_sxeF [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> case w_sxeD of _ [Occ=Dead] { (ww_sxeI [Occ=Once], ww_sxeJ [Occ=Once], ww_sxeK [Occ=Once!]) -> case ww_sxeK of _ [Occ=Dead] { GHC.Num.D:Num _ [Occ=Dead] _ [Occ=Dead] ww_sxeP [Occ=Once] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> $w$cminus_sxeW @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh ww_sxeI ww_sxeJ ww_sxeP w_sxeE w_sxeF } }}] $cminus_avEx = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (w_sxeD :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (w_sxeE :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w_sxeF :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> case w_sxeD of _ [Occ=Dead] { (ww_sxeI, ww_sxeJ, ww_sxeK) -> case ww_sxeK of _ [Occ=Dead] { GHC.Num.D:Num ww_sxeN ww_sxeO ww_sxeP ww_sxeQ ww_sxeR ww_sxeS ww_sxeT -> $w$cminus_sxeW @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh ww_sxeI ww_sxeJ ww_sxeP w_sxeE w_sxeF } } $w$cplus_sxfg :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1), CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) => (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) -> CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclId, Arity=5, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [20 120 60 0 0] 390 0}] $w$cplus_sxfg = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (ww_sxf2 :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (ww_sxf3 :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (ww_sxf7 :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (w_sxeY :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w_sxeZ :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> let { $dKnownNat_swsM :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swsM = case ww_sxf3 of _ [Occ=Dead, Dmd=] { (tpl_X1Y [Dmd=], tpl_X20 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_Ba } } in let { $dBits_swsN [Dmd=] :: Data.Bits.Bits (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBits_swsN = case ww_sxf3 of _ [Occ=Dead, Dmd=] { (tpl_X1W [Dmd=], tpl_X1Y [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B9 } } in let { $dKnownNat_swsO :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swsO = case ww_sxf3 of _ [Occ=Dead, Dmd=] { (tpl_X1U [Dmd=], tpl_X1W [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B7 } } in let { $dResize_swsP [Dmd=] :: CLaSH.Class.Num.Resize rep_auHe [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dResize_swsP = case ww_sxf3 of _ [Occ=Dead, Dmd=] { (tpl_X1S [Dmd=], tpl_X1U [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B6 } } in let { $dBounded_swsR [Dmd=] :: GHC.Enum.Bounded (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dBounded_swsR = case ww_sxf3 of _ [Occ=Dead, Dmd=] { (tpl_X1O [Dmd=], tpl_X1Q [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X1O } } in (ww_sxf7 (case ww_sxf2 of _ [Occ=Dead, Dmd=] { (tpl_X7p [Dmd=], tpl_X7s [Dmd=], tpl_X5r [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> ($wresizeF_sxcA @ frac1_auHd @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size1_auHf @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) $dBounded_swsR tpl_X5r tpl_B4 tpl_B5 $dResize_swsP $dKnownNat_swsO tpl_B8 $dBits_swsN $dKnownNat_swsM tpl_Bb w_sxeY) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) }) (case ww_sxf3 of _ [Occ=Dead, Dmd=] { (tpl_X7m [Dmd=], tpl_X7p [Dmd=], tpl_X5o [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> ($wresizeF_sxcA @ frac2_auHg @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size2_auHh @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) $dBounded_swsR tpl_X5o tpl_B4 tpl_B5 $dResize_swsP $dKnownNat_swsO tpl_B8 $dBits_swsN $dKnownNat_swsM tpl_Bb w_sxeZ) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:AResultFixedFixed[0] _N _N _N _N _N)) :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh)) $cplus_avDP [InlPrag=INLINE[0]] :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (w_sxeX [Occ=Once!] :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (w_sxeY [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w_sxeZ [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> case w_sxeX of _ [Occ=Dead] { (ww_sxf2 [Occ=Once], ww_sxf3 [Occ=Once], ww_sxf4 [Occ=Once!]) -> case ww_sxf4 of _ [Occ=Dead] { GHC.Num.D:Num ww_sxf7 [Occ=Once] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> $w$cplus_sxfg @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh ww_sxf2 ww_sxf3 ww_sxf7 w_sxeY w_sxeZ } }}] $cplus_avDP = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (w_sxeX :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (w_sxeY :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w_sxeZ :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> case w_sxeX of _ [Occ=Dead] { (ww_sxf2, ww_sxf3, ww_sxf4) -> case ww_sxf4 of _ [Occ=Dead] { GHC.Num.D:Num ww_sxf7 ww_sxf8 ww_sxf9 ww_sxfa ww_sxfb ww_sxfc ww_sxfd -> $w$cplus_sxfg @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh ww_sxf2 ww_sxf3 ww_sxf7 w_sxeY w_sxeZ } } CLaSH.Sized.Fixed.$fAddFixedFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Class.Num.Add (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclIdX[DFunId], Arity=1, Str=DmdType m, Unf=DFun: \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) -> CLaSH.Class.Num.D:Add TYPE CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf TYPE CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh $cplus_avDP @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN $cminus_avEx @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN] CLaSH.Sized.Fixed.$fAddFixedFixed = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN [Dmd=] :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) -> CLaSH.Class.Num.D:Add @ (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) @ (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) ($cplus_avDP @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN) ($cminus_avEx @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN) $cfromInteger_avDp [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => GHC.Integer.Type.Integer -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_XuKb :: GHC.TypeLits.Nat)) (@ (rep_XuKd :: GHC.TypeLits.Nat -> *)) (@ (size_XuKf :: GHC.TypeLits.Nat)) (w_sxfl [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKb rep_XuKd size_XuKf) (w_XxiD [Occ=Once] :: GHC.Integer.Type.Integer) -> case w_sxfl of _ [Occ=Dead] { (_ [Occ=Dead], ww_sxfq [Occ=Once!], ww_Xxjr [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> case ww_sxfq of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], ww_sxfB [Occ=Once!], ww_XxjD [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> case ww_sxfB of _ [Occ=Dead] { Data.Bits.D:Bits _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] ww_XxjR [Occ=Once!] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> (ww_XxjR (GHC.Num.fromInteger @ (rep_XuKd size_XuKf) ww_Xxjr w_XxiD) (case GHC.Integer.Type.integerToInt (ww_XxjD `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_XuKb ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> GHC.Types.I# wild_akCB })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKd size_XuKf ~# CLaSH.Sized.Fixed.Fixed frac_XuKb rep_XuKd size_XuKf) } } }}] $cfromInteger_avDp = \ (@ (frac_XuKb :: GHC.TypeLits.Nat)) (@ (rep_XuKd :: GHC.TypeLits.Nat -> *)) (@ (size_XuKf :: GHC.TypeLits.Nat)) (w_sxfl :: CLaSH.Sized.Fixed.NumFixed frac_XuKb rep_XuKd size_XuKf) (w_XxiD :: GHC.Integer.Type.Integer) -> case w_sxfl of _ [Occ=Dead] { (ww_sxfp, ww_sxfq, ww_Xxjr, ww_sxg7, ww_sxg8, ww_sxg9) -> case ww_sxfq of _ [Occ=Dead] { (ww_sxft, ww_sxfu, ww_sxfv, ww_sxfw, ww_sxfx, ww_sxfy, ww_sxfz, ww_sxfA, ww_sxfB, ww_XxjD, ww_sxg3, ww_sxg4) -> case ww_sxfB of _ [Occ=Dead] { Data.Bits.D:Bits ww_sxfE ww_sxfF ww_sxfG ww_sxfH ww_sxfI ww_sxfJ ww_sxfK ww_sxfL ww_sxfM ww_sxfN ww_sxfO ww_sxfP ww_sxfQ ww_sxfR ww_sxfS ww_sxfT ww_XxjR ww_sxfV ww_sxfW ww_sxfX ww_sxfY ww_sxfZ ww_sxg0 -> (ww_XxjR (GHC.Num.fromInteger @ (rep_XuKd size_XuKf) ww_Xxjr w_XxiD) (case GHC.Integer.Type.integerToInt (ww_XxjD `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_XuKb ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> GHC.Types.I# wild_akCB })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKd size_XuKf ~# CLaSH.Sized.Fixed.Fixed frac_XuKb rep_XuKd size_XuKf) } } } a_swkh :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_XuKc :: GHC.TypeLits.Nat)) (@ (rep_XuKe :: GHC.TypeLits.Nat -> *)) (@ (size_XuKg :: GHC.TypeLits.Nat)) (tup_avBm [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKc rep_XuKe size_XuKg) (eta_X1J [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKc rep_XuKe size_XuKg) -> case tup_avBm of _ [Occ=Dead, Dmd=] { (_ [Occ=Dead, Dmd=], _ [Occ=Dead, Dmd=], tpl_B3 [Occ=Once, Dmd=], _ [Occ=Dead, Dmd=], _ [Occ=Dead, Dmd=], _ [Occ=Dead, Dmd=]) -> GHC.Num.signum @ (rep_XuKe size_XuKg) tpl_B3 (eta_X1J `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKc rep_XuKe size_XuKg ~# rep_XuKe size_XuKg)) }}] a_swkh = \ (@ (frac_XuKc :: GHC.TypeLits.Nat)) (@ (rep_XuKe :: GHC.TypeLits.Nat -> *)) (@ (size_XuKg :: GHC.TypeLits.Nat)) (tup_avBm :: CLaSH.Sized.Fixed.NumFixed frac_XuKc rep_XuKe size_XuKg) (eta_X1J :: CLaSH.Sized.Fixed.Fixed frac_XuKc rep_XuKe size_XuKg) -> case tup_avBm of _ [Occ=Dead, Dmd=] { (tpl_X1L [Dmd=], tpl_X1N [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=]) -> GHC.Num.signum @ (rep_XuKe size_XuKg) tpl_B3 (eta_X1J `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKc rep_XuKe size_XuKg ~# rep_XuKe size_XuKg)) } $w$cabs_sxhI :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (1 GHC.TypeLits.<= size_auH0, ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_auH0 GHC.TypeLits.+ 2), CLaSH.Class.BitVector.BitVector (rep_auGZ size_auH0), CLaSH.Class.BitVector.BitVector (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0) ~ size_auH0, CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) ~ (size_auH0 GHC.TypeLits.+ 2), GHC.TypeLits.KnownNat size_auH0, GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ 2), GHC.Enum.Bounded (rep_auGZ size_auH0), Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0, GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=13, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=13, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 20 0 20 0 20 0 0 0 20 60 30 0] 213 60}] $w$cabs_sxhI = \ (@ (frac_XuKd :: GHC.TypeLits.Nat)) (@ (rep_XuKf :: GHC.TypeLits.Nat -> *)) (@ (size_XuKh :: GHC.TypeLits.Nat)) _ [Occ=Dead] (ww_sxhs :: ((size_XuKh GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_XuKh GHC.TypeLits.+ 2)) (ww_sxht :: CLaSH.Class.BitVector.BitVector (rep_XuKf size_XuKh)) (ww_sxhu :: CLaSH.Class.BitVector.BitVector (rep_XuKf (size_XuKh GHC.TypeLits.+ 2))) (ww_sxhv :: CLaSH.Class.BitVector.BitSize (rep_XuKf size_XuKh) ~ size_XuKh) (ww_sxhw :: CLaSH.Class.BitVector.BitSize (rep_XuKf (size_XuKh GHC.TypeLits.+ 2)) ~ (size_XuKh GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww_sxhy :: GHC.TypeLits.KnownNat (size_XuKh GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww_sxhA :: Data.Bits.Bits (rep_XuKf (size_XuKh GHC.TypeLits.+ 2))) (ww_sxhC :: CLaSH.Sized.Fixed.ResizeFC rep_XuKf (frac_XuKd GHC.TypeLits.+ frac_XuKd) frac_XuKd (size_XuKh GHC.TypeLits.+ size_XuKh) size_XuKh) (ww_sxhE :: GHC.Num.Num (rep_XuKf (size_XuKh GHC.TypeLits.+ 2))) (w_sxhl :: CLaSH.Sized.Fixed.Fixed frac_XuKd rep_XuKf size_XuKh) -> case ww_sxhs of _ [Occ=Dead] { GHC.Types.Eq# ww_sxgE -> case ww_sxhu of _ [Occ=Dead] { CLaSH.Class.BitVector.D:BitVector ww_sxgK ww_sxgL -> case ww_sxhw of ww_XxkJ { GHC.Types.Eq# ipv_sxsr -> case ww_sxhA of _ [Occ=Dead] { Data.Bits.D:Bits ww_sxgV ww_sxgW ww_sxgX ww_sxgY ww_sxgZ ww_sxh0 ww_sxh1 ww_sxh2 ww_sxh3 ww_sxh4 ww_sxh5 ww_sxh6 ww_sxh7 ww_sxh8 ww_sxh9 ww_sxha ww_sxhb ww_sxhc ww_sxhd ww_sxhe ww_sxhf ww_sxhg ww_sxhh -> let { $dKnownNat_swsx :: GHC.TypeLits.KnownNat size_XuKh [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swsx = case ww_sxhC of _ [Occ=Dead, Dmd=] { (tpl_X1V [Dmd=], tpl_X1X [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B7 } } in ($wsatN2_sxbN @ rep_XuKf @ size_XuKh @~ ww_sxgE ww_sxht ww_sxgK ww_sxhv ww_XxkJ $dKnownNat_swsx ww_sxhy (case ww_sxhC of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X20 }) ww_sxha (GHC.Num.abs @ (rep_XuKf (size_XuKh GHC.TypeLits.+ 2)) ww_sxhE (case ww_sxhC of _ [Occ=Dead, Dmd=] { (tpl_X7i [Dmd=], tpl_X7l [Dmd=], tpl_X5n [Dmd=], tpl_X5p [Dmd=], tpl_X5r [Dmd=], tpl_X5t [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> (tpl_X5t `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKf ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKf a_ae8M -> rep_XuKf b_ae8N))) @ size_XuKh @ (size_XuKh GHC.TypeLits.+ 2) $dKnownNat_swsx ww_sxhy (w_sxhl `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKd rep_XuKf size_XuKh ~# rep_XuKf size_XuKh)) }))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKf size_XuKh ~# CLaSH.Sized.Fixed.Fixed frac_XuKd rep_XuKf size_XuKh) } } } } $cabs_avCW [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_XuKe :: GHC.TypeLits.Nat)) (@ (rep_XuKg :: GHC.TypeLits.Nat -> *)) (@ (size_XuKi :: GHC.TypeLits.Nat)) (w_sxhk [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKe rep_XuKg size_XuKi) (w_sxhl [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKe rep_XuKg size_XuKi) -> case w_sxhk of _ [Occ=Dead] { (ww_sxho [Occ=Once!], ww_sxhC [Occ=Once], _ [Occ=Dead], ww_sxhE [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> case ww_sxho of _ [Occ=Dead] { (ww_sxhr [Occ=Once], ww_sxhs [Occ=Once], ww_sxht [Occ=Once], ww_sxhu [Occ=Once], ww_sxhv [Occ=Once], ww_sxhw [Occ=Once], ww_sxhx [Occ=Once], ww_sxhy [Occ=Once], ww_sxhz [Occ=Once], ww_sxhA [Occ=Once]) -> $w$cabs_sxhI @ frac_XuKe @ rep_XuKg @ size_XuKi ww_sxhr ww_sxhs ww_sxht ww_sxhu ww_sxhv ww_sxhw ww_sxhx ww_sxhy ww_sxhz ww_sxhA ww_sxhC ww_sxhE w_sxhl } }}] $cabs_avCW = \ (@ (frac_XuKe :: GHC.TypeLits.Nat)) (@ (rep_XuKg :: GHC.TypeLits.Nat -> *)) (@ (size_XuKi :: GHC.TypeLits.Nat)) (w_sxhk :: CLaSH.Sized.Fixed.NumFixed frac_XuKe rep_XuKg size_XuKi) (w_sxhl :: CLaSH.Sized.Fixed.Fixed frac_XuKe rep_XuKg size_XuKi) -> case w_sxhk of _ [Occ=Dead] { (ww_sxho, ww_sxhC, ww_sxhD, ww_sxhE, ww_sxhF, ww_sxhG) -> case ww_sxho of _ [Occ=Dead] { (ww_sxhr, ww_sxhs, ww_sxht, ww_sxhu, ww_sxhv, ww_sxhw, ww_sxhx, ww_sxhy, ww_sxhz, ww_sxhA) -> $w$cabs_sxhI @ frac_XuKe @ rep_XuKg @ size_XuKi ww_sxhr ww_sxhs ww_sxht ww_sxhu ww_sxhv ww_sxhw ww_sxhx ww_sxhy ww_sxhz ww_sxhA ww_sxhC ww_sxhE w_sxhl } } $w$cnegate_sxiT :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (1 GHC.TypeLits.<= size_auH0, ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_auH0 GHC.TypeLits.+ 2), CLaSH.Class.BitVector.BitVector (rep_auGZ size_auH0), CLaSH.Class.BitVector.BitVector (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0) ~ size_auH0, CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) ~ (size_auH0 GHC.TypeLits.+ 2), GHC.TypeLits.KnownNat size_auH0, GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ 2), GHC.Enum.Bounded (rep_auGZ size_auH0), Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0, GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=13, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=13, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 20 0 20 0 20 0 0 0 20 60 30 0] 213 60}] $w$cnegate_sxiT = \ (@ (frac_XuKf :: GHC.TypeLits.Nat)) (@ (rep_XuKh :: GHC.TypeLits.Nat -> *)) (@ (size_XuKj :: GHC.TypeLits.Nat)) _ [Occ=Dead] (ww_sxiD :: ((size_XuKj GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_XuKj GHC.TypeLits.+ 2)) (ww_sxiE :: CLaSH.Class.BitVector.BitVector (rep_XuKh size_XuKj)) (ww_sxiF :: CLaSH.Class.BitVector.BitVector (rep_XuKh (size_XuKj GHC.TypeLits.+ 2))) (ww_sxiG :: CLaSH.Class.BitVector.BitSize (rep_XuKh size_XuKj) ~ size_XuKj) (ww_sxiH :: CLaSH.Class.BitVector.BitSize (rep_XuKh (size_XuKj GHC.TypeLits.+ 2)) ~ (size_XuKj GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww_sxiJ :: GHC.TypeLits.KnownNat (size_XuKj GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww_sxiL :: Data.Bits.Bits (rep_XuKh (size_XuKj GHC.TypeLits.+ 2))) (ww_sxiN :: CLaSH.Sized.Fixed.ResizeFC rep_XuKh (frac_XuKf GHC.TypeLits.+ frac_XuKf) frac_XuKf (size_XuKj GHC.TypeLits.+ size_XuKj) size_XuKj) (ww_sxiP :: GHC.Num.Num (rep_XuKh (size_XuKj GHC.TypeLits.+ 2))) (w_sxiw :: CLaSH.Sized.Fixed.Fixed frac_XuKf rep_XuKh size_XuKj) -> case ww_sxiD of _ [Occ=Dead] { GHC.Types.Eq# ww_sxhP -> case ww_sxiF of _ [Occ=Dead] { CLaSH.Class.BitVector.D:BitVector ww_sxhV ww_sxhW -> case ww_sxiH of ww_XxlW { GHC.Types.Eq# ipv_sxtc -> case ww_sxiL of _ [Occ=Dead] { Data.Bits.D:Bits ww_sxi6 ww_sxi7 ww_sxi8 ww_sxi9 ww_sxia ww_sxib ww_sxic ww_sxid ww_sxie ww_sxif ww_sxig ww_sxih ww_sxii ww_sxij ww_sxik ww_sxil ww_sxim ww_sxin ww_sxio ww_sxip ww_sxiq ww_sxir ww_sxis -> let { $dKnownNat_swsp :: GHC.TypeLits.KnownNat size_XuKj [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swsp = case ww_sxiN of _ [Occ=Dead, Dmd=] { (tpl_X1W [Dmd=], tpl_X1Y [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B7 } } in ($wsatN2_sxbN @ rep_XuKh @ size_XuKj @~ ww_sxhP ww_sxiE ww_sxhV ww_sxiG ww_XxlW $dKnownNat_swsp ww_sxiJ (case ww_sxiN of _ [Occ=Dead, Dmd=] { (tpl_X21 [Dmd=], tpl_X23 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X21 }) ww_sxil (GHC.Num.negate @ (rep_XuKh (size_XuKj GHC.TypeLits.+ 2)) ww_sxiP (case ww_sxiN of _ [Occ=Dead, Dmd=] { (tpl_X7k [Dmd=], tpl_X7n [Dmd=], tpl_X5o [Dmd=], tpl_X5q [Dmd=], tpl_X5s [Dmd=], tpl_X5u [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> (tpl_X5u `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKh ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKh a_ae8M -> rep_XuKh b_ae8N))) @ size_XuKj @ (size_XuKj GHC.TypeLits.+ 2) $dKnownNat_swsp ww_sxiJ (w_sxiw `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKf rep_XuKh size_XuKj ~# rep_XuKh size_XuKj)) }))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKh size_XuKj ~# CLaSH.Sized.Fixed.Fixed frac_XuKf rep_XuKh size_XuKj) } } } } $cnegate_avCC [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_XuKg :: GHC.TypeLits.Nat)) (@ (rep_XuKi :: GHC.TypeLits.Nat -> *)) (@ (size_XuKk :: GHC.TypeLits.Nat)) (w_sxiv [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKg rep_XuKi size_XuKk) (w_sxiw [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKg rep_XuKi size_XuKk) -> case w_sxiv of _ [Occ=Dead] { (ww_sxiz [Occ=Once!], ww_sxiN [Occ=Once], _ [Occ=Dead], ww_sxiP [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> case ww_sxiz of _ [Occ=Dead] { (ww_sxiC [Occ=Once], ww_sxiD [Occ=Once], ww_sxiE [Occ=Once], ww_sxiF [Occ=Once], ww_sxiG [Occ=Once], ww_sxiH [Occ=Once], ww_sxiI [Occ=Once], ww_sxiJ [Occ=Once], ww_sxiK [Occ=Once], ww_sxiL [Occ=Once]) -> $w$cnegate_sxiT @ frac_XuKg @ rep_XuKi @ size_XuKk ww_sxiC ww_sxiD ww_sxiE ww_sxiF ww_sxiG ww_sxiH ww_sxiI ww_sxiJ ww_sxiK ww_sxiL ww_sxiN ww_sxiP w_sxiw } }}] $cnegate_avCC = \ (@ (frac_XuKg :: GHC.TypeLits.Nat)) (@ (rep_XuKi :: GHC.TypeLits.Nat -> *)) (@ (size_XuKk :: GHC.TypeLits.Nat)) (w_sxiv :: CLaSH.Sized.Fixed.NumFixed frac_XuKg rep_XuKi size_XuKk) (w_sxiw :: CLaSH.Sized.Fixed.Fixed frac_XuKg rep_XuKi size_XuKk) -> case w_sxiv of _ [Occ=Dead] { (ww_sxiz, ww_sxiN, ww_sxiO, ww_sxiP, ww_sxiQ, ww_sxiR) -> case ww_sxiz of _ [Occ=Dead] { (ww_sxiC, ww_sxiD, ww_sxiE, ww_sxiF, ww_sxiG, ww_sxiH, ww_sxiI, ww_sxiJ, ww_sxiK, ww_sxiL) -> $w$cnegate_sxiT @ frac_XuKg @ rep_XuKi @ size_XuKk ww_sxiC ww_sxiD ww_sxiE ww_sxiF ww_sxiG ww_sxiH ww_sxiI ww_sxiJ ww_sxiK ww_sxiL ww_sxiN ww_sxiP w_sxiw } } $w$c-_sxk5 :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (1 GHC.TypeLits.<= size_auH0, ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_auH0 GHC.TypeLits.+ 2), CLaSH.Class.BitVector.BitVector (rep_auGZ size_auH0), CLaSH.Class.BitVector.BitVector (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0) ~ size_auH0, CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) ~ (size_auH0 GHC.TypeLits.+ 2), GHC.TypeLits.KnownNat size_auH0, GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ 2), GHC.Enum.Bounded (rep_auGZ size_auH0), Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0, GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=14, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=14, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 20 0 20 0 20 0 0 0 20 80 30 0 0] 236 60}] $w$c-_sxk5 = \ (@ (frac_XuKh :: GHC.TypeLits.Nat)) (@ (rep_XuKj :: GHC.TypeLits.Nat -> *)) (@ (size_XuKl :: GHC.TypeLits.Nat)) _ [Occ=Dead] (ww_sxjP :: ((size_XuKl GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_XuKl GHC.TypeLits.+ 2)) (ww_sxjQ :: CLaSH.Class.BitVector.BitVector (rep_XuKj size_XuKl)) (ww_sxjR :: CLaSH.Class.BitVector.BitVector (rep_XuKj (size_XuKl GHC.TypeLits.+ 2))) (ww_sxjS :: CLaSH.Class.BitVector.BitSize (rep_XuKj size_XuKl) ~ size_XuKl) (ww_sxjT :: CLaSH.Class.BitVector.BitSize (rep_XuKj (size_XuKl GHC.TypeLits.+ 2)) ~ (size_XuKl GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww_sxjV :: GHC.TypeLits.KnownNat (size_XuKl GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww_sxjX :: Data.Bits.Bits (rep_XuKj (size_XuKl GHC.TypeLits.+ 2))) (ww_sxjZ :: CLaSH.Sized.Fixed.ResizeFC rep_XuKj (frac_XuKh GHC.TypeLits.+ frac_XuKh) frac_XuKh (size_XuKl GHC.TypeLits.+ size_XuKl) size_XuKl) (ww_sxk1 :: GHC.Num.Num (rep_XuKj (size_XuKl GHC.TypeLits.+ 2))) (w_sxjH :: CLaSH.Sized.Fixed.Fixed frac_XuKh rep_XuKj size_XuKl) (w_sxjI :: CLaSH.Sized.Fixed.Fixed frac_XuKh rep_XuKj size_XuKl) -> case ww_sxjP of _ [Occ=Dead] { GHC.Types.Eq# ww_sxj0 -> case ww_sxjR of _ [Occ=Dead] { CLaSH.Class.BitVector.D:BitVector ww_sxj6 ww_sxj7 -> case ww_sxjT of ww_Xxna { GHC.Types.Eq# ipv_sxtX -> case ww_sxjX of _ [Occ=Dead] { Data.Bits.D:Bits ww_sxjh ww_sxji ww_sxjj ww_sxjk ww_sxjl ww_sxjm ww_sxjn ww_sxjo ww_sxjp ww_sxjq ww_sxjr ww_sxjs ww_sxjt ww_sxju ww_sxjv ww_sxjw ww_sxjx ww_sxjy ww_sxjz ww_sxjA ww_sxjB ww_sxjC ww_sxjD -> let { $dKnownNat_swsg :: GHC.TypeLits.KnownNat size_XuKl [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_swsg = case ww_sxjZ of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B7 } } in ($wsatN2_sxbN @ rep_XuKj @ size_XuKl @~ ww_sxj0 ww_sxjQ ww_sxj6 ww_sxjS ww_Xxna $dKnownNat_swsg ww_sxjV (case ww_sxjZ of _ [Occ=Dead, Dmd=] { (tpl_X25 [Dmd=], tpl_X27 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X25 }) ww_sxjw (GHC.Num.- @ (rep_XuKj (size_XuKl GHC.TypeLits.+ 2)) ww_sxk1 (case ww_sxjZ of _ [Occ=Dead, Dmd=] { (tpl_X1Y [Dmd=], tpl_X20 [Dmd=], tpl_X5s [Dmd=], tpl_X5u [Dmd=], tpl_X5w [Dmd=], tpl_X5y [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> (tpl_X5y `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKj ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKj a_ae8M -> rep_XuKj b_ae8N))) @ size_XuKl @ (size_XuKl GHC.TypeLits.+ 2) $dKnownNat_swsg ww_sxjV (w_sxjH `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKh rep_XuKj size_XuKl ~# rep_XuKj size_XuKl)) }) (case ww_sxjZ of _ [Occ=Dead, Dmd=] { (tpl_X1Y [Dmd=], tpl_X20 [Dmd=], tpl_X5s [Dmd=], tpl_X5u [Dmd=], tpl_X5w [Dmd=], tpl_X5y [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> (tpl_X5y `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKj ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKj a_ae8M -> rep_XuKj b_ae8N))) @ size_XuKl @ (size_XuKl GHC.TypeLits.+ 2) $dKnownNat_swsg ww_sxjV (w_sxjI `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKh rep_XuKj size_XuKl ~# rep_XuKj size_XuKl)) }))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKj size_XuKl ~# CLaSH.Sized.Fixed.Fixed frac_XuKh rep_XuKj size_XuKl) } } } } $c-_avCb [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_XuKi :: GHC.TypeLits.Nat)) (@ (rep_XuKk :: GHC.TypeLits.Nat -> *)) (@ (size_XuKm :: GHC.TypeLits.Nat)) (w_sxjG [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKi rep_XuKk size_XuKm) (w_sxjH [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKi rep_XuKk size_XuKm) (w_sxjI [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKi rep_XuKk size_XuKm) -> case w_sxjG of _ [Occ=Dead] { (ww_sxjL [Occ=Once!], ww_sxjZ [Occ=Once], _ [Occ=Dead], ww_sxk1 [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> case ww_sxjL of _ [Occ=Dead] { (ww_sxjO [Occ=Once], ww_sxjP [Occ=Once], ww_sxjQ [Occ=Once], ww_sxjR [Occ=Once], ww_sxjS [Occ=Once], ww_sxjT [Occ=Once], ww_sxjU [Occ=Once], ww_sxjV [Occ=Once], ww_sxjW [Occ=Once], ww_sxjX [Occ=Once]) -> $w$c-_sxk5 @ frac_XuKi @ rep_XuKk @ size_XuKm ww_sxjO ww_sxjP ww_sxjQ ww_sxjR ww_sxjS ww_sxjT ww_sxjU ww_sxjV ww_sxjW ww_sxjX ww_sxjZ ww_sxk1 w_sxjH w_sxjI } }}] $c-_avCb = \ (@ (frac_XuKi :: GHC.TypeLits.Nat)) (@ (rep_XuKk :: GHC.TypeLits.Nat -> *)) (@ (size_XuKm :: GHC.TypeLits.Nat)) (w_sxjG :: CLaSH.Sized.Fixed.NumFixed frac_XuKi rep_XuKk size_XuKm) (w_sxjH :: CLaSH.Sized.Fixed.Fixed frac_XuKi rep_XuKk size_XuKm) (w_sxjI :: CLaSH.Sized.Fixed.Fixed frac_XuKi rep_XuKk size_XuKm) -> case w_sxjG of _ [Occ=Dead] { (ww_sxjL, ww_sxjZ, ww_sxk0, ww_sxk1, ww_sxk2, ww_sxk3) -> case ww_sxjL of _ [Occ=Dead] { (ww_sxjO, ww_sxjP, ww_sxjQ, ww_sxjR, ww_sxjS, ww_sxjT, ww_sxjU, ww_sxjV, ww_sxjW, ww_sxjX) -> $w$c-_sxk5 @ frac_XuKi @ rep_XuKk @ size_XuKm ww_sxjO ww_sxjP ww_sxjQ ww_sxjR ww_sxjS ww_sxjT ww_sxjU ww_sxjV ww_sxjW ww_sxjX ww_sxjZ ww_sxk1 w_sxjH w_sxjI } } $c*_avBP [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_XuKk :: GHC.TypeLits.Nat)) (@ (rep_XuKm :: GHC.TypeLits.Nat -> *)) (@ (size_XuKo :: GHC.TypeLits.Nat)) (w_sxkl [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKk rep_XuKm size_XuKo) (w_sxkm [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo) (w_sxkn [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo) -> case w_sxkl of _ [Occ=Dead] { (_ [Occ=Dead], ww_sxkr [Occ=Once!], _ [Occ=Dead], _ [Occ=Dead], ww_sxkJ [Occ=Once], ww_sxkK [Occ=Once!]) -> case ww_sxkr of _ [Occ=Dead] { (ww_sxku [Occ=Once], _ [Occ=Dead], ww_sxkw [Occ=Once], ww_sxkx [Occ=Once], ww_sxky [Occ=Once], ww_sxkz [Occ=Once], ww_sxkA [Occ=Once], ww_sxkB [Occ=Once], ww_sxkC [Occ=Once], ww_sxkD [Occ=Once], ww_sxkE [Occ=Once], _ [Occ=Dead]) -> $wresizeF_sxcA @ (frac_XuKk GHC.TypeLits.+ frac_XuKk) @ frac_XuKk @ rep_XuKm @ (size_XuKo GHC.TypeLits.+ size_XuKo) @ size_XuKo ww_sxku ww_sxkw ww_sxkx ww_sxky ww_sxkz ww_sxkA ww_sxkB ww_sxkC ww_sxkD ww_sxkE (case ww_sxkK of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw1a -> ((ww_sxkJ `cast` (CLaSH.Class.Num.NTCo:Mult[0] _N _N :: CLaSH.Class.Num.Mult (rep_XuKm size_XuKo) (rep_XuKm size_XuKo) ~# (rep_XuKm size_XuKo -> rep_XuKm size_XuKo -> CLaSH.Class.Num.MResult (rep_XuKm size_XuKo) (rep_XuKm size_XuKo)))) (w_sxkm `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo ~# rep_XuKm size_XuKo)) (w_sxkn `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo ~# rep_XuKm size_XuKo))) `cast` (Sub cobox_dw1a ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: CLaSH.Class.Num.MResult (rep_XuKm size_XuKo) (rep_XuKm size_XuKo) ~# CLaSH.Sized.Fixed.Fixed (frac_XuKk GHC.TypeLits.+ frac_XuKk) rep_XuKm (size_XuKo GHC.TypeLits.+ size_XuKo)) }) } }}] $c*_avBP = \ (@ (frac_XuKk :: GHC.TypeLits.Nat)) (@ (rep_XuKm :: GHC.TypeLits.Nat -> *)) (@ (size_XuKo :: GHC.TypeLits.Nat)) (w_sxkl :: CLaSH.Sized.Fixed.NumFixed frac_XuKk rep_XuKm size_XuKo) (w_sxkm :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo) (w_sxkn :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo) -> case w_sxkl of _ [Occ=Dead] { (ww_sxkq, ww_sxkr, ww_sxkH, ww_sxkI, ww_sxkJ, ww_sxkK) -> case ww_sxkr of _ [Occ=Dead] { (ww_sxku, ww_sxkv, ww_sxkw, ww_sxkx, ww_sxky, ww_sxkz, ww_sxkA, ww_sxkB, ww_sxkC, ww_sxkD, ww_sxkE, ww_sxkF) -> $wresizeF_sxcA @ (frac_XuKk GHC.TypeLits.+ frac_XuKk) @ frac_XuKk @ rep_XuKm @ (size_XuKo GHC.TypeLits.+ size_XuKo) @ size_XuKo ww_sxku ww_sxkw ww_sxkx ww_sxky ww_sxkz ww_sxkA ww_sxkB ww_sxkC ww_sxkD ww_sxkE (case ww_sxkK of _ [Occ=Dead, Dmd=] { GHC.Types.Eq# cobox_dw1a -> ((ww_sxkJ `cast` (CLaSH.Class.Num.NTCo:Mult[0] _N _N :: CLaSH.Class.Num.Mult (rep_XuKm size_XuKo) (rep_XuKm size_XuKo) ~# (rep_XuKm size_XuKo -> rep_XuKm size_XuKo -> CLaSH.Class.Num.MResult (rep_XuKm size_XuKo) (rep_XuKm size_XuKo)))) (w_sxkm `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo ~# rep_XuKm size_XuKo)) (w_sxkn `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo ~# rep_XuKm size_XuKo))) `cast` (Sub cobox_dw1a ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: CLaSH.Class.Num.MResult (rep_XuKm size_XuKo) (rep_XuKm size_XuKo) ~# CLaSH.Sized.Fixed.Fixed (frac_XuKk GHC.TypeLits.+ frac_XuKk) rep_XuKm (size_XuKo GHC.TypeLits.+ size_XuKo)) }) } } $w$c+_sxlY :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (1 GHC.TypeLits.<= size_auH0, ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_auH0 GHC.TypeLits.+ 2), CLaSH.Class.BitVector.BitVector (rep_auGZ size_auH0), CLaSH.Class.BitVector.BitVector (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0) ~ size_auH0, CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) ~ (size_auH0 GHC.TypeLits.+ 2), GHC.TypeLits.KnownNat size_auH0, GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ 2), GHC.Enum.Bounded (rep_auGZ size_auH0), Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0, GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=14, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=14, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 20 0 20 0 20 0 0 0 20 80 30 0 0] 236 60}] $w$c+_sxlY = \ (@ (frac_XuKl :: GHC.TypeLits.Nat)) (@ (rep_XuKn :: GHC.TypeLits.Nat -> *)) (@ (size_XuKp :: GHC.TypeLits.Nat)) _ [Occ=Dead] (ww_sxlI :: ((size_XuKp GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_XuKp GHC.TypeLits.+ 2)) (ww_sxlJ :: CLaSH.Class.BitVector.BitVector (rep_XuKn size_XuKp)) (ww_sxlK :: CLaSH.Class.BitVector.BitVector (rep_XuKn (size_XuKp GHC.TypeLits.+ 2))) (ww_sxlL :: CLaSH.Class.BitVector.BitSize (rep_XuKn size_XuKp) ~ size_XuKp) (ww_sxlM :: CLaSH.Class.BitVector.BitSize (rep_XuKn (size_XuKp GHC.TypeLits.+ 2)) ~ (size_XuKp GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww_sxlO :: GHC.TypeLits.KnownNat (size_XuKp GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww_sxlQ :: Data.Bits.Bits (rep_XuKn (size_XuKp GHC.TypeLits.+ 2))) (ww_sxlS :: CLaSH.Sized.Fixed.ResizeFC rep_XuKn (frac_XuKl GHC.TypeLits.+ frac_XuKl) frac_XuKl (size_XuKp GHC.TypeLits.+ size_XuKp) size_XuKp) (ww_sxlU :: GHC.Num.Num (rep_XuKn (size_XuKp GHC.TypeLits.+ 2))) (w_sxlA :: CLaSH.Sized.Fixed.Fixed frac_XuKl rep_XuKn size_XuKp) (w_sxlB :: CLaSH.Sized.Fixed.Fixed frac_XuKl rep_XuKn size_XuKp) -> case ww_sxlI of _ [Occ=Dead] { GHC.Types.Eq# ww_sxkT -> case ww_sxlK of _ [Occ=Dead] { CLaSH.Class.BitVector.D:BitVector ww_sxkZ ww_sxl0 -> case ww_sxlM of ww_Xxp7 { GHC.Types.Eq# ipv_sxuU -> case ww_sxlQ of _ [Occ=Dead] { Data.Bits.D:Bits ww_sxla ww_sxlb ww_sxlc ww_sxld ww_sxle ww_sxlf ww_sxlg ww_sxlh ww_sxli ww_sxlj ww_sxlk ww_sxll ww_sxlm ww_sxln ww_sxlo ww_sxlp ww_sxlq ww_sxlr ww_sxls ww_sxlt ww_sxlu ww_sxlv ww_sxlw -> let { $dKnownNat_sws2 :: GHC.TypeLits.KnownNat size_XuKp [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 0}] $dKnownNat_sws2 = case ww_sxlS of _ [Occ=Dead, Dmd=] { (tpl_X22 [Dmd=], tpl_X24 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_B7 } } in ($wsatN2_sxbN @ rep_XuKn @ size_XuKp @~ ww_sxkT ww_sxlJ ww_sxkZ ww_sxlL ww_Xxp7 $dKnownNat_sws2 ww_sxlO (case ww_sxlS of _ [Occ=Dead, Dmd=] { (tpl_X27 [Dmd=], tpl_X29 [Dmd=], tpl_B3 [Dmd=], tpl_B4 [Dmd=], tpl_B5 [Dmd=], tpl_B6 [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> tpl_X27 }) ww_sxlp (GHC.Num.+ @ (rep_XuKn (size_XuKp GHC.TypeLits.+ 2)) ww_sxlU (case ww_sxlS of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_X5u [Dmd=], tpl_X5w [Dmd=], tpl_X5y [Dmd=], tpl_X5A [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> (tpl_X5A `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKn ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKn a_ae8M -> rep_XuKn b_ae8N))) @ size_XuKp @ (size_XuKp GHC.TypeLits.+ 2) $dKnownNat_sws2 ww_sxlO (w_sxlA `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKl rep_XuKn size_XuKp ~# rep_XuKn size_XuKp)) }) (case ww_sxlS of _ [Occ=Dead, Dmd=] { (tpl_X20 [Dmd=], tpl_X22 [Dmd=], tpl_X5u [Dmd=], tpl_X5w [Dmd=], tpl_X5y [Dmd=], tpl_X5A [Dmd=], tpl_B7 [Dmd=], tpl_B8 [Dmd=], tpl_B9 [Dmd=], tpl_Ba [Dmd=], tpl_Bb [Dmd=], tpl_Bc [Dmd=]) -> (tpl_X5A `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKn ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKn a_ae8M -> rep_XuKn b_ae8N))) @ size_XuKp @ (size_XuKp GHC.TypeLits.+ 2) $dKnownNat_sws2 ww_sxlO (w_sxlB `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKl rep_XuKn size_XuKp ~# rep_XuKn size_XuKp)) }))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKn size_XuKp ~# CLaSH.Sized.Fixed.Fixed frac_XuKl rep_XuKn size_XuKp) } } } } $c+_avBo [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [LclId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_XuKm :: GHC.TypeLits.Nat)) (@ (rep_XuKo :: GHC.TypeLits.Nat -> *)) (@ (size_XuKq :: GHC.TypeLits.Nat)) (w_sxlz [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKm rep_XuKo size_XuKq) (w_sxlA [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKm rep_XuKo size_XuKq) (w_sxlB [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKm rep_XuKo size_XuKq) -> case w_sxlz of _ [Occ=Dead] { (ww_sxlE [Occ=Once!], ww_sxlS [Occ=Once], _ [Occ=Dead], ww_sxlU [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> case ww_sxlE of _ [Occ=Dead] { (ww_sxlH [Occ=Once], ww_sxlI [Occ=Once], ww_sxlJ [Occ=Once], ww_sxlK [Occ=Once], ww_sxlL [Occ=Once], ww_sxlM [Occ=Once], ww_sxlN [Occ=Once], ww_sxlO [Occ=Once], ww_sxlP [Occ=Once], ww_sxlQ [Occ=Once]) -> $w$c+_sxlY @ frac_XuKm @ rep_XuKo @ size_XuKq ww_sxlH ww_sxlI ww_sxlJ ww_sxlK ww_sxlL ww_sxlM ww_sxlN ww_sxlO ww_sxlP ww_sxlQ ww_sxlS ww_sxlU w_sxlA w_sxlB } }}] $c+_avBo = \ (@ (frac_XuKm :: GHC.TypeLits.Nat)) (@ (rep_XuKo :: GHC.TypeLits.Nat -> *)) (@ (size_XuKq :: GHC.TypeLits.Nat)) (w_sxlz :: CLaSH.Sized.Fixed.NumFixed frac_XuKm rep_XuKo size_XuKq) (w_sxlA :: CLaSH.Sized.Fixed.Fixed frac_XuKm rep_XuKo size_XuKq) (w_sxlB :: CLaSH.Sized.Fixed.Fixed frac_XuKm rep_XuKo size_XuKq) -> case w_sxlz of _ [Occ=Dead] { (ww_sxlE, ww_sxlS, ww_sxlT, ww_sxlU, ww_sxlV, ww_sxlW) -> case ww_sxlE of _ [Occ=Dead] { (ww_sxlH, ww_sxlI, ww_sxlJ, ww_sxlK, ww_sxlL, ww_sxlM, ww_sxlN, ww_sxlO, ww_sxlP, ww_sxlQ) -> $w$c+_sxlY @ frac_XuKm @ rep_XuKo @ size_XuKq ww_sxlH ww_sxlI ww_sxlJ ww_sxlK ww_sxlL ww_sxlM ww_sxlN ww_sxlO ww_sxlP ww_sxlQ ww_sxlS ww_sxlU w_sxlA w_sxlB } } CLaSH.Sized.Fixed.$fNumFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => GHC.Num.Num (CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) [LclIdX[DFunId], Arity=1, Str=DmdType m, Unf=DFun: \ (@ (frac_XuIO :: GHC.TypeLits.Nat)) (@ (rep_XuIQ :: GHC.TypeLits.Nat -> *)) (@ (size_XuIS :: GHC.TypeLits.Nat)) (tup_XvDf :: CLaSH.Sized.Fixed.NumFixed frac_XuIO rep_XuIQ size_XuIS) -> GHC.Num.D:Num TYPE CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS $c+_avBo @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $c*_avBP @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $c-_avCb @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $cnegate_avCC @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf $cabs_avCW @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf (a_swkh @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) `cast` (_R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> rep_XuIQ size_XuIS) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS)) $cfromInteger_avDp @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf] CLaSH.Sized.Fixed.$fNumFixed = \ (@ (frac_XuIO :: GHC.TypeLits.Nat)) (@ (rep_XuIQ :: GHC.TypeLits.Nat -> *)) (@ (size_XuIS :: GHC.TypeLits.Nat)) (tup_XvDf [Dmd=] :: CLaSH.Sized.Fixed.NumFixed frac_XuIO rep_XuIQ size_XuIS) -> GHC.Num.D:Num @ (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS) ($c+_avBo @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($c*_avBP @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($c-_avCb @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($cnegate_avCC @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ($cabs_avCW @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ((a_swkh @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) `cast` (_R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> rep_XuIQ size_XuIS) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS))) ($cfromInteger_avDp @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) CLaSH.Sized.Fixed.$fBitVectorFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV) => CLaSH.Class.BitVector.BitVector (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV) [LclIdX[DFunId], Arity=1, Str=DmdType m, Unf=DFun: \ (@ (frac_XuIN :: GHC.TypeLits.Nat)) (@ (rep_XuIP :: GHC.TypeLits.Nat -> *)) (@ (size_XuIR :: GHC.TypeLits.Nat)) ($dBitVector_XvCT :: CLaSH.Class.BitVector.BitVector (rep_XuIP size_XuIR)) -> CLaSH.Class.BitVector.D:BitVector TYPE CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR (\ ($dKnownNat_avB0 :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (ds_dw0H :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) -> CLaSH.Class.BitVector.toBV @ (rep_XuIP size_XuIR) $dBitVector_XvCT ($dKnownNat_avB0 `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (ds_dw0H `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR ~# rep_XuIP size_XuIR))) `cast` (_R -> _R -> (CLaSH.Sized.Vector.Vec (Sym (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N)) _R)_R :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit)) (\ ($dKnownNat_avBa :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (bv_auGX :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit) -> CLaSH.Class.BitVector.fromBV @ (rep_XuIP size_XuIR) $dBitVector_XvCT ($dKnownNat_avBa `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (bv_auGX `cast` ((CLaSH.Sized.Vector.Vec (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit))) `cast` (_R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> rep_XuIP size_XuIR) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))] CLaSH.Sized.Fixed.$fBitVectorFixed = \ (@ (frac_XuIN :: GHC.TypeLits.Nat)) (@ (rep_XuIP :: GHC.TypeLits.Nat -> *)) (@ (size_XuIR :: GHC.TypeLits.Nat)) ($dBitVector_XvCT [Dmd=] :: CLaSH.Class.BitVector.BitVector (rep_XuIP size_XuIR)) -> let { lvl_sxDl :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> rep_XuIP size_XuIR [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 20 0}] lvl_sxDl = CLaSH.Class.BitVector.fromBV @ (rep_XuIP size_XuIR) $dBitVector_XvCT } in let { lvl_sxDk :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) => rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=True, Guidance=IF_ARGS [] 20 0}] lvl_sxDk = CLaSH.Class.BitVector.toBV @ (rep_XuIP size_XuIR) $dBitVector_XvCT } in CLaSH.Class.BitVector.D:BitVector @ (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) ((\ ($dKnownNat_avB0 :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (ds_dw0H :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) -> lvl_sxDk ($dKnownNat_avB0 `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (ds_dw0H `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR ~# rep_XuIP size_XuIR))) `cast` (_R -> _R -> (CLaSH.Sized.Vector.Vec (Sym (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N)) _R)_R :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit))) ((\ ($dKnownNat_avBa :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (bv_auGX :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit) -> lvl_sxDl ($dKnownNat_avBa `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (bv_auGX `cast` ((CLaSH.Sized.Vector.Vec (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit))) `cast` (_R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> rep_XuIP size_XuIR) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) a_swC4 :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => Data.Default.Class.Default (rep_auGM size_auGN) [LclId, Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] a_swC4 = \ (@ (frac_auGL :: GHC.TypeLits.Nat)) (@ (rep_auGM :: GHC.TypeLits.Nat -> *)) (@ (size_auGN :: GHC.TypeLits.Nat)) ($dDefault_avAe :: Data.Default.Class.Default (rep_auGM size_auGN)) -> $dDefault_avAe $cdef_avAg :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => CLaSH.Sized.Fixed.Fixed frac_auGL rep_auGM size_auGN [LclId, Arity=1, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $cdef_avAg = a_swC4 `cast` (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). _R -> Data.Default.Class.NTCo:Default[0] _N ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => Data.Default.Class.Default (rep_XuLZ size_XuM1)) ~# (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => CLaSH.Sized.Fixed.Fixed frac_XuLX rep_XuLZ size_XuM1)) CLaSH.Sized.Fixed.$fDefaultFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_auGL rep_auGM size_auGN) [LclIdX[DFunId(nt)], Arity=1, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= $cdef_avAg `cast` (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). _R -> Sym (Data.Default.Class.NTCo:Default[0] _N) :: (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuIO size_XuIQ) => CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ) ~# (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuIO size_XuIQ) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ)))}] CLaSH.Sized.Fixed.$fDefaultFixed = a_swC4 `cast` (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). _R -> Data.Default.Class.NTCo:Default[0] _N ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sym (Data.Default.Class.NTCo:Default[0] _N) :: (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => Data.Default.Class.Default (rep_XuLZ size_XuM1)) ~# (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_XuLX rep_XuLZ size_XuM1))) CLaSH.Sized.Fixed.$fBoundedFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_auGJ size_auGK) => GHC.Enum.Bounded (CLaSH.Sized.Fixed.Fixed frac_auGI rep_auGJ size_auGK) [LclIdX[DFunId], Arity=1, Str=DmdType m, Unf=DFun: \ (@ (frac_XuIW :: GHC.TypeLits.Nat)) (@ (rep_XuIY :: GHC.TypeLits.Nat -> *)) (@ (size_XuJ0 :: GHC.TypeLits.Nat)) ($dBounded_XvCa :: GHC.Enum.Bounded (rep_XuIY size_XuJ0)) -> GHC.Enum.D:Bounded TYPE CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0 (GHC.Enum.minBound @ (rep_XuIY size_XuJ0) $dBounded_XvCa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0) (GHC.Enum.maxBound @ (rep_XuIY size_XuJ0) $dBounded_XvCa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0)] CLaSH.Sized.Fixed.$fBoundedFixed = \ (@ (frac_XuIW :: GHC.TypeLits.Nat)) (@ (rep_XuIY :: GHC.TypeLits.Nat -> *)) (@ (size_XuJ0 :: GHC.TypeLits.Nat)) ($dBounded_XvCa [Dmd=] :: GHC.Enum.Bounded (rep_XuIY size_XuJ0)) -> GHC.Enum.D:Bounded @ (CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0) ((GHC.Enum.minBound @ (rep_XuIY size_XuJ0) $dBounded_XvCa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0)) ((GHC.Enum.maxBound @ (rep_XuIY size_XuJ0) $dBounded_XvCa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0)) CLaSH.Sized.Fixed.$fOrdFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => GHC.Classes.Ord (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) [LclIdX[DFunId[1]], Arity=2, Str=DmdType m, Unf=DFun: \ (@ (frac_XuIv :: GHC.TypeLits.Nat)) (@ (rep_XuIx :: GHC.TypeLits.Nat -> *)) (@ (size_XuIz :: GHC.TypeLits.Nat)) ($dEq_XvB3 :: GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) ($dOrd_XvB5 :: GHC.Classes.Ord (rep_XuIx size_XuIz)) -> GHC.Classes.D:Ord TYPE CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz $dEq_XvB3 (GHC.Classes.compare @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Ordering) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Ordering)) (GHC.Classes.< @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) (GHC.Classes.>= @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) (GHC.Classes.> @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) (GHC.Classes.<= @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) (GHC.Classes.max @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) (GHC.Classes.min @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz))] CLaSH.Sized.Fixed.$fOrdFixed = \ (@ (frac_XuIv :: GHC.TypeLits.Nat)) (@ (rep_XuIx :: GHC.TypeLits.Nat -> *)) (@ (size_XuIz :: GHC.TypeLits.Nat)) ($dEq_XvB3 :: GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) ($dOrd_XvB5 [Dmd=] :: GHC.Classes.Ord (rep_XuIx size_XuIz)) -> GHC.Classes.D:Ord @ (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz) $dEq_XvB3 ((GHC.Classes.compare @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Ordering) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Ordering))) ((GHC.Classes.< @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.>= @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.> @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.<= @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.max @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz))) ((GHC.Classes.min @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz))) CLaSH.Sized.Fixed.$fEqFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_auFG size_auFH) => GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) [LclIdX[DFunId], Arity=1, Str=DmdType m, Unf=DFun: \ (@ (frac_XuII :: GHC.TypeLits.Nat)) (@ (rep_XuIK :: GHC.TypeLits.Nat -> *)) (@ (size_XuIM :: GHC.TypeLits.Nat)) ($dEq_XvAL :: GHC.Classes.Eq (rep_XuIK size_XuIM)) -> GHC.Classes.D:Eq TYPE CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM (GHC.Classes.== @ (rep_XuIK size_XuIM) $dEq_XvAL) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool)) (GHC.Classes./= @ (rep_XuIK size_XuIM) $dEq_XvAL) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool))] CLaSH.Sized.Fixed.$fEqFixed = \ (@ (frac_XuII :: GHC.TypeLits.Nat)) (@ (rep_XuIK :: GHC.TypeLits.Nat -> *)) (@ (size_XuIM :: GHC.TypeLits.Nat)) ($dEq_XvAL [Dmd=] :: GHC.Classes.Eq (rep_XuIK size_XuIM)) -> GHC.Classes.D:Eq @ (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM) ((GHC.Classes.== @ (rep_XuIK size_XuIM) $dEq_XvAL) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool))) ((GHC.Classes./= @ (rep_XuIK size_XuIM) $dEq_XvAL) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool))) a_swCf :: Language.Haskell.TH.Syntax.NameFlavour [LclId, Str=DmdType m5, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 40}] a_swCf = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.TcClsName (a_swwV `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a_swwX `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) lvl_swwp :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType m, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] lvl_swwp = Language.Haskell.TH.Syntax.Name (a_swwS `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a_swCf lvl_sxDm :: Language.Haskell.TH.Syntax.Type [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}] lvl_sxDm = Language.Haskell.TH.Syntax.ConT lvl_swwp a_swCk :: forall (m_a4Ni :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4Ni => m_a4Ni Language.Haskell.TH.Syntax.Type [LclId, Arity=1, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (m_a4Ni :: * -> *)) (eta_a4Nj [Occ=Once] :: Language.Haskell.TH.Syntax.Quasi m_a4Ni) -> GHC.Base.return @ m_a4Ni (Language.Haskell.TH.Syntax.$p1Quasi @ m_a4Ni eta_a4Nj) @ Language.Haskell.TH.Syntax.Type (Language.Haskell.TH.Syntax.ConT lvl_swwp)}] a_swCk = \ (@ (m_a4Ni :: * -> *)) (eta_a4Nj :: Language.Haskell.TH.Syntax.Quasi m_a4Ni) -> GHC.Base.return @ m_a4Ni (Language.Haskell.TH.Syntax.$p1Quasi @ m_a4Ni eta_a4Nj) @ Language.Haskell.TH.Syntax.Type lvl_sxDm Rec { lgo_sxDo [Occ=LoopBreaker] :: Language.Haskell.TH.Lib.TypeQ -> [Language.Haskell.TH.Lib.TypeQ] -> Language.Haskell.TH.Lib.TypeQ [LclId, Arity=2, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 30] 80 0}] lgo_sxDo = \ (z_awhM :: Language.Haskell.TH.Lib.TypeQ) (ds_awhN :: [Language.Haskell.TH.Lib.TypeQ]) -> case ds_awhN of _ [Occ=Dead, Dmd=] { [] -> z_awhM; : x_awhS [Dmd=] xs_awhT [Dmd=] -> lgo_sxDo ((Language.Haskell.TH.Lib.appT1 z_awhM x_awhS) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) xs_awhT } end Rec } lvl_sxDp :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 30}] lvl_sxDp = Language.Haskell.TH.Syntax.Name ((GHC.Types.[] @ GHC.Types.Char) `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) Language.Haskell.TH.Syntax.NameS a_swCv :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> forall (m_akMz :: * -> *). Language.Haskell.TH.Syntax.Quasi m_akMz => m_akMz Language.Haskell.TH.Syntax.Exp [LclId, Arity=5, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=NEVER}] a_swCv = \ (@ (frac_auGO :: GHC.TypeLits.Nat)) (@ (rep_auGP :: GHC.TypeLits.Nat -> *)) (@ (size_auGQ :: GHC.TypeLits.Nat)) ($dLift_avAq [Dmd=] :: Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ)) ($dKnownNat_avAr :: GHC.TypeLits.KnownNat frac_auGO) ($dKnownNat_avAs :: GHC.TypeLits.KnownNat size_auGQ) ($dTypeable_avAt :: Data.Typeable.Internal.Typeable rep_auGP) (f_auGR :: CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ) -> let { w1_akV2 [Dmd=] :: Language.Haskell.TH.Lib.TypeQ [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 653 0}] w1_akV2 = lgo_sxDo (a_swCk `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (GHC.Types.: @ Language.Haskell.TH.Lib.TypeQ (let { l_a5DZ [Dmd=] :: Language.Haskell.TH.Lib.TyLitQ [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 20 0}] l_a5DZ = Language.Haskell.TH.Lib.numTyLit ($dKnownNat_avAr `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_auGO ~# GHC.Integer.Type.Integer)) } in (\ (@ (m_a5E0 :: * -> *)) (eta_a5E1 :: Language.Haskell.TH.Syntax.Quasi m_a5E0) -> GHC.Base.fmap @ m_a5E0 (Control.Applicative.$p1Applicative @ m_a5E0 (Language.Haskell.TH.Syntax.$p2Quasi @ m_a5E0 eta_a5E1)) @ Language.Haskell.TH.Syntax.TyLit @ Language.Haskell.TH.Syntax.Type Language.Haskell.TH.Syntax.LitT ((l_a5DZ `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.TyLit ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.TyLit))) @ m_a5E0 eta_a5E1)) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (GHC.Types.: @ Language.Haskell.TH.Lib.TypeQ (let { x_X4Ts :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 261 60}] x_X4Ts = case ($dTypeable_avAt `cast` (Data.Typeable.Internal.NTCo:Typeable[0] *>_N _N :: Data.Typeable.Internal.Typeable rep_auGP ~# (GHC.Prim.Proxy# rep_auGP -> Data.Typeable.Internal.TypeRep))) (GHC.Prim.proxy# @ (GHC.TypeLits.Nat -> *) @ rep_auGP) of _ [Occ=Dead, Dmd=] { Data.Typeable.Internal.TypeRep ww1_awCq [Dmd=] ww2_awCr [Dmd=] ww3_awCs [Dmd=] ww4_awCt [Dmd=] -> case GHC.List.reverse1 @ GHC.Types.Char (Data.Typeable.Internal.$w$cshowsPrec GHC.Show.shows27 ww3_awCs ww4_awCt (GHC.Types.[] @ GHC.Types.Char)) (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead, Dmd=] { [] -> lvl_sxDp; : ds_a5Fa [Dmd=] rev_a5Fb [Dmd=] -> case ds_a5Fa of wild22_a5Fd { GHC.Types.C# ds1_a5Ff [Dmd=] -> case ds1_a5Ff of _ [Occ=Dead, Dmd=] { __DEFAULT -> case Language.Haskell.TH.Syntax.mkName_$s$wsplit1 wild22_a5Fd (GHC.Types.[] @ GHC.Types.Char) rev_a5Fb of _ [Occ=Dead, Dmd=] { (# ww1_a5Aw, ww2_a5Ax #) -> Language.Haskell.TH.Syntax.Name ww1_a5Aw ww2_a5Ax }; '.' -> case Language.Haskell.TH.Syntax.mkName_$s$wsplit1 wild22_a5Fd (GHC.Types.[] @ GHC.Types.Char) rev_a5Fb of _ [Occ=Dead, Dmd=] { (# ww1_a5Aw, ww2_a5Ax #) -> Language.Haskell.TH.Syntax.Name ww1_a5Aw ww2_a5Ax } } } } } } in let { lvl_sxDq :: Language.Haskell.TH.Syntax.Type [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 10 20}] lvl_sxDq = Language.Haskell.TH.Syntax.ConT x_X4Ts } in (\ (@ (m_X4Tv :: * -> *)) (eta_X4Tx :: Language.Haskell.TH.Syntax.Quasi m_X4Tv) -> GHC.Base.return @ m_X4Tv (Language.Haskell.TH.Syntax.$p1Quasi @ m_X4Tv eta_X4Tx) @ Language.Haskell.TH.Syntax.Type lvl_sxDq) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (GHC.Types.: @ Language.Haskell.TH.Lib.TypeQ (let { l_a5DZ [Dmd=] :: Language.Haskell.TH.Lib.TyLitQ [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 20 0}] l_a5DZ = Language.Haskell.TH.Lib.numTyLit ($dKnownNat_avAs `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat size_auGQ ~# GHC.Integer.Type.Integer)) } in (\ (@ (m_a5E0 :: * -> *)) (eta_a5E1 :: Language.Haskell.TH.Syntax.Quasi m_a5E0) -> GHC.Base.fmap @ m_a5E0 (Control.Applicative.$p1Applicative @ m_a5E0 (Language.Haskell.TH.Syntax.$p2Quasi @ m_a5E0 eta_a5E1)) @ Language.Haskell.TH.Syntax.TyLit @ Language.Haskell.TH.Syntax.Type Language.Haskell.TH.Syntax.LitT ((l_a5DZ `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.TyLit ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.TyLit))) @ m_a5E0 eta_a5E1)) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (GHC.Types.[] @ Language.Haskell.TH.Lib.TypeQ)))) } in let { w1_acZp [Dmd=] :: Language.Haskell.TH.Lib.ExpQ [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 1 0}] w1_acZp = ($dLift_avAq `cast` (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N :: Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ) ~# (rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp))) (f_auGR `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ ~# rep_auGP size_auGQ)) } in \ (@ (m_akV3 :: * -> *)) (w2_akV4 :: Language.Haskell.TH.Syntax.Quasi m_akV3) -> case w2_akV4 of ww_akV5 [Dmd=] { Language.Haskell.TH.Syntax.D:Quasi ww1_akV7 [Dmd=] ww2_akV8 ww3_akV9 ww4_akVa ww5_akVb ww6_akVc ww7_akVd ww8_akVe ww9_akVf ww10_akVg ww11_akVh ww12_akVi ww13_akVj ww14_akVk ww15_akVl ww16_akVm ww17_akVn ww18_akVo -> case ww1_akV7 of _ [Occ=Dead, Dmd=] { GHC.Base.D:Monad ww20_akVt [Dmd=] ww21_akVu ww22_akVv ww23_akVw -> let { lvl_sxDt :: m_akV3 Language.Haskell.TH.Syntax.Type [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 1 0}] lvl_sxDt = (w1_akV2 `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type))) @ m_akV3 ww_akV5 } in ww20_akVt @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (let { lvl_sxDs :: m_akV3 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType, Unf=Unf{Src=, TopLvl=False, Arity=0, Value=False, ConLike=False, WorkFree=False, Expandable=False, Guidance=IF_ARGS [] 1 0}] lvl_sxDs = (w1_acZp `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp))) @ m_akV3 ww_akV5 } in ww20_akVt @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (ww22_akVv @ Language.Haskell.TH.Syntax.Exp lvl_sxD4) (\ (x_acZW :: Language.Haskell.TH.Syntax.Exp) -> ww20_akVt @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp lvl_sxDs (\ (x1_acZX :: Language.Haskell.TH.Syntax.Exp) -> ww22_akVv @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.AppE x_acZW x1_acZX)))) (\ (x_akVz :: Language.Haskell.TH.Syntax.Exp) -> ww20_akVt @ Language.Haskell.TH.Syntax.Type @ Language.Haskell.TH.Syntax.Exp lvl_sxDt (\ (x1_akVA :: Language.Haskell.TH.Syntax.Type) -> ww22_akVv @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.SigE x_akVz x1_akVA))) } } $clift_avAv :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp [LclId, Arity=5, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] $clift_avAv = a_swCv `cast` (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp)) CLaSH.Sized.Fixed.$fLiftFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ) [LclIdX[DFunId(nt)], Arity=5, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=4, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= $clift_avAv `cast` (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N) :: (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ)))}] CLaSH.Sized.Fixed.$fLiftFixed = a_swCv `cast` (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> (_R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N)) ; Sym (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N) :: (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ))) ------ Local rules for imported ids -------- "SPEC GHC.Real.^ [GHC.Types.Double, GHC.Integer.Type.Integer]" [1] forall ($dNum_swu4 :: GHC.Num.Num GHC.Types.Double) ($dIntegral_swu5 :: GHC.Real.Integral GHC.Integer.Type.Integer). GHC.Real.^ @ GHC.Types.Double @ GHC.Integer.Type.Integer $dNum_swu4 $dIntegral_swu5 = $s^_swu6 *** Tidy Core: ==================== Tidy Core ==================== Result size of Tidy Core = {terms: 2,126, types: 7,974, coercions: 959} lvl_rxLl :: [GHC.Types.Char] [GblId, Str=DmdType] lvl_rxLl = GHC.CString.unpackCString# "Negative exponent"# CLaSH.Sized.Fixed.$s^1 :: GHC.Types.Double [GblId, Str=DmdType b] CLaSH.Sized.Fixed.$s^1 = GHC.Err.error @ GHC.Types.Double lvl_rxLl lvl1_rxLm :: GHC.Integer.Type.Integer [GblId, Str=DmdType] lvl1_rxLm = __integer 1 lvl2_rxLn :: GHC.Integer.Type.Integer [GblId, Str=DmdType] lvl2_rxLn = __integer 2 Rec { $wg1_rxLo :: GHC.Prim.Double# -> GHC.Integer.Type.Integer -> GHC.Prim.Double# -> GHC.Prim.Double# [GblId, Arity=3, Str=DmdType ] $wg1_rxLo = \ (ww_sxan :: GHC.Prim.Double#) (w_sxaj :: GHC.Integer.Type.Integer) (ww1_sxar :: GHC.Prim.Double#) -> case GHC.Integer.Type.eqInteger# (GHC.Integer.Type.remInteger w_sxaj GHC.Real.even2) GHC.Real.even1 of wild_akF2 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akF2 of _ [Occ=Dead] { GHC.Types.False -> case GHC.Integer.Type.eqInteger# w_sxaj lvl1_rxLm of wild1_a2f3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild1_a2f3 of _ [Occ=Dead] { GHC.Types.False -> $wg1_rxLo (GHC.Prim.*## ww_sxan ww_sxan) (GHC.Integer.Type.quotInteger (GHC.Integer.Type.minusInteger w_sxaj lvl1_rxLm) lvl2_rxLn) (GHC.Prim.*## ww_sxan ww1_sxar); GHC.Types.True -> GHC.Prim.*## ww_sxan ww1_sxar } }; GHC.Types.True -> $wg1_rxLo (GHC.Prim.*## ww_sxan ww_sxan) (GHC.Integer.Type.quotInteger w_sxaj lvl2_rxLn) ww1_sxar } } end Rec } Rec { CLaSH.Sized.Fixed.$wf [Occ=LoopBreaker] :: GHC.Prim.Double# -> GHC.Integer.Type.Integer -> GHC.Prim.Double# [GblId, Arity=2, Str=DmdType ] CLaSH.Sized.Fixed.$wf = \ (ww_sxaB :: GHC.Prim.Double#) (w_sxay :: GHC.Integer.Type.Integer) -> case GHC.Integer.Type.eqInteger# (GHC.Integer.Type.remInteger w_sxay GHC.Real.even2) GHC.Real.even1 of wild_akF2 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akF2 of _ [Occ=Dead] { GHC.Types.False -> case GHC.Integer.Type.eqInteger# w_sxay lvl1_rxLm of wild1_a2f3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild1_a2f3 of _ [Occ=Dead] { GHC.Types.False -> $wg1_rxLo (GHC.Prim.*## ww_sxaB ww_sxaB) (GHC.Integer.Type.quotInteger (GHC.Integer.Type.minusInteger w_sxay lvl1_rxLm) lvl2_rxLn) ww_sxaB; GHC.Types.True -> ww_sxaB } }; GHC.Types.True -> CLaSH.Sized.Fixed.$wf (GHC.Prim.*## ww_sxaB ww_sxaB) (GHC.Integer.Type.quotInteger w_sxay lvl2_rxLn) } } end Rec } CLaSH.Sized.Fixed.$s^2 :: GHC.Integer.Type.Integer [GblId, Str=DmdType, Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [] 100 0}] CLaSH.Sized.Fixed.$s^2 = __integer 0 CLaSH.Sized.Fixed.$w$s^ [InlPrag=[1]] :: GHC.Types.Double -> GHC.Integer.Type.Integer -> GHC.Prim.Double# [GblId, Arity=2, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [20 0] 162 0}] CLaSH.Sized.Fixed.$w$s^ = \ (w_sxaH :: GHC.Types.Double) (w1_sxaI :: GHC.Integer.Type.Integer) -> case GHC.Integer.Type.ltInteger# w1_sxaI CLaSH.Sized.Fixed.$s^2 of wild_a4It { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a4It of _ [Occ=Dead] { GHC.Types.False -> case GHC.Integer.Type.eqInteger# w1_sxaI CLaSH.Sized.Fixed.$s^2 of wild2_a2f3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild2_a2f3 of _ [Occ=Dead] { GHC.Types.False -> case w_sxaH of _ [Occ=Dead] { GHC.Types.D# ww1_sxaB -> CLaSH.Sized.Fixed.$wf ww1_sxaB w1_sxaI }; GHC.Types.True -> 1.0 } }; GHC.Types.True -> case CLaSH.Sized.Fixed.$s^1 of wild2_00 { } } } CLaSH.Sized.Fixed.$s^ [InlPrag=INLINE[0]] :: GHC.Types.Double -> GHC.Integer.Type.Integer -> GHC.Types.Double [GblId, Arity=2, Str=DmdType m, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (w_sxaH [Occ=Once] :: GHC.Types.Double) (w1_sxaI [Occ=Once] :: GHC.Integer.Type.Integer) -> case CLaSH.Sized.Fixed.$w$s^ w_sxaH w1_sxaI of ww_sxaL { __DEFAULT -> GHC.Types.D# ww_sxaL }}] CLaSH.Sized.Fixed.$s^ = \ (w_sxaH :: GHC.Types.Double) (w1_sxaI :: GHC.Integer.Type.Integer) -> case CLaSH.Sized.Fixed.$w$s^ w_sxaH w1_sxaI of ww_sxaL { __DEFAULT -> GHC.Types.D# ww_sxaL } lvl3_rxLp :: GHC.Types.Double [GblId, Caf=NoCafRefs, Str=DmdType m] lvl3_rxLp = GHC.Types.D# 2.0 a_rxLq :: [GHC.Types.Char] [GblId, Str=DmdType] a_rxLq = GHC.CString.unpackCString# "Fixed"# a1_rxLr :: [GHC.Types.Char] [GblId, Str=DmdType] a1_rxLr = GHC.CString.unpackCString# "clash-prelude-0.5"# a2_rxLs :: [GHC.Types.Char] [GblId, Str=DmdType] a2_rxLs = GHC.CString.unpackCString# "CLaSH.Sized.Fixed"# a3_rxLt :: Language.Haskell.TH.Syntax.NameFlavour [GblId, Str=DmdType m5] a3_rxLt = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.DataName (a1_rxLr `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a2_rxLs `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) lvl4_rxLu :: Language.Haskell.TH.Syntax.Name [GblId, Str=DmdType m] lvl4_rxLu = Language.Haskell.TH.Syntax.Name (a_rxLq `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a3_rxLt a4_rxLv :: [GHC.Types.Char] [GblId, Str=DmdType] a4_rxLv = GHC.CString.unpackCString# "fromInteger"# a5_rxLw :: [GHC.Types.Char] [GblId, Str=DmdType] a5_rxLw = GHC.CString.unpackCString# "base"# a6_rxLx :: [GHC.Types.Char] [GblId, Str=DmdType] a6_rxLx = GHC.CString.unpackCString# "GHC.Num"# a7_rxLy :: Language.Haskell.TH.Syntax.NameFlavour [GblId, Str=DmdType m5] a7_rxLy = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.VarName (a5_rxLw `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a6_rxLx `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) lvl5_rxLz :: Language.Haskell.TH.Syntax.Name [GblId, Str=DmdType m] lvl5_rxLz = Language.Haskell.TH.Syntax.Name (a4_rxLv `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a7_rxLy lvl6_rxLA :: Language.Haskell.TH.Syntax.Exp [GblId, Str=DmdType] lvl6_rxLA = Language.Haskell.TH.Syntax.ConE lvl4_rxLu lvl7_rxLB :: Language.Haskell.TH.Syntax.Exp [GblId, Str=DmdType] lvl7_rxLB = Language.Haskell.TH.Syntax.VarE lvl5_rxLz CLaSH.Sized.Fixed.$wa :: forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> forall (m_awx9 :: * -> *). Language.Haskell.TH.Syntax.Quasi m_awx9 => m_awx9 (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) [GblId, Arity=4, Str=DmdType ] CLaSH.Sized.Fixed.$wa = \ (@ (frac_avhM :: GHC.TypeLits.Nat)) (@ (rep_avhN :: GHC.TypeLits.Nat -> *)) (@ (size_avhO :: GHC.TypeLits.Nat)) (w_sxaN :: GHC.TypeLits.KnownNat frac_avhM) (w1_sxaP :: GHC.Enum.Bounded (rep_avhN size_avhO)) (w2_sxaQ :: GHC.Real.Integral (rep_avhN size_avhO)) (w3_sxaR :: GHC.Types.Double) -> let { x_akVD :: GHC.Integer.Type.Integer [LclId, Str=DmdType] x_akVD = case w3_sxaR of _ [Occ=Dead] { GHC.Types.D# x1_aw80 -> case CLaSH.Sized.Fixed.$w$s^ lvl3_rxLp (w_sxaN `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_avhM ~# GHC.Integer.Type.Integer)) of ww_sxaL { __DEFAULT -> case GHC.Integer.Type.decodeDoubleInteger (GHC.Prim.*## x1_aw80 ww_sxaL) of _ [Occ=Dead] { (# ipv_aw8Q, ipv1_aw8R #) -> let { truncated_swu2 [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType] truncated_swu2 = case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# ipv1_aw8R 0) of _ [Occ=Dead] { GHC.Types.False -> GHC.Integer.Type.shiftLInteger ipv_aw8Q ipv1_aw8R; GHC.Types.True -> let { s_aw8X :: GHC.Prim.Int# [LclId, Str=DmdType] s_aw8X = GHC.Prim.negateInt# ipv1_aw8R } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.># s_aw8X 52) of _ [Occ=Dead] { GHC.Types.False -> case GHC.Integer.Type.ltInteger# ipv_aw8Q CLaSH.Sized.Fixed.$s^2 of wild3_aw92 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild3_aw92 of _ [Occ=Dead] { GHC.Types.False -> case GHC.Integer.Type.integerToInt ipv_aw8Q of n_aw96 { __DEFAULT -> GHC.Integer.Type.smallInteger (GHC.Prim.uncheckedIShiftRA# n_aw96 s_aw8X) }; GHC.Types.True -> case GHC.Integer.Type.integerToInt (GHC.Integer.Type.negateInteger ipv_aw8Q) of n_aw99 { __DEFAULT -> GHC.Integer.Type.smallInteger (GHC.Prim.negateInt# (GHC.Prim.uncheckedIShiftRA# n_aw99 s_aw8X)) } } }; GHC.Types.True -> CLaSH.Sized.Fixed.$s^2 } } } in let { rMax_swu0 [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType] rMax_swu0 = GHC.Real.toInteger @ (rep_avhN size_avhO) w2_sxaQ (GHC.Enum.maxBound @ (rep_avhN size_avhO) w1_sxaP) } in case GHC.Integer.Type.gtInteger# truncated_swu2 rMax_swu0 of wild1_akJ6 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild1_akJ6 of _ [Occ=Dead] { GHC.Types.False -> let { rMin_swu1 [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType] rMin_swu1 = GHC.Real.toInteger @ (rep_avhN size_avhO) w2_sxaQ (GHC.Enum.minBound @ (rep_avhN size_avhO) w1_sxaP) } in case GHC.Integer.Type.ltInteger# truncated_swu2 rMin_swu1 of wild3_a4It { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild3_a4It of _ [Occ=Dead] { GHC.Types.False -> truncated_swu2; GHC.Types.True -> rMin_swu1 } }; GHC.Types.True -> rMax_swu0 } } } } } } in let { a10_sxDZ :: Language.Haskell.TH.Syntax.Lit [LclId, Str=DmdType] a10_sxDZ = Language.Haskell.TH.Syntax.IntegerL x_akVD } in let { lvl17_sxD6 :: Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] lvl17_sxD6 = Language.Haskell.TH.Syntax.LitE a10_sxDZ } in \ (@ (m_awx9 :: * -> *)) (w4_awxa :: Language.Haskell.TH.Syntax.Quasi m_awx9) -> case w4_awxa of _ [Occ=Dead] { Language.Haskell.TH.Syntax.D:Quasi ww1_awxd ww2_awxe ww3_awxf ww4_awxg ww5_awxh ww6_awxi ww7_awxj ww8_awxk ww9_awxl ww10_awxm ww11_awxn ww12_awxo ww13_awxp ww14_awxq ww15_awxr ww16_awxs ww17_awxt ww18_awxu -> case ww1_awxd of _ [Occ=Dead] { GHC.Base.D:Monad ww20_awxy ww21_awxz ww22_awxA ww23_awxB -> ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) (let { lvl18_sxD8 :: m_awx9 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] lvl18_sxD8 = let { lvl19_sxD7 :: m_awx9 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] lvl19_sxD7 = ww22_awxA @ Language.Haskell.TH.Syntax.Exp lvl17_sxD6 } in ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (ww22_awxA @ Language.Haskell.TH.Syntax.Exp lvl7_rxLB) (\ (x1_Xd36 :: Language.Haskell.TH.Syntax.Exp) -> ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp lvl19_sxD7 (\ (x2_acZX :: Language.Haskell.TH.Syntax.Exp) -> ww22_awxA @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.AppE x1_Xd36 x2_acZX))) } in ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (ww22_awxA @ Language.Haskell.TH.Syntax.Exp lvl6_rxLA) (\ (x1_acZW :: Language.Haskell.TH.Syntax.Exp) -> ww20_awxy @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp lvl18_sxD8 (\ (x2_acZX :: Language.Haskell.TH.Syntax.Exp) -> ww22_awxA @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.AppE x1_acZW x2_acZX)))) (\ (x1_awxD :: Language.Haskell.TH.Syntax.Exp) -> ww22_awxA @ (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) (x1_awxD `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:TExp[0] _N) :: Language.Haskell.TH.Syntax.Exp ~# Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)))) } } CLaSH.Sized.Fixed.fLit1 [InlPrag=INLINE[0]] :: forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> forall (m_aw9c :: * -> *). Language.Haskell.TH.Syntax.Quasi m_aw9c => m_aw9c (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) [GblId, Arity=5, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= \ (@ (frac_avhM :: GHC.TypeLits.Nat)) (@ (rep_avhN :: GHC.TypeLits.Nat -> *)) (@ (size_avhO :: GHC.TypeLits.Nat)) (w_sxaN [Occ=Once] :: GHC.TypeLits.KnownNat frac_avhM) _ [Occ=Dead] (w2_sxaP [Occ=Once] :: GHC.Enum.Bounded (rep_avhN size_avhO)) (w3_sxaQ [Occ=Once] :: GHC.Real.Integral (rep_avhN size_avhO)) (w4_sxaR [Occ=Once] :: GHC.Types.Double) -> CLaSH.Sized.Fixed.$wa @ frac_avhM @ rep_avhN @ size_avhO w_sxaN w2_sxaP w3_sxaQ w4_sxaR}] CLaSH.Sized.Fixed.fLit1 = \ (@ (frac_avhM :: GHC.TypeLits.Nat)) (@ (rep_avhN :: GHC.TypeLits.Nat -> *)) (@ (size_avhO :: GHC.TypeLits.Nat)) (w_sxaN :: GHC.TypeLits.KnownNat frac_avhM) _ [Occ=Dead] (w2_sxaP :: GHC.Enum.Bounded (rep_avhN size_avhO)) (w3_sxaQ :: GHC.Real.Integral (rep_avhN size_avhO)) (w4_sxaR :: GHC.Types.Double) -> CLaSH.Sized.Fixed.$wa @ frac_avhM @ rep_avhN @ size_avhO w_sxaN w2_sxaP w3_sxaQ w4_sxaR CLaSH.Sized.Fixed.fLit :: forall (frac_auFI :: GHC.TypeLits.Nat) (rep_auFJ :: GHC.TypeLits.Nat -> *) (size_auFK :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_auFI, GHC.Num.Num (rep_auFJ size_auFK), GHC.Enum.Bounded (rep_auFJ size_auFK), GHC.Real.Integral (rep_auFJ size_auFK)) => GHC.Types.Double -> Language.Haskell.TH.Syntax.Q (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_auFI rep_auFJ size_auFK)) [GblId, Arity=5, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= CLaSH.Sized.Fixed.fLit1 `cast` (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO))) ~# (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> Language.Haskell.TH.Syntax.Q (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO))))}] CLaSH.Sized.Fixed.fLit = CLaSH.Sized.Fixed.fLit1 `cast` (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO))) ~# (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> Language.Haskell.TH.Syntax.Q (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)))) poly_a_rxLC :: forall (n_auFM :: GHC.TypeLits.Nat). 1 GHC.TypeLits.<= n_auFM [GblId, Str=DmdType b] poly_a_rxLC = \ (@ (n_auFM :: GHC.TypeLits.Nat)) -> Control.Exception.Base.absentError @ (1 GHC.TypeLits.<= n_auFM) "ww_sxb3{v} [lid] 1 base:GHC.TypeLits.<={tc r4y} n{tv auFM} [tv]"# CLaSH.Sized.Fixed.$wsatN2 :: forall (rep_auFL :: GHC.TypeLits.Nat -> *) (n_auFM :: GHC.TypeLits.Nat). (((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) GHC.Prim.~# (n_auFM GHC.TypeLits.+ 2)) -> CLaSH.Class.BitVector.BitVector (rep_auFL n_auFM) => (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) => rep_auFL (n_auFM GHC.TypeLits.+ 2) -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit) -> (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM) ~ n_auFM, CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2)) ~ (n_auFM GHC.TypeLits.+ 2), GHC.TypeLits.KnownNat n_auFM, GHC.TypeLits.KnownNat (n_auFM GHC.TypeLits.+ 2), GHC.Enum.Bounded (rep_auFL n_auFM)) => (rep_auFL (n_auFM GHC.TypeLits.+ 2) -> GHC.Types.Bool) -> rep_auFL (n_auFM GHC.TypeLits.+ 2) -> rep_auFL n_auFM [GblId, Arity=10, Str=DmdType ] CLaSH.Sized.Fixed.$wsatN2 = \ (@ (rep_auFL :: GHC.TypeLits.Nat -> *)) (@ (n_auFM :: GHC.TypeLits.Nat)) (ww_sxb7 :: ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) GHC.Prim.~# (n_auFM GHC.TypeLits.+ 2)) (ww1_sxb9 :: CLaSH.Class.BitVector.BitVector (rep_auFL n_auFM)) (ww2_sxbd :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) => rep_auFL (n_auFM GHC.TypeLits.+ 2) -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit) (ww3_sxbg :: CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM) ~ n_auFM) (ww4_sxbh :: CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2)) ~ (n_auFM GHC.TypeLits.+ 2)) (ww5_sxbi :: GHC.TypeLits.KnownNat n_auFM) (ww6_sxbj :: GHC.TypeLits.KnownNat (n_auFM GHC.TypeLits.+ 2)) (ww7_sxbk :: GHC.Enum.Bounded (rep_auFL n_auFM)) (ww8_sxbD :: rep_auFL (n_auFM GHC.TypeLits.+ 2) -> GHC.Types.Bool) (w_sxb0 :: rep_auFL (n_auFM GHC.TypeLits.+ 2)) -> case ww4_sxbh of _ [Occ=Dead] { GHC.Types.Eq# cobox1_sxDc -> let { a10_sxop [Dmd=] :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit [LclId, Str=DmdType] a10_sxop = ww2_sxbd (ww6_sxbj `cast` ((GHC.TypeLits.KnownNat (Sym cobox1_sxDc))_R :: GHC.TypeLits.KnownNat (n_auFM GHC.TypeLits.+ 2) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))))) w_sxb0 } in let { s_swtS :: CLaSH.Sized.Vector.Vec n_auFM CLaSH.Bit.Bit [LclId, Str=DmdType] s_swtS = CLaSH.Sized.Vector.vtail @ n_auFM @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_auFM GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (a10_sxop `cast` ((CLaSH.Sized.Vector.Vec (cobox1_sxDc ; Sym ww_sxb7) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit))) } in case ww8_sxbD w_sxb0 of _ [Occ=Dead] { GHC.Types.False -> case CLaSH.Sized.Vector.vhead @ (n_auFM GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (a10_sxop `cast` ((CLaSH.Sized.Vector.Vec (cobox1_sxDc ; Sym ww_sxb7) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit)) of _ [Occ=Dead] { CLaSH.Bit.H -> case CLaSH.Sized.Vector.vhead @ n_auFM @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_auFM GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (a10_sxop `cast` ((CLaSH.Sized.Vector.Vec (cobox1_sxDc ; Sym ww_sxb7) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit))) of _ [Occ=Dead] { CLaSH.Bit.H -> GHC.Enum.minBound @ (rep_auFL n_auFM) ww7_sxbk; CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_auFL n_auFM) ww1_sxb9 (case ww3_sxbg of _ [Occ=Dead] { GHC.Types.Eq# cobox3_dw7b -> ww5_sxbi `cast` ((GHC.TypeLits.KnownNat (Sym cobox3_dw7b))_R :: GHC.TypeLits.KnownNat n_auFM ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM))) }) (case ww3_sxbg of _ [Occ=Dead] { GHC.Types.Eq# cobox3_dw7c -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox3_dw7c) _R)_R :: CLaSH.Sized.Vector.Vec n_auFM CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) CLaSH.Bit.Bit) }) }; CLaSH.Bit.L -> case CLaSH.Sized.Vector.vhead @ n_auFM @ CLaSH.Bit.Bit (CLaSH.Sized.Vector.vtail @ (n_auFM GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (a10_sxop `cast` ((CLaSH.Sized.Vector.Vec (cobox1_sxDc ; Sym ww_sxb7) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit))) of _ [Occ=Dead] { CLaSH.Bit.H -> GHC.Enum.maxBound @ (rep_auFL n_auFM) ww7_sxbk; CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_auFL n_auFM) ww1_sxb9 (case ww3_sxbg of _ [Occ=Dead] { GHC.Types.Eq# cobox3_dw7b -> ww5_sxbi `cast` ((GHC.TypeLits.KnownNat (Sym cobox3_dw7b))_R :: GHC.TypeLits.KnownNat n_auFM ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM))) }) (case ww3_sxbg of _ [Occ=Dead] { GHC.Types.Eq# cobox3_dw7c -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox3_dw7c) _R)_R :: CLaSH.Sized.Vector.Vec n_auFM CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) CLaSH.Bit.Bit) }) } }; GHC.Types.True -> case CLaSH.Sized.Vector.vhead @ (n_auFM GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (a10_sxop `cast` ((CLaSH.Sized.Vector.Vec (cobox1_sxDc ; Sym ww_sxb7) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit)) of _ [Occ=Dead] { CLaSH.Bit.H -> case CLaSH.Sized.Vector.vhead' @ n_auFM @ CLaSH.Bit.Bit (poly_a_rxLC @ n_auFM) s_swtS of _ [Occ=Dead] { CLaSH.Bit.H -> CLaSH.Class.BitVector.fromBV @ (rep_auFL n_auFM) ww1_sxb9 (case ww3_sxbg of _ [Occ=Dead] { GHC.Types.Eq# cobox3_dw79 -> ww5_sxbi `cast` ((GHC.TypeLits.KnownNat (Sym cobox3_dw79))_R :: GHC.TypeLits.KnownNat n_auFM ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM))) }) (case ww3_sxbg of _ [Occ=Dead] { GHC.Types.Eq# cobox3_dw7a -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox3_dw7a) _R)_R :: CLaSH.Sized.Vector.Vec n_auFM CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) CLaSH.Bit.Bit) }); CLaSH.Bit.L -> GHC.Enum.minBound @ (rep_auFL n_auFM) ww7_sxbk }; CLaSH.Bit.L -> case CLaSH.Sized.Vector.vhead' @ n_auFM @ CLaSH.Bit.Bit (poly_a_rxLC @ n_auFM) s_swtS of _ [Occ=Dead] { CLaSH.Bit.H -> GHC.Enum.maxBound @ (rep_auFL n_auFM) ww7_sxbk; CLaSH.Bit.L -> CLaSH.Class.BitVector.fromBV @ (rep_auFL n_auFM) ww1_sxb9 (case ww3_sxbg of _ [Occ=Dead] { GHC.Types.Eq# cobox3_dw79 -> ww5_sxbi `cast` ((GHC.TypeLits.KnownNat (Sym cobox3_dw79))_R :: GHC.TypeLits.KnownNat n_auFM ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM))) }) (case ww3_sxbg of _ [Occ=Dead] { GHC.Types.Eq# cobox3_dw7a -> s_swtS `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox3_dw7a) _R)_R :: CLaSH.Sized.Vector.Vec n_auFM CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) CLaSH.Bit.Bit) }) } } } } CLaSH.Sized.Fixed.satN2 [InlPrag=INLINE[0]] :: forall (rep_auFL :: GHC.TypeLits.Nat -> *) (n_auFM :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.SatN2C rep_auFL n_auFM) => rep_auFL (n_auFM GHC.TypeLits.+ 2) -> rep_auFL n_auFM [GblId, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (rep_auFL :: GHC.TypeLits.Nat -> *)) (@ (n_auFM :: GHC.TypeLits.Nat)) (w_sxaZ [Occ=Once!] :: CLaSH.Sized.Fixed.SatN2C rep_auFL n_auFM) (w1_sxb0 [Occ=Once] :: rep_auFL (n_auFM GHC.TypeLits.+ 2)) -> case w_sxaZ of _ [Occ=Dead] { (_ [Occ=Dead], ww2_sxb4 [Occ=Once!], ww3_sxb9 [Occ=Once], ww4_sxba [Occ=Once!], ww5_sxbg [Occ=Once], ww6_sxbh [Occ=Once!], ww7_sxbi [Occ=Once], ww8_sxbj [Occ=Once], ww9_sxbk [Occ=Once], ww10_sxbl [Occ=Once!]) -> case ww2_sxb4 of _ [Occ=Dead] { GHC.Types.Eq# ww12_sxb7 -> case ww4_sxba of _ [Occ=Dead] { CLaSH.Class.BitVector.D:BitVector ww14_sxbd [Occ=Once] _ [Occ=Dead] -> case ww6_sxbh of ww16_XxbC { GHC.Types.Eq# _ [Occ=Dead] -> case ww10_sxbl of _ [Occ=Dead] { Data.Bits.D:Bits _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] ww33_sxbD [Occ=Once] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> CLaSH.Sized.Fixed.$wsatN2 @ rep_auFL @ n_auFM @~ ww12_sxb7 ww3_sxb9 ww14_sxbd ww5_sxbg ww16_XxbC ww7_sxbi ww8_sxbj ww9_sxbk ww33_sxbD w1_sxb0 } } } } }}] CLaSH.Sized.Fixed.satN2 = \ (@ (rep_auFL :: GHC.TypeLits.Nat -> *)) (@ (n_auFM :: GHC.TypeLits.Nat)) (w_sxaZ :: CLaSH.Sized.Fixed.SatN2C rep_auFL n_auFM) (w1_sxb0 :: rep_auFL (n_auFM GHC.TypeLits.+ 2)) -> case w_sxaZ of _ [Occ=Dead] { (ww1_sxb3, ww2_sxb4, ww3_sxb9, ww4_sxba, ww5_sxbg, ww6_sxbh, ww7_sxbi, ww8_sxbj, ww9_sxbk, ww10_sxbl) -> case ww2_sxb4 of _ [Occ=Dead] { GHC.Types.Eq# ww12_sxb7 -> case ww4_sxba of _ [Occ=Dead] { CLaSH.Class.BitVector.D:BitVector ww14_sxbd ww15_sxbe -> case ww6_sxbh of ww16_Xxe7 { GHC.Types.Eq# ipv_sxoJ -> case ww10_sxbl of _ [Occ=Dead] { Data.Bits.D:Bits ww18_sxbo ww19_sxbp ww20_sxbq ww21_sxbr ww22_sxbs ww23_sxbt ww24_sxbu ww25_sxbv ww26_sxbw ww27_sxbx ww28_sxby ww29_sxbz ww30_sxbA ww31_sxbB ww32_sxbC ww33_sxbD ww34_sxbE ww35_sxbF ww36_sxbG ww37_sxbH ww38_sxbI ww39_sxbJ ww40_sxbK -> CLaSH.Sized.Fixed.$wsatN2 @ rep_auFL @ n_auFM @~ ww12_sxb7 ww3_sxb9 ww14_sxbd ww5_sxbg ww16_Xxe7 ww7_sxbi ww8_sxbj ww9_sxbk ww33_sxbD w1_sxb0 } } } } } CLaSH.Sized.Fixed.$wresizeF :: forall (frac1_auFN :: GHC.TypeLits.Nat) (frac2_auFO :: GHC.TypeLits.Nat) (rep_auFP :: GHC.TypeLits.Nat -> *) (size1_auFQ :: GHC.TypeLits.Nat) (size2_auFR :: GHC.TypeLits.Nat). (GHC.Enum.Bounded (rep_auFP size2_auFR), GHC.Classes.Ord (rep_auFP size1_auFQ), GHC.Num.Num (rep_auFP size1_auFQ), Data.Bits.Bits (rep_auFP size1_auFQ), CLaSH.Class.Num.Resize rep_auFP, GHC.TypeLits.KnownNat size2_auFR, GHC.TypeLits.KnownNat size1_auFQ, Data.Bits.Bits (rep_auFP size2_auFR), GHC.TypeLits.KnownNat frac2_auFO, GHC.TypeLits.KnownNat frac1_auFN) => CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ -> CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR [GblId, Arity=11, Str=DmdType ] CLaSH.Sized.Fixed.$wresizeF = \ (@ (frac1_auFN :: GHC.TypeLits.Nat)) (@ (frac2_auFO :: GHC.TypeLits.Nat)) (@ (rep_auFP :: GHC.TypeLits.Nat -> *)) (@ (size1_auFQ :: GHC.TypeLits.Nat)) (@ (size2_auFR :: GHC.TypeLits.Nat)) (ww_sxcn :: GHC.Enum.Bounded (rep_auFP size2_auFR)) (ww1_sxcp :: GHC.Classes.Ord (rep_auFP size1_auFQ)) (ww2_sxcq :: GHC.Num.Num (rep_auFP size1_auFQ)) (ww3_sxcr :: Data.Bits.Bits (rep_auFP size1_auFQ)) (ww4_sxcs :: CLaSH.Class.Num.Resize rep_auFP) (ww5_sxct :: GHC.TypeLits.KnownNat size2_auFR) (ww6_sxcu :: GHC.TypeLits.KnownNat size1_auFQ) (ww7_sxcv :: Data.Bits.Bits (rep_auFP size2_auFR)) (ww8_sxcw :: GHC.TypeLits.KnownNat frac2_auFO) (ww9_sxcx :: GHC.TypeLits.KnownNat frac1_auFN) (w_sxck :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ) -> case GHC.Integer.Type.leInteger# (ww6_sxcu `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat size1_auFQ ~# GHC.Integer.Type.Integer)) (ww5_sxct `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat size2_auFR ~# GHC.Integer.Type.Integer)) of wild_akJ3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_akJ3 of _ [Occ=Dead] { GHC.Types.False -> case ww3_sxcr of _ [Occ=Dead] { Data.Bits.D:Bits ww11_sxbQ ww12_sxbW ww13_sxbX ww14_sxbY ww15_sxbZ ww16_sxc0 ww17_sxc1 ww18_sxc2 ww19_sxc3 ww20_sxc4 ww21_sxc5 ww22_sxc6 ww23_sxc7 ww24_sxc8 ww25_sxc9 ww26_sxca ww27_sxcb ww28_sxcc ww29_sxcd ww30_sxce ww31_sxcf ww32_sxcg ww33_sxch -> case ww11_sxbQ of _ [Occ=Dead] { GHC.Classes.D:Eq ww35_sxbT ww36_sxbU -> case GHC.Integer.Type.integerToInt (ww9_sxcx `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac1_auFN ~# GHC.Integer.Type.Integer)) of wild2_akCB { __DEFAULT -> case GHC.Integer.Type.integerToInt (ww8_sxcw `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac2_auFO ~# GHC.Integer.Type.Integer)) of wild3_XkFQ { __DEFAULT -> let { fMax_swtA :: rep_auFP size2_auFR [LclId, Str=DmdType] fMax_swtA = GHC.Enum.maxBound @ (rep_auFP size2_auFR) ww_sxcn } in let { mask_swtz :: rep_auFP size1_auFQ [LclId, Str=DmdType] mask_swtz = ww15_sxbZ ((ww4_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size2_auFR @ size1_auFQ ww5_sxct ww6_sxcu fMax_swtA) } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# wild2_akCB wild3_XkFQ) of _ [Occ=Dead] { GHC.Types.False -> let { shiftedR_swty :: rep_auFP size1_auFQ [LclId, Str=DmdType] shiftedR_swty = ww29_sxcd (w_sxck `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ)) (GHC.Types.I# (GHC.Prim.-# wild2_akCB wild3_XkFQ)) } in case GHC.Classes.>= @ (rep_auFP size1_auFQ) ww1_sxcp (w_sxck `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ)) (GHC.Num.fromInteger @ (rep_auFP size1_auFQ) ww2_sxcq CLaSH.Sized.Fixed.$s^2) of _ [Occ=Dead] { GHC.Types.False -> case ww35_sxbT (ww12_sxbW shiftedR_swty mask_swtz) mask_swtz of _ [Occ=Dead] { GHC.Types.False -> (GHC.Enum.minBound @ (rep_auFP size2_auFR) ww_sxcn) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR); GHC.Types.True -> ((ww4_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww6_sxcu ww5_sxct shiftedR_swty) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) }; GHC.Types.True -> case ww35_sxbT (ww12_sxbW shiftedR_swty mask_swtz) (GHC.Num.fromInteger @ (rep_auFP size1_auFQ) ww2_sxcq CLaSH.Sized.Fixed.$s^2) of _ [Occ=Dead] { GHC.Types.False -> fMax_swtA `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR); GHC.Types.True -> ((ww4_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww6_sxcu ww5_sxct shiftedR_swty) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) } }; GHC.Types.True -> let { shiftedL_swtK :: rep_auFP size1_auFQ [LclId, Str=DmdType] shiftedL_swtK = ww27_sxcb (w_sxck `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ)) (GHC.Types.I# (GHC.Prim.-# wild3_XkFQ wild2_akCB)) } in case GHC.Classes.>= @ (rep_auFP size1_auFQ) ww1_sxcp (w_sxck `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ)) (GHC.Num.fromInteger @ (rep_auFP size1_auFQ) ww2_sxcq CLaSH.Sized.Fixed.$s^2) of _ [Occ=Dead] { GHC.Types.False -> case ww35_sxbT (ww12_sxbW shiftedL_swtK mask_swtz) mask_swtz of _ [Occ=Dead] { GHC.Types.False -> (GHC.Enum.minBound @ (rep_auFP size2_auFR) ww_sxcn) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR); GHC.Types.True -> ((ww4_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww6_sxcu ww5_sxct shiftedL_swtK) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) }; GHC.Types.True -> case ww35_sxbT (ww12_sxbW shiftedL_swtK mask_swtz) (GHC.Num.fromInteger @ (rep_auFP size1_auFQ) ww2_sxcq CLaSH.Sized.Fixed.$s^2) of _ [Occ=Dead] { GHC.Types.False -> fMax_swtA `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR); GHC.Types.True -> ((ww4_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww6_sxcu ww5_sxct shiftedL_swtK) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) } } } } } } }; GHC.Types.True -> case GHC.Integer.Type.integerToInt (ww9_sxcx `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac1_auFN ~# GHC.Integer.Type.Integer)) of wild2_akCB { __DEFAULT -> case GHC.Integer.Type.integerToInt (ww8_sxcw `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac2_auFO ~# GHC.Integer.Type.Integer)) of wild3_XkFG { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# wild2_akCB wild3_XkFG) of _ [Occ=Dead] { GHC.Types.False -> (Data.Bits.shiftR @ (rep_auFP size2_auFR) ww7_sxcv ((ww4_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww6_sxcu ww5_sxct (w_sxck `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ))) (GHC.Types.I# (GHC.Prim.-# wild2_akCB wild3_XkFG))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR); GHC.Types.True -> (Data.Bits.shiftL @ (rep_auFP size2_auFR) ww7_sxcv ((ww4_sxcs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww6_sxcu ww5_sxct (w_sxck `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ))) (GHC.Types.I# (GHC.Prim.-# wild3_XkFG wild2_akCB))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) } } } } } CLaSH.Sized.Fixed.resizeF [InlPrag=INLINE[0]] :: forall (frac1_auFN :: GHC.TypeLits.Nat) (frac2_auFO :: GHC.TypeLits.Nat) (rep_auFP :: GHC.TypeLits.Nat -> *) (size1_auFQ :: GHC.TypeLits.Nat) (size2_auFR :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.ResizeFC rep_auFP frac1_auFN frac2_auFO size1_auFQ size2_auFR) => CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ -> CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR [GblId, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac1_auFN :: GHC.TypeLits.Nat)) (@ (frac2_auFO :: GHC.TypeLits.Nat)) (@ (rep_auFP :: GHC.TypeLits.Nat -> *)) (@ (size1_auFQ :: GHC.TypeLits.Nat)) (@ (size2_auFR :: GHC.TypeLits.Nat)) (w_sxcj [Occ=Once!] :: CLaSH.Sized.Fixed.ResizeFC rep_auFP frac1_auFN frac2_auFO size1_auFQ size2_auFR) (w1_sxck [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ) -> case w_sxcj of _ [Occ=Dead] { (ww1_sxcn [Occ=Once], _ [Occ=Dead], ww3_sxcp [Occ=Once], ww4_sxcq [Occ=Once], ww5_sxcr [Occ=Once], ww6_sxcs [Occ=Once], ww7_sxct [Occ=Once], ww8_sxcu [Occ=Once], ww9_sxcv [Occ=Once], ww10_sxcw [Occ=Once], ww11_sxcx [Occ=Once], _ [Occ=Dead]) -> CLaSH.Sized.Fixed.$wresizeF @ frac1_auFN @ frac2_auFO @ rep_auFP @ size1_auFQ @ size2_auFR ww1_sxcn ww3_sxcp ww4_sxcq ww5_sxcr ww6_sxcs ww7_sxct ww8_sxcu ww9_sxcv ww10_sxcw ww11_sxcx w1_sxck }}] CLaSH.Sized.Fixed.resizeF = \ (@ (frac1_auFN :: GHC.TypeLits.Nat)) (@ (frac2_auFO :: GHC.TypeLits.Nat)) (@ (rep_auFP :: GHC.TypeLits.Nat -> *)) (@ (size1_auFQ :: GHC.TypeLits.Nat)) (@ (size2_auFR :: GHC.TypeLits.Nat)) (w_sxcj :: CLaSH.Sized.Fixed.ResizeFC rep_auFP frac1_auFN frac2_auFO size1_auFQ size2_auFR) (w1_sxck :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ) -> case w_sxcj of _ [Occ=Dead] { (ww1_sxcn, ww2_sxco, ww3_sxcp, ww4_sxcq, ww5_sxcr, ww6_sxcs, ww7_sxct, ww8_sxcu, ww9_sxcv, ww10_sxcw, ww11_sxcx, ww12_sxcy) -> CLaSH.Sized.Fixed.$wresizeF @ frac1_auFN @ frac2_auFO @ rep_auFP @ size1_auFQ @ size2_auFR ww1_sxcn ww3_sxcp ww4_sxcq ww5_sxcr ww6_sxcs ww7_sxct ww8_sxcu ww9_sxcv ww10_sxcw ww11_sxcx w1_sxck } CLaSH.Sized.Fixed.asRepProxy :: forall (frac_auFV :: GHC.TypeLits.Nat) (rep_auFW :: GHC.TypeLits.Nat -> *) (size_auFX :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFV rep_auFW size_auFX -> Data.Proxy.Proxy rep_auFW [GblId, Arity=1, Caf=NoCafRefs, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= \ (@ (frac_avk6 :: GHC.TypeLits.Nat)) (@ (rep_avk7 :: GHC.TypeLits.Nat -> *)) (@ (size_avk8 :: GHC.TypeLits.Nat)) _ [Occ=Dead] -> Data.Proxy.Proxy @ (GHC.TypeLits.Nat -> *) @ rep_avk7}] CLaSH.Sized.Fixed.asRepProxy = \ (@ (frac_avk6 :: GHC.TypeLits.Nat)) (@ (rep_avk7 :: GHC.TypeLits.Nat -> *)) (@ (size_avk8 :: GHC.TypeLits.Nat)) _ [Occ=Dead] -> Data.Proxy.Proxy @ (GHC.TypeLits.Nat -> *) @ rep_avk7 CLaSH.Sized.Fixed.asFracProxy :: forall (frac_auFY :: GHC.TypeLits.Nat) (rep_auFZ :: GHC.TypeLits.Nat -> *) (size_auG0 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFY rep_auFZ size_auG0 -> Data.Proxy.Proxy frac_auFY [GblId, Arity=1, Caf=NoCafRefs, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= \ (@ (frac_avkp :: GHC.TypeLits.Nat)) (@ (rep_avkq :: GHC.TypeLits.Nat -> *)) (@ (size_avkr :: GHC.TypeLits.Nat)) _ [Occ=Dead] -> Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac_avkp}] CLaSH.Sized.Fixed.asFracProxy = \ (@ (frac_avkp :: GHC.TypeLits.Nat)) (@ (rep_avkq :: GHC.TypeLits.Nat -> *)) (@ (size_avkr :: GHC.TypeLits.Nat)) _ [Occ=Dead] -> Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac_avkp CLaSH.Sized.Fixed.fracShift :: forall (frac_auFS :: GHC.TypeLits.Nat) (rep_auFT :: GHC.TypeLits.Nat -> *) (size_auFU :: GHC.TypeLits.Nat). GHC.TypeLits.KnownNat frac_auFS => CLaSH.Sized.Fixed.Fixed frac_auFS rep_auFT size_auFU -> GHC.Types.Int [GblId, Arity=2, Caf=NoCafRefs, Str=DmdType m, Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_avjN :: GHC.TypeLits.Nat)) (@ (rep_avjO :: GHC.TypeLits.Nat -> *)) (@ (size_avjP :: GHC.TypeLits.Nat)) ($dKnownNat_avxa [Occ=Once] :: GHC.TypeLits.KnownNat frac_avjN) _ [Occ=Dead] -> case GHC.Integer.Type.integerToInt ($dKnownNat_avxa `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_avjN ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> GHC.Types.I# wild_akCB }}] CLaSH.Sized.Fixed.fracShift = \ (@ (frac_avjN :: GHC.TypeLits.Nat)) (@ (rep_avjO :: GHC.TypeLits.Nat -> *)) (@ (size_avjP :: GHC.TypeLits.Nat)) ($dKnownNat_avxa :: GHC.TypeLits.KnownNat frac_avjN) _ [Occ=Dead] -> case GHC.Integer.Type.integerToInt ($dKnownNat_avxa `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_avjN ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> GHC.Types.I# wild_akCB } CLaSH.Sized.Fixed.unUF1 :: forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) [GblId, Arity=1, Caf=NoCafRefs, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.unUF1 = \ (@ (int_avkK :: GHC.TypeLits.Nat)) (@ (frac_avkL :: GHC.TypeLits.Nat)) (ds_dvZi :: CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL)) -> ds_dvZi CLaSH.Sized.Fixed.unUF :: forall (int_auG1 :: GHC.TypeLits.Nat) (frac_auG2 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.UFixed int_auG1 frac_auG2 -> CLaSH.Sized.Unsigned.Unsigned (int_auG1 GHC.TypeLits.+ frac_auG2) [GblId, Arity=1, Caf=NoCafRefs, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.unUF = CLaSH.Sized.Fixed.unUF1 `cast` (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL)) ~# (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL))) CLaSH.Sized.Fixed.uf1 :: forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) [GblId, Arity=2, Caf=NoCafRefs, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= \ (@ (frac_avl5 :: GHC.TypeLits.Nat)) (@ (int_avl6 :: GHC.TypeLits.Nat)) _ [Occ=Dead] (fRep_auGb [Occ=Once] :: CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) -> fRep_auGb}] CLaSH.Sized.Fixed.uf1 = \ (@ (frac_avl5 :: GHC.TypeLits.Nat)) (@ (int_avl6 :: GHC.TypeLits.Nat)) _ [Occ=Dead] (fRep_auGb :: CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) -> fRep_auGb CLaSH.Sized.Fixed.uf :: forall (frac_auG3 :: GHC.TypeLits.Nat) (int_auG4 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_auG3 -> CLaSH.Sized.Unsigned.Unsigned (int_auG4 GHC.TypeLits.+ frac_auG3) -> CLaSH.Sized.Fixed.UFixed int_auG4 frac_auG3 [GblId, Arity=2, Caf=NoCafRefs, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= CLaSH.Sized.Fixed.uf1 `cast` (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) ~# (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Fixed.Fixed frac_avl5 CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)))}] CLaSH.Sized.Fixed.uf = CLaSH.Sized.Fixed.uf1 `cast` (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) ~# (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Fixed.Fixed frac_avl5 CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5))) CLaSH.Sized.Fixed.unSF1 :: forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) [GblId, Arity=1, Caf=NoCafRefs, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.unSF1 = \ (@ (int_avlp :: GHC.TypeLits.Nat)) (@ (frac_avlq :: GHC.TypeLits.Nat)) (ds_dvZu :: CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq)) -> ds_dvZu CLaSH.Sized.Fixed.unSF :: forall (int_auG5 :: GHC.TypeLits.Nat) (frac_auG6 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.SFixed int_auG5 frac_auG6 -> CLaSH.Sized.Signed.Signed (int_auG5 GHC.TypeLits.+ frac_auG6) [GblId, Arity=1, Caf=NoCafRefs, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.unSF = CLaSH.Sized.Fixed.unSF1 `cast` (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq)) ~# (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq))) CLaSH.Sized.Fixed.sf1 :: forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) [GblId, Arity=2, Caf=NoCafRefs, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= \ (@ (frac_avlK :: GHC.TypeLits.Nat)) (@ (int_avlL :: GHC.TypeLits.Nat)) _ [Occ=Dead] (fRep_auG9 [Occ=Once] :: CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) -> fRep_auG9}] CLaSH.Sized.Fixed.sf1 = \ (@ (frac_avlK :: GHC.TypeLits.Nat)) (@ (int_avlL :: GHC.TypeLits.Nat)) _ [Occ=Dead] (fRep_auG9 :: CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) -> fRep_auG9 CLaSH.Sized.Fixed.sf :: forall (frac_auG7 :: GHC.TypeLits.Nat) (int_auG8 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_auG7 -> CLaSH.Sized.Signed.Signed (int_auG8 GHC.TypeLits.+ frac_auG7) -> CLaSH.Sized.Fixed.SFixed int_auG8 frac_auG7 [GblId, Arity=2, Caf=NoCafRefs, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= CLaSH.Sized.Fixed.sf1 `cast` (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) ~# (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Fixed.Fixed frac_avlK CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)))}] CLaSH.Sized.Fixed.sf = CLaSH.Sized.Fixed.sf1 `cast` (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) ~# (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Fixed.Fixed frac_avlK CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK))) CLaSH.Sized.Fixed.unFixed1 :: forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 [GblId, Arity=1, Caf=NoCafRefs, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.unFixed1 = \ (@ (frac_auI2 :: GHC.TypeLits.Nat)) (@ (rep_auI3 :: GHC.TypeLits.Nat -> *)) (@ (size_auI4 :: GHC.TypeLits.Nat)) (ds_dvZF :: CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4) -> ds_dvZF CLaSH.Sized.Fixed.unFixed :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> rep_auFG size_auFH [GblId[[RecSel]], Arity=1, Caf=NoCafRefs, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.unFixed = CLaSH.Sized.Fixed.unFixed1 `cast` (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4) ~# (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> rep_auI3 size_auI4)) lvl8_rxLD :: GHC.Types.Char [GblId, Caf=NoCafRefs, Str=DmdType m] lvl8_rxLD = GHC.Types.C# '-' lvl9_rxLE :: GHC.Types.Char [GblId, Caf=NoCafRefs, Str=DmdType m] lvl9_rxLE = GHC.Types.C# '0' dt_rxLF :: GHC.Integer.Type.Integer [GblId, Str=DmdType] dt_rxLF = __integer 10 $wlvl_rxLG :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) -> (# GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer #) [GblId, Arity=1, Str=DmdType ] $wlvl_rxLG = \ (w_sxd3 :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) -> (# case w_sxd3 of _ [Occ=Dead] { (x_awe6, y_awe7) -> case x_awe6 of _ [Occ=Dead] { GHC.Types.I# x1_awdC -> case x1_awdC of wild2_awdE { __DEFAULT -> GHC.Types.I# (GHC.Prim.+# wild2_awdE 1); 9223372036854775807 -> GHC.Enum.$fEnumInt2 } } }, case w_sxd3 of _ [Occ=Dead] { (x_aweb, y_awec) -> case y_awec of _ [Occ=Dead] { GHC.Real.:% ww1_awdJ ww2_awdK -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger ww1_awdJ dt_rxLF) (GHC.Integer.Type.timesInteger ww2_awdK GHC.Real.$fEnumRatio1) of _ [Occ=Dead] { (# ww7_awdU, ww8_awdV #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww7_awdU ww8_awdV } } } #) lvl10_rxLH :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) -> (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) [GblId, Arity=1, Str=DmdType m] lvl10_rxLH = \ (w_sxd3 :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) -> case $wlvl_rxLG w_sxd3 of _ [Occ=Dead] { (# ww1_sxn9, ww2_sxna #) -> (ww1_sxn9, ww2_sxna) } lvl11_rxLI :: GHC.Types.Int [GblId, Caf=NoCafRefs, Str=DmdType m] lvl11_rxLI = GHC.Types.I# 0 lvl12_rxLJ :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) -> [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)] -> [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)] [GblId, Arity=2, Str=DmdType] lvl12_rxLJ = \ (x_awzz :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) (r_awzA :: [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)]) -> case x_awzz of wild_afnB { (ds1_afnD, y_afnE) -> case y_afnE of _ [Occ=Dead] { GHC.Real.:% ds2_awdp y1_awdq -> case GHC.Integer.Type.eqInteger# y1_awdq lvl1_rxLm of wild2_a2f3 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild2_a2f3 of _ [Occ=Dead] { GHC.Types.False -> r_awzA; GHC.Types.True -> GHC.Types.: @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) wild_afnB r_awzA } } } } lvl13_rxLK :: GHC.Types.Char [GblId, Caf=NoCafRefs, Str=DmdType] lvl13_rxLK = GHC.Types.C# '.' CLaSH.Sized.Fixed.$w$cshow :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). GHC.TypeLits.KnownNat frac_auHx => (rep_auHy size_auHz -> GHC.Integer.Type.Integer) -> CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> [GHC.Types.Char] [GblId, Arity=3, Str=DmdType ] CLaSH.Sized.Fixed.$w$cshow = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) (w_sxdo :: GHC.TypeLits.KnownNat frac_auHx) (ww_sxdB :: rep_auHy size_auHz -> GHC.Integer.Type.Integer) (w1_sxdq :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) -> let { fRepI_swtk [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType] fRepI_swtk = ww_sxdB (w1_sxdq `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz ~# rep_auHy size_auHz)) } in case GHC.Integer.Type.ltInteger# fRepI_swtk CLaSH.Sized.Fixed.$s^2 of wild_a4It { __DEFAULT -> let { fRepI_abs_swtj :: GHC.Integer.Type.Integer [LclId, Str=DmdType] fRepI_abs_swtj = GHC.Integer.Type.absInteger fRepI_swtk } in let { nF_swti [Dmd=] :: GHC.Types.Int [LclId, Str=DmdType] nF_swti = case GHC.Integer.Type.integerToInt (w_sxdo `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_auHx ~# GHC.Integer.Type.Integer)) of wild1_akCB { __DEFAULT -> GHC.Types.I# wild1_akCB } } in let { a10_swOO :: [GHC.Types.Char] [LclId, Str=DmdType] a10_swOO = case GHC.List.iterateFB @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) @ [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)] lvl12_rxLJ lvl10_rxLH (lvl11_rxLI, case GHC.Integer.Type.ltInteger# fRepI_swtk CLaSH.Sized.Fixed.$s^2 of wild1_X4L4 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild1_X4L4 of _ [Occ=Dead] { GHC.Types.False -> case nF_swti of _ [Occ=Dead] { GHC.Types.I# x_awO9 -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# x_awO9 0) of _ [Occ=Dead] { GHC.Types.False -> let { a11_swOs [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType] a11_swOs = case x_awO9 of wild5_awOe { __DEFAULT -> GHC.Real.$wf1 lvl2_rxLn wild5_awOe; 0 -> GHC.Real.$fEnumRatio1 } } in case x_awO9 of wild5_awOe { __DEFAULT -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger (GHC.Integer.Type.andInteger fRepI_swtk (GHC.Integer.Type.minusInteger (GHC.Real.$wf1 lvl2_rxLn wild5_awOe) lvl1_rxLm)) (GHC.Integer.Type.signumInteger a11_swOs)) (GHC.Integer.Type.absInteger a11_swOs) of _ [Occ=Dead] { (# ww2_awf5, ww3_awf6 #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww2_awf5 ww3_awf6 }; 0 -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger (GHC.Integer.Type.andInteger fRepI_swtk CLaSH.Sized.Fixed.$s^2) (GHC.Integer.Type.signumInteger a11_swOs)) (GHC.Integer.Type.absInteger a11_swOs) of _ [Occ=Dead] { (# ww2_awf5, ww3_awf6 #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww2_awf5 ww3_awf6 } }; GHC.Types.True -> case GHC.Real.^3 of wild5_00 { } } }; GHC.Types.True -> case nF_swti of _ [Occ=Dead] { GHC.Types.I# x_awO9 -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<# x_awO9 0) of _ [Occ=Dead] { GHC.Types.False -> let { a11_swOy [Dmd=] :: GHC.Integer.Type.Integer [LclId, Str=DmdType] a11_swOy = case x_awO9 of wild5_awOe { __DEFAULT -> GHC.Real.$wf1 lvl2_rxLn wild5_awOe; 0 -> GHC.Real.$fEnumRatio1 } } in case x_awO9 of wild5_awOe { __DEFAULT -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger (GHC.Integer.Type.andInteger fRepI_abs_swtj (GHC.Integer.Type.minusInteger (GHC.Real.$wf1 lvl2_rxLn wild5_awOe) lvl1_rxLm)) (GHC.Integer.Type.signumInteger a11_swOy)) (GHC.Integer.Type.absInteger a11_swOy) of _ [Occ=Dead] { (# ww2_awf5, ww3_awf6 #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww2_awf5 ww3_awf6 }; 0 -> case GHC.Real.$w$sreduce (GHC.Integer.Type.timesInteger (GHC.Integer.Type.andInteger fRepI_abs_swtj CLaSH.Sized.Fixed.$s^2) (GHC.Integer.Type.signumInteger a11_swOy)) (GHC.Integer.Type.absInteger a11_swOy) of _ [Occ=Dead] { (# ww2_awf5, ww3_awf6 #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww2_awf5 ww3_awf6 } }; GHC.Types.True -> case GHC.Real.^3 of wild5_00 { } } } } }) of _ [Occ=Dead] { [] -> case Data.Maybe.fromJust1 of wild2_00 { }; : a11_awdh ds1_awdi -> case a11_awdh of _ [Occ=Dead] { (ww2_sxd9, ww3_sxde) -> case ww2_sxd9 of _ [Occ=Dead] { GHC.Types.I# ww5_sxdc -> case ww3_sxde of _ [Occ=Dead] { GHC.Real.:% ww7_sxdh ww8_sxdi -> case GHC.Show.$w$cshowsPrec 0 ww7_sxdh (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead] { (# ww10_a2i0, ww11_a2i1 #) -> let { str_auHK :: [GHC.Types.Char] [LclId, Str=DmdType] str_auHK = GHC.Types.: @ GHC.Types.Char ww10_a2i0 ww11_a2i1 } in case GHC.List.$wlenAcc @ GHC.Types.Char str_auHK 0 of ww12_awOK { __DEFAULT -> let { n#_awbi :: GHC.Prim.Int# [LclId, Str=DmdType] n#_awbi = GHC.Prim.-# ww5_sxdc ww12_awOK } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# n#_awbi 0) of _ [Occ=Dead] { GHC.Types.False -> let { lvl17_sxDg :: [GHC.Types.Char] [LclId, Str=DmdType] lvl17_sxDg = GHC.Types.: @ GHC.Types.Char lvl9_rxLE str_auHK } in letrec { xs_awyT [Occ=LoopBreaker] :: GHC.Prim.Int# -> [GHC.Types.Char] [LclId, Arity=1, Str=DmdType ] xs_awyT = \ (m_awz0 :: GHC.Prim.Int#) -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.<=# m_awz0 1) of _ [Occ=Dead] { GHC.Types.False -> GHC.Types.: @ GHC.Types.Char lvl9_rxLE (xs_awyT (GHC.Prim.-# m_awz0 1)); GHC.Types.True -> lvl17_sxDg }; } in xs_awyT n#_awbi; GHC.Types.True -> str_auHK } } } } } } } } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_a4It of _ [Occ=Dead] { GHC.Types.False -> case nF_swti of _ [Occ=Dead] { GHC.Types.I# x_aiKN -> let { ww1_al4F :: GHC.Prim.Int# [LclId, Str=DmdType] ww1_al4F = GHC.Prim.negateInt# x_aiKN } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.>=# ww1_al4F 0) of _ [Occ=Dead] { GHC.Types.False -> case GHC.Show.$w$cshowsPrec 0 (GHC.Integer.Type.shiftRInteger fRepI_swtk (GHC.Prim.negateInt# ww1_al4F)) (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead] { (# ww3_a2i0, ww4_a2i1 #) -> GHC.Base.++ @ GHC.Types.Char (GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1) (GHC.Types.: @ GHC.Types.Char lvl13_rxLK a10_swOO) }; GHC.Types.True -> case GHC.Show.$w$cshowsPrec 0 (GHC.Integer.Type.shiftLInteger fRepI_swtk ww1_al4F) (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead] { (# ww3_a2i0, ww4_a2i1 #) -> GHC.Base.++ @ GHC.Types.Char (GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1) (GHC.Types.: @ GHC.Types.Char lvl13_rxLK a10_swOO) } } }; GHC.Types.True -> GHC.Base.++ @ GHC.Types.Char (GHC.Types.: @ GHC.Types.Char lvl8_rxLD (case nF_swti of _ [Occ=Dead] { GHC.Types.I# x_aiKN -> let { ww1_al4F :: GHC.Prim.Int# [LclId, Str=DmdType] ww1_al4F = GHC.Prim.negateInt# x_aiKN } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool (GHC.Prim.>=# ww1_al4F 0) of _ [Occ=Dead] { GHC.Types.False -> case GHC.Show.$w$cshowsPrec 0 (GHC.Integer.Type.shiftRInteger fRepI_abs_swtj (GHC.Prim.negateInt# ww1_al4F)) (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead] { (# ww3_a2i0, ww4_a2i1 #) -> GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1 }; GHC.Types.True -> case GHC.Show.$w$cshowsPrec 0 (GHC.Integer.Type.shiftLInteger fRepI_abs_swtj ww1_al4F) (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead] { (# ww3_a2i0, ww4_a2i1 #) -> GHC.Types.: @ GHC.Types.Char ww3_a2i0 ww4_a2i1 } } })) (GHC.Types.: @ GHC.Types.Char lvl13_rxLK a10_swOO) } } CLaSH.Sized.Fixed.$fShowFixed_$cshow [InlPrag=INLINE[0]] :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> GHC.Base.String [GblId, Arity=5, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) _ [Occ=Dead] _ [Occ=Dead] (w2_sxdo [Occ=Once] :: GHC.TypeLits.KnownNat frac_auHx) (w3_sxdp [Occ=Once!] :: GHC.Real.Integral (rep_auHy size_auHz)) (w4_sxdq [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) -> case w3_sxdp of _ [Occ=Dead] { GHC.Real.D:Integral _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] ww9_sxdB [Occ=Once] -> CLaSH.Sized.Fixed.$w$cshow @ frac_auHx @ rep_auHy @ size_auHz w2_sxdo ww9_sxdB w4_sxdq }}] CLaSH.Sized.Fixed.$fShowFixed_$cshow = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) _ [Occ=Dead] _ [Occ=Dead] (w2_sxdo :: GHC.TypeLits.KnownNat frac_auHx) (w3_sxdp :: GHC.Real.Integral (rep_auHy size_auHz)) (w4_sxdq :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) -> case w3_sxdp of _ [Occ=Dead] { GHC.Real.D:Integral ww1_sxdt ww2_sxdu ww3_sxdv ww4_sxdw ww5_sxdx ww6_sxdy ww7_sxdz ww8_sxdA ww9_sxdB -> CLaSH.Sized.Fixed.$w$cshow @ frac_auHx @ rep_auHy @ size_auHz w2_sxdo ww9_sxdB w4_sxdq } CLaSH.Sized.Fixed.$fShowFixed_$cshowsPrec :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => GHC.Types.Int -> CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> GHC.Show.ShowS [GblId, Arity=7, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=7, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv [Occ=Once] :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw [Occ=Once] :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx [Occ=Once] :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy [Occ=Once] :: GHC.Real.Integral (rep_auHy size_auHz)) _ [Occ=Dead] (x_a2fY [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (s_a2fZ [Occ=Once] :: GHC.Base.String) -> GHC.Base.augment @ GHC.Types.Char (\ (@ b_a4II) (c_a4IJ [Occ=Once] :: GHC.Types.Char -> b_a4II -> b_a4II) (n_a4IK [Occ=Once] :: b_a4II) -> GHC.Base.foldr @ GHC.Types.Char @ b_a4II c_a4IJ n_a4IK (CLaSH.Sized.Fixed.$fShowFixed_$cshow @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy x_a2fY)) s_a2fZ}] CLaSH.Sized.Fixed.$fShowFixed_$cshowsPrec = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) _ [Occ=Dead] _ [Occ=Dead] ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) _ [Occ=Dead] (x_a2fY :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (s_a2fZ :: GHC.Base.String) -> case $dIntegral_avFy of _ [Occ=Dead] { GHC.Real.D:Integral ww1_sxdt ww2_sxdu ww3_sxdv ww4_sxdw ww5_sxdx ww6_sxdy ww7_sxdz ww8_sxdA ww9_sxdB -> GHC.Base.++ @ GHC.Types.Char (CLaSH.Sized.Fixed.$w$cshow @ frac_auHx @ rep_auHy @ size_auHz $dKnownNat_avFx ww9_sxdB x_a2fY) s_a2fZ } CLaSH.Sized.Fixed.$w$cshowList :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz] -> GHC.Base.String -> GHC.Base.String [GblId, Arity=4, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=4, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 20 0 0] 140 0}] CLaSH.Sized.Fixed.$w$cshowList = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) (w_sxe0 :: GHC.TypeLits.KnownNat frac_auHx) (w1_sxe1 :: GHC.Real.Integral (rep_auHy size_auHz)) (w2_sxe2 :: [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz]) (w3_sxe3 :: GHC.Base.String) -> GHC.Show.showList__ @ (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (\ (x_a2fY :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (s_a2fZ :: GHC.Base.String) -> case w1_sxe1 of _ [Occ=Dead] { GHC.Real.D:Integral ww1_sxdt ww2_sxdu ww3_sxdv ww4_sxdw ww5_sxdx ww6_sxdy ww7_sxdz ww8_sxdA ww9_sxdB -> GHC.Base.++ @ GHC.Types.Char (CLaSH.Sized.Fixed.$w$cshow @ frac_auHx @ rep_auHy @ size_auHz w_sxe0 ww9_sxdB x_a2fY) s_a2fZ }) w2_sxe2 w3_sxe3 CLaSH.Sized.Fixed.$fShowFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => GHC.Show.Show (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) [GblId[DFunId], Arity=4, Str=DmdType m, Unf=DFun: \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) -> GHC.Show.D:Show TYPE CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz CLaSH.Sized.Fixed.$fShowFixed_$cshowsPrec @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy CLaSH.Sized.Fixed.$fShowFixed_$cshow @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy \ (w_sxe2 :: [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz]) (w1_sxe3 :: GHC.Base.String) -> CLaSH.Sized.Fixed.$w$cshowList @ frac_auHx @ rep_auHy @ size_auHz $dKnownNat_avFx $dIntegral_avFy w_sxe2 w1_sxe3] CLaSH.Sized.Fixed.$fShowFixed = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_avFv :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_avFw :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_avFx :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_avFy :: GHC.Real.Integral (rep_auHy size_auHz)) -> GHC.Show.D:Show @ (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (CLaSH.Sized.Fixed.$fShowFixed_$cshowsPrec @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy) (CLaSH.Sized.Fixed.$fShowFixed_$cshow @ frac_auHx @ rep_auHy @ size_auHz $dShow_avFv $dBits_avFw $dKnownNat_avFx $dIntegral_avFy) (\ (w_sxe2 :: [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz]) (w1_sxe3 :: GHC.Base.String) -> CLaSH.Sized.Fixed.$w$cshowList @ frac_auHx @ rep_auHy @ size_auHz $dKnownNat_avFx $dIntegral_avFy w_sxe2 w1_sxe3) CLaSH.Sized.Fixed.$fMultFixedFixed1 :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu) [GblId, Arity=3, Caf=NoCafRefs, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac1_auHq :: GHC.TypeLits.Nat)) (@ (rep_auHr :: GHC.TypeLits.Nat -> *)) (@ (size1_auHs :: GHC.TypeLits.Nat)) (@ (frac2_auHt :: GHC.TypeLits.Nat)) (@ (size2_auHu :: GHC.TypeLits.Nat)) (tup_avFg [Occ=Once!] :: CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) (eta_B2 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (eta1_B1 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) -> case tup_avFg of _ [Occ=Dead] { (tpl_X1z [Occ=Once], tpl1_X1B [Occ=Once!]) -> case tpl1_X1B of _ [Occ=Dead] { GHC.Types.Eq# cobox1_dw3M -> ((tpl_X1z `cast` (CLaSH.Class.Num.NTCo:Mult[0] _N _N :: CLaSH.Class.Num.Mult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# (rep_auHr size1_auHs -> rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu)))) (eta_B2 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs ~# rep_auHr size1_auHs)) (eta1_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu ~# rep_auHr size2_auHu))) `cast` (Sub cobox1_dw3M :: CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) } }}] CLaSH.Sized.Fixed.$fMultFixedFixed1 = \ (@ (frac1_auHq :: GHC.TypeLits.Nat)) (@ (rep_auHr :: GHC.TypeLits.Nat -> *)) (@ (size1_auHs :: GHC.TypeLits.Nat)) (@ (frac2_auHt :: GHC.TypeLits.Nat)) (@ (size2_auHu :: GHC.TypeLits.Nat)) (tup_avFg :: CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) (eta_B2 :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (eta1_B1 :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) -> case tup_avFg of _ [Occ=Dead] { (tpl_X1z, tpl1_X1B) -> case tpl1_X1B of _ [Occ=Dead] { GHC.Types.Eq# cobox1_dw3M -> ((tpl_X1z `cast` (CLaSH.Class.Num.NTCo:Mult[0] _N _N :: CLaSH.Class.Num.Mult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# (rep_auHr size1_auHs -> rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu)))) (eta_B2 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs ~# rep_auHr size1_auHs)) (eta1_B1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu ~# rep_auHr size2_auHu))) `cast` (Sub cobox1_dw3M :: CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) } } CLaSH.Sized.Fixed.$fMultFixedFixed_$cmult :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) [GblId, Arity=3, Caf=NoCafRefs, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True) Tmpl= CLaSH.Sized.Fixed.$fMultFixedFixed1 `cast` (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). _R -> _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:MResultFixedFixed[0] _N _N _N _N _N)) :: (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) ~# (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu)))}] CLaSH.Sized.Fixed.$fMultFixedFixed_$cmult = CLaSH.Sized.Fixed.$fMultFixedFixed1 `cast` (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). _R -> _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:MResultFixedFixed[0] _N _N _N _N _N)) :: (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) ~# (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu))) CLaSH.Sized.Fixed.$fMultFixedFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) [GblId[DFunId(nt)], Arity=3, Caf=NoCafRefs, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= CLaSH.Sized.Fixed.$fMultFixedFixed_$cmult `cast` (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). _R -> Sym (CLaSH.Class.Num.NTCo:Mult[0] _N _N) :: (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_XuJ1 frac1_XuIZ frac2_XuJ5 size1_XuJ3 size2_XuJ7) => CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3 -> CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7 -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3) (CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7)) ~# (forall (frac1_XuIZ :: GHC.TypeLits.Nat) (rep_XuJ1 :: GHC.TypeLits.Nat -> *) (size1_XuJ3 :: GHC.TypeLits.Nat) (frac2_XuJ5 :: GHC.TypeLits.Nat) (size2_XuJ7 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_XuJ1 frac1_XuIZ frac2_XuJ5 size1_XuJ3 size2_XuJ7) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_XuIZ rep_XuJ1 size1_XuJ3) (CLaSH.Sized.Fixed.Fixed frac2_XuJ5 rep_XuJ1 size2_XuJ7)))}] CLaSH.Sized.Fixed.$fMultFixedFixed = CLaSH.Sized.Fixed.$fMultFixedFixed1 `cast` (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). _R -> (_R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:MResultFixedFixed[0] _N _N _N _N _N))) ; Sym (CLaSH.Class.Num.NTCo:Mult[0] _N _N) :: (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) ~# (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu))) CLaSH.Sized.Fixed.$w$cminus :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1), CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) => (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) -> CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [GblId, Arity=5, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [20 120 60 0 0] 390 0}] CLaSH.Sized.Fixed.$w$cminus = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (ww_sxeI :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (ww1_sxeJ :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (ww2_sxeP :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (w_sxeE :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w1_sxeF :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> let { $dKnownNat_swt4 :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) [LclId, Str=DmdType] $dKnownNat_swt4 = case ww1_sxeJ of _ [Occ=Dead] { (tpl_X1X, tpl1_X1Z, tpl2_B3, tpl3_B4, tpl4_B5, tpl5_B6, tpl6_B7, tpl7_B8, tpl8_B9, tpl9_Ba, tpl10_Bb, tpl11_Bc) -> tpl9_Ba } } in let { $dBits_swt5 [Dmd=] :: Data.Bits.Bits (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType] $dBits_swt5 = case ww1_sxeJ of _ [Occ=Dead] { (tpl_X1V, tpl1_X1X, tpl2_B3, tpl3_B4, tpl4_B5, tpl5_B6, tpl6_B7, tpl7_B8, tpl8_B9, tpl9_Ba, tpl10_Bb, tpl11_Bc) -> tpl8_B9 } } in let { $dKnownNat1_swt6 :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] $dKnownNat1_swt6 = case ww1_sxeJ of _ [Occ=Dead] { (tpl_X1T, tpl1_X1V, tpl2_B3, tpl3_B4, tpl4_B5, tpl5_B6, tpl6_B7, tpl7_B8, tpl8_B9, tpl9_Ba, tpl10_Bb, tpl11_Bc) -> tpl6_B7 } } in let { $dResize_swt7 [Dmd=] :: CLaSH.Class.Num.Resize rep_auHe [LclId, Str=DmdType] $dResize_swt7 = case ww1_sxeJ of _ [Occ=Dead] { (tpl_X1R, tpl1_X1T, tpl2_B3, tpl3_B4, tpl4_B5, tpl5_B6, tpl6_B7, tpl7_B8, tpl8_B9, tpl9_Ba, tpl10_Bb, tpl11_Bc) -> tpl5_B6 } } in let { $dBounded_swt9 [Dmd=] :: GHC.Enum.Bounded (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType] $dBounded_swt9 = case ww1_sxeJ of _ [Occ=Dead] { (tpl_X1N, tpl1_X1P, tpl2_B3, tpl3_B4, tpl4_B5, tpl5_B6, tpl6_B7, tpl7_B8, tpl8_B9, tpl9_Ba, tpl10_Bb, tpl11_Bc) -> tpl_X1N } } in (ww2_sxeP (case ww_sxeI of _ [Occ=Dead] { (tpl_X7n, tpl1_X7q, tpl2_X5q, tpl3_B4, tpl4_B5, tpl5_B6, tpl6_B7, tpl7_B8, tpl8_B9, tpl9_Ba, tpl10_Bb, tpl11_Bc) -> (CLaSH.Sized.Fixed.$wresizeF @ frac1_auHd @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size1_auHf @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) $dBounded_swt9 tpl2_X5q tpl3_B4 tpl4_B5 $dResize_swt7 $dKnownNat1_swt6 tpl7_B8 $dBits_swt5 $dKnownNat_swt4 tpl10_Bb w_sxeE) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) }) (case ww1_sxeJ of _ [Occ=Dead] { (tpl_X7k, tpl1_X7n, tpl2_X5n, tpl3_B4, tpl4_B5, tpl5_B6, tpl6_B7, tpl7_B8, tpl8_B9, tpl9_Ba, tpl10_Bb, tpl11_Bc) -> (CLaSH.Sized.Fixed.$wresizeF @ frac2_auHg @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size2_auHh @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) $dBounded_swt9 tpl2_X5n tpl3_B4 tpl4_B5 $dResize_swt7 $dKnownNat1_swt6 tpl7_B8 $dBits_swt5 $dKnownNat_swt4 tpl10_Bb w1_sxeF) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:AResultFixedFixed[0] _N _N _N _N _N)) :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh)) CLaSH.Sized.Fixed.$fAddFixedFixed_$cminus [InlPrag=INLINE[0]] :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [GblId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (w_sxeD [Occ=Once!] :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (w1_sxeE [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w2_sxeF [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> case w_sxeD of _ [Occ=Dead] { (ww1_sxeI [Occ=Once], ww2_sxeJ [Occ=Once], ww3_sxeK [Occ=Once!]) -> case ww3_sxeK of _ [Occ=Dead] { GHC.Num.D:Num _ [Occ=Dead] _ [Occ=Dead] ww7_sxeP [Occ=Once] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> CLaSH.Sized.Fixed.$w$cminus @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh ww1_sxeI ww2_sxeJ ww7_sxeP w1_sxeE w2_sxeF } }}] CLaSH.Sized.Fixed.$fAddFixedFixed_$cminus = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (w_sxeD :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (w1_sxeE :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w2_sxeF :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> case w_sxeD of _ [Occ=Dead] { (ww1_sxeI, ww2_sxeJ, ww3_sxeK) -> case ww3_sxeK of _ [Occ=Dead] { GHC.Num.D:Num ww5_sxeN ww6_sxeO ww7_sxeP ww8_sxeQ ww9_sxeR ww10_sxeS ww11_sxeT -> CLaSH.Sized.Fixed.$w$cminus @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh ww1_sxeI ww2_sxeJ ww7_sxeP w1_sxeE w2_sxeF } } CLaSH.Sized.Fixed.$w$cplus :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1), CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) => (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) -> CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [GblId, Arity=5, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=5, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [20 120 60 0 0] 390 0}] CLaSH.Sized.Fixed.$w$cplus = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (ww_sxf2 :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (ww1_sxf3 :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (ww2_sxf7 :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (w_sxeY :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w1_sxeZ :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> let { $dKnownNat_swsM :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) [LclId, Str=DmdType] $dKnownNat_swsM = case ww1_sxf3 of _ [Occ=Dead] { (tpl_X1Y, tpl1_X20, tpl2_B3, tpl3_B4, tpl4_B5, tpl5_B6, tpl6_B7, tpl7_B8, tpl8_B9, tpl9_Ba, tpl10_Bb, tpl11_Bc) -> tpl9_Ba } } in let { $dBits_swsN [Dmd=] :: Data.Bits.Bits (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType] $dBits_swsN = case ww1_sxf3 of _ [Occ=Dead] { (tpl_X1W, tpl1_X1Y, tpl2_B3, tpl3_B4, tpl4_B5, tpl5_B6, tpl6_B7, tpl7_B8, tpl8_B9, tpl9_Ba, tpl10_Bb, tpl11_Bc) -> tpl8_B9 } } in let { $dKnownNat1_swsO :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] $dKnownNat1_swsO = case ww1_sxf3 of _ [Occ=Dead] { (tpl_X1U, tpl1_X1W, tpl2_B3, tpl3_B4, tpl4_B5, tpl5_B6, tpl6_B7, tpl7_B8, tpl8_B9, tpl9_Ba, tpl10_Bb, tpl11_Bc) -> tpl6_B7 } } in let { $dResize_swsP [Dmd=] :: CLaSH.Class.Num.Resize rep_auHe [LclId, Str=DmdType] $dResize_swsP = case ww1_sxf3 of _ [Occ=Dead] { (tpl_X1S, tpl1_X1U, tpl2_B3, tpl3_B4, tpl4_B5, tpl5_B6, tpl6_B7, tpl7_B8, tpl8_B9, tpl9_Ba, tpl10_Bb, tpl11_Bc) -> tpl5_B6 } } in let { $dBounded_swsR [Dmd=] :: GHC.Enum.Bounded (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType] $dBounded_swsR = case ww1_sxf3 of _ [Occ=Dead] { (tpl_X1O, tpl1_X1Q, tpl2_B3, tpl3_B4, tpl4_B5, tpl5_B6, tpl6_B7, tpl7_B8, tpl8_B9, tpl9_Ba, tpl10_Bb, tpl11_Bc) -> tpl_X1O } } in (ww2_sxf7 (case ww_sxf2 of _ [Occ=Dead] { (tpl_X7p, tpl1_X7s, tpl2_X5r, tpl3_B4, tpl4_B5, tpl5_B6, tpl6_B7, tpl7_B8, tpl8_B9, tpl9_Ba, tpl10_Bb, tpl11_Bc) -> (CLaSH.Sized.Fixed.$wresizeF @ frac1_auHd @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size1_auHf @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) $dBounded_swsR tpl2_X5r tpl3_B4 tpl4_B5 $dResize_swsP $dKnownNat1_swsO tpl7_B8 $dBits_swsN $dKnownNat_swsM tpl10_Bb w_sxeY) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) }) (case ww1_sxf3 of _ [Occ=Dead] { (tpl_X7m, tpl1_X7p, tpl2_X5o, tpl3_B4, tpl4_B5, tpl5_B6, tpl6_B7, tpl7_B8, tpl8_B9, tpl9_Ba, tpl10_Bb, tpl11_Bc) -> (CLaSH.Sized.Fixed.$wresizeF @ frac2_auHg @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size2_auHh @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) $dBounded_swsR tpl2_X5o tpl3_B4 tpl4_B5 $dResize_swsP $dKnownNat1_swsO tpl7_B8 $dBits_swsN $dKnownNat_swsM tpl10_Bb w1_sxeZ) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:AResultFixedFixed[0] _N _N _N _N _N)) :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh)) CLaSH.Sized.Fixed.$fAddFixedFixed_$cplus [InlPrag=INLINE[0]] :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [GblId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (w_sxeX [Occ=Once!] :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (w1_sxeY [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w2_sxeZ [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> case w_sxeX of _ [Occ=Dead] { (ww1_sxf2 [Occ=Once], ww2_sxf3 [Occ=Once], ww3_sxf4 [Occ=Once!]) -> case ww3_sxf4 of _ [Occ=Dead] { GHC.Num.D:Num ww5_sxf7 [Occ=Once] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> CLaSH.Sized.Fixed.$w$cplus @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh ww1_sxf2 ww2_sxf3 ww5_sxf7 w1_sxeY w2_sxeZ } }}] CLaSH.Sized.Fixed.$fAddFixedFixed_$cplus = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (w_sxeX :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (w1_sxeY :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w2_sxeZ :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> case w_sxeX of _ [Occ=Dead] { (ww1_sxf2, ww2_sxf3, ww3_sxf4) -> case ww3_sxf4 of _ [Occ=Dead] { GHC.Num.D:Num ww5_sxf7 ww6_sxf8 ww7_sxf9 ww8_sxfa ww9_sxfb ww10_sxfc ww11_sxfd -> CLaSH.Sized.Fixed.$w$cplus @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh ww1_sxf2 ww2_sxf3 ww5_sxf7 w1_sxeY w2_sxeZ } } CLaSH.Sized.Fixed.$fAddFixedFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Class.Num.Add (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [GblId[DFunId], Arity=1, Str=DmdType m, Unf=DFun: \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) -> CLaSH.Class.Num.D:Add TYPE CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf TYPE CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh CLaSH.Sized.Fixed.$fAddFixedFixed_$cplus @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN CLaSH.Sized.Fixed.$fAddFixedFixed_$cminus @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN] CLaSH.Sized.Fixed.$fAddFixedFixed = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_avDN :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) -> CLaSH.Class.Num.D:Add @ (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) @ (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) (CLaSH.Sized.Fixed.$fAddFixedFixed_$cplus @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN) (CLaSH.Sized.Fixed.$fAddFixedFixed_$cminus @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_avDN) CLaSH.Sized.Fixed.$fNumFixed_$cfromInteger [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => GHC.Integer.Type.Integer -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [GblId, Arity=2, Caf=NoCafRefs, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_XuKb :: GHC.TypeLits.Nat)) (@ (rep_XuKd :: GHC.TypeLits.Nat -> *)) (@ (size_XuKf :: GHC.TypeLits.Nat)) (w_sxfl [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKb rep_XuKd size_XuKf) (w1_XxiD [Occ=Once] :: GHC.Integer.Type.Integer) -> case w_sxfl of _ [Occ=Dead] { (_ [Occ=Dead], ww2_sxfq [Occ=Once!], ww3_Xxjr [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> case ww2_sxfq of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], ww16_sxfB [Occ=Once!], ww17_XxjD [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> case ww16_sxfB of _ [Occ=Dead] { Data.Bits.D:Bits _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] ww37_XxjR [Occ=Once!] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> (ww37_XxjR (GHC.Num.fromInteger @ (rep_XuKd size_XuKf) ww3_Xxjr w1_XxiD) (case GHC.Integer.Type.integerToInt (ww17_XxjD `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_XuKb ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> GHC.Types.I# wild_akCB })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKd size_XuKf ~# CLaSH.Sized.Fixed.Fixed frac_XuKb rep_XuKd size_XuKf) } } }}] CLaSH.Sized.Fixed.$fNumFixed_$cfromInteger = \ (@ (frac_XuKb :: GHC.TypeLits.Nat)) (@ (rep_XuKd :: GHC.TypeLits.Nat -> *)) (@ (size_XuKf :: GHC.TypeLits.Nat)) (w_sxfl :: CLaSH.Sized.Fixed.NumFixed frac_XuKb rep_XuKd size_XuKf) (w1_XxiD :: GHC.Integer.Type.Integer) -> case w_sxfl of _ [Occ=Dead] { (ww1_sxfp, ww2_sxfq, ww3_Xxjr, ww4_sxg7, ww5_sxg8, ww6_sxg9) -> case ww2_sxfq of _ [Occ=Dead] { (ww8_sxft, ww9_sxfu, ww10_sxfv, ww11_sxfw, ww12_sxfx, ww13_sxfy, ww14_sxfz, ww15_sxfA, ww16_sxfB, ww17_XxjD, ww18_sxg3, ww19_sxg4) -> case ww16_sxfB of _ [Occ=Dead] { Data.Bits.D:Bits ww21_sxfE ww22_sxfF ww23_sxfG ww24_sxfH ww25_sxfI ww26_sxfJ ww27_sxfK ww28_sxfL ww29_sxfM ww30_sxfN ww31_sxfO ww32_sxfP ww33_sxfQ ww34_sxfR ww35_sxfS ww36_sxfT ww37_XxjR ww38_sxfV ww39_sxfW ww40_sxfX ww41_sxfY ww42_sxfZ ww43_sxg0 -> (ww37_XxjR (GHC.Num.fromInteger @ (rep_XuKd size_XuKf) ww3_Xxjr w1_XxiD) (case GHC.Integer.Type.integerToInt (ww17_XxjD `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_XuKb ~# GHC.Integer.Type.Integer)) of wild_akCB { __DEFAULT -> GHC.Types.I# wild_akCB })) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKd size_XuKf ~# CLaSH.Sized.Fixed.Fixed frac_XuKb rep_XuKd size_XuKf) } } } CLaSH.Sized.Fixed.$fNumFixed1 :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> rep_auGZ size_auH0 [GblId, Arity=2, Caf=NoCafRefs, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_XuKc :: GHC.TypeLits.Nat)) (@ (rep_XuKe :: GHC.TypeLits.Nat -> *)) (@ (size_XuKg :: GHC.TypeLits.Nat)) (tup_avBm [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKc rep_XuKe size_XuKg) (eta_X1J [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKc rep_XuKe size_XuKg) -> case tup_avBm of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], tpl2_B3 [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> GHC.Num.signum @ (rep_XuKe size_XuKg) tpl2_B3 (eta_X1J `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKc rep_XuKe size_XuKg ~# rep_XuKe size_XuKg)) }}] CLaSH.Sized.Fixed.$fNumFixed1 = \ (@ (frac_XuKc :: GHC.TypeLits.Nat)) (@ (rep_XuKe :: GHC.TypeLits.Nat -> *)) (@ (size_XuKg :: GHC.TypeLits.Nat)) (tup_avBm :: CLaSH.Sized.Fixed.NumFixed frac_XuKc rep_XuKe size_XuKg) (eta_X1J :: CLaSH.Sized.Fixed.Fixed frac_XuKc rep_XuKe size_XuKg) -> case tup_avBm of _ [Occ=Dead] { (tpl_X1L, tpl1_X1N, tpl2_B3, tpl3_B4, tpl4_B5, tpl5_B6) -> GHC.Num.signum @ (rep_XuKe size_XuKg) tpl2_B3 (eta_X1J `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKc rep_XuKe size_XuKg ~# rep_XuKe size_XuKg)) } CLaSH.Sized.Fixed.$w$cabs :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (1 GHC.TypeLits.<= size_auH0, ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_auH0 GHC.TypeLits.+ 2), CLaSH.Class.BitVector.BitVector (rep_auGZ size_auH0), CLaSH.Class.BitVector.BitVector (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0) ~ size_auH0, CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) ~ (size_auH0 GHC.TypeLits.+ 2), GHC.TypeLits.KnownNat size_auH0, GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ 2), GHC.Enum.Bounded (rep_auGZ size_auH0), Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0, GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [GblId, Arity=13, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=13, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 20 0 20 0 20 0 0 0 20 60 30 0] 213 60}] CLaSH.Sized.Fixed.$w$cabs = \ (@ (frac_XuKd :: GHC.TypeLits.Nat)) (@ (rep_XuKf :: GHC.TypeLits.Nat -> *)) (@ (size_XuKh :: GHC.TypeLits.Nat)) _ [Occ=Dead] (ww1_sxhs :: ((size_XuKh GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_XuKh GHC.TypeLits.+ 2)) (ww2_sxht :: CLaSH.Class.BitVector.BitVector (rep_XuKf size_XuKh)) (ww3_sxhu :: CLaSH.Class.BitVector.BitVector (rep_XuKf (size_XuKh GHC.TypeLits.+ 2))) (ww4_sxhv :: CLaSH.Class.BitVector.BitSize (rep_XuKf size_XuKh) ~ size_XuKh) (ww5_sxhw :: CLaSH.Class.BitVector.BitSize (rep_XuKf (size_XuKh GHC.TypeLits.+ 2)) ~ (size_XuKh GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww7_sxhy :: GHC.TypeLits.KnownNat (size_XuKh GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww9_sxhA :: Data.Bits.Bits (rep_XuKf (size_XuKh GHC.TypeLits.+ 2))) (ww10_sxhC :: CLaSH.Sized.Fixed.ResizeFC rep_XuKf (frac_XuKd GHC.TypeLits.+ frac_XuKd) frac_XuKd (size_XuKh GHC.TypeLits.+ size_XuKh) size_XuKh) (ww11_sxhE :: GHC.Num.Num (rep_XuKf (size_XuKh GHC.TypeLits.+ 2))) (w_sxhl :: CLaSH.Sized.Fixed.Fixed frac_XuKd rep_XuKf size_XuKh) -> case ww1_sxhs of _ [Occ=Dead] { GHC.Types.Eq# ww13_sxgE -> case ww3_sxhu of _ [Occ=Dead] { CLaSH.Class.BitVector.D:BitVector ww15_sxgK ww16_sxgL -> case ww5_sxhw of ww17_XxkJ { GHC.Types.Eq# ipv_sxsr -> case ww9_sxhA of _ [Occ=Dead] { Data.Bits.D:Bits ww19_sxgV ww20_sxgW ww21_sxgX ww22_sxgY ww23_sxgZ ww24_sxh0 ww25_sxh1 ww26_sxh2 ww27_sxh3 ww28_sxh4 ww29_sxh5 ww30_sxh6 ww31_sxh7 ww32_sxh8 ww33_sxh9 ww34_sxha ww35_sxhb ww36_sxhc ww37_sxhd ww38_sxhe ww39_sxhf ww40_sxhg ww41_sxhh -> let { $dKnownNat_swsx :: GHC.TypeLits.KnownNat size_XuKh [LclId, Str=DmdType] $dKnownNat_swsx = case ww10_sxhC of _ [Occ=Dead] { (tpl_X1V, tpl1_X1X, tpl2_B3, tpl3_B4, tpl4_B5, tpl5_B6, tpl6_B7, tpl7_B8, tpl8_B9, tpl9_Ba, tpl10_Bb, tpl11_Bc) -> tpl6_B7 } } in (CLaSH.Sized.Fixed.$wsatN2 @ rep_XuKf @ size_XuKh @~ ww13_sxgE ww2_sxht ww15_sxgK ww4_sxhv ww17_XxkJ $dKnownNat_swsx ww7_sxhy (case ww10_sxhC of _ [Occ=Dead] { (tpl_X20, tpl1_X22, tpl2_B3, tpl3_B4, tpl4_B5, tpl5_B6, tpl6_B7, tpl7_B8, tpl8_B9, tpl9_Ba, tpl10_Bb, tpl11_Bc) -> tpl_X20 }) ww34_sxha (GHC.Num.abs @ (rep_XuKf (size_XuKh GHC.TypeLits.+ 2)) ww11_sxhE (case ww10_sxhC of _ [Occ=Dead] { (tpl_X7i, tpl1_X7l, tpl2_X5n, tpl3_X5p, tpl4_X5r, tpl5_X5t, tpl6_B7, tpl7_B8, tpl8_B9, tpl9_Ba, tpl10_Bb, tpl11_Bc) -> (tpl5_X5t `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKf ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKf a_ae8M -> rep_XuKf b_ae8N))) @ size_XuKh @ (size_XuKh GHC.TypeLits.+ 2) $dKnownNat_swsx ww7_sxhy (w_sxhl `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKd rep_XuKf size_XuKh ~# rep_XuKf size_XuKh)) }))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKf size_XuKh ~# CLaSH.Sized.Fixed.Fixed frac_XuKd rep_XuKf size_XuKh) } } } } CLaSH.Sized.Fixed.$fNumFixed_$cabs [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [GblId, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_XuKe :: GHC.TypeLits.Nat)) (@ (rep_XuKg :: GHC.TypeLits.Nat -> *)) (@ (size_XuKi :: GHC.TypeLits.Nat)) (w_sxhk [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKe rep_XuKg size_XuKi) (w1_sxhl [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKe rep_XuKg size_XuKi) -> case w_sxhk of _ [Occ=Dead] { (ww1_sxho [Occ=Once!], ww2_sxhC [Occ=Once], _ [Occ=Dead], ww4_sxhE [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> case ww1_sxho of _ [Occ=Dead] { (ww8_sxhr [Occ=Once], ww9_sxhs [Occ=Once], ww10_sxht [Occ=Once], ww11_sxhu [Occ=Once], ww12_sxhv [Occ=Once], ww13_sxhw [Occ=Once], ww14_sxhx [Occ=Once], ww15_sxhy [Occ=Once], ww16_sxhz [Occ=Once], ww17_sxhA [Occ=Once]) -> CLaSH.Sized.Fixed.$w$cabs @ frac_XuKe @ rep_XuKg @ size_XuKi ww8_sxhr ww9_sxhs ww10_sxht ww11_sxhu ww12_sxhv ww13_sxhw ww14_sxhx ww15_sxhy ww16_sxhz ww17_sxhA ww2_sxhC ww4_sxhE w1_sxhl } }}] CLaSH.Sized.Fixed.$fNumFixed_$cabs = \ (@ (frac_XuKe :: GHC.TypeLits.Nat)) (@ (rep_XuKg :: GHC.TypeLits.Nat -> *)) (@ (size_XuKi :: GHC.TypeLits.Nat)) (w_sxhk :: CLaSH.Sized.Fixed.NumFixed frac_XuKe rep_XuKg size_XuKi) (w1_sxhl :: CLaSH.Sized.Fixed.Fixed frac_XuKe rep_XuKg size_XuKi) -> case w_sxhk of _ [Occ=Dead] { (ww1_sxho, ww2_sxhC, ww3_sxhD, ww4_sxhE, ww5_sxhF, ww6_sxhG) -> case ww1_sxho of _ [Occ=Dead] { (ww8_sxhr, ww9_sxhs, ww10_sxht, ww11_sxhu, ww12_sxhv, ww13_sxhw, ww14_sxhx, ww15_sxhy, ww16_sxhz, ww17_sxhA) -> CLaSH.Sized.Fixed.$w$cabs @ frac_XuKe @ rep_XuKg @ size_XuKi ww8_sxhr ww9_sxhs ww10_sxht ww11_sxhu ww12_sxhv ww13_sxhw ww14_sxhx ww15_sxhy ww16_sxhz ww17_sxhA ww2_sxhC ww4_sxhE w1_sxhl } } CLaSH.Sized.Fixed.$w$cnegate :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (1 GHC.TypeLits.<= size_auH0, ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_auH0 GHC.TypeLits.+ 2), CLaSH.Class.BitVector.BitVector (rep_auGZ size_auH0), CLaSH.Class.BitVector.BitVector (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0) ~ size_auH0, CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) ~ (size_auH0 GHC.TypeLits.+ 2), GHC.TypeLits.KnownNat size_auH0, GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ 2), GHC.Enum.Bounded (rep_auGZ size_auH0), Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0, GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [GblId, Arity=13, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=13, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 20 0 20 0 20 0 0 0 20 60 30 0] 213 60}] CLaSH.Sized.Fixed.$w$cnegate = \ (@ (frac_XuKf :: GHC.TypeLits.Nat)) (@ (rep_XuKh :: GHC.TypeLits.Nat -> *)) (@ (size_XuKj :: GHC.TypeLits.Nat)) _ [Occ=Dead] (ww1_sxiD :: ((size_XuKj GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_XuKj GHC.TypeLits.+ 2)) (ww2_sxiE :: CLaSH.Class.BitVector.BitVector (rep_XuKh size_XuKj)) (ww3_sxiF :: CLaSH.Class.BitVector.BitVector (rep_XuKh (size_XuKj GHC.TypeLits.+ 2))) (ww4_sxiG :: CLaSH.Class.BitVector.BitSize (rep_XuKh size_XuKj) ~ size_XuKj) (ww5_sxiH :: CLaSH.Class.BitVector.BitSize (rep_XuKh (size_XuKj GHC.TypeLits.+ 2)) ~ (size_XuKj GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww7_sxiJ :: GHC.TypeLits.KnownNat (size_XuKj GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww9_sxiL :: Data.Bits.Bits (rep_XuKh (size_XuKj GHC.TypeLits.+ 2))) (ww10_sxiN :: CLaSH.Sized.Fixed.ResizeFC rep_XuKh (frac_XuKf GHC.TypeLits.+ frac_XuKf) frac_XuKf (size_XuKj GHC.TypeLits.+ size_XuKj) size_XuKj) (ww11_sxiP :: GHC.Num.Num (rep_XuKh (size_XuKj GHC.TypeLits.+ 2))) (w_sxiw :: CLaSH.Sized.Fixed.Fixed frac_XuKf rep_XuKh size_XuKj) -> case ww1_sxiD of _ [Occ=Dead] { GHC.Types.Eq# ww13_sxhP -> case ww3_sxiF of _ [Occ=Dead] { CLaSH.Class.BitVector.D:BitVector ww15_sxhV ww16_sxhW -> case ww5_sxiH of ww17_XxlW { GHC.Types.Eq# ipv_sxtc -> case ww9_sxiL of _ [Occ=Dead] { Data.Bits.D:Bits ww19_sxi6 ww20_sxi7 ww21_sxi8 ww22_sxi9 ww23_sxia ww24_sxib ww25_sxic ww26_sxid ww27_sxie ww28_sxif ww29_sxig ww30_sxih ww31_sxii ww32_sxij ww33_sxik ww34_sxil ww35_sxim ww36_sxin ww37_sxio ww38_sxip ww39_sxiq ww40_sxir ww41_sxis -> let { $dKnownNat_swsp :: GHC.TypeLits.KnownNat size_XuKj [LclId, Str=DmdType] $dKnownNat_swsp = case ww10_sxiN of _ [Occ=Dead] { (tpl_X1W, tpl1_X1Y, tpl2_B3, tpl3_B4, tpl4_B5, tpl5_B6, tpl6_B7, tpl7_B8, tpl8_B9, tpl9_Ba, tpl10_Bb, tpl11_Bc) -> tpl6_B7 } } in (CLaSH.Sized.Fixed.$wsatN2 @ rep_XuKh @ size_XuKj @~ ww13_sxhP ww2_sxiE ww15_sxhV ww4_sxiG ww17_XxlW $dKnownNat_swsp ww7_sxiJ (case ww10_sxiN of _ [Occ=Dead] { (tpl_X21, tpl1_X23, tpl2_B3, tpl3_B4, tpl4_B5, tpl5_B6, tpl6_B7, tpl7_B8, tpl8_B9, tpl9_Ba, tpl10_Bb, tpl11_Bc) -> tpl_X21 }) ww34_sxil (GHC.Num.negate @ (rep_XuKh (size_XuKj GHC.TypeLits.+ 2)) ww11_sxiP (case ww10_sxiN of _ [Occ=Dead] { (tpl_X7k, tpl1_X7n, tpl2_X5o, tpl3_X5q, tpl4_X5s, tpl5_X5u, tpl6_B7, tpl7_B8, tpl8_B9, tpl9_Ba, tpl10_Bb, tpl11_Bc) -> (tpl5_X5u `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKh ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKh a_ae8M -> rep_XuKh b_ae8N))) @ size_XuKj @ (size_XuKj GHC.TypeLits.+ 2) $dKnownNat_swsp ww7_sxiJ (w_sxiw `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKf rep_XuKh size_XuKj ~# rep_XuKh size_XuKj)) }))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKh size_XuKj ~# CLaSH.Sized.Fixed.Fixed frac_XuKf rep_XuKh size_XuKj) } } } } CLaSH.Sized.Fixed.$fNumFixed_$cnegate [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [GblId, Arity=2, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=2, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_XuKg :: GHC.TypeLits.Nat)) (@ (rep_XuKi :: GHC.TypeLits.Nat -> *)) (@ (size_XuKk :: GHC.TypeLits.Nat)) (w_sxiv [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKg rep_XuKi size_XuKk) (w1_sxiw [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKg rep_XuKi size_XuKk) -> case w_sxiv of _ [Occ=Dead] { (ww1_sxiz [Occ=Once!], ww2_sxiN [Occ=Once], _ [Occ=Dead], ww4_sxiP [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> case ww1_sxiz of _ [Occ=Dead] { (ww8_sxiC [Occ=Once], ww9_sxiD [Occ=Once], ww10_sxiE [Occ=Once], ww11_sxiF [Occ=Once], ww12_sxiG [Occ=Once], ww13_sxiH [Occ=Once], ww14_sxiI [Occ=Once], ww15_sxiJ [Occ=Once], ww16_sxiK [Occ=Once], ww17_sxiL [Occ=Once]) -> CLaSH.Sized.Fixed.$w$cnegate @ frac_XuKg @ rep_XuKi @ size_XuKk ww8_sxiC ww9_sxiD ww10_sxiE ww11_sxiF ww12_sxiG ww13_sxiH ww14_sxiI ww15_sxiJ ww16_sxiK ww17_sxiL ww2_sxiN ww4_sxiP w1_sxiw } }}] CLaSH.Sized.Fixed.$fNumFixed_$cnegate = \ (@ (frac_XuKg :: GHC.TypeLits.Nat)) (@ (rep_XuKi :: GHC.TypeLits.Nat -> *)) (@ (size_XuKk :: GHC.TypeLits.Nat)) (w_sxiv :: CLaSH.Sized.Fixed.NumFixed frac_XuKg rep_XuKi size_XuKk) (w1_sxiw :: CLaSH.Sized.Fixed.Fixed frac_XuKg rep_XuKi size_XuKk) -> case w_sxiv of _ [Occ=Dead] { (ww1_sxiz, ww2_sxiN, ww3_sxiO, ww4_sxiP, ww5_sxiQ, ww6_sxiR) -> case ww1_sxiz of _ [Occ=Dead] { (ww8_sxiC, ww9_sxiD, ww10_sxiE, ww11_sxiF, ww12_sxiG, ww13_sxiH, ww14_sxiI, ww15_sxiJ, ww16_sxiK, ww17_sxiL) -> CLaSH.Sized.Fixed.$w$cnegate @ frac_XuKg @ rep_XuKi @ size_XuKk ww8_sxiC ww9_sxiD ww10_sxiE ww11_sxiF ww12_sxiG ww13_sxiH ww14_sxiI ww15_sxiJ ww16_sxiK ww17_sxiL ww2_sxiN ww4_sxiP w1_sxiw } } CLaSH.Sized.Fixed.$w$c- :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (1 GHC.TypeLits.<= size_auH0, ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_auH0 GHC.TypeLits.+ 2), CLaSH.Class.BitVector.BitVector (rep_auGZ size_auH0), CLaSH.Class.BitVector.BitVector (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0) ~ size_auH0, CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) ~ (size_auH0 GHC.TypeLits.+ 2), GHC.TypeLits.KnownNat size_auH0, GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ 2), GHC.Enum.Bounded (rep_auGZ size_auH0), Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0, GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [GblId, Arity=14, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=14, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 20 0 20 0 20 0 0 0 20 80 30 0 0] 236 60}] CLaSH.Sized.Fixed.$w$c- = \ (@ (frac_XuKh :: GHC.TypeLits.Nat)) (@ (rep_XuKj :: GHC.TypeLits.Nat -> *)) (@ (size_XuKl :: GHC.TypeLits.Nat)) _ [Occ=Dead] (ww1_sxjP :: ((size_XuKl GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_XuKl GHC.TypeLits.+ 2)) (ww2_sxjQ :: CLaSH.Class.BitVector.BitVector (rep_XuKj size_XuKl)) (ww3_sxjR :: CLaSH.Class.BitVector.BitVector (rep_XuKj (size_XuKl GHC.TypeLits.+ 2))) (ww4_sxjS :: CLaSH.Class.BitVector.BitSize (rep_XuKj size_XuKl) ~ size_XuKl) (ww5_sxjT :: CLaSH.Class.BitVector.BitSize (rep_XuKj (size_XuKl GHC.TypeLits.+ 2)) ~ (size_XuKl GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww7_sxjV :: GHC.TypeLits.KnownNat (size_XuKl GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww9_sxjX :: Data.Bits.Bits (rep_XuKj (size_XuKl GHC.TypeLits.+ 2))) (ww10_sxjZ :: CLaSH.Sized.Fixed.ResizeFC rep_XuKj (frac_XuKh GHC.TypeLits.+ frac_XuKh) frac_XuKh (size_XuKl GHC.TypeLits.+ size_XuKl) size_XuKl) (ww11_sxk1 :: GHC.Num.Num (rep_XuKj (size_XuKl GHC.TypeLits.+ 2))) (w_sxjH :: CLaSH.Sized.Fixed.Fixed frac_XuKh rep_XuKj size_XuKl) (w1_sxjI :: CLaSH.Sized.Fixed.Fixed frac_XuKh rep_XuKj size_XuKl) -> case ww1_sxjP of _ [Occ=Dead] { GHC.Types.Eq# ww13_sxj0 -> case ww3_sxjR of _ [Occ=Dead] { CLaSH.Class.BitVector.D:BitVector ww15_sxj6 ww16_sxj7 -> case ww5_sxjT of ww17_Xxna { GHC.Types.Eq# ipv_sxtX -> case ww9_sxjX of _ [Occ=Dead] { Data.Bits.D:Bits ww19_sxjh ww20_sxji ww21_sxjj ww22_sxjk ww23_sxjl ww24_sxjm ww25_sxjn ww26_sxjo ww27_sxjp ww28_sxjq ww29_sxjr ww30_sxjs ww31_sxjt ww32_sxju ww33_sxjv ww34_sxjw ww35_sxjx ww36_sxjy ww37_sxjz ww38_sxjA ww39_sxjB ww40_sxjC ww41_sxjD -> let { $dKnownNat_swsg :: GHC.TypeLits.KnownNat size_XuKl [LclId, Str=DmdType] $dKnownNat_swsg = case ww10_sxjZ of _ [Occ=Dead] { (tpl_X20, tpl1_X22, tpl2_B3, tpl3_B4, tpl4_B5, tpl5_B6, tpl6_B7, tpl7_B8, tpl8_B9, tpl9_Ba, tpl10_Bb, tpl11_Bc) -> tpl6_B7 } } in (CLaSH.Sized.Fixed.$wsatN2 @ rep_XuKj @ size_XuKl @~ ww13_sxj0 ww2_sxjQ ww15_sxj6 ww4_sxjS ww17_Xxna $dKnownNat_swsg ww7_sxjV (case ww10_sxjZ of _ [Occ=Dead] { (tpl_X25, tpl1_X27, tpl2_B3, tpl3_B4, tpl4_B5, tpl5_B6, tpl6_B7, tpl7_B8, tpl8_B9, tpl9_Ba, tpl10_Bb, tpl11_Bc) -> tpl_X25 }) ww34_sxjw (GHC.Num.- @ (rep_XuKj (size_XuKl GHC.TypeLits.+ 2)) ww11_sxk1 (case ww10_sxjZ of _ [Occ=Dead] { (tpl_X1Y, tpl1_X20, tpl2_X5s, tpl3_X5u, tpl4_X5w, tpl5_X5y, tpl6_B7, tpl7_B8, tpl8_B9, tpl9_Ba, tpl10_Bb, tpl11_Bc) -> (tpl5_X5y `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKj ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKj a_ae8M -> rep_XuKj b_ae8N))) @ size_XuKl @ (size_XuKl GHC.TypeLits.+ 2) $dKnownNat_swsg ww7_sxjV (w_sxjH `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKh rep_XuKj size_XuKl ~# rep_XuKj size_XuKl)) }) (case ww10_sxjZ of _ [Occ=Dead] { (tpl_X1Y, tpl1_X20, tpl2_X5s, tpl3_X5u, tpl4_X5w, tpl5_X5y, tpl6_B7, tpl7_B8, tpl8_B9, tpl9_Ba, tpl10_Bb, tpl11_Bc) -> (tpl5_X5y `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKj ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKj a_ae8M -> rep_XuKj b_ae8N))) @ size_XuKl @ (size_XuKl GHC.TypeLits.+ 2) $dKnownNat_swsg ww7_sxjV (w1_sxjI `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKh rep_XuKj size_XuKl ~# rep_XuKj size_XuKl)) }))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKj size_XuKl ~# CLaSH.Sized.Fixed.Fixed frac_XuKh rep_XuKj size_XuKl) } } } } CLaSH.Sized.Fixed.$fNumFixed_$c- [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [GblId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_XuKi :: GHC.TypeLits.Nat)) (@ (rep_XuKk :: GHC.TypeLits.Nat -> *)) (@ (size_XuKm :: GHC.TypeLits.Nat)) (w_sxjG [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKi rep_XuKk size_XuKm) (w1_sxjH [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKi rep_XuKk size_XuKm) (w2_sxjI [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKi rep_XuKk size_XuKm) -> case w_sxjG of _ [Occ=Dead] { (ww1_sxjL [Occ=Once!], ww2_sxjZ [Occ=Once], _ [Occ=Dead], ww4_sxk1 [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> case ww1_sxjL of _ [Occ=Dead] { (ww8_sxjO [Occ=Once], ww9_sxjP [Occ=Once], ww10_sxjQ [Occ=Once], ww11_sxjR [Occ=Once], ww12_sxjS [Occ=Once], ww13_sxjT [Occ=Once], ww14_sxjU [Occ=Once], ww15_sxjV [Occ=Once], ww16_sxjW [Occ=Once], ww17_sxjX [Occ=Once]) -> CLaSH.Sized.Fixed.$w$c- @ frac_XuKi @ rep_XuKk @ size_XuKm ww8_sxjO ww9_sxjP ww10_sxjQ ww11_sxjR ww12_sxjS ww13_sxjT ww14_sxjU ww15_sxjV ww16_sxjW ww17_sxjX ww2_sxjZ ww4_sxk1 w1_sxjH w2_sxjI } }}] CLaSH.Sized.Fixed.$fNumFixed_$c- = \ (@ (frac_XuKi :: GHC.TypeLits.Nat)) (@ (rep_XuKk :: GHC.TypeLits.Nat -> *)) (@ (size_XuKm :: GHC.TypeLits.Nat)) (w_sxjG :: CLaSH.Sized.Fixed.NumFixed frac_XuKi rep_XuKk size_XuKm) (w1_sxjH :: CLaSH.Sized.Fixed.Fixed frac_XuKi rep_XuKk size_XuKm) (w2_sxjI :: CLaSH.Sized.Fixed.Fixed frac_XuKi rep_XuKk size_XuKm) -> case w_sxjG of _ [Occ=Dead] { (ww1_sxjL, ww2_sxjZ, ww3_sxk0, ww4_sxk1, ww5_sxk2, ww6_sxk3) -> case ww1_sxjL of _ [Occ=Dead] { (ww8_sxjO, ww9_sxjP, ww10_sxjQ, ww11_sxjR, ww12_sxjS, ww13_sxjT, ww14_sxjU, ww15_sxjV, ww16_sxjW, ww17_sxjX) -> CLaSH.Sized.Fixed.$w$c- @ frac_XuKi @ rep_XuKk @ size_XuKm ww8_sxjO ww9_sxjP ww10_sxjQ ww11_sxjR ww12_sxjS ww13_sxjT ww14_sxjU ww15_sxjV ww16_sxjW ww17_sxjX ww2_sxjZ ww4_sxk1 w1_sxjH w2_sxjI } } CLaSH.Sized.Fixed.$fNumFixed_$c* [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [GblId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_XuKk :: GHC.TypeLits.Nat)) (@ (rep_XuKm :: GHC.TypeLits.Nat -> *)) (@ (size_XuKo :: GHC.TypeLits.Nat)) (w_sxkl [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKk rep_XuKm size_XuKo) (w1_sxkm [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo) (w2_sxkn [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo) -> case w_sxkl of _ [Occ=Dead] { (_ [Occ=Dead], ww2_sxkr [Occ=Once!], _ [Occ=Dead], _ [Occ=Dead], ww5_sxkJ [Occ=Once], ww6_sxkK [Occ=Once!]) -> case ww2_sxkr of _ [Occ=Dead] { (ww8_sxku [Occ=Once], _ [Occ=Dead], ww10_sxkw [Occ=Once], ww11_sxkx [Occ=Once], ww12_sxky [Occ=Once], ww13_sxkz [Occ=Once], ww14_sxkA [Occ=Once], ww15_sxkB [Occ=Once], ww16_sxkC [Occ=Once], ww17_sxkD [Occ=Once], ww18_sxkE [Occ=Once], _ [Occ=Dead]) -> CLaSH.Sized.Fixed.$wresizeF @ (frac_XuKk GHC.TypeLits.+ frac_XuKk) @ frac_XuKk @ rep_XuKm @ (size_XuKo GHC.TypeLits.+ size_XuKo) @ size_XuKo ww8_sxku ww10_sxkw ww11_sxkx ww12_sxky ww13_sxkz ww14_sxkA ww15_sxkB ww16_sxkC ww17_sxkD ww18_sxkE (case ww6_sxkK of _ [Occ=Dead] { GHC.Types.Eq# cobox1_dw1a -> ((ww5_sxkJ `cast` (CLaSH.Class.Num.NTCo:Mult[0] _N _N :: CLaSH.Class.Num.Mult (rep_XuKm size_XuKo) (rep_XuKm size_XuKo) ~# (rep_XuKm size_XuKo -> rep_XuKm size_XuKo -> CLaSH.Class.Num.MResult (rep_XuKm size_XuKo) (rep_XuKm size_XuKo)))) (w1_sxkm `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo ~# rep_XuKm size_XuKo)) (w2_sxkn `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo ~# rep_XuKm size_XuKo))) `cast` (Sub cobox1_dw1a ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: CLaSH.Class.Num.MResult (rep_XuKm size_XuKo) (rep_XuKm size_XuKo) ~# CLaSH.Sized.Fixed.Fixed (frac_XuKk GHC.TypeLits.+ frac_XuKk) rep_XuKm (size_XuKo GHC.TypeLits.+ size_XuKo)) }) } }}] CLaSH.Sized.Fixed.$fNumFixed_$c* = \ (@ (frac_XuKk :: GHC.TypeLits.Nat)) (@ (rep_XuKm :: GHC.TypeLits.Nat -> *)) (@ (size_XuKo :: GHC.TypeLits.Nat)) (w_sxkl :: CLaSH.Sized.Fixed.NumFixed frac_XuKk rep_XuKm size_XuKo) (w1_sxkm :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo) (w2_sxkn :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo) -> case w_sxkl of _ [Occ=Dead] { (ww1_sxkq, ww2_sxkr, ww3_sxkH, ww4_sxkI, ww5_sxkJ, ww6_sxkK) -> case ww2_sxkr of _ [Occ=Dead] { (ww8_sxku, ww9_sxkv, ww10_sxkw, ww11_sxkx, ww12_sxky, ww13_sxkz, ww14_sxkA, ww15_sxkB, ww16_sxkC, ww17_sxkD, ww18_sxkE, ww19_sxkF) -> CLaSH.Sized.Fixed.$wresizeF @ (frac_XuKk GHC.TypeLits.+ frac_XuKk) @ frac_XuKk @ rep_XuKm @ (size_XuKo GHC.TypeLits.+ size_XuKo) @ size_XuKo ww8_sxku ww10_sxkw ww11_sxkx ww12_sxky ww13_sxkz ww14_sxkA ww15_sxkB ww16_sxkC ww17_sxkD ww18_sxkE (case ww6_sxkK of _ [Occ=Dead] { GHC.Types.Eq# cobox1_dw1a -> ((ww5_sxkJ `cast` (CLaSH.Class.Num.NTCo:Mult[0] _N _N :: CLaSH.Class.Num.Mult (rep_XuKm size_XuKo) (rep_XuKm size_XuKo) ~# (rep_XuKm size_XuKo -> rep_XuKm size_XuKo -> CLaSH.Class.Num.MResult (rep_XuKm size_XuKo) (rep_XuKm size_XuKo)))) (w1_sxkm `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo ~# rep_XuKm size_XuKo)) (w2_sxkn `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo ~# rep_XuKm size_XuKo))) `cast` (Sub cobox1_dw1a ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: CLaSH.Class.Num.MResult (rep_XuKm size_XuKo) (rep_XuKm size_XuKo) ~# CLaSH.Sized.Fixed.Fixed (frac_XuKk GHC.TypeLits.+ frac_XuKk) rep_XuKm (size_XuKo GHC.TypeLits.+ size_XuKo)) }) } } CLaSH.Sized.Fixed.$w$c+ :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (1 GHC.TypeLits.<= size_auH0, ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_auH0 GHC.TypeLits.+ 2), CLaSH.Class.BitVector.BitVector (rep_auGZ size_auH0), CLaSH.Class.BitVector.BitVector (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0) ~ size_auH0, CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) ~ (size_auH0 GHC.TypeLits.+ 2), GHC.TypeLits.KnownNat size_auH0, GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ 2), GHC.Enum.Bounded (rep_auGZ size_auH0), Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0, GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [GblId, Arity=14, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=14, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=IF_ARGS [0 20 0 20 0 20 0 0 0 20 80 30 0 0] 236 60}] CLaSH.Sized.Fixed.$w$c+ = \ (@ (frac_XuKl :: GHC.TypeLits.Nat)) (@ (rep_XuKn :: GHC.TypeLits.Nat -> *)) (@ (size_XuKp :: GHC.TypeLits.Nat)) _ [Occ=Dead] (ww1_sxlI :: ((size_XuKp GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_XuKp GHC.TypeLits.+ 2)) (ww2_sxlJ :: CLaSH.Class.BitVector.BitVector (rep_XuKn size_XuKp)) (ww3_sxlK :: CLaSH.Class.BitVector.BitVector (rep_XuKn (size_XuKp GHC.TypeLits.+ 2))) (ww4_sxlL :: CLaSH.Class.BitVector.BitSize (rep_XuKn size_XuKp) ~ size_XuKp) (ww5_sxlM :: CLaSH.Class.BitVector.BitSize (rep_XuKn (size_XuKp GHC.TypeLits.+ 2)) ~ (size_XuKp GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww7_sxlO :: GHC.TypeLits.KnownNat (size_XuKp GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww9_sxlQ :: Data.Bits.Bits (rep_XuKn (size_XuKp GHC.TypeLits.+ 2))) (ww10_sxlS :: CLaSH.Sized.Fixed.ResizeFC rep_XuKn (frac_XuKl GHC.TypeLits.+ frac_XuKl) frac_XuKl (size_XuKp GHC.TypeLits.+ size_XuKp) size_XuKp) (ww11_sxlU :: GHC.Num.Num (rep_XuKn (size_XuKp GHC.TypeLits.+ 2))) (w_sxlA :: CLaSH.Sized.Fixed.Fixed frac_XuKl rep_XuKn size_XuKp) (w1_sxlB :: CLaSH.Sized.Fixed.Fixed frac_XuKl rep_XuKn size_XuKp) -> case ww1_sxlI of _ [Occ=Dead] { GHC.Types.Eq# ww13_sxkT -> case ww3_sxlK of _ [Occ=Dead] { CLaSH.Class.BitVector.D:BitVector ww15_sxkZ ww16_sxl0 -> case ww5_sxlM of ww17_Xxp7 { GHC.Types.Eq# ipv_sxuU -> case ww9_sxlQ of _ [Occ=Dead] { Data.Bits.D:Bits ww19_sxla ww20_sxlb ww21_sxlc ww22_sxld ww23_sxle ww24_sxlf ww25_sxlg ww26_sxlh ww27_sxli ww28_sxlj ww29_sxlk ww30_sxll ww31_sxlm ww32_sxln ww33_sxlo ww34_sxlp ww35_sxlq ww36_sxlr ww37_sxls ww38_sxlt ww39_sxlu ww40_sxlv ww41_sxlw -> let { $dKnownNat_sws2 :: GHC.TypeLits.KnownNat size_XuKp [LclId, Str=DmdType] $dKnownNat_sws2 = case ww10_sxlS of _ [Occ=Dead] { (tpl_X22, tpl1_X24, tpl2_B3, tpl3_B4, tpl4_B5, tpl5_B6, tpl6_B7, tpl7_B8, tpl8_B9, tpl9_Ba, tpl10_Bb, tpl11_Bc) -> tpl6_B7 } } in (CLaSH.Sized.Fixed.$wsatN2 @ rep_XuKn @ size_XuKp @~ ww13_sxkT ww2_sxlJ ww15_sxkZ ww4_sxlL ww17_Xxp7 $dKnownNat_sws2 ww7_sxlO (case ww10_sxlS of _ [Occ=Dead] { (tpl_X27, tpl1_X29, tpl2_B3, tpl3_B4, tpl4_B5, tpl5_B6, tpl6_B7, tpl7_B8, tpl8_B9, tpl9_Ba, tpl10_Bb, tpl11_Bc) -> tpl_X27 }) ww34_sxlp (GHC.Num.+ @ (rep_XuKn (size_XuKp GHC.TypeLits.+ 2)) ww11_sxlU (case ww10_sxlS of _ [Occ=Dead] { (tpl_X20, tpl1_X22, tpl2_X5u, tpl3_X5w, tpl4_X5y, tpl5_X5A, tpl6_B7, tpl7_B8, tpl8_B9, tpl9_Ba, tpl10_Bb, tpl11_Bc) -> (tpl5_X5A `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKn ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKn a_ae8M -> rep_XuKn b_ae8N))) @ size_XuKp @ (size_XuKp GHC.TypeLits.+ 2) $dKnownNat_sws2 ww7_sxlO (w_sxlA `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKl rep_XuKn size_XuKp ~# rep_XuKn size_XuKp)) }) (case ww10_sxlS of _ [Occ=Dead] { (tpl_X20, tpl1_X22, tpl2_X5u, tpl3_X5w, tpl4_X5y, tpl5_X5A, tpl6_B7, tpl7_B8, tpl8_B9, tpl9_Ba, tpl10_Bb, tpl11_Bc) -> (tpl5_X5A `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKn ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKn a_ae8M -> rep_XuKn b_ae8N))) @ size_XuKp @ (size_XuKp GHC.TypeLits.+ 2) $dKnownNat_sws2 ww7_sxlO (w1_sxlB `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKl rep_XuKn size_XuKp ~# rep_XuKn size_XuKp)) }))) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKn size_XuKp ~# CLaSH.Sized.Fixed.Fixed frac_XuKl rep_XuKn size_XuKp) } } } } CLaSH.Sized.Fixed.$fNumFixed_$c+ [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [GblId, Arity=3, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=3, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=False) Tmpl= \ (@ (frac_XuKm :: GHC.TypeLits.Nat)) (@ (rep_XuKo :: GHC.TypeLits.Nat -> *)) (@ (size_XuKq :: GHC.TypeLits.Nat)) (w_sxlz [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKm rep_XuKo size_XuKq) (w1_sxlA [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKm rep_XuKo size_XuKq) (w2_sxlB [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKm rep_XuKo size_XuKq) -> case w_sxlz of _ [Occ=Dead] { (ww1_sxlE [Occ=Once!], ww2_sxlS [Occ=Once], _ [Occ=Dead], ww4_sxlU [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> case ww1_sxlE of _ [Occ=Dead] { (ww8_sxlH [Occ=Once], ww9_sxlI [Occ=Once], ww10_sxlJ [Occ=Once], ww11_sxlK [Occ=Once], ww12_sxlL [Occ=Once], ww13_sxlM [Occ=Once], ww14_sxlN [Occ=Once], ww15_sxlO [Occ=Once], ww16_sxlP [Occ=Once], ww17_sxlQ [Occ=Once]) -> CLaSH.Sized.Fixed.$w$c+ @ frac_XuKm @ rep_XuKo @ size_XuKq ww8_sxlH ww9_sxlI ww10_sxlJ ww11_sxlK ww12_sxlL ww13_sxlM ww14_sxlN ww15_sxlO ww16_sxlP ww17_sxlQ ww2_sxlS ww4_sxlU w1_sxlA w2_sxlB } }}] CLaSH.Sized.Fixed.$fNumFixed_$c+ = \ (@ (frac_XuKm :: GHC.TypeLits.Nat)) (@ (rep_XuKo :: GHC.TypeLits.Nat -> *)) (@ (size_XuKq :: GHC.TypeLits.Nat)) (w_sxlz :: CLaSH.Sized.Fixed.NumFixed frac_XuKm rep_XuKo size_XuKq) (w1_sxlA :: CLaSH.Sized.Fixed.Fixed frac_XuKm rep_XuKo size_XuKq) (w2_sxlB :: CLaSH.Sized.Fixed.Fixed frac_XuKm rep_XuKo size_XuKq) -> case w_sxlz of _ [Occ=Dead] { (ww1_sxlE, ww2_sxlS, ww3_sxlT, ww4_sxlU, ww5_sxlV, ww6_sxlW) -> case ww1_sxlE of _ [Occ=Dead] { (ww8_sxlH, ww9_sxlI, ww10_sxlJ, ww11_sxlK, ww12_sxlL, ww13_sxlM, ww14_sxlN, ww15_sxlO, ww16_sxlP, ww17_sxlQ) -> CLaSH.Sized.Fixed.$w$c+ @ frac_XuKm @ rep_XuKo @ size_XuKq ww8_sxlH ww9_sxlI ww10_sxlJ ww11_sxlK ww12_sxlL ww13_sxlM ww14_sxlN ww15_sxlO ww16_sxlP ww17_sxlQ ww2_sxlS ww4_sxlU w1_sxlA w2_sxlB } } CLaSH.Sized.Fixed.$fNumFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => GHC.Num.Num (CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) [GblId[DFunId], Arity=1, Str=DmdType m, Unf=DFun: \ (@ (frac_XuIO :: GHC.TypeLits.Nat)) (@ (rep_XuIQ :: GHC.TypeLits.Nat -> *)) (@ (size_XuIS :: GHC.TypeLits.Nat)) (tup_XvDf :: CLaSH.Sized.Fixed.NumFixed frac_XuIO rep_XuIQ size_XuIS) -> GHC.Num.D:Num TYPE CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS CLaSH.Sized.Fixed.$fNumFixed_$c+ @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf CLaSH.Sized.Fixed.$fNumFixed_$c* @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf CLaSH.Sized.Fixed.$fNumFixed_$c- @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf CLaSH.Sized.Fixed.$fNumFixed_$cnegate @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf CLaSH.Sized.Fixed.$fNumFixed_$cabs @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf (CLaSH.Sized.Fixed.$fNumFixed1 @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) `cast` (_R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> rep_XuIQ size_XuIS) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS)) CLaSH.Sized.Fixed.$fNumFixed_$cfromInteger @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf] CLaSH.Sized.Fixed.$fNumFixed = \ (@ (frac_XuIO :: GHC.TypeLits.Nat)) (@ (rep_XuIQ :: GHC.TypeLits.Nat -> *)) (@ (size_XuIS :: GHC.TypeLits.Nat)) (tup_XvDf :: CLaSH.Sized.Fixed.NumFixed frac_XuIO rep_XuIQ size_XuIS) -> GHC.Num.D:Num @ (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS) (CLaSH.Sized.Fixed.$fNumFixed_$c+ @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) (CLaSH.Sized.Fixed.$fNumFixed_$c* @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) (CLaSH.Sized.Fixed.$fNumFixed_$c- @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) (CLaSH.Sized.Fixed.$fNumFixed_$cnegate @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) (CLaSH.Sized.Fixed.$fNumFixed_$cabs @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) ((CLaSH.Sized.Fixed.$fNumFixed1 @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) `cast` (_R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> rep_XuIQ size_XuIS) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS))) (CLaSH.Sized.Fixed.$fNumFixed_$cfromInteger @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_XvDf) CLaSH.Sized.Fixed.$fBitVectorFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV) => CLaSH.Class.BitVector.BitVector (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV) [GblId[DFunId], Arity=1, Caf=NoCafRefs, Str=DmdType m, Unf=DFun: \ (@ (frac_XuIN :: GHC.TypeLits.Nat)) (@ (rep_XuIP :: GHC.TypeLits.Nat -> *)) (@ (size_XuIR :: GHC.TypeLits.Nat)) ($dBitVector_XvCT :: CLaSH.Class.BitVector.BitVector (rep_XuIP size_XuIR)) -> CLaSH.Class.BitVector.D:BitVector TYPE CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR (\ ($dKnownNat_avB0 :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (ds_dw0H :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) -> CLaSH.Class.BitVector.toBV @ (rep_XuIP size_XuIR) $dBitVector_XvCT ($dKnownNat_avB0 `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (ds_dw0H `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR ~# rep_XuIP size_XuIR))) `cast` (_R -> _R -> (CLaSH.Sized.Vector.Vec (Sym (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N)) _R)_R :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit)) (\ ($dKnownNat_avBa :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (bv_auGX :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit) -> CLaSH.Class.BitVector.fromBV @ (rep_XuIP size_XuIR) $dBitVector_XvCT ($dKnownNat_avBa `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (bv_auGX `cast` ((CLaSH.Sized.Vector.Vec (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit))) `cast` (_R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> rep_XuIP size_XuIR) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))] CLaSH.Sized.Fixed.$fBitVectorFixed = \ (@ (frac_XuIN :: GHC.TypeLits.Nat)) (@ (rep_XuIP :: GHC.TypeLits.Nat -> *)) (@ (size_XuIR :: GHC.TypeLits.Nat)) ($dBitVector_XvCT :: CLaSH.Class.BitVector.BitVector (rep_XuIP size_XuIR)) -> let { lvl17_sxDl :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> rep_XuIP size_XuIR [LclId, Str=DmdType] lvl17_sxDl = CLaSH.Class.BitVector.fromBV @ (rep_XuIP size_XuIR) $dBitVector_XvCT } in let { lvl18_sxDk :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) => rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit [LclId, Str=DmdType] lvl18_sxDk = CLaSH.Class.BitVector.toBV @ (rep_XuIP size_XuIR) $dBitVector_XvCT } in CLaSH.Class.BitVector.D:BitVector @ (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) ((\ ($dKnownNat_avB0 :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (ds_dw0H :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) -> lvl18_sxDk ($dKnownNat_avB0 `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (ds_dw0H `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR ~# rep_XuIP size_XuIR))) `cast` (_R -> _R -> (CLaSH.Sized.Vector.Vec (Sym (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N)) _R)_R :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit))) ((\ ($dKnownNat_avBa :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (bv_auGX :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit) -> lvl17_sxDl ($dKnownNat_avBa `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (bv_auGX `cast` ((CLaSH.Sized.Vector.Vec (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit))) `cast` (_R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> rep_XuIP size_XuIR) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) CLaSH.Sized.Fixed.$fDefaultFixed1 :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => Data.Default.Class.Default (rep_auGM size_auGN) [GblId, Arity=1, Caf=NoCafRefs, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.$fDefaultFixed1 = \ (@ (frac_auGL :: GHC.TypeLits.Nat)) (@ (rep_auGM :: GHC.TypeLits.Nat -> *)) (@ (size_auGN :: GHC.TypeLits.Nat)) ($dDefault_avAe :: Data.Default.Class.Default (rep_auGM size_auGN)) -> $dDefault_avAe CLaSH.Sized.Fixed.$fDefaultFixed_$cdef :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => CLaSH.Sized.Fixed.Fixed frac_auGL rep_auGM size_auGN [GblId, Arity=1, Caf=NoCafRefs, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.$fDefaultFixed_$cdef = CLaSH.Sized.Fixed.$fDefaultFixed1 `cast` (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). _R -> Data.Default.Class.NTCo:Default[0] _N ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => Data.Default.Class.Default (rep_XuLZ size_XuM1)) ~# (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => CLaSH.Sized.Fixed.Fixed frac_XuLX rep_XuLZ size_XuM1)) CLaSH.Sized.Fixed.$fDefaultFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_auGL rep_auGM size_auGN) [GblId[DFunId(nt)], Arity=1, Caf=NoCafRefs, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=1, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= CLaSH.Sized.Fixed.$fDefaultFixed_$cdef `cast` (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). _R -> Sym (Data.Default.Class.NTCo:Default[0] _N) :: (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuIO size_XuIQ) => CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ) ~# (forall (frac_XuIM :: GHC.TypeLits.Nat) (rep_XuIO :: GHC.TypeLits.Nat -> *) (size_XuIQ :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuIO size_XuIQ) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_XuIM rep_XuIO size_XuIQ)))}] CLaSH.Sized.Fixed.$fDefaultFixed = CLaSH.Sized.Fixed.$fDefaultFixed1 `cast` (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). _R -> Data.Default.Class.NTCo:Default[0] _N ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sym (Data.Default.Class.NTCo:Default[0] _N) :: (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => Data.Default.Class.Default (rep_XuLZ size_XuM1)) ~# (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_XuLX rep_XuLZ size_XuM1))) CLaSH.Sized.Fixed.$fBoundedFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_auGJ size_auGK) => GHC.Enum.Bounded (CLaSH.Sized.Fixed.Fixed frac_auGI rep_auGJ size_auGK) [GblId[DFunId], Arity=1, Caf=NoCafRefs, Str=DmdType m, Unf=DFun: \ (@ (frac_XuIW :: GHC.TypeLits.Nat)) (@ (rep_XuIY :: GHC.TypeLits.Nat -> *)) (@ (size_XuJ0 :: GHC.TypeLits.Nat)) ($dBounded_XvCa :: GHC.Enum.Bounded (rep_XuIY size_XuJ0)) -> GHC.Enum.D:Bounded TYPE CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0 (GHC.Enum.minBound @ (rep_XuIY size_XuJ0) $dBounded_XvCa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0) (GHC.Enum.maxBound @ (rep_XuIY size_XuJ0) $dBounded_XvCa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0)] CLaSH.Sized.Fixed.$fBoundedFixed = \ (@ (frac_XuIW :: GHC.TypeLits.Nat)) (@ (rep_XuIY :: GHC.TypeLits.Nat -> *)) (@ (size_XuJ0 :: GHC.TypeLits.Nat)) ($dBounded_XvCa :: GHC.Enum.Bounded (rep_XuIY size_XuJ0)) -> GHC.Enum.D:Bounded @ (CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0) ((GHC.Enum.minBound @ (rep_XuIY size_XuJ0) $dBounded_XvCa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0)) ((GHC.Enum.maxBound @ (rep_XuIY size_XuJ0) $dBounded_XvCa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0)) CLaSH.Sized.Fixed.$fOrdFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => GHC.Classes.Ord (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) [GblId[DFunId[1]], Arity=2, Caf=NoCafRefs, Str=DmdType m, Unf=DFun: \ (@ (frac_XuIv :: GHC.TypeLits.Nat)) (@ (rep_XuIx :: GHC.TypeLits.Nat -> *)) (@ (size_XuIz :: GHC.TypeLits.Nat)) ($dEq_XvB3 :: GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) ($dOrd_XvB5 :: GHC.Classes.Ord (rep_XuIx size_XuIz)) -> GHC.Classes.D:Ord TYPE CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz $dEq_XvB3 (GHC.Classes.compare @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Ordering) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Ordering)) (GHC.Classes.< @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) (GHC.Classes.>= @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) (GHC.Classes.> @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) (GHC.Classes.<= @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) (GHC.Classes.max @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) (GHC.Classes.min @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz))] CLaSH.Sized.Fixed.$fOrdFixed = \ (@ (frac_XuIv :: GHC.TypeLits.Nat)) (@ (rep_XuIx :: GHC.TypeLits.Nat -> *)) (@ (size_XuIz :: GHC.TypeLits.Nat)) ($dEq_XvB3 :: GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) ($dOrd_XvB5 :: GHC.Classes.Ord (rep_XuIx size_XuIz)) -> GHC.Classes.D:Ord @ (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz) $dEq_XvB3 ((GHC.Classes.compare @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Ordering) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Ordering))) ((GHC.Classes.< @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.>= @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.> @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.<= @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool))) ((GHC.Classes.max @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz))) ((GHC.Classes.min @ (rep_XuIx size_XuIz) $dOrd_XvB5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz))) CLaSH.Sized.Fixed.$fEqFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_auFG size_auFH) => GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) [GblId[DFunId], Arity=1, Caf=NoCafRefs, Str=DmdType m, Unf=DFun: \ (@ (frac_XuII :: GHC.TypeLits.Nat)) (@ (rep_XuIK :: GHC.TypeLits.Nat -> *)) (@ (size_XuIM :: GHC.TypeLits.Nat)) ($dEq_XvAL :: GHC.Classes.Eq (rep_XuIK size_XuIM)) -> GHC.Classes.D:Eq TYPE CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM (GHC.Classes.== @ (rep_XuIK size_XuIM) $dEq_XvAL) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool)) (GHC.Classes./= @ (rep_XuIK size_XuIM) $dEq_XvAL) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool))] CLaSH.Sized.Fixed.$fEqFixed = \ (@ (frac_XuII :: GHC.TypeLits.Nat)) (@ (rep_XuIK :: GHC.TypeLits.Nat -> *)) (@ (size_XuIM :: GHC.TypeLits.Nat)) ($dEq_XvAL :: GHC.Classes.Eq (rep_XuIK size_XuIM)) -> GHC.Classes.D:Eq @ (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM) ((GHC.Classes.== @ (rep_XuIK size_XuIM) $dEq_XvAL) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool))) ((GHC.Classes./= @ (rep_XuIK size_XuIM) $dEq_XvAL) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool))) a8_rxLL :: Language.Haskell.TH.Syntax.NameFlavour [GblId, Str=DmdType m5] a8_rxLL = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.TcClsName (a1_rxLr `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a2_rxLs `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) lvl14_rxLM :: Language.Haskell.TH.Syntax.Name [GblId, Str=DmdType m] lvl14_rxLM = Language.Haskell.TH.Syntax.Name (a_rxLq `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a8_rxLL lvl15_rxLN :: Language.Haskell.TH.Syntax.Type [GblId, Str=DmdType] lvl15_rxLN = Language.Haskell.TH.Syntax.ConT lvl14_rxLM a9_rxLO :: forall (m_a4Ni :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4Ni => m_a4Ni Language.Haskell.TH.Syntax.Type [GblId, Arity=1, Str=DmdType ] a9_rxLO = \ (@ (m_a4Ni :: * -> *)) (eta_a4Nj :: Language.Haskell.TH.Syntax.Quasi m_a4Ni) -> GHC.Base.return @ m_a4Ni (Language.Haskell.TH.Syntax.$p1Quasi @ m_a4Ni eta_a4Nj) @ Language.Haskell.TH.Syntax.Type lvl15_rxLN Rec { lgo_rxLP :: Language.Haskell.TH.Lib.TypeQ -> [Language.Haskell.TH.Lib.TypeQ] -> Language.Haskell.TH.Lib.TypeQ [GblId, Arity=2, Caf=NoCafRefs, Str=DmdType ] lgo_rxLP = \ (z_awhM :: Language.Haskell.TH.Lib.TypeQ) (ds_awhN :: [Language.Haskell.TH.Lib.TypeQ]) -> case ds_awhN of _ [Occ=Dead] { [] -> z_awhM; : x_awhS xs_awhT -> lgo_rxLP ((Language.Haskell.TH.Lib.appT1 z_awhM x_awhS) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) xs_awhT } end Rec } lvl16_rxLQ :: Language.Haskell.TH.Syntax.Name [GblId, Caf=NoCafRefs, Str=DmdType] lvl16_rxLQ = Language.Haskell.TH.Syntax.Name ((GHC.Types.[] @ GHC.Types.Char) `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) Language.Haskell.TH.Syntax.NameS CLaSH.Sized.Fixed.$fLiftFixed1 :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> forall (m_akMz :: * -> *). Language.Haskell.TH.Syntax.Quasi m_akMz => m_akMz Language.Haskell.TH.Syntax.Exp [GblId, Arity=5, Str=DmdType ] CLaSH.Sized.Fixed.$fLiftFixed1 = \ (@ (frac_auGO :: GHC.TypeLits.Nat)) (@ (rep_auGP :: GHC.TypeLits.Nat -> *)) (@ (size_auGQ :: GHC.TypeLits.Nat)) ($dLift_avAq :: Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ)) ($dKnownNat_avAr :: GHC.TypeLits.KnownNat frac_auGO) ($dKnownNat1_avAs :: GHC.TypeLits.KnownNat size_auGQ) ($dTypeable_avAt :: Data.Typeable.Internal.Typeable rep_auGP) (f_auGR :: CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ) -> let { w1_akV2 [Dmd=] :: Language.Haskell.TH.Lib.TypeQ [LclId, Str=DmdType] w1_akV2 = lgo_rxLP (a9_rxLO `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (GHC.Types.: @ Language.Haskell.TH.Lib.TypeQ (let { l_a5DZ [Dmd=] :: Language.Haskell.TH.Lib.TyLitQ [LclId, Str=DmdType] l_a5DZ = Language.Haskell.TH.Lib.numTyLit ($dKnownNat_avAr `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_auGO ~# GHC.Integer.Type.Integer)) } in (\ (@ (m_a5E0 :: * -> *)) (eta_a5E1 :: Language.Haskell.TH.Syntax.Quasi m_a5E0) -> GHC.Base.fmap @ m_a5E0 (Control.Applicative.$p1Applicative @ m_a5E0 (Language.Haskell.TH.Syntax.$p2Quasi @ m_a5E0 eta_a5E1)) @ Language.Haskell.TH.Syntax.TyLit @ Language.Haskell.TH.Syntax.Type Language.Haskell.TH.Syntax.LitT ((l_a5DZ `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.TyLit ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.TyLit))) @ m_a5E0 eta_a5E1)) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (GHC.Types.: @ Language.Haskell.TH.Lib.TypeQ (let { x_X4Ts :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType] x_X4Ts = case ($dTypeable_avAt `cast` (Data.Typeable.Internal.NTCo:Typeable[0] *>_N _N :: Data.Typeable.Internal.Typeable rep_auGP ~# (GHC.Prim.Proxy# rep_auGP -> Data.Typeable.Internal.TypeRep))) (GHC.Prim.proxy# @ (GHC.TypeLits.Nat -> *) @ rep_auGP) of _ [Occ=Dead] { Data.Typeable.Internal.TypeRep ww1_awCq ww2_awCr ww3_awCs ww4_awCt -> case GHC.List.reverse1 @ GHC.Types.Char (Data.Typeable.Internal.$w$cshowsPrec GHC.Show.shows27 ww3_awCs ww4_awCt (GHC.Types.[] @ GHC.Types.Char)) (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead] { [] -> lvl16_rxLQ; : ds_a5Fa rev_a5Fb -> case ds_a5Fa of wild22_a5Fd { GHC.Types.C# ds1_a5Ff -> case ds1_a5Ff of _ [Occ=Dead] { __DEFAULT -> case Language.Haskell.TH.Syntax.mkName_$s$wsplit1 wild22_a5Fd (GHC.Types.[] @ GHC.Types.Char) rev_a5Fb of _ [Occ=Dead] { (# ww6_a5Aw, ww7_a5Ax #) -> Language.Haskell.TH.Syntax.Name ww6_a5Aw ww7_a5Ax }; '.' -> case Language.Haskell.TH.Syntax.mkName_$s$wsplit1 wild22_a5Fd (GHC.Types.[] @ GHC.Types.Char) rev_a5Fb of _ [Occ=Dead] { (# ww6_a5Aw, ww7_a5Ax #) -> Language.Haskell.TH.Syntax.Name ww6_a5Aw ww7_a5Ax } } } } } } in let { lvl17_sxDq :: Language.Haskell.TH.Syntax.Type [LclId, Str=DmdType] lvl17_sxDq = Language.Haskell.TH.Syntax.ConT x_X4Ts } in (\ (@ (m_X4Tv :: * -> *)) (eta_X4Tx :: Language.Haskell.TH.Syntax.Quasi m_X4Tv) -> GHC.Base.return @ m_X4Tv (Language.Haskell.TH.Syntax.$p1Quasi @ m_X4Tv eta_X4Tx) @ Language.Haskell.TH.Syntax.Type lvl17_sxDq) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (GHC.Types.: @ Language.Haskell.TH.Lib.TypeQ (let { l_a5DZ [Dmd=] :: Language.Haskell.TH.Lib.TyLitQ [LclId, Str=DmdType] l_a5DZ = Language.Haskell.TH.Lib.numTyLit ($dKnownNat1_avAs `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat size_auGQ ~# GHC.Integer.Type.Integer)) } in (\ (@ (m_a5E0 :: * -> *)) (eta_a5E1 :: Language.Haskell.TH.Syntax.Quasi m_a5E0) -> GHC.Base.fmap @ m_a5E0 (Control.Applicative.$p1Applicative @ m_a5E0 (Language.Haskell.TH.Syntax.$p2Quasi @ m_a5E0 eta_a5E1)) @ Language.Haskell.TH.Syntax.TyLit @ Language.Haskell.TH.Syntax.Type Language.Haskell.TH.Syntax.LitT ((l_a5DZ `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.TyLit ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.TyLit))) @ m_a5E0 eta_a5E1)) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) (GHC.Types.[] @ Language.Haskell.TH.Lib.TypeQ)))) } in let { w2_acZp [Dmd=] :: Language.Haskell.TH.Lib.ExpQ [LclId, Str=DmdType] w2_acZp = ($dLift_avAq `cast` (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N :: Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ) ~# (rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp))) (f_auGR `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ ~# rep_auGP size_auGQ)) } in \ (@ (m_akV3 :: * -> *)) (w3_akV4 :: Language.Haskell.TH.Syntax.Quasi m_akV3) -> case w3_akV4 of ww_akV5 { Language.Haskell.TH.Syntax.D:Quasi ww1_akV7 ww2_akV8 ww3_akV9 ww4_akVa ww5_akVb ww6_akVc ww7_akVd ww8_akVe ww9_akVf ww10_akVg ww11_akVh ww12_akVi ww13_akVj ww14_akVk ww15_akVl ww16_akVm ww17_akVn ww18_akVo -> case ww1_akV7 of _ [Occ=Dead] { GHC.Base.D:Monad ww20_akVt ww21_akVu ww22_akVv ww23_akVw -> let { lvl17_sxDt :: m_akV3 Language.Haskell.TH.Syntax.Type [LclId, Str=DmdType] lvl17_sxDt = (w1_akV2 `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type))) @ m_akV3 ww_akV5 } in ww20_akVt @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (let { lvl18_sxDs :: m_akV3 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] lvl18_sxDs = (w2_acZp `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp))) @ m_akV3 ww_akV5 } in ww20_akVt @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp (ww22_akVv @ Language.Haskell.TH.Syntax.Exp lvl6_rxLA) (\ (x_acZW :: Language.Haskell.TH.Syntax.Exp) -> ww20_akVt @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp lvl18_sxDs (\ (x1_acZX :: Language.Haskell.TH.Syntax.Exp) -> ww22_akVv @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.AppE x_acZW x1_acZX)))) (\ (x_akVz :: Language.Haskell.TH.Syntax.Exp) -> ww20_akVt @ Language.Haskell.TH.Syntax.Type @ Language.Haskell.TH.Syntax.Exp lvl17_sxDt (\ (x1_akVA :: Language.Haskell.TH.Syntax.Type) -> ww22_akVv @ Language.Haskell.TH.Syntax.Exp (Language.Haskell.TH.Syntax.SigE x_akVz x1_akVA))) } } CLaSH.Sized.Fixed.$fLiftFixed_$clift :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp [GblId, Arity=5, Str=DmdType , Unf=Unf{Src=, TopLvl=True, Arity=0, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=True,boring_ok=True)}] CLaSH.Sized.Fixed.$fLiftFixed_$clift = CLaSH.Sized.Fixed.$fLiftFixed1 `cast` (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp)) CLaSH.Sized.Fixed.$fLiftFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ) [GblId[DFunId(nt)], Arity=5, Str=DmdType , Unf=Unf{Src=InlineStable, TopLvl=True, Arity=4, Value=True, ConLike=True, WorkFree=True, Expandable=True, Guidance=ALWAYS_IF(unsat_ok=False,boring_ok=True) Tmpl= CLaSH.Sized.Fixed.$fLiftFixed_$clift `cast` (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N) :: (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ)))}] CLaSH.Sized.Fixed.$fLiftFixed = CLaSH.Sized.Fixed.$fLiftFixed1 `cast` (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> (_R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N)) ; Sym (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N) :: (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ))) ------ Local rules for imported ids -------- "SPEC GHC.Real.^ [GHC.Types.Double, GHC.Integer.Type.Integer]" [1] forall ($dNum_swu4 :: GHC.Num.Num GHC.Types.Double) ($dIntegral_swu5 :: GHC.Real.Integral GHC.Integer.Type.Integer). GHC.Real.^ @ GHC.Types.Double @ GHC.Integer.Type.Integer $dNum_swu4 $dIntegral_swu5 = CLaSH.Sized.Fixed.$s^ *** CorePrep: ==================== CorePrep ==================== Result size of CorePrep = {terms: 2,724, types: 8,822, coercions: 959} lvl_rxLl :: [GHC.Types.Char] [GblId, Str=DmdType] lvl_rxLl = GHC.CString.unpackCString# "Negative exponent"# CLaSH.Sized.Fixed.$s^1 :: GHC.Types.Double [GblId, Str=DmdType b] CLaSH.Sized.Fixed.$s^1 = GHC.Err.error @ GHC.Types.Double lvl_rxLl lvl1_rxLm :: GHC.Integer.Type.Integer [GblId, Str=DmdType, Unf=OtherCon []] lvl1_rxLm = GHC.Integer.Type.S# 1 lvl2_rxLn :: GHC.Integer.Type.Integer [GblId, Str=DmdType, Unf=OtherCon []] lvl2_rxLn = GHC.Integer.Type.S# 2 Rec { $wg1_rxLo :: GHC.Prim.Double# -> GHC.Integer.Type.Integer -> GHC.Prim.Double# -> GHC.Prim.Double# [GblId, Arity=3, Str=DmdType , Unf=OtherCon []] $wg1_rxLo = \ (ww_sxLR :: GHC.Prim.Double#) (w_sxLS :: GHC.Integer.Type.Integer) (ww1_sxLT [Occ=Once*] :: GHC.Prim.Double#) -> case GHC.Integer.Type.remInteger w_sxLS GHC.Real.even2 of sat_sxLU { __DEFAULT -> case GHC.Integer.Type.eqInteger# sat_sxLU GHC.Real.even1 of wild_sxLV { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_sxLV of _ [Occ=Dead] { GHC.Types.False -> case GHC.Integer.Type.eqInteger# w_sxLS lvl1_rxLm of wild1_sxLX { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild1_sxLX of _ [Occ=Dead] { GHC.Types.False -> case GHC.Prim.*## ww_sxLR ww1_sxLT of sat_sxM2 { __DEFAULT -> case GHC.Integer.Type.minusInteger w_sxLS lvl1_rxLm of sat_sxM0 { __DEFAULT -> case GHC.Integer.Type.quotInteger sat_sxM0 lvl2_rxLn of sat_sxM1 { __DEFAULT -> case GHC.Prim.*## ww_sxLR ww_sxLR of sat_sxLZ { __DEFAULT -> $wg1_rxLo sat_sxLZ sat_sxM1 sat_sxM2 } } } }; GHC.Types.True -> GHC.Prim.*## ww_sxLR ww1_sxLT } }; GHC.Types.True -> case GHC.Integer.Type.quotInteger w_sxLS lvl2_rxLn of sat_sxM4 { __DEFAULT -> case GHC.Prim.*## ww_sxLR ww_sxLR of sat_sxM3 { __DEFAULT -> $wg1_rxLo sat_sxM3 sat_sxM4 ww1_sxLT } } } } } end Rec } Rec { CLaSH.Sized.Fixed.$wf [Occ=LoopBreaker] :: GHC.Prim.Double# -> GHC.Integer.Type.Integer -> GHC.Prim.Double# [GblId, Arity=2, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$wf = \ (ww_sxM5 :: GHC.Prim.Double#) (w_sxM6 :: GHC.Integer.Type.Integer) -> case GHC.Integer.Type.remInteger w_sxM6 GHC.Real.even2 of sat_sxM7 { __DEFAULT -> case GHC.Integer.Type.eqInteger# sat_sxM7 GHC.Real.even1 of wild_sxM8 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_sxM8 of _ [Occ=Dead] { GHC.Types.False -> case GHC.Integer.Type.eqInteger# w_sxM6 lvl1_rxLm of wild1_sxMa { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild1_sxMa of _ [Occ=Dead] { GHC.Types.False -> case GHC.Integer.Type.minusInteger w_sxM6 lvl1_rxLm of sat_sxMd { __DEFAULT -> case GHC.Integer.Type.quotInteger sat_sxMd lvl2_rxLn of sat_sxMe { __DEFAULT -> case GHC.Prim.*## ww_sxM5 ww_sxM5 of sat_sxMc { __DEFAULT -> $wg1_rxLo sat_sxMc sat_sxMe ww_sxM5 } } }; GHC.Types.True -> ww_sxM5 } }; GHC.Types.True -> case GHC.Integer.Type.quotInteger w_sxM6 lvl2_rxLn of sat_sxMg { __DEFAULT -> case GHC.Prim.*## ww_sxM5 ww_sxM5 of sat_sxMf { __DEFAULT -> CLaSH.Sized.Fixed.$wf sat_sxMf sat_sxMg } } } } } end Rec } CLaSH.Sized.Fixed.$s^2 :: GHC.Integer.Type.Integer [GblId, Str=DmdType, Unf=OtherCon []] CLaSH.Sized.Fixed.$s^2 = GHC.Integer.Type.S# 0 CLaSH.Sized.Fixed.$w$s^ [InlPrag=[1]] :: GHC.Types.Double -> GHC.Integer.Type.Integer -> GHC.Prim.Double# [GblId, Arity=2, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$w$s^ = \ (w_sxMh [Occ=Once!] :: GHC.Types.Double) (w1_sxMi :: GHC.Integer.Type.Integer) -> case GHC.Integer.Type.ltInteger# w1_sxMi CLaSH.Sized.Fixed.$s^2 of wild_sxMj { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_sxMj of _ [Occ=Dead] { GHC.Types.False -> case GHC.Integer.Type.eqInteger# w1_sxMi CLaSH.Sized.Fixed.$s^2 of wild2_sxMl { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild2_sxMl of _ [Occ=Dead] { GHC.Types.False -> case w_sxMh of _ [Occ=Dead] { GHC.Types.D# ww1_sxMo [Occ=Once] -> CLaSH.Sized.Fixed.$wf ww1_sxMo w1_sxMi }; GHC.Types.True -> 1.0 } }; GHC.Types.True -> case CLaSH.Sized.Fixed.$s^1 of _ [Occ=Dead] { } } } CLaSH.Sized.Fixed.$s^ [InlPrag=INLINE[0]] :: GHC.Types.Double -> GHC.Integer.Type.Integer -> GHC.Types.Double [GblId, Arity=2, Str=DmdType m, Unf=OtherCon []] CLaSH.Sized.Fixed.$s^ = \ (w_sxMq [Occ=Once] :: GHC.Types.Double) (w1_sxMr [Occ=Once] :: GHC.Integer.Type.Integer) -> case CLaSH.Sized.Fixed.$w$s^ w_sxMq w1_sxMr of ww_sxMs { __DEFAULT -> GHC.Types.D# ww_sxMs } lvl3_rxLp :: GHC.Types.Double [GblId, Caf=NoCafRefs, Str=DmdType m, Unf=OtherCon []] lvl3_rxLp = GHC.Types.D# 2.0 a_rxLq :: [GHC.Types.Char] [GblId, Str=DmdType] a_rxLq = GHC.CString.unpackCString# "Fixed"# a1_rxLr :: [GHC.Types.Char] [GblId, Str=DmdType] a1_rxLr = GHC.CString.unpackCString# "clash-prelude-0.5"# a2_rxLs :: [GHC.Types.Char] [GblId, Str=DmdType] a2_rxLs = GHC.CString.unpackCString# "CLaSH.Sized.Fixed"# a3_rxLt :: Language.Haskell.TH.Syntax.NameFlavour [GblId, Str=DmdType m5, Unf=OtherCon []] a3_rxLt = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.DataName (a1_rxLr `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a2_rxLs `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) lvl4_rxLu :: Language.Haskell.TH.Syntax.Name [GblId, Str=DmdType m, Unf=OtherCon []] lvl4_rxLu = Language.Haskell.TH.Syntax.Name (a_rxLq `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a3_rxLt a4_rxLv :: [GHC.Types.Char] [GblId, Str=DmdType] a4_rxLv = GHC.CString.unpackCString# "fromInteger"# a5_rxLw :: [GHC.Types.Char] [GblId, Str=DmdType] a5_rxLw = GHC.CString.unpackCString# "base"# a6_rxLx :: [GHC.Types.Char] [GblId, Str=DmdType] a6_rxLx = GHC.CString.unpackCString# "GHC.Num"# a7_rxLy :: Language.Haskell.TH.Syntax.NameFlavour [GblId, Str=DmdType m5, Unf=OtherCon []] a7_rxLy = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.VarName (a5_rxLw `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a6_rxLx `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) lvl5_rxLz :: Language.Haskell.TH.Syntax.Name [GblId, Str=DmdType m, Unf=OtherCon []] lvl5_rxLz = Language.Haskell.TH.Syntax.Name (a4_rxLv `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a7_rxLy lvl6_rxLA :: Language.Haskell.TH.Syntax.Exp [GblId, Str=DmdType, Unf=OtherCon []] lvl6_rxLA = Language.Haskell.TH.Syntax.ConE lvl4_rxLu lvl7_rxLB :: Language.Haskell.TH.Syntax.Exp [GblId, Str=DmdType, Unf=OtherCon []] lvl7_rxLB = Language.Haskell.TH.Syntax.VarE lvl5_rxLz CLaSH.Sized.Fixed.$wa :: forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> forall (m_awx9 :: * -> *). Language.Haskell.TH.Syntax.Quasi m_awx9 => m_awx9 (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) [GblId, Arity=4, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$wa = \ (@ (frac_avhM :: GHC.TypeLits.Nat)) (@ (rep_avhN :: GHC.TypeLits.Nat -> *)) (@ (size_avhO :: GHC.TypeLits.Nat)) (w_sxMt [Occ=Once] :: GHC.TypeLits.KnownNat frac_avhM) (w1_sxMu :: GHC.Enum.Bounded (rep_avhN size_avhO)) (w2_sxMv :: GHC.Real.Integral (rep_avhN size_avhO)) (w3_sxMw [Occ=Once!] :: GHC.Types.Double) -> let { x_sxMx :: GHC.Integer.Type.Integer [LclId, Str=DmdType] x_sxMx = case w3_sxMw of _ [Occ=Dead] { GHC.Types.D# x1_sxMz [Occ=Once] -> case CLaSH.Sized.Fixed.$w$s^ lvl3_rxLp (w_sxMt `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_avhM ~# GHC.Integer.Type.Integer)) of ww_sxMA { __DEFAULT -> case GHC.Prim.*## x1_sxMz ww_sxMA of sat_sxMB { __DEFAULT -> case GHC.Integer.Type.decodeDoubleInteger sat_sxMB of _ [Occ=Dead] { (# ipv_sxMD, ipv1_sxME #) -> case GHC.Prim.<# ipv1_sxME 0 of sat_sxMG { __DEFAULT -> case case GHC.Prim.tagToEnum# @ GHC.Types.Bool sat_sxMG of _ [Occ=Dead] { GHC.Types.False -> GHC.Integer.Type.shiftLInteger ipv_sxMD ipv1_sxME; GHC.Types.True -> case GHC.Prim.negateInt# ipv1_sxME of s_sxMI { __DEFAULT -> case GHC.Prim.># s_sxMI 52 of sat_sxMJ { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool sat_sxMJ of _ [Occ=Dead] { GHC.Types.False -> case GHC.Integer.Type.ltInteger# ipv_sxMD CLaSH.Sized.Fixed.$s^2 of wild3_sxML { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild3_sxML of _ [Occ=Dead] { GHC.Types.False -> case GHC.Integer.Type.integerToInt ipv_sxMD of n_sxMN { __DEFAULT -> case GHC.Prim.uncheckedIShiftRA# n_sxMN s_sxMI of sat_sxMO { __DEFAULT -> GHC.Integer.Type.smallInteger sat_sxMO } }; GHC.Types.True -> case GHC.Integer.Type.negateInteger ipv_sxMD of sat_sxMP { __DEFAULT -> case GHC.Integer.Type.integerToInt sat_sxMP of n_sxMQ { __DEFAULT -> case GHC.Prim.uncheckedIShiftRA# n_sxMQ s_sxMI of sat_sxMR { __DEFAULT -> case GHC.Prim.negateInt# sat_sxMR of sat_sxMS { __DEFAULT -> GHC.Integer.Type.smallInteger sat_sxMS } } } } } }; GHC.Types.True -> CLaSH.Sized.Fixed.$s^2 } } } } of truncated_sxMF [Dmd=] { __DEFAULT -> let { sat_sxMU [Occ=Once] :: rep_avhN size_avhO [LclId, Str=DmdType] sat_sxMU = GHC.Enum.maxBound @ (rep_avhN size_avhO) w1_sxMu } in case GHC.Real.toInteger @ (rep_avhN size_avhO) w2_sxMv sat_sxMU of rMax_sxMT [Dmd=] { __DEFAULT -> case GHC.Integer.Type.gtInteger# truncated_sxMF rMax_sxMT of wild1_sxMV { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild1_sxMV of _ [Occ=Dead] { GHC.Types.False -> let { sat_sxMY [Occ=Once] :: rep_avhN size_avhO [LclId, Str=DmdType] sat_sxMY = GHC.Enum.minBound @ (rep_avhN size_avhO) w1_sxMu } in case GHC.Real.toInteger @ (rep_avhN size_avhO) w2_sxMv sat_sxMY of rMin_sxMX [Dmd=] { __DEFAULT -> case GHC.Integer.Type.ltInteger# truncated_sxMF rMin_sxMX of wild3_sxMZ { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild3_sxMZ of _ [Occ=Dead] { GHC.Types.False -> truncated_sxMF; GHC.Types.True -> rMin_sxMX } } }; GHC.Types.True -> rMax_sxMT } } } } } } } } } } in let { a10_sxN1 :: Language.Haskell.TH.Syntax.Lit [LclId, Str=DmdType, Unf=OtherCon []] a10_sxN1 = Language.Haskell.TH.Syntax.IntegerL x_sxMx } in let { lvl17_sxN2 [Occ=OnceL] :: Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType, Unf=OtherCon []] lvl17_sxN2 = Language.Haskell.TH.Syntax.LitE a10_sxN1 } in let { sat_sxNJ [Occ=Once] :: forall (m_awx9 :: * -> *). Language.Haskell.TH.Syntax.Quasi m_awx9 => m_awx9 (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) [LclId, Str=DmdType] sat_sxNJ = \ (@ (m_awx9 :: * -> *)) (w4_sxN3 [Occ=Once!] :: Language.Haskell.TH.Syntax.Quasi m_awx9) -> case w4_sxN3 of _ [Occ=Dead] { Language.Haskell.TH.Syntax.D:Quasi ww1_sxN5 [Occ=Once!] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> case ww1_sxN5 of _ [Occ=Dead] { GHC.Base.D:Monad ww20_sxNo _ [Occ=Dead] ww22_sxNq _ [Occ=Dead] -> let { sat_sxNI [Occ=Once] :: Language.Haskell.TH.Syntax.Exp -> m_awx9 (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) [LclId, Str=DmdType] sat_sxNI = \ (x1_sxNH [Occ=Once] :: Language.Haskell.TH.Syntax.Exp) -> ww22_sxNq @ (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) (x1_sxNH `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:TExp[0] _N) :: Language.Haskell.TH.Syntax.Exp ~# Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO))) } in let { sat_sxNG [Occ=Once] :: m_awx9 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] sat_sxNG = let { lvl18_sxNs [Occ=OnceL] :: m_awx9 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] lvl18_sxNs = let { lvl19_sxNt [Occ=OnceL] :: m_awx9 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] lvl19_sxNt = ww22_sxNq @ Language.Haskell.TH.Syntax.Exp lvl17_sxN2 } in let { sat_sxNz [Occ=Once] :: Language.Haskell.TH.Syntax.Exp -> m_awx9 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] sat_sxNz = \ (x1_sxNv [Occ=OnceL] :: Language.Haskell.TH.Syntax.Exp) -> let { sat_sxNy [Occ=Once] :: Language.Haskell.TH.Syntax.Exp -> m_awx9 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] sat_sxNy = \ (x2_sxNw [Occ=Once] :: Language.Haskell.TH.Syntax.Exp) -> let { sat_sxNx [Occ=Once] :: Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] sat_sxNx = Language.Haskell.TH.Syntax.AppE x1_sxNv x2_sxNw } in ww22_sxNq @ Language.Haskell.TH.Syntax.Exp sat_sxNx } in ww20_sxNo @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp lvl19_sxNt sat_sxNy } in let { sat_sxNu [Occ=Once] :: m_awx9 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] sat_sxNu = ww22_sxNq @ Language.Haskell.TH.Syntax.Exp lvl7_rxLB } in ww20_sxNo @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp sat_sxNu sat_sxNz } in let { sat_sxNF [Occ=Once] :: Language.Haskell.TH.Syntax.Exp -> m_awx9 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] sat_sxNF = \ (x1_sxNB [Occ=OnceL] :: Language.Haskell.TH.Syntax.Exp) -> let { sat_sxNE [Occ=Once] :: Language.Haskell.TH.Syntax.Exp -> m_awx9 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] sat_sxNE = \ (x2_sxNC [Occ=Once] :: Language.Haskell.TH.Syntax.Exp) -> let { sat_sxND [Occ=Once] :: Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] sat_sxND = Language.Haskell.TH.Syntax.AppE x1_sxNB x2_sxNC } in ww22_sxNq @ Language.Haskell.TH.Syntax.Exp sat_sxND } in ww20_sxNo @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp lvl18_sxNs sat_sxNE } in let { sat_sxNA [Occ=Once] :: m_awx9 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] sat_sxNA = ww22_sxNq @ Language.Haskell.TH.Syntax.Exp lvl6_rxLA } in ww20_sxNo @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp sat_sxNA sat_sxNF } in ww20_sxNo @ Language.Haskell.TH.Syntax.Exp @ (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) sat_sxNG sat_sxNI } } } in sat_sxNJ CLaSH.Sized.Fixed.fLit1 [InlPrag=INLINE[0]] :: forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> forall (m_aw9c :: * -> *). Language.Haskell.TH.Syntax.Quasi m_aw9c => m_aw9c (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) [GblId, Arity=5, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.fLit1 = \ (@ (frac_avhM :: GHC.TypeLits.Nat)) (@ (rep_avhN :: GHC.TypeLits.Nat -> *)) (@ (size_avhO :: GHC.TypeLits.Nat)) (w_sxNK [Occ=Once] :: GHC.TypeLits.KnownNat frac_avhM) _ [Occ=Dead] (w2_sxNM [Occ=Once] :: GHC.Enum.Bounded (rep_avhN size_avhO)) (w3_sxNN [Occ=Once] :: GHC.Real.Integral (rep_avhN size_avhO)) (w4_sxNO [Occ=Once] :: GHC.Types.Double) -> CLaSH.Sized.Fixed.$wa @ frac_avhM @ rep_avhN @ size_avhO w_sxNK w2_sxNM w3_sxNN w4_sxNO CLaSH.Sized.Fixed.fLit :: forall (frac_auFI :: GHC.TypeLits.Nat) (rep_auFJ :: GHC.TypeLits.Nat -> *) (size_auFK :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_auFI, GHC.Num.Num (rep_auFJ size_auFK), GHC.Enum.Bounded (rep_auFJ size_auFK), GHC.Real.Integral (rep_auFJ size_auFK)) => GHC.Types.Double -> Language.Haskell.TH.Syntax.Q (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_auFI rep_auFJ size_auFK)) [GblId, Arity=5, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.fLit = (\ (@ (frac_avhM :: GHC.TypeLits.Nat)) (@ (rep_avhN :: GHC.TypeLits.Nat -> *)) (@ (size_avhO :: GHC.TypeLits.Nat)) (eta_B5 [Occ=Once] :: GHC.TypeLits.KnownNat frac_avhM) (eta_B4 [Occ=Once] :: GHC.Num.Num (rep_avhN size_avhO)) (eta_B3 [Occ=Once] :: GHC.Enum.Bounded (rep_avhN size_avhO)) (eta_B2 [Occ=Once] :: GHC.Real.Integral (rep_avhN size_avhO)) (eta_B1 [Occ=Once] :: GHC.Types.Double) -> CLaSH.Sized.Fixed.fLit1 @ frac_avhM @ rep_avhN @ size_avhO eta_B5 eta_B4 eta_B3 eta_B2 eta_B1) `cast` (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO))) ~# (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> Language.Haskell.TH.Syntax.Q (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)))) poly_a_rxLC :: forall (n_auFM :: GHC.TypeLits.Nat). 1 GHC.TypeLits.<= n_auFM [GblId, Str=DmdType b] poly_a_rxLC = \ (@ (n_auFM :: GHC.TypeLits.Nat)) -> Control.Exception.Base.absentError @ (1 GHC.TypeLits.<= n_auFM) "ww_sxb3{v} [lid] 1 base:GHC.TypeLits.<={tc r4y} n{tv auFM} [tv]"# CLaSH.Sized.Fixed.$wsatN2 :: forall (rep_auFL :: GHC.TypeLits.Nat -> *) (n_auFM :: GHC.TypeLits.Nat). (((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) GHC.Prim.~# (n_auFM GHC.TypeLits.+ 2)) -> CLaSH.Class.BitVector.BitVector (rep_auFL n_auFM) => (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) => rep_auFL (n_auFM GHC.TypeLits.+ 2) -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit) -> (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM) ~ n_auFM, CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2)) ~ (n_auFM GHC.TypeLits.+ 2), GHC.TypeLits.KnownNat n_auFM, GHC.TypeLits.KnownNat (n_auFM GHC.TypeLits.+ 2), GHC.Enum.Bounded (rep_auFL n_auFM)) => (rep_auFL (n_auFM GHC.TypeLits.+ 2) -> GHC.Types.Bool) -> rep_auFL (n_auFM GHC.TypeLits.+ 2) -> rep_auFL n_auFM [GblId, Arity=10, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$wsatN2 = \ (@ (rep_auFL :: GHC.TypeLits.Nat -> *)) (@ (n_auFM :: GHC.TypeLits.Nat)) (ww_sxb7 :: ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) GHC.Prim.~# (n_auFM GHC.TypeLits.+ 2)) (ww1_sxNP [Occ=Once*] :: CLaSH.Class.BitVector.BitVector (rep_auFL n_auFM)) (ww2_sxNQ [Occ=Once!] :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) => rep_auFL (n_auFM GHC.TypeLits.+ 2) -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit) (ww3_sxNR :: CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM) ~ n_auFM) (ww4_sxNS [Occ=Once!] :: CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2)) ~ (n_auFM GHC.TypeLits.+ 2)) (ww5_sxNT [Occ=Once*] :: GHC.TypeLits.KnownNat n_auFM) (ww6_sxNU [Occ=Once] :: GHC.TypeLits.KnownNat (n_auFM GHC.TypeLits.+ 2)) (ww7_sxNV [Occ=Once*] :: GHC.Enum.Bounded (rep_auFL n_auFM)) (ww8_sxNW [Occ=Once!] :: rep_auFL (n_auFM GHC.TypeLits.+ 2) -> GHC.Types.Bool) (w_sxNX :: rep_auFL (n_auFM GHC.TypeLits.+ 2)) -> case ww4_sxNS of _ [Occ=Dead] { GHC.Types.Eq# cobox1_sxDc -> case ww2_sxNQ (ww6_sxNU `cast` ((GHC.TypeLits.KnownNat (Sym cobox1_sxDc))_R :: GHC.TypeLits.KnownNat (n_auFM GHC.TypeLits.+ 2) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))))) w_sxNX of a10_sxNZ [Dmd=] { __DEFAULT -> let { s_sxO0 :: CLaSH.Sized.Vector.Vec n_auFM CLaSH.Bit.Bit [LclId, Str=DmdType] s_sxO0 = case CLaSH.Sized.Vector.vtail @ (n_auFM GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (a10_sxNZ `cast` ((CLaSH.Sized.Vector.Vec (cobox1_sxDc ; Sym ww_sxb7) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit)) of sat_sxO1 { __DEFAULT -> CLaSH.Sized.Vector.vtail @ n_auFM @ CLaSH.Bit.Bit sat_sxO1 } } in case ww8_sxNW w_sxNX of _ [Occ=Dead] { GHC.Types.False -> case CLaSH.Sized.Vector.vhead @ (n_auFM GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (a10_sxNZ `cast` ((CLaSH.Sized.Vector.Vec (cobox1_sxDc ; Sym ww_sxb7) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit)) of _ [Occ=Dead] { CLaSH.Bit.H -> case CLaSH.Sized.Vector.vtail @ (n_auFM GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (a10_sxNZ `cast` ((CLaSH.Sized.Vector.Vec (cobox1_sxDc ; Sym ww_sxb7) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit)) of sat_sxO4 { __DEFAULT -> case CLaSH.Sized.Vector.vhead @ n_auFM @ CLaSH.Bit.Bit sat_sxO4 of _ [Occ=Dead] { CLaSH.Bit.H -> GHC.Enum.minBound @ (rep_auFL n_auFM) ww7_sxNV; CLaSH.Bit.L -> let { sat_sxO9 [Occ=Once] :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) CLaSH.Bit.Bit [LclId, Str=DmdType] sat_sxO9 = case ww3_sxNR of _ [Occ=Dead] { GHC.Types.Eq# cobox3_dw7c -> s_sxO0 `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox3_dw7c) _R)_R :: CLaSH.Sized.Vector.Vec n_auFM CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) CLaSH.Bit.Bit) } } in let { sat_sxO7 [Occ=Once] :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) [LclId, Str=DmdType] sat_sxO7 = case ww3_sxNR of _ [Occ=Dead] { GHC.Types.Eq# cobox3_dw7b -> ww5_sxNT `cast` ((GHC.TypeLits.KnownNat (Sym cobox3_dw7b))_R :: GHC.TypeLits.KnownNat n_auFM ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM))) } } in CLaSH.Class.BitVector.fromBV @ (rep_auFL n_auFM) ww1_sxNP sat_sxO7 sat_sxO9 } }; CLaSH.Bit.L -> case CLaSH.Sized.Vector.vtail @ (n_auFM GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (a10_sxNZ `cast` ((CLaSH.Sized.Vector.Vec (cobox1_sxDc ; Sym ww_sxb7) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit)) of sat_sxOa { __DEFAULT -> case CLaSH.Sized.Vector.vhead @ n_auFM @ CLaSH.Bit.Bit sat_sxOa of _ [Occ=Dead] { CLaSH.Bit.H -> GHC.Enum.maxBound @ (rep_auFL n_auFM) ww7_sxNV; CLaSH.Bit.L -> let { sat_sxOf [Occ=Once] :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) CLaSH.Bit.Bit [LclId, Str=DmdType] sat_sxOf = case ww3_sxNR of _ [Occ=Dead] { GHC.Types.Eq# cobox3_dw7c -> s_sxO0 `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox3_dw7c) _R)_R :: CLaSH.Sized.Vector.Vec n_auFM CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) CLaSH.Bit.Bit) } } in let { sat_sxOd [Occ=Once] :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) [LclId, Str=DmdType] sat_sxOd = case ww3_sxNR of _ [Occ=Dead] { GHC.Types.Eq# cobox3_dw7b -> ww5_sxNT `cast` ((GHC.TypeLits.KnownNat (Sym cobox3_dw7b))_R :: GHC.TypeLits.KnownNat n_auFM ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM))) } } in CLaSH.Class.BitVector.fromBV @ (rep_auFL n_auFM) ww1_sxNP sat_sxOd sat_sxOf } } }; GHC.Types.True -> case CLaSH.Sized.Vector.vhead @ (n_auFM GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (a10_sxNZ `cast` ((CLaSH.Sized.Vector.Vec (cobox1_sxDc ; Sym ww_sxb7) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit)) of _ [Occ=Dead] { CLaSH.Bit.H -> case CLaSH.Sized.Vector.vhead' @ n_auFM @ CLaSH.Bit.Bit (poly_a_rxLC @ n_auFM) s_sxO0 of _ [Occ=Dead] { CLaSH.Bit.H -> let { sat_sxOl [Occ=Once] :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) CLaSH.Bit.Bit [LclId, Str=DmdType] sat_sxOl = case ww3_sxNR of _ [Occ=Dead] { GHC.Types.Eq# cobox3_dw7a -> s_sxO0 `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox3_dw7a) _R)_R :: CLaSH.Sized.Vector.Vec n_auFM CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) CLaSH.Bit.Bit) } } in let { sat_sxOj [Occ=Once] :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) [LclId, Str=DmdType] sat_sxOj = case ww3_sxNR of _ [Occ=Dead] { GHC.Types.Eq# cobox3_dw79 -> ww5_sxNT `cast` ((GHC.TypeLits.KnownNat (Sym cobox3_dw79))_R :: GHC.TypeLits.KnownNat n_auFM ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM))) } } in CLaSH.Class.BitVector.fromBV @ (rep_auFL n_auFM) ww1_sxNP sat_sxOj sat_sxOl; CLaSH.Bit.L -> GHC.Enum.minBound @ (rep_auFL n_auFM) ww7_sxNV }; CLaSH.Bit.L -> case CLaSH.Sized.Vector.vhead' @ n_auFM @ CLaSH.Bit.Bit (poly_a_rxLC @ n_auFM) s_sxO0 of _ [Occ=Dead] { CLaSH.Bit.H -> GHC.Enum.maxBound @ (rep_auFL n_auFM) ww7_sxNV; CLaSH.Bit.L -> let { sat_sxOq [Occ=Once] :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) CLaSH.Bit.Bit [LclId, Str=DmdType] sat_sxOq = case ww3_sxNR of _ [Occ=Dead] { GHC.Types.Eq# cobox3_dw7a -> s_sxO0 `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox3_dw7a) _R)_R :: CLaSH.Sized.Vector.Vec n_auFM CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) CLaSH.Bit.Bit) } } in let { sat_sxOo [Occ=Once] :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) [LclId, Str=DmdType] sat_sxOo = case ww3_sxNR of _ [Occ=Dead] { GHC.Types.Eq# cobox3_dw79 -> ww5_sxNT `cast` ((GHC.TypeLits.KnownNat (Sym cobox3_dw79))_R :: GHC.TypeLits.KnownNat n_auFM ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM))) } } in CLaSH.Class.BitVector.fromBV @ (rep_auFL n_auFM) ww1_sxNP sat_sxOo sat_sxOq } } } } } CLaSH.Sized.Fixed.satN2 [InlPrag=INLINE[0]] :: forall (rep_auFL :: GHC.TypeLits.Nat -> *) (n_auFM :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.SatN2C rep_auFL n_auFM) => rep_auFL (n_auFM GHC.TypeLits.+ 2) -> rep_auFL n_auFM [GblId, Arity=2, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.satN2 = \ (@ (rep_auFL :: GHC.TypeLits.Nat -> *)) (@ (n_auFM :: GHC.TypeLits.Nat)) (w_sxOr [Occ=Once!] :: CLaSH.Sized.Fixed.SatN2C rep_auFL n_auFM) (w1_sxOs [Occ=Once] :: rep_auFL (n_auFM GHC.TypeLits.+ 2)) -> case w_sxOr of _ [Occ=Dead] { (_ [Occ=Dead], ww2_sxOv [Occ=Once!], ww3_sxOw [Occ=Once], ww4_sxOx [Occ=Once!], ww5_sxOy [Occ=Once], ww6_sxOz [Occ=Once!], ww7_sxOA [Occ=Once], ww8_sxOB [Occ=Once], ww9_sxOC [Occ=Once], ww10_sxOD [Occ=Once!]) -> case ww2_sxOv of _ [Occ=Dead] { GHC.Types.Eq# ww12_sxb7 -> case ww4_sxOx of _ [Occ=Dead] { CLaSH.Class.BitVector.D:BitVector ww14_sxOG [Occ=Once] _ [Occ=Dead] -> case ww6_sxOz of ww16_sxOI { GHC.Types.Eq# _ [Occ=Dead] -> case ww10_sxOD of _ [Occ=Dead] { Data.Bits.D:Bits _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] ww33_sxOZ [Occ=Once] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> CLaSH.Sized.Fixed.$wsatN2 @ rep_auFL @ n_auFM @~ ww12_sxb7 ww3_sxOw ww14_sxOG ww5_sxOy ww16_sxOI ww7_sxOA ww8_sxOB ww9_sxOC ww33_sxOZ w1_sxOs } } } } } CLaSH.Sized.Fixed.$wresizeF :: forall (frac1_auFN :: GHC.TypeLits.Nat) (frac2_auFO :: GHC.TypeLits.Nat) (rep_auFP :: GHC.TypeLits.Nat -> *) (size1_auFQ :: GHC.TypeLits.Nat) (size2_auFR :: GHC.TypeLits.Nat). (GHC.Enum.Bounded (rep_auFP size2_auFR), GHC.Classes.Ord (rep_auFP size1_auFQ), GHC.Num.Num (rep_auFP size1_auFQ), Data.Bits.Bits (rep_auFP size1_auFQ), CLaSH.Class.Num.Resize rep_auFP, GHC.TypeLits.KnownNat size2_auFR, GHC.TypeLits.KnownNat size1_auFQ, Data.Bits.Bits (rep_auFP size2_auFR), GHC.TypeLits.KnownNat frac2_auFO, GHC.TypeLits.KnownNat frac1_auFN) => CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ -> CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR [GblId, Arity=11, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$wresizeF = \ (@ (frac1_auFN :: GHC.TypeLits.Nat)) (@ (frac2_auFO :: GHC.TypeLits.Nat)) (@ (rep_auFP :: GHC.TypeLits.Nat -> *)) (@ (size1_auFQ :: GHC.TypeLits.Nat)) (@ (size2_auFR :: GHC.TypeLits.Nat)) (ww_sxP7 :: GHC.Enum.Bounded (rep_auFP size2_auFR)) (ww1_sxP8 [Occ=Once*] :: GHC.Classes.Ord (rep_auFP size1_auFQ)) (ww2_sxP9 :: GHC.Num.Num (rep_auFP size1_auFQ)) (ww3_sxPa [Occ=Once!] :: Data.Bits.Bits (rep_auFP size1_auFQ)) (ww4_sxPb :: CLaSH.Class.Num.Resize rep_auFP) (ww5_sxPc :: GHC.TypeLits.KnownNat size2_auFR) (ww6_sxPd :: GHC.TypeLits.KnownNat size1_auFQ) (ww7_sxPe [Occ=Once*] :: Data.Bits.Bits (rep_auFP size2_auFR)) (ww8_sxPf [Occ=Once*] :: GHC.TypeLits.KnownNat frac2_auFO) (ww9_sxPg [Occ=Once*] :: GHC.TypeLits.KnownNat frac1_auFN) (w_sxPh :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ) -> case GHC.Integer.Type.leInteger# (ww6_sxPd `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat size1_auFQ ~# GHC.Integer.Type.Integer)) (ww5_sxPc `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat size2_auFR ~# GHC.Integer.Type.Integer)) of wild_sxPi { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_sxPi of _ [Occ=Dead] { GHC.Types.False -> case ww3_sxPa of _ [Occ=Dead] { Data.Bits.D:Bits ww11_sxPl [Occ=Once!] ww12_sxPm [Occ=Once*!] _ [Occ=Dead] _ [Occ=Dead] ww15_sxPp [Occ=Once!] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] ww27_sxPB [Occ=Once!] _ [Occ=Dead] ww29_sxPD [Occ=Once!] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> case ww11_sxPl of _ [Occ=Dead] { GHC.Classes.D:Eq ww35_sxPJ [Occ=Once*!] _ [Occ=Dead] -> case GHC.Integer.Type.integerToInt (ww9_sxPg `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac1_auFN ~# GHC.Integer.Type.Integer)) of wild2_sxPL { __DEFAULT -> case GHC.Integer.Type.integerToInt (ww8_sxPf `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac2_auFO ~# GHC.Integer.Type.Integer)) of wild3_sxPM { __DEFAULT -> let { fMax_sxPN :: rep_auFP size2_auFR [LclId, Str=DmdType] fMax_sxPN = GHC.Enum.maxBound @ (rep_auFP size2_auFR) ww_sxP7 } in let { mask_sxPO :: rep_auFP size1_auFQ [LclId, Str=DmdType] mask_sxPO = let { sat_sxPP [Occ=Once] :: rep_auFP size1_auFQ [LclId, Str=DmdType] sat_sxPP = (ww4_sxPb `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size2_auFR @ size1_auFQ ww5_sxPc ww6_sxPd fMax_sxPN } in ww15_sxPp sat_sxPP } in case GHC.Prim.<=# wild2_sxPL wild3_sxPM of sat_sxPQ { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool sat_sxPQ of _ [Occ=Dead] { GHC.Types.False -> let { shiftedR_sxPS :: rep_auFP size1_auFQ [LclId, Str=DmdType] shiftedR_sxPS = case GHC.Prim.-# wild2_sxPL wild3_sxPM of sat_sxPT { __DEFAULT -> let { sat_sxPU [Occ=Once] :: GHC.Types.Int [LclId, Str=DmdType] sat_sxPU = GHC.Types.I# sat_sxPT } in ww29_sxPD (w_sxPh `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ)) sat_sxPU } } in let { sat_sxPV [Occ=Once] :: rep_auFP size1_auFQ [LclId, Str=DmdType] sat_sxPV = GHC.Num.fromInteger @ (rep_auFP size1_auFQ) ww2_sxP9 CLaSH.Sized.Fixed.$s^2 } in case GHC.Classes.>= @ (rep_auFP size1_auFQ) ww1_sxP8 (w_sxPh `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ)) sat_sxPV of _ [Occ=Dead] { GHC.Types.False -> let { sat_sxPX [Occ=Once] :: rep_auFP size1_auFQ [LclId, Str=DmdType] sat_sxPX = ww12_sxPm shiftedR_sxPS mask_sxPO } in case ww35_sxPJ sat_sxPX mask_sxPO of _ [Occ=Dead] { GHC.Types.False -> (GHC.Enum.minBound @ (rep_auFP size2_auFR) ww_sxP7) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR); GHC.Types.True -> ((ww4_sxPb `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww6_sxPd ww5_sxPc shiftedR_sxPS) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) }; GHC.Types.True -> let { sat_sxQ0 [Occ=Once] :: rep_auFP size1_auFQ [LclId, Str=DmdType] sat_sxQ0 = GHC.Num.fromInteger @ (rep_auFP size1_auFQ) ww2_sxP9 CLaSH.Sized.Fixed.$s^2 } in let { sat_sxPZ [Occ=Once] :: rep_auFP size1_auFQ [LclId, Str=DmdType] sat_sxPZ = ww12_sxPm shiftedR_sxPS mask_sxPO } in case ww35_sxPJ sat_sxPZ sat_sxQ0 of _ [Occ=Dead] { GHC.Types.False -> fMax_sxPN `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR); GHC.Types.True -> ((ww4_sxPb `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww6_sxPd ww5_sxPc shiftedR_sxPS) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) } }; GHC.Types.True -> let { shiftedL_sxQ2 :: rep_auFP size1_auFQ [LclId, Str=DmdType] shiftedL_sxQ2 = case GHC.Prim.-# wild3_sxPM wild2_sxPL of sat_sxQ3 { __DEFAULT -> let { sat_sxQ4 [Occ=Once] :: GHC.Types.Int [LclId, Str=DmdType] sat_sxQ4 = GHC.Types.I# sat_sxQ3 } in ww27_sxPB (w_sxPh `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ)) sat_sxQ4 } } in let { sat_sxQ5 [Occ=Once] :: rep_auFP size1_auFQ [LclId, Str=DmdType] sat_sxQ5 = GHC.Num.fromInteger @ (rep_auFP size1_auFQ) ww2_sxP9 CLaSH.Sized.Fixed.$s^2 } in case GHC.Classes.>= @ (rep_auFP size1_auFQ) ww1_sxP8 (w_sxPh `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ)) sat_sxQ5 of _ [Occ=Dead] { GHC.Types.False -> let { sat_sxQ7 [Occ=Once] :: rep_auFP size1_auFQ [LclId, Str=DmdType] sat_sxQ7 = ww12_sxPm shiftedL_sxQ2 mask_sxPO } in case ww35_sxPJ sat_sxQ7 mask_sxPO of _ [Occ=Dead] { GHC.Types.False -> (GHC.Enum.minBound @ (rep_auFP size2_auFR) ww_sxP7) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR); GHC.Types.True -> ((ww4_sxPb `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww6_sxPd ww5_sxPc shiftedL_sxQ2) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) }; GHC.Types.True -> let { sat_sxQa [Occ=Once] :: rep_auFP size1_auFQ [LclId, Str=DmdType] sat_sxQa = GHC.Num.fromInteger @ (rep_auFP size1_auFQ) ww2_sxP9 CLaSH.Sized.Fixed.$s^2 } in let { sat_sxQ9 [Occ=Once] :: rep_auFP size1_auFQ [LclId, Str=DmdType] sat_sxQ9 = ww12_sxPm shiftedL_sxQ2 mask_sxPO } in case ww35_sxPJ sat_sxQ9 sat_sxQa of _ [Occ=Dead] { GHC.Types.False -> fMax_sxPN `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR); GHC.Types.True -> ((ww4_sxPb `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww6_sxPd ww5_sxPc shiftedL_sxQ2) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) } } } } } } } }; GHC.Types.True -> case GHC.Integer.Type.integerToInt (ww9_sxPg `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac1_auFN ~# GHC.Integer.Type.Integer)) of wild2_sxQc { __DEFAULT -> case GHC.Integer.Type.integerToInt (ww8_sxPf `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac2_auFO ~# GHC.Integer.Type.Integer)) of wild3_sxQd { __DEFAULT -> case GHC.Prim.<=# wild2_sxQc wild3_sxQd of sat_sxQe { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool sat_sxQe of _ [Occ=Dead] { GHC.Types.False -> case GHC.Prim.-# wild2_sxQc wild3_sxQd of sat_sxQh { __DEFAULT -> let { sat_sxQi [Occ=Once] :: GHC.Types.Int [LclId, Str=DmdType] sat_sxQi = GHC.Types.I# sat_sxQh } in let { sat_sxQg [Occ=Once] :: rep_auFP size2_auFR [LclId, Str=DmdType] sat_sxQg = (ww4_sxPb `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww6_sxPd ww5_sxPc (w_sxPh `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ)) } in (Data.Bits.shiftR @ (rep_auFP size2_auFR) ww7_sxPe sat_sxQg sat_sxQi) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) }; GHC.Types.True -> case GHC.Prim.-# wild3_sxQd wild2_sxQc of sat_sxQk { __DEFAULT -> let { sat_sxQl [Occ=Once] :: GHC.Types.Int [LclId, Str=DmdType] sat_sxQl = GHC.Types.I# sat_sxQk } in let { sat_sxQj [Occ=Once] :: rep_auFP size2_auFR [LclId, Str=DmdType] sat_sxQj = (ww4_sxPb `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww6_sxPd ww5_sxPc (w_sxPh `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ)) } in (Data.Bits.shiftL @ (rep_auFP size2_auFR) ww7_sxPe sat_sxQj sat_sxQl) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) } } } } } } } CLaSH.Sized.Fixed.resizeF [InlPrag=INLINE[0]] :: forall (frac1_auFN :: GHC.TypeLits.Nat) (frac2_auFO :: GHC.TypeLits.Nat) (rep_auFP :: GHC.TypeLits.Nat -> *) (size1_auFQ :: GHC.TypeLits.Nat) (size2_auFR :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.ResizeFC rep_auFP frac1_auFN frac2_auFO size1_auFQ size2_auFR) => CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ -> CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR [GblId, Arity=2, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.resizeF = \ (@ (frac1_auFN :: GHC.TypeLits.Nat)) (@ (frac2_auFO :: GHC.TypeLits.Nat)) (@ (rep_auFP :: GHC.TypeLits.Nat -> *)) (@ (size1_auFQ :: GHC.TypeLits.Nat)) (@ (size2_auFR :: GHC.TypeLits.Nat)) (w_sxQm [Occ=Once!] :: CLaSH.Sized.Fixed.ResizeFC rep_auFP frac1_auFN frac2_auFO size1_auFQ size2_auFR) (w1_sxQn [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ) -> case w_sxQm of _ [Occ=Dead] { (ww1_sxQp [Occ=Once], _ [Occ=Dead], ww3_sxQr [Occ=Once], ww4_sxQs [Occ=Once], ww5_sxQt [Occ=Once], ww6_sxQu [Occ=Once], ww7_sxQv [Occ=Once], ww8_sxQw [Occ=Once], ww9_sxQx [Occ=Once], ww10_sxQy [Occ=Once], ww11_sxQz [Occ=Once], _ [Occ=Dead]) -> CLaSH.Sized.Fixed.$wresizeF @ frac1_auFN @ frac2_auFO @ rep_auFP @ size1_auFQ @ size2_auFR ww1_sxQp ww3_sxQr ww4_sxQs ww5_sxQt ww6_sxQu ww7_sxQv ww8_sxQw ww9_sxQx ww10_sxQy ww11_sxQz w1_sxQn } CLaSH.Sized.Fixed.asRepProxy :: forall (frac_auFV :: GHC.TypeLits.Nat) (rep_auFW :: GHC.TypeLits.Nat -> *) (size_auFX :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFV rep_auFW size_auFX -> Data.Proxy.Proxy rep_auFW [GblId, Arity=1, Caf=NoCafRefs, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.asRepProxy = \ (@ (frac_avk6 :: GHC.TypeLits.Nat)) (@ (rep_avk7 :: GHC.TypeLits.Nat -> *)) (@ (size_avk8 :: GHC.TypeLits.Nat)) _ [Occ=Dead] -> Data.Proxy.Proxy @ (GHC.TypeLits.Nat -> *) @ rep_avk7 CLaSH.Sized.Fixed.asFracProxy :: forall (frac_auFY :: GHC.TypeLits.Nat) (rep_auFZ :: GHC.TypeLits.Nat -> *) (size_auG0 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFY rep_auFZ size_auG0 -> Data.Proxy.Proxy frac_auFY [GblId, Arity=1, Caf=NoCafRefs, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.asFracProxy = \ (@ (frac_avkp :: GHC.TypeLits.Nat)) (@ (rep_avkq :: GHC.TypeLits.Nat -> *)) (@ (size_avkr :: GHC.TypeLits.Nat)) _ [Occ=Dead] -> Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac_avkp CLaSH.Sized.Fixed.fracShift :: forall (frac_auFS :: GHC.TypeLits.Nat) (rep_auFT :: GHC.TypeLits.Nat -> *) (size_auFU :: GHC.TypeLits.Nat). GHC.TypeLits.KnownNat frac_auFS => CLaSH.Sized.Fixed.Fixed frac_auFS rep_auFT size_auFU -> GHC.Types.Int [GblId, Arity=2, Caf=NoCafRefs, Str=DmdType m, Unf=OtherCon []] CLaSH.Sized.Fixed.fracShift = \ (@ (frac_avjN :: GHC.TypeLits.Nat)) (@ (rep_avjO :: GHC.TypeLits.Nat -> *)) (@ (size_avjP :: GHC.TypeLits.Nat)) ($dKnownNat_sxQD [Occ=Once] :: GHC.TypeLits.KnownNat frac_avjN) _ [Occ=Dead] -> case GHC.Integer.Type.integerToInt ($dKnownNat_sxQD `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_avjN ~# GHC.Integer.Type.Integer)) of wild_sxQF { __DEFAULT -> GHC.Types.I# wild_sxQF } CLaSH.Sized.Fixed.unUF1 :: forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) [GblId, Arity=1, Caf=NoCafRefs, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.unUF1 = \ (@ (int_avkK :: GHC.TypeLits.Nat)) (@ (frac_avkL :: GHC.TypeLits.Nat)) (ds_sxQG [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL)) -> ds_sxQG CLaSH.Sized.Fixed.unUF :: forall (int_auG1 :: GHC.TypeLits.Nat) (frac_auG2 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.UFixed int_auG1 frac_auG2 -> CLaSH.Sized.Unsigned.Unsigned (int_auG1 GHC.TypeLits.+ frac_auG2) [GblId, Arity=1, Caf=NoCafRefs, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.unUF = (\ (@ (int_avkK :: GHC.TypeLits.Nat)) (@ (frac_avkL :: GHC.TypeLits.Nat)) (eta_B1 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL)) -> CLaSH.Sized.Fixed.unUF1 @ int_avkK @ frac_avkL eta_B1) `cast` (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL)) ~# (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL))) CLaSH.Sized.Fixed.uf1 :: forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) [GblId, Arity=2, Caf=NoCafRefs, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.uf1 = \ (@ (frac_avl5 :: GHC.TypeLits.Nat)) (@ (int_avl6 :: GHC.TypeLits.Nat)) _ [Occ=Dead] (fRep_sxQI [Occ=Once] :: CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) -> fRep_sxQI CLaSH.Sized.Fixed.uf :: forall (frac_auG3 :: GHC.TypeLits.Nat) (int_auG4 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_auG3 -> CLaSH.Sized.Unsigned.Unsigned (int_auG4 GHC.TypeLits.+ frac_auG3) -> CLaSH.Sized.Fixed.UFixed int_auG4 frac_auG3 [GblId, Arity=2, Caf=NoCafRefs, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.uf = (\ (@ (frac_avl5 :: GHC.TypeLits.Nat)) (@ (int_avl6 :: GHC.TypeLits.Nat)) (eta_B2 [Occ=Once] :: CLaSH.Promoted.Nat.SNat frac_avl5) (eta_B1 [Occ=Once] :: CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) -> CLaSH.Sized.Fixed.uf1 @ frac_avl5 @ int_avl6 eta_B2 eta_B1) `cast` (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) ~# (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Fixed.Fixed frac_avl5 CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5))) CLaSH.Sized.Fixed.unSF1 :: forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) [GblId, Arity=1, Caf=NoCafRefs, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.unSF1 = \ (@ (int_avlp :: GHC.TypeLits.Nat)) (@ (frac_avlq :: GHC.TypeLits.Nat)) (ds_sxQJ [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq)) -> ds_sxQJ CLaSH.Sized.Fixed.unSF :: forall (int_auG5 :: GHC.TypeLits.Nat) (frac_auG6 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.SFixed int_auG5 frac_auG6 -> CLaSH.Sized.Signed.Signed (int_auG5 GHC.TypeLits.+ frac_auG6) [GblId, Arity=1, Caf=NoCafRefs, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.unSF = (\ (@ (int_avlp :: GHC.TypeLits.Nat)) (@ (frac_avlq :: GHC.TypeLits.Nat)) (eta_B1 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq)) -> CLaSH.Sized.Fixed.unSF1 @ int_avlp @ frac_avlq eta_B1) `cast` (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq)) ~# (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq))) CLaSH.Sized.Fixed.sf1 :: forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) [GblId, Arity=2, Caf=NoCafRefs, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.sf1 = \ (@ (frac_avlK :: GHC.TypeLits.Nat)) (@ (int_avlL :: GHC.TypeLits.Nat)) _ [Occ=Dead] (fRep_sxQL [Occ=Once] :: CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) -> fRep_sxQL CLaSH.Sized.Fixed.sf :: forall (frac_auG7 :: GHC.TypeLits.Nat) (int_auG8 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_auG7 -> CLaSH.Sized.Signed.Signed (int_auG8 GHC.TypeLits.+ frac_auG7) -> CLaSH.Sized.Fixed.SFixed int_auG8 frac_auG7 [GblId, Arity=2, Caf=NoCafRefs, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.sf = (\ (@ (frac_avlK :: GHC.TypeLits.Nat)) (@ (int_avlL :: GHC.TypeLits.Nat)) (eta_B2 [Occ=Once] :: CLaSH.Promoted.Nat.SNat frac_avlK) (eta_B1 [Occ=Once] :: CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) -> CLaSH.Sized.Fixed.sf1 @ frac_avlK @ int_avlL eta_B2 eta_B1) `cast` (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) ~# (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Fixed.Fixed frac_avlK CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK))) CLaSH.Sized.Fixed.unFixed1 :: forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 [GblId, Arity=1, Caf=NoCafRefs, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.unFixed1 = \ (@ (frac_auI2 :: GHC.TypeLits.Nat)) (@ (rep_auI3 :: GHC.TypeLits.Nat -> *)) (@ (size_auI4 :: GHC.TypeLits.Nat)) (ds_sxQM [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4) -> ds_sxQM CLaSH.Sized.Fixed.unFixed :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> rep_auFG size_auFH [GblId[[RecSel]], Arity=1, Caf=NoCafRefs, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.unFixed = (\ (@ (frac_auI2 :: GHC.TypeLits.Nat)) (@ (rep_auI3 :: GHC.TypeLits.Nat -> *)) (@ (size_auI4 :: GHC.TypeLits.Nat)) (eta_B1 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4) -> CLaSH.Sized.Fixed.unFixed1 @ frac_auI2 @ rep_auI3 @ size_auI4 eta_B1) `cast` (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4) ~# (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> rep_auI3 size_auI4)) lvl8_rxLD :: GHC.Types.Char [GblId, Caf=NoCafRefs, Str=DmdType m, Unf=OtherCon []] lvl8_rxLD = GHC.Types.C# '-' lvl9_rxLE :: GHC.Types.Char [GblId, Caf=NoCafRefs, Str=DmdType m, Unf=OtherCon []] lvl9_rxLE = GHC.Types.C# '0' dt_rxLF :: GHC.Integer.Type.Integer [GblId, Str=DmdType, Unf=OtherCon []] dt_rxLF = GHC.Integer.Type.S# 10 $wlvl_rxLG :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) -> (# GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer #) [GblId, Arity=1, Str=DmdType , Unf=OtherCon []] $wlvl_rxLG = \ (w_sxQN :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) -> let { sat_sxR7 [Occ=Once] :: GHC.Real.Ratio GHC.Integer.Type.Integer [LclId, Str=DmdType] sat_sxR7 = case w_sxQN of _ [Occ=Dead] { (_ [Occ=Dead], y_sxQY [Occ=Once!]) -> case y_sxQY of _ [Occ=Dead] { GHC.Real.:% ww1_sxR0 [Occ=Once] ww2_sxR1 [Occ=Once] -> case GHC.Integer.Type.timesInteger ww2_sxR1 GHC.Real.$fEnumRatio1 of sat_sxR3 { __DEFAULT -> case GHC.Integer.Type.timesInteger ww1_sxR0 dt_rxLF of sat_sxR2 { __DEFAULT -> case GHC.Real.$w$sreduce sat_sxR2 sat_sxR3 of _ [Occ=Dead] { (# ww7_sxR5 [Occ=Once], ww8_sxR6 [Occ=Once] #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww7_sxR5 ww8_sxR6 } } } } } } in let { sat_sxQV [Occ=Once] :: GHC.Types.Int [LclId, Str=DmdType] sat_sxQV = case w_sxQN of _ [Occ=Dead] { (x_sxQP [Occ=Once!], _ [Occ=Dead]) -> case x_sxQP of _ [Occ=Dead] { GHC.Types.I# x1_sxQS [Occ=Once!] -> case x1_sxQS of wild2_sxQT { __DEFAULT -> case GHC.Prim.+# wild2_sxQT 1 of sat_sxQU { __DEFAULT -> GHC.Types.I# sat_sxQU }; 9223372036854775807 -> GHC.Enum.$fEnumInt2 } } } } in (# sat_sxQV, sat_sxR7 #) lvl10_rxLH :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) -> (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) [GblId, Arity=1, Str=DmdType m, Unf=OtherCon []] lvl10_rxLH = \ (w_sxR8 [Occ=Once] :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) -> case $wlvl_rxLG w_sxR8 of _ [Occ=Dead] { (# ww1_sxRa [Occ=Once], ww2_sxRb [Occ=Once] #) -> (ww1_sxRa, ww2_sxRb) } lvl11_rxLI :: GHC.Types.Int [GblId, Caf=NoCafRefs, Str=DmdType m, Unf=OtherCon []] lvl11_rxLI = GHC.Types.I# 0 lvl12_rxLJ :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) -> [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)] -> [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)] [GblId, Arity=2, Str=DmdType, Unf=OtherCon []] lvl12_rxLJ = \ (x_sxRc [Occ=Once!] :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) (r_sxRd [Occ=Once*] :: [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)]) -> case x_sxRc of wild_sxRe { (_ [Occ=Dead], y_sxRg [Occ=Once!]) -> case y_sxRg of _ [Occ=Dead] { GHC.Real.:% _ [Occ=Dead] y1_sxRj [Occ=Once] -> case GHC.Integer.Type.eqInteger# y1_sxRj lvl1_rxLm of wild2_sxRk { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild2_sxRk of _ [Occ=Dead] { GHC.Types.False -> r_sxRd; GHC.Types.True -> GHC.Types.: @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) wild_sxRe r_sxRd } } } } lvl13_rxLK :: GHC.Types.Char [GblId, Caf=NoCafRefs, Str=DmdType, Unf=OtherCon []] lvl13_rxLK = GHC.Types.C# '.' CLaSH.Sized.Fixed.$w$cshow :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). GHC.TypeLits.KnownNat frac_auHx => (rep_auHy size_auHz -> GHC.Integer.Type.Integer) -> CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> [GHC.Types.Char] [GblId, Arity=3, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$w$cshow = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) (w_sxRm [Occ=Once] :: GHC.TypeLits.KnownNat frac_auHx) (ww_sxRn [Occ=Once!] :: rep_auHy size_auHz -> GHC.Integer.Type.Integer) (w1_sxRo [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) -> case ww_sxRn (w1_sxRo `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz ~# rep_auHy size_auHz)) of fRepI_sxRp [Dmd=] { __DEFAULT -> case GHC.Integer.Type.ltInteger# fRepI_sxRp CLaSH.Sized.Fixed.$s^2 of wild_sxRq { __DEFAULT -> let { fRepI_abs_sxRr :: GHC.Integer.Type.Integer [LclId, Str=DmdType] fRepI_abs_sxRr = GHC.Integer.Type.absInteger fRepI_sxRp } in let { nF_sxRs [Dmd=] :: GHC.Types.Int [LclId, Str=DmdType] nF_sxRs = case GHC.Integer.Type.integerToInt (w_sxRm `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_auHx ~# GHC.Integer.Type.Integer)) of wild1_sxRt { __DEFAULT -> GHC.Types.I# wild1_sxRt } } in let { a10_sxRu [Occ=Once*] :: [GHC.Types.Char] [LclId, Str=DmdType] a10_sxRu = let { sat_sxSj :: GHC.Real.Ratio GHC.Integer.Type.Integer [LclId, Str=DmdType] sat_sxSj = case GHC.Integer.Type.ltInteger# fRepI_sxRp CLaSH.Sized.Fixed.$s^2 of wild1_sxRv { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild1_sxRv of _ [Occ=Dead] { GHC.Types.False -> case nF_sxRs of _ [Occ=Dead] { GHC.Types.I# x_sxRy -> case GHC.Prim.<# x_sxRy 0 of sat_sxRz { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool sat_sxRz of _ [Occ=Dead] { GHC.Types.False -> case case x_sxRy of wild5_sxRC { __DEFAULT -> GHC.Real.$wf1 lvl2_rxLn wild5_sxRC; 0 -> GHC.Real.$fEnumRatio1 } of a11_sxRB [Dmd=] { __DEFAULT -> case x_sxRy of wild5_sxRD { __DEFAULT -> case GHC.Integer.Type.absInteger a11_sxRB of sat_sxRJ { __DEFAULT -> case GHC.Integer.Type.signumInteger a11_sxRB of sat_sxRH { __DEFAULT -> case GHC.Real.$wf1 lvl2_rxLn wild5_sxRD of sat_sxRE { __DEFAULT -> case GHC.Integer.Type.minusInteger sat_sxRE lvl1_rxLm of sat_sxRF { __DEFAULT -> case GHC.Integer.Type.andInteger fRepI_sxRp sat_sxRF of sat_sxRG { __DEFAULT -> case GHC.Integer.Type.timesInteger sat_sxRG sat_sxRH of sat_sxRI { __DEFAULT -> case GHC.Real.$w$sreduce sat_sxRI sat_sxRJ of _ [Occ=Dead] { (# ww2_sxRL [Occ=Once], ww3_sxRM [Occ=Once] #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww2_sxRL ww3_sxRM } } } } } } }; 0 -> case GHC.Integer.Type.absInteger a11_sxRB of sat_sxRQ { __DEFAULT -> case GHC.Integer.Type.signumInteger a11_sxRB of sat_sxRO { __DEFAULT -> case GHC.Integer.Type.andInteger fRepI_sxRp CLaSH.Sized.Fixed.$s^2 of sat_sxRN { __DEFAULT -> case GHC.Integer.Type.timesInteger sat_sxRN sat_sxRO of sat_sxRP { __DEFAULT -> case GHC.Real.$w$sreduce sat_sxRP sat_sxRQ of _ [Occ=Dead] { (# ww2_sxRS [Occ=Once], ww3_sxRT [Occ=Once] #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww2_sxRS ww3_sxRT } } } } } } }; GHC.Types.True -> case GHC.Real.^3 of _ [Occ=Dead] { } } } }; GHC.Types.True -> case nF_sxRs of _ [Occ=Dead] { GHC.Types.I# x_sxRW -> case GHC.Prim.<# x_sxRW 0 of sat_sxRX { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool sat_sxRX of _ [Occ=Dead] { GHC.Types.False -> case case x_sxRW of wild5_sxS0 { __DEFAULT -> GHC.Real.$wf1 lvl2_rxLn wild5_sxS0; 0 -> GHC.Real.$fEnumRatio1 } of a11_sxRZ [Dmd=] { __DEFAULT -> case x_sxRW of wild5_sxS1 { __DEFAULT -> case GHC.Integer.Type.absInteger a11_sxRZ of sat_sxS7 { __DEFAULT -> case GHC.Integer.Type.signumInteger a11_sxRZ of sat_sxS5 { __DEFAULT -> case GHC.Real.$wf1 lvl2_rxLn wild5_sxS1 of sat_sxS2 { __DEFAULT -> case GHC.Integer.Type.minusInteger sat_sxS2 lvl1_rxLm of sat_sxS3 { __DEFAULT -> case GHC.Integer.Type.andInteger fRepI_abs_sxRr sat_sxS3 of sat_sxS4 { __DEFAULT -> case GHC.Integer.Type.timesInteger sat_sxS4 sat_sxS5 of sat_sxS6 { __DEFAULT -> case GHC.Real.$w$sreduce sat_sxS6 sat_sxS7 of _ [Occ=Dead] { (# ww2_sxS9 [Occ=Once], ww3_sxSa [Occ=Once] #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww2_sxS9 ww3_sxSa } } } } } } }; 0 -> case GHC.Integer.Type.absInteger a11_sxRZ of sat_sxSe { __DEFAULT -> case GHC.Integer.Type.signumInteger a11_sxRZ of sat_sxSc { __DEFAULT -> case GHC.Integer.Type.andInteger fRepI_abs_sxRr CLaSH.Sized.Fixed.$s^2 of sat_sxSb { __DEFAULT -> case GHC.Integer.Type.timesInteger sat_sxSb sat_sxSc of sat_sxSd { __DEFAULT -> case GHC.Real.$w$sreduce sat_sxSd sat_sxSe of _ [Occ=Dead] { (# ww2_sxSg [Occ=Once], ww3_sxSh [Occ=Once] #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww2_sxSg ww3_sxSh } } } } } } }; GHC.Types.True -> case GHC.Real.^3 of _ [Occ=Dead] { } } } } } } } in let { sat_sxSk [Occ=Once] :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) [LclId, Str=DmdType] sat_sxSk = (lvl11_rxLI, sat_sxSj) } in case GHC.List.iterateFB @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) @ [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)] lvl12_rxLJ lvl10_rxLH sat_sxSk of _ [Occ=Dead] { [] -> case Data.Maybe.fromJust1 of _ [Occ=Dead] { }; : a11_sxSn [Occ=Once!] _ [Occ=Dead] -> case a11_sxSn of _ [Occ=Dead] { (ww2_sxSq [Occ=Once!], ww3_sxSr [Occ=Once!]) -> case ww2_sxSq of _ [Occ=Dead] { GHC.Types.I# ww5_sxSt [Occ=Once] -> case ww3_sxSr of _ [Occ=Dead] { GHC.Real.:% ww7_sxSv [Occ=Once] _ [Occ=Dead] -> case GHC.Show.$w$cshowsPrec 0 ww7_sxSv (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead] { (# ww10_sxSy, ww11_sxSz #) -> let { str_sxSA :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=OtherCon []] str_sxSA = GHC.Types.: @ GHC.Types.Char ww10_sxSy ww11_sxSz } in case GHC.List.$wlenAcc @ GHC.Types.Char str_sxSA 0 of ww12_sxSB { __DEFAULT -> case GHC.Prim.-# ww5_sxSt ww12_sxSB of n#_sxSC { __DEFAULT -> case GHC.Prim.<=# n#_sxSC 0 of sat_sxSD { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool sat_sxSD of _ [Occ=Dead] { GHC.Types.False -> let { lvl17_sxSF [Occ=OnceL] :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=OtherCon []] lvl17_sxSF = GHC.Types.: @ GHC.Types.Char lvl9_rxLE str_sxSA } in letrec { xs_sxSG [Occ=LoopBreaker] :: GHC.Prim.Int# -> [GHC.Types.Char] [LclId, Arity=1, Str=DmdType , Unf=OtherCon []] xs_sxSG = \ (m_sxSH :: GHC.Prim.Int#) -> case GHC.Prim.<=# m_sxSH 1 of sat_sxSI { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool sat_sxSI of _ [Occ=Dead] { GHC.Types.False -> let { sat_sxSL [Occ=Once] :: [GHC.Types.Char] [LclId, Str=DmdType] sat_sxSL = case GHC.Prim.-# m_sxSH 1 of sat_sxSK { __DEFAULT -> xs_sxSG sat_sxSK } } in GHC.Types.: @ GHC.Types.Char lvl9_rxLE sat_sxSL; GHC.Types.True -> lvl17_sxSF } }; } in xs_sxSG n#_sxSC; GHC.Types.True -> str_sxSA } } } } } } } } } } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_sxRq of _ [Occ=Dead] { GHC.Types.False -> case nF_sxRs of _ [Occ=Dead] { GHC.Types.I# x_sxSO [Occ=Once] -> case GHC.Prim.negateInt# x_sxSO of ww1_sxSP { __DEFAULT -> case GHC.Prim.>=# ww1_sxSP 0 of sat_sxSQ { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool sat_sxSQ of _ [Occ=Dead] { GHC.Types.False -> case GHC.Prim.negateInt# ww1_sxSP of sat_sxSS { __DEFAULT -> case GHC.Integer.Type.shiftRInteger fRepI_sxRp sat_sxSS of sat_sxST { __DEFAULT -> case GHC.Show.$w$cshowsPrec 0 sat_sxST (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead] { (# ww3_sxSV [Occ=Once], ww4_sxSW [Occ=Once] #) -> let { sat_sxSY [Occ=Once] :: [GHC.Types.Char] [LclId, Str=DmdType] sat_sxSY = GHC.Types.: @ GHC.Types.Char lvl13_rxLK a10_sxRu } in let { sat_sxSX [Occ=Once] :: [GHC.Types.Char] [LclId, Str=DmdType] sat_sxSX = GHC.Types.: @ GHC.Types.Char ww3_sxSV ww4_sxSW } in GHC.Base.++ @ GHC.Types.Char sat_sxSX sat_sxSY } } }; GHC.Types.True -> case GHC.Integer.Type.shiftLInteger fRepI_sxRp ww1_sxSP of sat_sxSZ { __DEFAULT -> case GHC.Show.$w$cshowsPrec 0 sat_sxSZ (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead] { (# ww3_sxT1 [Occ=Once], ww4_sxT2 [Occ=Once] #) -> let { sat_sxT4 [Occ=Once] :: [GHC.Types.Char] [LclId, Str=DmdType] sat_sxT4 = GHC.Types.: @ GHC.Types.Char lvl13_rxLK a10_sxRu } in let { sat_sxT3 [Occ=Once] :: [GHC.Types.Char] [LclId, Str=DmdType] sat_sxT3 = GHC.Types.: @ GHC.Types.Char ww3_sxT1 ww4_sxT2 } in GHC.Base.++ @ GHC.Types.Char sat_sxT3 sat_sxT4 } } } } } }; GHC.Types.True -> let { sat_sxTl [Occ=Once] :: [GHC.Types.Char] [LclId, Str=DmdType] sat_sxTl = GHC.Types.: @ GHC.Types.Char lvl13_rxLK a10_sxRu } in let { sat_sxTj [Occ=Once] :: [GHC.Types.Char] [LclId, Str=DmdType] sat_sxTj = case nF_sxRs of _ [Occ=Dead] { GHC.Types.I# x_sxT6 [Occ=Once] -> case GHC.Prim.negateInt# x_sxT6 of ww1_sxT7 { __DEFAULT -> case GHC.Prim.>=# ww1_sxT7 0 of sat_sxT8 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool sat_sxT8 of _ [Occ=Dead] { GHC.Types.False -> case GHC.Prim.negateInt# ww1_sxT7 of sat_sxTa { __DEFAULT -> case GHC.Integer.Type.shiftRInteger fRepI_abs_sxRr sat_sxTa of sat_sxTb { __DEFAULT -> case GHC.Show.$w$cshowsPrec 0 sat_sxTb (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead] { (# ww3_sxTd [Occ=Once], ww4_sxTe [Occ=Once] #) -> GHC.Types.: @ GHC.Types.Char ww3_sxTd ww4_sxTe } } }; GHC.Types.True -> case GHC.Integer.Type.shiftLInteger fRepI_abs_sxRr ww1_sxT7 of sat_sxTf { __DEFAULT -> case GHC.Show.$w$cshowsPrec 0 sat_sxTf (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead] { (# ww3_sxTh [Occ=Once], ww4_sxTi [Occ=Once] #) -> GHC.Types.: @ GHC.Types.Char ww3_sxTh ww4_sxTi } } } } } } } in let { sat_sxTk [Occ=Once] :: [GHC.Types.Char] [LclId, Str=DmdType] sat_sxTk = GHC.Types.: @ GHC.Types.Char lvl8_rxLD sat_sxTj } in GHC.Base.++ @ GHC.Types.Char sat_sxTk sat_sxTl } } } CLaSH.Sized.Fixed.$fShowFixed_$cshow [InlPrag=INLINE[0]] :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> GHC.Base.String [GblId, Arity=5, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$fShowFixed_$cshow = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) _ [Occ=Dead] _ [Occ=Dead] (w2_sxTo [Occ=Once] :: GHC.TypeLits.KnownNat frac_auHx) (w3_sxTp [Occ=Once!] :: GHC.Real.Integral (rep_auHy size_auHz)) (w4_sxTq [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) -> case w3_sxTp of _ [Occ=Dead] { GHC.Real.D:Integral _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] ww9_sxTA [Occ=Once] -> CLaSH.Sized.Fixed.$w$cshow @ frac_auHx @ rep_auHy @ size_auHz w2_sxTo ww9_sxTA w4_sxTq } CLaSH.Sized.Fixed.$fShowFixed_$cshowsPrec :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => GHC.Types.Int -> CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> GHC.Show.ShowS [GblId, Arity=7, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$fShowFixed_$cshowsPrec = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) _ [Occ=Dead] _ [Occ=Dead] ($dKnownNat_sxTD [Occ=Once] :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_sxTE [Occ=Once!] :: GHC.Real.Integral (rep_auHy size_auHz)) _ [Occ=Dead] (x_sxTG [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (s_sxTH [Occ=Once] :: GHC.Base.String) -> case $dIntegral_sxTE of _ [Occ=Dead] { GHC.Real.D:Integral _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] ww9_sxTR [Occ=Once] -> case CLaSH.Sized.Fixed.$w$cshow @ frac_auHx @ rep_auHy @ size_auHz $dKnownNat_sxTD ww9_sxTR x_sxTG of sat_sxTS { __DEFAULT -> GHC.Base.++ @ GHC.Types.Char sat_sxTS s_sxTH } } CLaSH.Sized.Fixed.$w$cshowList :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz] -> GHC.Base.String -> GHC.Base.String [GblId, Arity=4, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$w$cshowList = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) (w_sxTT [Occ=OnceL] :: GHC.TypeLits.KnownNat frac_auHx) (w1_sxTU [Occ=OnceL!] :: GHC.Real.Integral (rep_auHy size_auHz)) (w2_sxTV [Occ=Once] :: [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz]) (w3_sxTW [Occ=Once] :: GHC.Base.String) -> let { sat_sxUa [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> GHC.Show.ShowS [LclId, Str=DmdType] sat_sxUa = \ (x_sxTX [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (s_sxTY [Occ=Once] :: GHC.Base.String) -> case w1_sxTU of _ [Occ=Dead] { GHC.Real.D:Integral _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] ww9_sxU8 [Occ=Once] -> case CLaSH.Sized.Fixed.$w$cshow @ frac_auHx @ rep_auHy @ size_auHz w_sxTT ww9_sxU8 x_sxTX of sat_sxU9 { __DEFAULT -> GHC.Base.++ @ GHC.Types.Char sat_sxU9 s_sxTY } } } in GHC.Show.showList__ @ (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) sat_sxUa w2_sxTV w3_sxTW CLaSH.Sized.Fixed.$fShowFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => GHC.Show.Show (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) [GblId[DFunId], Arity=4, Str=DmdType m, Unf=OtherCon []] CLaSH.Sized.Fixed.$fShowFixed = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_sxUb :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_sxUc :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_sxUd :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_sxUe :: GHC.Real.Integral (rep_auHy size_auHz)) -> let { sat_sxUj [Occ=Once] :: [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz] -> GHC.Show.ShowS [LclId, Str=DmdType] sat_sxUj = \ (w_sxUh [Occ=Once] :: [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz]) (w1_sxUi [Occ=Once] :: GHC.Base.String) -> CLaSH.Sized.Fixed.$w$cshowList @ frac_auHx @ rep_auHy @ size_auHz $dKnownNat_sxUd $dIntegral_sxUe w_sxUh w1_sxUi } in let { sat_sxUg [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> GHC.Base.String [LclId, Str=DmdType] sat_sxUg = \ (eta_B1 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) -> CLaSH.Sized.Fixed.$fShowFixed_$cshow @ frac_auHx @ rep_auHy @ size_auHz $dShow_sxUb $dBits_sxUc $dKnownNat_sxUd $dIntegral_sxUe eta_B1 } in let { sat_sxUf [Occ=Once] :: GHC.Types.Int -> CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> GHC.Show.ShowS [LclId, Str=DmdType] sat_sxUf = \ (eta_B3 [Occ=Once] :: GHC.Types.Int) (eta_B2 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (eta_B1 [Occ=Once] :: GHC.Base.String) -> CLaSH.Sized.Fixed.$fShowFixed_$cshowsPrec @ frac_auHx @ rep_auHy @ size_auHz $dShow_sxUb $dBits_sxUc $dKnownNat_sxUd $dIntegral_sxUe eta_B3 eta_B2 eta_B1 } in GHC.Show.D:Show @ (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) sat_sxUf sat_sxUg sat_sxUj CLaSH.Sized.Fixed.$fMultFixedFixed1 :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu) [GblId, Arity=3, Caf=NoCafRefs, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$fMultFixedFixed1 = \ (@ (frac1_auHq :: GHC.TypeLits.Nat)) (@ (rep_auHr :: GHC.TypeLits.Nat -> *)) (@ (size1_auHs :: GHC.TypeLits.Nat)) (@ (frac2_auHt :: GHC.TypeLits.Nat)) (@ (size2_auHu :: GHC.TypeLits.Nat)) (tup_sxUk [Occ=Once!] :: CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) (eta_sxUl [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (eta1_sxUm [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) -> case tup_sxUk of _ [Occ=Dead] { (tpl_sxUo [Occ=Once], tpl1_sxUp [Occ=Once!]) -> case tpl1_sxUp of _ [Occ=Dead] { GHC.Types.Eq# cobox1_dw3M -> ((tpl_sxUo `cast` (CLaSH.Class.Num.NTCo:Mult[0] _N _N :: CLaSH.Class.Num.Mult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# (rep_auHr size1_auHs -> rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu)))) (eta_sxUl `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs ~# rep_auHr size1_auHs)) (eta1_sxUm `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu ~# rep_auHr size2_auHu))) `cast` (Sub cobox1_dw3M :: CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) } } CLaSH.Sized.Fixed.$fMultFixedFixed_$cmult :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) [GblId, Arity=3, Caf=NoCafRefs, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$fMultFixedFixed_$cmult = (\ (@ (frac1_auHq :: GHC.TypeLits.Nat)) (@ (rep_auHr :: GHC.TypeLits.Nat -> *)) (@ (size1_auHs :: GHC.TypeLits.Nat)) (@ (frac2_auHt :: GHC.TypeLits.Nat)) (@ (size2_auHu :: GHC.TypeLits.Nat)) (eta_B3 [Occ=Once] :: CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) (eta_B2 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (eta_B1 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) -> CLaSH.Sized.Fixed.$fMultFixedFixed1 @ frac1_auHq @ rep_auHr @ size1_auHs @ frac2_auHt @ size2_auHu eta_B3 eta_B2 eta_B1) `cast` (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). _R -> _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:MResultFixedFixed[0] _N _N _N _N _N)) :: (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) ~# (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu))) CLaSH.Sized.Fixed.$fMultFixedFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) [GblId[DFunId(nt)], Arity=3, Caf=NoCafRefs, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$fMultFixedFixed = (\ (@ (frac1_auHq :: GHC.TypeLits.Nat)) (@ (rep_auHr :: GHC.TypeLits.Nat -> *)) (@ (size1_auHs :: GHC.TypeLits.Nat)) (@ (frac2_auHt :: GHC.TypeLits.Nat)) (@ (size2_auHu :: GHC.TypeLits.Nat)) (eta_B3 [Occ=Once] :: CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) (eta_B2 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (eta_B1 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) -> CLaSH.Sized.Fixed.$fMultFixedFixed1 @ frac1_auHq @ rep_auHr @ size1_auHs @ frac2_auHt @ size2_auHu eta_B3 eta_B2 eta_B1) `cast` (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). _R -> (_R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:MResultFixedFixed[0] _N _N _N _N _N))) ; Sym (CLaSH.Class.Num.NTCo:Mult[0] _N _N) :: (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) ~# (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu))) CLaSH.Sized.Fixed.$w$cminus :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1), CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) => (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) -> CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [GblId, Arity=5, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$w$cminus = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (ww_sxUr [Occ=Once!] :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (ww1_sxUs :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (ww2_sxUt [Occ=Once!] :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (w_sxUu [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w1_sxUv [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> let { $dKnownNat_sxUw :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) [LclId, Str=DmdType] $dKnownNat_sxUw = case ww1_sxUs of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl9_sxUH [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> tpl9_sxUH } } in let { $dBits_sxUK [Dmd=] :: Data.Bits.Bits (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType] $dBits_sxUK = case ww1_sxUs of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl8_sxUU [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl8_sxUU } } in let { $dKnownNat1_sxUY :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] $dKnownNat1_sxUY = case ww1_sxUs of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl6_sxV6 [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl6_sxV6 } } in let { $dResize_sxVc [Dmd=] :: CLaSH.Class.Num.Resize rep_auHe [LclId, Str=DmdType] $dResize_sxVc = case ww1_sxUs of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl5_sxVj [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl5_sxVj } } in let { $dBounded_sxVq [Dmd=] :: GHC.Enum.Bounded (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType] $dBounded_sxVq = case ww1_sxUs of _ [Occ=Dead] { (tpl_sxVs [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_sxVs } } in let { sat_sxW5 [Occ=Once] :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] sat_sxW5 = case ww1_sxUs of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], tpl2_sxVV [Occ=Once], tpl3_sxVW [Occ=Once], tpl4_sxVX [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], tpl7_sxW0 [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], tpl10_sxW3 [Occ=Once], _ [Occ=Dead]) -> (CLaSH.Sized.Fixed.$wresizeF @ frac2_auHg @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size2_auHh @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) $dBounded_sxVq tpl2_sxVV tpl3_sxVW tpl4_sxVX $dResize_sxVc $dKnownNat1_sxUY tpl7_sxW0 $dBits_sxUK $dKnownNat_sxUw tpl10_sxW3 w1_sxUv) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) } } in let { sat_sxVR [Occ=Once] :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] sat_sxVR = case ww_sxUr of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], tpl2_sxVH [Occ=Once], tpl3_sxVI [Occ=Once], tpl4_sxVJ [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], tpl7_sxVM [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], tpl10_sxVP [Occ=Once], _ [Occ=Dead]) -> (CLaSH.Sized.Fixed.$wresizeF @ frac1_auHd @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size1_auHf @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) $dBounded_sxVq tpl2_sxVH tpl3_sxVI tpl4_sxVJ $dResize_sxVc $dKnownNat1_sxUY tpl7_sxVM $dBits_sxUK $dKnownNat_sxUw tpl10_sxVP w_sxUu) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) } } in (ww2_sxUt sat_sxVR sat_sxW5) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:AResultFixedFixed[0] _N _N _N _N _N)) :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh)) CLaSH.Sized.Fixed.$fAddFixedFixed_$cminus [InlPrag=INLINE[0]] :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [GblId, Arity=3, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$fAddFixedFixed_$cminus = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (w_sxW6 [Occ=Once!] :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (w1_sxW7 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w2_sxW8 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> case w_sxW6 of _ [Occ=Dead] { (ww1_sxWa [Occ=Once], ww2_sxWb [Occ=Once], ww3_sxWc [Occ=Once!]) -> case ww3_sxWc of _ [Occ=Dead] { GHC.Num.D:Num _ [Occ=Dead] _ [Occ=Dead] ww7_sxWg [Occ=Once] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> CLaSH.Sized.Fixed.$w$cminus @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh ww1_sxWa ww2_sxWb ww7_sxWg w1_sxW7 w2_sxW8 } } CLaSH.Sized.Fixed.$w$cplus :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1), CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) => (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) -> CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [GblId, Arity=5, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$w$cplus = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (ww_sxWl [Occ=Once!] :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (ww1_sxWm :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (ww2_sxWn [Occ=Once!] :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (w_sxWo [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w1_sxWp [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> let { $dKnownNat_sxWq :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) [LclId, Str=DmdType] $dKnownNat_sxWq = case ww1_sxWm of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl9_sxWB [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> tpl9_sxWB } } in let { $dBits_sxWE [Dmd=] :: Data.Bits.Bits (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType] $dBits_sxWE = case ww1_sxWm of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl8_sxWO [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl8_sxWO } } in let { $dKnownNat1_sxWS :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] $dKnownNat1_sxWS = case ww1_sxWm of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl6_sxX0 [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl6_sxX0 } } in let { $dResize_sxX6 [Dmd=] :: CLaSH.Class.Num.Resize rep_auHe [LclId, Str=DmdType] $dResize_sxX6 = case ww1_sxWm of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl5_sxXd [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl5_sxXd } } in let { $dBounded_sxXk [Dmd=] :: GHC.Enum.Bounded (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType] $dBounded_sxXk = case ww1_sxWm of _ [Occ=Dead] { (tpl_sxXm [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_sxXm } } in let { sat_sxXZ [Occ=Once] :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] sat_sxXZ = case ww1_sxWm of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], tpl2_sxXP [Occ=Once], tpl3_sxXQ [Occ=Once], tpl4_sxXR [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], tpl7_sxXU [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], tpl10_sxXX [Occ=Once], _ [Occ=Dead]) -> (CLaSH.Sized.Fixed.$wresizeF @ frac2_auHg @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size2_auHh @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) $dBounded_sxXk tpl2_sxXP tpl3_sxXQ tpl4_sxXR $dResize_sxX6 $dKnownNat1_sxWS tpl7_sxXU $dBits_sxWE $dKnownNat_sxWq tpl10_sxXX w1_sxWp) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) } } in let { sat_sxXL [Occ=Once] :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] sat_sxXL = case ww_sxWl of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], tpl2_sxXB [Occ=Once], tpl3_sxXC [Occ=Once], tpl4_sxXD [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], tpl7_sxXG [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], tpl10_sxXJ [Occ=Once], _ [Occ=Dead]) -> (CLaSH.Sized.Fixed.$wresizeF @ frac1_auHd @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size1_auHf @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) $dBounded_sxXk tpl2_sxXB tpl3_sxXC tpl4_sxXD $dResize_sxX6 $dKnownNat1_sxWS tpl7_sxXG $dBits_sxWE $dKnownNat_sxWq tpl10_sxXJ w_sxWo) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) } } in (ww2_sxWn sat_sxXL sat_sxXZ) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:AResultFixedFixed[0] _N _N _N _N _N)) :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh)) CLaSH.Sized.Fixed.$fAddFixedFixed_$cplus [InlPrag=INLINE[0]] :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [GblId, Arity=3, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$fAddFixedFixed_$cplus = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (w_sxY0 [Occ=Once!] :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (w1_sxY1 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w2_sxY2 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> case w_sxY0 of _ [Occ=Dead] { (ww1_sxY4 [Occ=Once], ww2_sxY5 [Occ=Once], ww3_sxY6 [Occ=Once!]) -> case ww3_sxY6 of _ [Occ=Dead] { GHC.Num.D:Num ww5_sxY8 [Occ=Once] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> CLaSH.Sized.Fixed.$w$cplus @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh ww1_sxY4 ww2_sxY5 ww5_sxY8 w1_sxY1 w2_sxY2 } } CLaSH.Sized.Fixed.$fAddFixedFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Class.Num.Add (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [GblId[DFunId], Arity=1, Str=DmdType m, Unf=OtherCon []] CLaSH.Sized.Fixed.$fAddFixedFixed = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_sxYf :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) -> let { sat_sxYh [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclId, Str=DmdType] sat_sxYh = \ (eta_B2 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (eta_B1 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> CLaSH.Sized.Fixed.$fAddFixedFixed_$cminus @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_sxYf eta_B2 eta_B1 } in let { sat_sxYg [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclId, Str=DmdType] sat_sxYg = \ (eta_B2 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (eta_B1 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> CLaSH.Sized.Fixed.$fAddFixedFixed_$cplus @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_sxYf eta_B2 eta_B1 } in CLaSH.Class.Num.D:Add @ (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) @ (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) sat_sxYg sat_sxYh CLaSH.Sized.Fixed.$fNumFixed_$cfromInteger [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => GHC.Integer.Type.Integer -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [GblId, Arity=2, Caf=NoCafRefs, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$fNumFixed_$cfromInteger = \ (@ (frac_XuKb :: GHC.TypeLits.Nat)) (@ (rep_XuKd :: GHC.TypeLits.Nat -> *)) (@ (size_XuKf :: GHC.TypeLits.Nat)) (w_sxYi [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKb rep_XuKd size_XuKf) (w1_sxYj [Occ=Once] :: GHC.Integer.Type.Integer) -> case w_sxYi of _ [Occ=Dead] { (_ [Occ=Dead], ww2_sxYm [Occ=Once!], ww3_sxYn [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> case ww2_sxYm of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], ww16_sxYA [Occ=Once!], ww17_sxYB [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> case ww16_sxYA of _ [Occ=Dead] { Data.Bits.D:Bits _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] ww37_sxYV [Occ=Once!] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> let { sat_sxZ4 [Occ=Once] :: GHC.Types.Int [LclId, Str=DmdType] sat_sxZ4 = case GHC.Integer.Type.integerToInt (ww17_sxYB `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_XuKb ~# GHC.Integer.Type.Integer)) of wild_sxZ3 { __DEFAULT -> GHC.Types.I# wild_sxZ3 } } in let { sat_sxZ2 [Occ=Once] :: rep_XuKd size_XuKf [LclId, Str=DmdType] sat_sxZ2 = GHC.Num.fromInteger @ (rep_XuKd size_XuKf) ww3_sxYn w1_sxYj } in (ww37_sxYV sat_sxZ2 sat_sxZ4) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKd size_XuKf ~# CLaSH.Sized.Fixed.Fixed frac_XuKb rep_XuKd size_XuKf) } } } CLaSH.Sized.Fixed.$fNumFixed1 :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> rep_auGZ size_auH0 [GblId, Arity=2, Caf=NoCafRefs, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$fNumFixed1 = \ (@ (frac_XuKc :: GHC.TypeLits.Nat)) (@ (rep_XuKe :: GHC.TypeLits.Nat -> *)) (@ (size_XuKg :: GHC.TypeLits.Nat)) (tup_sxZ5 [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKc rep_XuKe size_XuKg) (eta_sxZ6 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKc rep_XuKe size_XuKg) -> case tup_sxZ5 of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], tpl2_sxZa [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> GHC.Num.signum @ (rep_XuKe size_XuKg) tpl2_sxZa (eta_sxZ6 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKc rep_XuKe size_XuKg ~# rep_XuKe size_XuKg)) } CLaSH.Sized.Fixed.$w$cabs :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (1 GHC.TypeLits.<= size_auH0, ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_auH0 GHC.TypeLits.+ 2), CLaSH.Class.BitVector.BitVector (rep_auGZ size_auH0), CLaSH.Class.BitVector.BitVector (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0) ~ size_auH0, CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) ~ (size_auH0 GHC.TypeLits.+ 2), GHC.TypeLits.KnownNat size_auH0, GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ 2), GHC.Enum.Bounded (rep_auGZ size_auH0), Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0, GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [GblId, Arity=13, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$w$cabs = \ (@ (frac_XuKd :: GHC.TypeLits.Nat)) (@ (rep_XuKf :: GHC.TypeLits.Nat -> *)) (@ (size_XuKh :: GHC.TypeLits.Nat)) _ [Occ=Dead] (ww1_sxZf [Occ=Once!] :: ((size_XuKh GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_XuKh GHC.TypeLits.+ 2)) (ww2_sxZg [Occ=Once] :: CLaSH.Class.BitVector.BitVector (rep_XuKf size_XuKh)) (ww3_sxZh [Occ=Once!] :: CLaSH.Class.BitVector.BitVector (rep_XuKf (size_XuKh GHC.TypeLits.+ 2))) (ww4_sxZi [Occ=Once] :: CLaSH.Class.BitVector.BitSize (rep_XuKf size_XuKh) ~ size_XuKh) (ww5_sxZj [Occ=Once!] :: CLaSH.Class.BitVector.BitSize (rep_XuKf (size_XuKh GHC.TypeLits.+ 2)) ~ (size_XuKh GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww7_sxZl :: GHC.TypeLits.KnownNat (size_XuKh GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww9_sxZn [Occ=Once!] :: Data.Bits.Bits (rep_XuKf (size_XuKh GHC.TypeLits.+ 2))) (ww10_sxZo :: CLaSH.Sized.Fixed.ResizeFC rep_XuKf (frac_XuKd GHC.TypeLits.+ frac_XuKd) frac_XuKd (size_XuKh GHC.TypeLits.+ size_XuKh) size_XuKh) (ww11_sxZp [Occ=Once] :: GHC.Num.Num (rep_XuKf (size_XuKh GHC.TypeLits.+ 2))) (w_sxZq [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKd rep_XuKf size_XuKh) -> case ww1_sxZf of _ [Occ=Dead] { GHC.Types.Eq# ww13_sxgE -> case ww3_sxZh of _ [Occ=Dead] { CLaSH.Class.BitVector.D:BitVector ww15_sxZt [Occ=Once] _ [Occ=Dead] -> case ww5_sxZj of ww17_sxZv { GHC.Types.Eq# _ [Occ=Dead] -> case ww9_sxZn of _ [Occ=Dead] { Data.Bits.D:Bits _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] ww34_sxZM [Occ=Once] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> let { $dKnownNat_sxZU :: GHC.TypeLits.KnownNat size_XuKh [LclId, Str=DmdType] $dKnownNat_sxZU = case ww10_sxZo of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl6_sy02 [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl6_sy02 } } in let { sat_sy0A [Occ=Once] :: rep_XuKf (size_XuKh GHC.TypeLits.+ 2) [LclId, Str=DmdType] sat_sy0A = let { sat_sy0z [Occ=Once] :: rep_XuKf (size_XuKh GHC.TypeLits.+ 2) [LclId, Str=DmdType] sat_sy0z = case ww10_sxZo of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl5_sy0s [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> (tpl5_sy0s `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKf ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKf a_ae8M -> rep_XuKf b_ae8N))) @ size_XuKh @ (size_XuKh GHC.TypeLits.+ 2) $dKnownNat_sxZU ww7_sxZl (w_sxZq `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKd rep_XuKf size_XuKh ~# rep_XuKf size_XuKh)) } } in GHC.Num.abs @ (rep_XuKf (size_XuKh GHC.TypeLits.+ 2)) ww11_sxZp sat_sy0z } in let { sat_sy0l [Occ=Once] :: GHC.Enum.Bounded (rep_XuKf size_XuKh) [LclId, Str=DmdType] sat_sy0l = case ww10_sxZo of _ [Occ=Dead] { (tpl_sy09 [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_sy09 } } in (CLaSH.Sized.Fixed.$wsatN2 @ rep_XuKf @ size_XuKh @~ ww13_sxgE ww2_sxZg ww15_sxZt ww4_sxZi ww17_sxZv $dKnownNat_sxZU ww7_sxZl sat_sy0l ww34_sxZM sat_sy0A) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKf size_XuKh ~# CLaSH.Sized.Fixed.Fixed frac_XuKd rep_XuKf size_XuKh) } } } } CLaSH.Sized.Fixed.$fNumFixed_$cabs [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [GblId, Arity=2, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$fNumFixed_$cabs = \ (@ (frac_XuKe :: GHC.TypeLits.Nat)) (@ (rep_XuKg :: GHC.TypeLits.Nat -> *)) (@ (size_XuKi :: GHC.TypeLits.Nat)) (w_sy0B [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKe rep_XuKg size_XuKi) (w1_sy0C [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKe rep_XuKg size_XuKi) -> case w_sy0B of _ [Occ=Dead] { (ww1_sy0E [Occ=Once!], ww2_sy0F [Occ=Once], _ [Occ=Dead], ww4_sy0H [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> case ww1_sy0E of _ [Occ=Dead] { (ww8_sy0L [Occ=Once], ww9_sy0M [Occ=Once], ww10_sy0N [Occ=Once], ww11_sy0O [Occ=Once], ww12_sy0P [Occ=Once], ww13_sy0Q [Occ=Once], ww14_sy0R [Occ=Once], ww15_sy0S [Occ=Once], ww16_sy0T [Occ=Once], ww17_sy0U [Occ=Once]) -> CLaSH.Sized.Fixed.$w$cabs @ frac_XuKe @ rep_XuKg @ size_XuKi ww8_sy0L ww9_sy0M ww10_sy0N ww11_sy0O ww12_sy0P ww13_sy0Q ww14_sy0R ww15_sy0S ww16_sy0T ww17_sy0U ww2_sy0F ww4_sy0H w1_sy0C } } CLaSH.Sized.Fixed.$w$cnegate :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (1 GHC.TypeLits.<= size_auH0, ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_auH0 GHC.TypeLits.+ 2), CLaSH.Class.BitVector.BitVector (rep_auGZ size_auH0), CLaSH.Class.BitVector.BitVector (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0) ~ size_auH0, CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) ~ (size_auH0 GHC.TypeLits.+ 2), GHC.TypeLits.KnownNat size_auH0, GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ 2), GHC.Enum.Bounded (rep_auGZ size_auH0), Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0, GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [GblId, Arity=13, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$w$cnegate = \ (@ (frac_XuKf :: GHC.TypeLits.Nat)) (@ (rep_XuKh :: GHC.TypeLits.Nat -> *)) (@ (size_XuKj :: GHC.TypeLits.Nat)) _ [Occ=Dead] (ww1_sy0W [Occ=Once!] :: ((size_XuKj GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_XuKj GHC.TypeLits.+ 2)) (ww2_sy0X [Occ=Once] :: CLaSH.Class.BitVector.BitVector (rep_XuKh size_XuKj)) (ww3_sy0Y [Occ=Once!] :: CLaSH.Class.BitVector.BitVector (rep_XuKh (size_XuKj GHC.TypeLits.+ 2))) (ww4_sy0Z [Occ=Once] :: CLaSH.Class.BitVector.BitSize (rep_XuKh size_XuKj) ~ size_XuKj) (ww5_sy10 [Occ=Once!] :: CLaSH.Class.BitVector.BitSize (rep_XuKh (size_XuKj GHC.TypeLits.+ 2)) ~ (size_XuKj GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww7_sy12 :: GHC.TypeLits.KnownNat (size_XuKj GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww9_sy14 [Occ=Once!] :: Data.Bits.Bits (rep_XuKh (size_XuKj GHC.TypeLits.+ 2))) (ww10_sy15 :: CLaSH.Sized.Fixed.ResizeFC rep_XuKh (frac_XuKf GHC.TypeLits.+ frac_XuKf) frac_XuKf (size_XuKj GHC.TypeLits.+ size_XuKj) size_XuKj) (ww11_sy16 [Occ=Once] :: GHC.Num.Num (rep_XuKh (size_XuKj GHC.TypeLits.+ 2))) (w_sy17 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKf rep_XuKh size_XuKj) -> case ww1_sy0W of _ [Occ=Dead] { GHC.Types.Eq# ww13_sxhP -> case ww3_sy0Y of _ [Occ=Dead] { CLaSH.Class.BitVector.D:BitVector ww15_sy1a [Occ=Once] _ [Occ=Dead] -> case ww5_sy10 of ww17_sy1c { GHC.Types.Eq# _ [Occ=Dead] -> case ww9_sy14 of _ [Occ=Dead] { Data.Bits.D:Bits _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] ww34_sy1t [Occ=Once] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> let { $dKnownNat_sy1B :: GHC.TypeLits.KnownNat size_XuKj [LclId, Str=DmdType] $dKnownNat_sy1B = case ww10_sy15 of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl6_sy1J [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl6_sy1J } } in let { sat_sy2h [Occ=Once] :: rep_XuKh (size_XuKj GHC.TypeLits.+ 2) [LclId, Str=DmdType] sat_sy2h = let { sat_sy2g [Occ=Once] :: rep_XuKh (size_XuKj GHC.TypeLits.+ 2) [LclId, Str=DmdType] sat_sy2g = case ww10_sy15 of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl5_sy29 [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> (tpl5_sy29 `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKh ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKh a_ae8M -> rep_XuKh b_ae8N))) @ size_XuKj @ (size_XuKj GHC.TypeLits.+ 2) $dKnownNat_sy1B ww7_sy12 (w_sy17 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKf rep_XuKh size_XuKj ~# rep_XuKh size_XuKj)) } } in GHC.Num.negate @ (rep_XuKh (size_XuKj GHC.TypeLits.+ 2)) ww11_sy16 sat_sy2g } in let { sat_sy22 [Occ=Once] :: GHC.Enum.Bounded (rep_XuKh size_XuKj) [LclId, Str=DmdType] sat_sy22 = case ww10_sy15 of _ [Occ=Dead] { (tpl_sy1Q [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_sy1Q } } in (CLaSH.Sized.Fixed.$wsatN2 @ rep_XuKh @ size_XuKj @~ ww13_sxhP ww2_sy0X ww15_sy1a ww4_sy0Z ww17_sy1c $dKnownNat_sy1B ww7_sy12 sat_sy22 ww34_sy1t sat_sy2h) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKh size_XuKj ~# CLaSH.Sized.Fixed.Fixed frac_XuKf rep_XuKh size_XuKj) } } } } CLaSH.Sized.Fixed.$fNumFixed_$cnegate [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [GblId, Arity=2, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$fNumFixed_$cnegate = \ (@ (frac_XuKg :: GHC.TypeLits.Nat)) (@ (rep_XuKi :: GHC.TypeLits.Nat -> *)) (@ (size_XuKk :: GHC.TypeLits.Nat)) (w_sy2i [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKg rep_XuKi size_XuKk) (w1_sy2j [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKg rep_XuKi size_XuKk) -> case w_sy2i of _ [Occ=Dead] { (ww1_sy2l [Occ=Once!], ww2_sy2m [Occ=Once], _ [Occ=Dead], ww4_sy2o [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> case ww1_sy2l of _ [Occ=Dead] { (ww8_sy2s [Occ=Once], ww9_sy2t [Occ=Once], ww10_sy2u [Occ=Once], ww11_sy2v [Occ=Once], ww12_sy2w [Occ=Once], ww13_sy2x [Occ=Once], ww14_sy2y [Occ=Once], ww15_sy2z [Occ=Once], ww16_sy2A [Occ=Once], ww17_sy2B [Occ=Once]) -> CLaSH.Sized.Fixed.$w$cnegate @ frac_XuKg @ rep_XuKi @ size_XuKk ww8_sy2s ww9_sy2t ww10_sy2u ww11_sy2v ww12_sy2w ww13_sy2x ww14_sy2y ww15_sy2z ww16_sy2A ww17_sy2B ww2_sy2m ww4_sy2o w1_sy2j } } CLaSH.Sized.Fixed.$w$c- :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (1 GHC.TypeLits.<= size_auH0, ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_auH0 GHC.TypeLits.+ 2), CLaSH.Class.BitVector.BitVector (rep_auGZ size_auH0), CLaSH.Class.BitVector.BitVector (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0) ~ size_auH0, CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) ~ (size_auH0 GHC.TypeLits.+ 2), GHC.TypeLits.KnownNat size_auH0, GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ 2), GHC.Enum.Bounded (rep_auGZ size_auH0), Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0, GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [GblId, Arity=14, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$w$c- = \ (@ (frac_XuKh :: GHC.TypeLits.Nat)) (@ (rep_XuKj :: GHC.TypeLits.Nat -> *)) (@ (size_XuKl :: GHC.TypeLits.Nat)) _ [Occ=Dead] (ww1_sy2D [Occ=Once!] :: ((size_XuKl GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_XuKl GHC.TypeLits.+ 2)) (ww2_sy2E [Occ=Once] :: CLaSH.Class.BitVector.BitVector (rep_XuKj size_XuKl)) (ww3_sy2F [Occ=Once!] :: CLaSH.Class.BitVector.BitVector (rep_XuKj (size_XuKl GHC.TypeLits.+ 2))) (ww4_sy2G [Occ=Once] :: CLaSH.Class.BitVector.BitSize (rep_XuKj size_XuKl) ~ size_XuKl) (ww5_sy2H [Occ=Once!] :: CLaSH.Class.BitVector.BitSize (rep_XuKj (size_XuKl GHC.TypeLits.+ 2)) ~ (size_XuKl GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww7_sy2J :: GHC.TypeLits.KnownNat (size_XuKl GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww9_sy2L [Occ=Once!] :: Data.Bits.Bits (rep_XuKj (size_XuKl GHC.TypeLits.+ 2))) (ww10_sy2M :: CLaSH.Sized.Fixed.ResizeFC rep_XuKj (frac_XuKh GHC.TypeLits.+ frac_XuKh) frac_XuKh (size_XuKl GHC.TypeLits.+ size_XuKl) size_XuKl) (ww11_sy2N [Occ=Once] :: GHC.Num.Num (rep_XuKj (size_XuKl GHC.TypeLits.+ 2))) (w_sy2O [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKh rep_XuKj size_XuKl) (w1_sy2P [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKh rep_XuKj size_XuKl) -> case ww1_sy2D of _ [Occ=Dead] { GHC.Types.Eq# ww13_sxj0 -> case ww3_sy2F of _ [Occ=Dead] { CLaSH.Class.BitVector.D:BitVector ww15_sy2S [Occ=Once] _ [Occ=Dead] -> case ww5_sy2H of ww17_sy2U { GHC.Types.Eq# _ [Occ=Dead] -> case ww9_sy2L of _ [Occ=Dead] { Data.Bits.D:Bits _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] ww34_sy3b [Occ=Once] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> let { $dKnownNat_sy3j :: GHC.TypeLits.KnownNat size_XuKl [LclId, Str=DmdType] $dKnownNat_sy3j = case ww10_sy2M of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl6_sy3r [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl6_sy3r } } in let { sat_sy4d [Occ=Once] :: rep_XuKj (size_XuKl GHC.TypeLits.+ 2) [LclId, Str=DmdType] sat_sy4d = let { sat_sy4c [Occ=Once] :: rep_XuKj (size_XuKl GHC.TypeLits.+ 2) [LclId, Str=DmdType] sat_sy4c = case ww10_sy2M of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl5_sy45 [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> (tpl5_sy45 `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKj ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKj a_ae8M -> rep_XuKj b_ae8N))) @ size_XuKl @ (size_XuKl GHC.TypeLits.+ 2) $dKnownNat_sy3j ww7_sy2J (w1_sy2P `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKh rep_XuKj size_XuKl ~# rep_XuKj size_XuKl)) } } in let { sat_sy3Y [Occ=Once] :: rep_XuKj (size_XuKl GHC.TypeLits.+ 2) [LclId, Str=DmdType] sat_sy3Y = case ww10_sy2M of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl5_sy3R [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> (tpl5_sy3R `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKj ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKj a_ae8M -> rep_XuKj b_ae8N))) @ size_XuKl @ (size_XuKl GHC.TypeLits.+ 2) $dKnownNat_sy3j ww7_sy2J (w_sy2O `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKh rep_XuKj size_XuKl ~# rep_XuKj size_XuKl)) } } in GHC.Num.- @ (rep_XuKj (size_XuKl GHC.TypeLits.+ 2)) ww11_sy2N sat_sy3Y sat_sy4c } in let { sat_sy3K [Occ=Once] :: GHC.Enum.Bounded (rep_XuKj size_XuKl) [LclId, Str=DmdType] sat_sy3K = case ww10_sy2M of _ [Occ=Dead] { (tpl_sy3y [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_sy3y } } in (CLaSH.Sized.Fixed.$wsatN2 @ rep_XuKj @ size_XuKl @~ ww13_sxj0 ww2_sy2E ww15_sy2S ww4_sy2G ww17_sy2U $dKnownNat_sy3j ww7_sy2J sat_sy3K ww34_sy3b sat_sy4d) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKj size_XuKl ~# CLaSH.Sized.Fixed.Fixed frac_XuKh rep_XuKj size_XuKl) } } } } CLaSH.Sized.Fixed.$fNumFixed_$c- [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [GblId, Arity=3, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$fNumFixed_$c- = \ (@ (frac_XuKi :: GHC.TypeLits.Nat)) (@ (rep_XuKk :: GHC.TypeLits.Nat -> *)) (@ (size_XuKm :: GHC.TypeLits.Nat)) (w_sy4e [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKi rep_XuKk size_XuKm) (w1_sy4f [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKi rep_XuKk size_XuKm) (w2_sy4g [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKi rep_XuKk size_XuKm) -> case w_sy4e of _ [Occ=Dead] { (ww1_sy4i [Occ=Once!], ww2_sy4j [Occ=Once], _ [Occ=Dead], ww4_sy4l [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> case ww1_sy4i of _ [Occ=Dead] { (ww8_sy4p [Occ=Once], ww9_sy4q [Occ=Once], ww10_sy4r [Occ=Once], ww11_sy4s [Occ=Once], ww12_sy4t [Occ=Once], ww13_sy4u [Occ=Once], ww14_sy4v [Occ=Once], ww15_sy4w [Occ=Once], ww16_sy4x [Occ=Once], ww17_sy4y [Occ=Once]) -> CLaSH.Sized.Fixed.$w$c- @ frac_XuKi @ rep_XuKk @ size_XuKm ww8_sy4p ww9_sy4q ww10_sy4r ww11_sy4s ww12_sy4t ww13_sy4u ww14_sy4v ww15_sy4w ww16_sy4x ww17_sy4y ww2_sy4j ww4_sy4l w1_sy4f w2_sy4g } } CLaSH.Sized.Fixed.$fNumFixed_$c* [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [GblId, Arity=3, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$fNumFixed_$c* = \ (@ (frac_XuKk :: GHC.TypeLits.Nat)) (@ (rep_XuKm :: GHC.TypeLits.Nat -> *)) (@ (size_XuKo :: GHC.TypeLits.Nat)) (w_sy4z [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKk rep_XuKm size_XuKo) (w1_sy4A [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo) (w2_sy4B [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo) -> case w_sy4z of _ [Occ=Dead] { (_ [Occ=Dead], ww2_sy4E [Occ=Once!], _ [Occ=Dead], _ [Occ=Dead], ww5_sy4H [Occ=Once], ww6_sy4I [Occ=Once!]) -> case ww2_sy4E of _ [Occ=Dead] { (ww8_sy4K [Occ=Once], _ [Occ=Dead], ww10_sy4M [Occ=Once], ww11_sy4N [Occ=Once], ww12_sy4O [Occ=Once], ww13_sy4P [Occ=Once], ww14_sy4Q [Occ=Once], ww15_sy4R [Occ=Once], ww16_sy4S [Occ=Once], ww17_sy4T [Occ=Once], ww18_sy4U [Occ=Once], _ [Occ=Dead]) -> let { sat_sy4X [Occ=Once] :: CLaSH.Sized.Fixed.Fixed (frac_XuKk GHC.TypeLits.+ frac_XuKk) rep_XuKm (size_XuKo GHC.TypeLits.+ size_XuKo) [LclId, Str=DmdType] sat_sy4X = case ww6_sy4I of _ [Occ=Dead] { GHC.Types.Eq# cobox1_dw1a -> ((ww5_sy4H `cast` (CLaSH.Class.Num.NTCo:Mult[0] _N _N :: CLaSH.Class.Num.Mult (rep_XuKm size_XuKo) (rep_XuKm size_XuKo) ~# (rep_XuKm size_XuKo -> rep_XuKm size_XuKo -> CLaSH.Class.Num.MResult (rep_XuKm size_XuKo) (rep_XuKm size_XuKo)))) (w1_sy4A `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo ~# rep_XuKm size_XuKo)) (w2_sy4B `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo ~# rep_XuKm size_XuKo))) `cast` (Sub cobox1_dw1a ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: CLaSH.Class.Num.MResult (rep_XuKm size_XuKo) (rep_XuKm size_XuKo) ~# CLaSH.Sized.Fixed.Fixed (frac_XuKk GHC.TypeLits.+ frac_XuKk) rep_XuKm (size_XuKo GHC.TypeLits.+ size_XuKo)) } } in CLaSH.Sized.Fixed.$wresizeF @ (frac_XuKk GHC.TypeLits.+ frac_XuKk) @ frac_XuKk @ rep_XuKm @ (size_XuKo GHC.TypeLits.+ size_XuKo) @ size_XuKo ww8_sy4K ww10_sy4M ww11_sy4N ww12_sy4O ww13_sy4P ww14_sy4Q ww15_sy4R ww16_sy4S ww17_sy4T ww18_sy4U sat_sy4X } } CLaSH.Sized.Fixed.$w$c+ :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (1 GHC.TypeLits.<= size_auH0, ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_auH0 GHC.TypeLits.+ 2), CLaSH.Class.BitVector.BitVector (rep_auGZ size_auH0), CLaSH.Class.BitVector.BitVector (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0) ~ size_auH0, CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) ~ (size_auH0 GHC.TypeLits.+ 2), GHC.TypeLits.KnownNat size_auH0, GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ 2), GHC.Enum.Bounded (rep_auGZ size_auH0), Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0, GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [GblId, Arity=14, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$w$c+ = \ (@ (frac_XuKl :: GHC.TypeLits.Nat)) (@ (rep_XuKn :: GHC.TypeLits.Nat -> *)) (@ (size_XuKp :: GHC.TypeLits.Nat)) _ [Occ=Dead] (ww1_sy4Z [Occ=Once!] :: ((size_XuKp GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_XuKp GHC.TypeLits.+ 2)) (ww2_sy50 [Occ=Once] :: CLaSH.Class.BitVector.BitVector (rep_XuKn size_XuKp)) (ww3_sy51 [Occ=Once!] :: CLaSH.Class.BitVector.BitVector (rep_XuKn (size_XuKp GHC.TypeLits.+ 2))) (ww4_sy52 [Occ=Once] :: CLaSH.Class.BitVector.BitSize (rep_XuKn size_XuKp) ~ size_XuKp) (ww5_sy53 [Occ=Once!] :: CLaSH.Class.BitVector.BitSize (rep_XuKn (size_XuKp GHC.TypeLits.+ 2)) ~ (size_XuKp GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww7_sy55 :: GHC.TypeLits.KnownNat (size_XuKp GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww9_sy57 [Occ=Once!] :: Data.Bits.Bits (rep_XuKn (size_XuKp GHC.TypeLits.+ 2))) (ww10_sy58 :: CLaSH.Sized.Fixed.ResizeFC rep_XuKn (frac_XuKl GHC.TypeLits.+ frac_XuKl) frac_XuKl (size_XuKp GHC.TypeLits.+ size_XuKp) size_XuKp) (ww11_sy59 [Occ=Once] :: GHC.Num.Num (rep_XuKn (size_XuKp GHC.TypeLits.+ 2))) (w_sy5a [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKl rep_XuKn size_XuKp) (w1_sy5b [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKl rep_XuKn size_XuKp) -> case ww1_sy4Z of _ [Occ=Dead] { GHC.Types.Eq# ww13_sxkT -> case ww3_sy51 of _ [Occ=Dead] { CLaSH.Class.BitVector.D:BitVector ww15_sy5e [Occ=Once] _ [Occ=Dead] -> case ww5_sy53 of ww17_sy5g { GHC.Types.Eq# _ [Occ=Dead] -> case ww9_sy57 of _ [Occ=Dead] { Data.Bits.D:Bits _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] ww34_sy5x [Occ=Once] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> let { $dKnownNat_sy5F :: GHC.TypeLits.KnownNat size_XuKp [LclId, Str=DmdType] $dKnownNat_sy5F = case ww10_sy58 of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl6_sy5N [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl6_sy5N } } in let { sat_sy6z [Occ=Once] :: rep_XuKn (size_XuKp GHC.TypeLits.+ 2) [LclId, Str=DmdType] sat_sy6z = let { sat_sy6y [Occ=Once] :: rep_XuKn (size_XuKp GHC.TypeLits.+ 2) [LclId, Str=DmdType] sat_sy6y = case ww10_sy58 of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl5_sy6r [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> (tpl5_sy6r `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKn ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKn a_ae8M -> rep_XuKn b_ae8N))) @ size_XuKp @ (size_XuKp GHC.TypeLits.+ 2) $dKnownNat_sy5F ww7_sy55 (w1_sy5b `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKl rep_XuKn size_XuKp ~# rep_XuKn size_XuKp)) } } in let { sat_sy6k [Occ=Once] :: rep_XuKn (size_XuKp GHC.TypeLits.+ 2) [LclId, Str=DmdType] sat_sy6k = case ww10_sy58 of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl5_sy6d [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> (tpl5_sy6d `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKn ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKn a_ae8M -> rep_XuKn b_ae8N))) @ size_XuKp @ (size_XuKp GHC.TypeLits.+ 2) $dKnownNat_sy5F ww7_sy55 (w_sy5a `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKl rep_XuKn size_XuKp ~# rep_XuKn size_XuKp)) } } in GHC.Num.+ @ (rep_XuKn (size_XuKp GHC.TypeLits.+ 2)) ww11_sy59 sat_sy6k sat_sy6y } in let { sat_sy66 [Occ=Once] :: GHC.Enum.Bounded (rep_XuKn size_XuKp) [LclId, Str=DmdType] sat_sy66 = case ww10_sy58 of _ [Occ=Dead] { (tpl_sy5U [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_sy5U } } in (CLaSH.Sized.Fixed.$wsatN2 @ rep_XuKn @ size_XuKp @~ ww13_sxkT ww2_sy50 ww15_sy5e ww4_sy52 ww17_sy5g $dKnownNat_sy5F ww7_sy55 sat_sy66 ww34_sy5x sat_sy6z) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKn size_XuKp ~# CLaSH.Sized.Fixed.Fixed frac_XuKl rep_XuKn size_XuKp) } } } } CLaSH.Sized.Fixed.$fNumFixed_$c+ [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [GblId, Arity=3, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$fNumFixed_$c+ = \ (@ (frac_XuKm :: GHC.TypeLits.Nat)) (@ (rep_XuKo :: GHC.TypeLits.Nat -> *)) (@ (size_XuKq :: GHC.TypeLits.Nat)) (w_sy6A [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKm rep_XuKo size_XuKq) (w1_sy6B [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKm rep_XuKo size_XuKq) (w2_sy6C [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKm rep_XuKo size_XuKq) -> case w_sy6A of _ [Occ=Dead] { (ww1_sy6E [Occ=Once!], ww2_sy6F [Occ=Once], _ [Occ=Dead], ww4_sy6H [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> case ww1_sy6E of _ [Occ=Dead] { (ww8_sy6L [Occ=Once], ww9_sy6M [Occ=Once], ww10_sy6N [Occ=Once], ww11_sy6O [Occ=Once], ww12_sy6P [Occ=Once], ww13_sy6Q [Occ=Once], ww14_sy6R [Occ=Once], ww15_sy6S [Occ=Once], ww16_sy6T [Occ=Once], ww17_sy6U [Occ=Once]) -> CLaSH.Sized.Fixed.$w$c+ @ frac_XuKm @ rep_XuKo @ size_XuKq ww8_sy6L ww9_sy6M ww10_sy6N ww11_sy6O ww12_sy6P ww13_sy6Q ww14_sy6R ww15_sy6S ww16_sy6T ww17_sy6U ww2_sy6F ww4_sy6H w1_sy6B w2_sy6C } } CLaSH.Sized.Fixed.$fNumFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => GHC.Num.Num (CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) [GblId[DFunId], Arity=1, Str=DmdType m, Unf=OtherCon []] CLaSH.Sized.Fixed.$fNumFixed = \ (@ (frac_XuIO :: GHC.TypeLits.Nat)) (@ (rep_XuIQ :: GHC.TypeLits.Nat -> *)) (@ (size_XuIS :: GHC.TypeLits.Nat)) (tup_sy6V :: CLaSH.Sized.Fixed.NumFixed frac_XuIO rep_XuIQ size_XuIS) -> let { sat_sy72 [Occ=Once] :: GHC.Integer.Type.Integer -> CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS [LclId, Str=DmdType] sat_sy72 = \ (eta_B1 [Occ=Once] :: GHC.Integer.Type.Integer) -> CLaSH.Sized.Fixed.$fNumFixed_$cfromInteger @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_sy6V eta_B1 } in let { sat_sy71 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS [LclId, Str=DmdType] sat_sy71 = (\ (eta_B1 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS) -> CLaSH.Sized.Fixed.$fNumFixed1 @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_sy6V eta_B1) `cast` (_R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> rep_XuIQ size_XuIS) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS)) } in let { sat_sy70 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS [LclId, Str=DmdType] sat_sy70 = \ (eta_B1 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS) -> CLaSH.Sized.Fixed.$fNumFixed_$cabs @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_sy6V eta_B1 } in let { sat_sy6Z [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS [LclId, Str=DmdType] sat_sy6Z = \ (eta_B1 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS) -> CLaSH.Sized.Fixed.$fNumFixed_$cnegate @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_sy6V eta_B1 } in let { sat_sy6Y [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS [LclId, Str=DmdType] sat_sy6Y = \ (eta_B2 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS) (eta_B1 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS) -> CLaSH.Sized.Fixed.$fNumFixed_$c- @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_sy6V eta_B2 eta_B1 } in let { sat_sy6X [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS [LclId, Str=DmdType] sat_sy6X = \ (eta_B2 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS) (eta_B1 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS) -> CLaSH.Sized.Fixed.$fNumFixed_$c* @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_sy6V eta_B2 eta_B1 } in let { sat_sy6W [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS [LclId, Str=DmdType] sat_sy6W = \ (eta_B2 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS) (eta_B1 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS) -> CLaSH.Sized.Fixed.$fNumFixed_$c+ @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_sy6V eta_B2 eta_B1 } in GHC.Num.D:Num @ (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS) sat_sy6W sat_sy6X sat_sy6Y sat_sy6Z sat_sy70 sat_sy71 sat_sy72 CLaSH.Sized.Fixed.$fBitVectorFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV) => CLaSH.Class.BitVector.BitVector (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV) [GblId[DFunId], Arity=1, Caf=NoCafRefs, Str=DmdType m, Unf=OtherCon []] CLaSH.Sized.Fixed.$fBitVectorFixed = \ (@ (frac_XuIN :: GHC.TypeLits.Nat)) (@ (rep_XuIP :: GHC.TypeLits.Nat -> *)) (@ (size_XuIR :: GHC.TypeLits.Nat)) ($dBitVector_sy73 :: CLaSH.Class.BitVector.BitVector (rep_XuIP size_XuIR)) -> let { lvl17_sy74 [Occ=OnceL!] :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> rep_XuIP size_XuIR [LclId, Str=DmdType] lvl17_sy74 = CLaSH.Class.BitVector.fromBV @ (rep_XuIP size_XuIR) $dBitVector_sy73 } in let { lvl18_sy75 [Occ=OnceL!] :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) => rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit [LclId, Str=DmdType] lvl18_sy75 = CLaSH.Class.BitVector.toBV @ (rep_XuIP size_XuIR) $dBitVector_sy73 } in let { sat_sy7b [Occ=Once] :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR [LclId, Str=DmdType] sat_sy7b = (\ ($dKnownNat_sy79 [Occ=Once] :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (bv_sy7a [Occ=Once] :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit) -> lvl17_sy74 ($dKnownNat_sy79 `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (bv_sy7a `cast` ((CLaSH.Sized.Vector.Vec (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit))) `cast` (_R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> rep_XuIP size_XuIR) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) } in let { sat_sy78 [Occ=Once] :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit [LclId, Str=DmdType] sat_sy78 = (\ ($dKnownNat_sy76 [Occ=Once] :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (ds_sy77 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) -> lvl18_sy75 ($dKnownNat_sy76 `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (ds_sy77 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR ~# rep_XuIP size_XuIR))) `cast` (_R -> _R -> (CLaSH.Sized.Vector.Vec (Sym (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N)) _R)_R :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit)) } in CLaSH.Class.BitVector.D:BitVector @ (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) sat_sy78 sat_sy7b CLaSH.Sized.Fixed.$fDefaultFixed1 :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => Data.Default.Class.Default (rep_auGM size_auGN) [GblId, Arity=1, Caf=NoCafRefs, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$fDefaultFixed1 = \ (@ (frac_auGL :: GHC.TypeLits.Nat)) (@ (rep_auGM :: GHC.TypeLits.Nat -> *)) (@ (size_auGN :: GHC.TypeLits.Nat)) ($dDefault_sy7c [Occ=Once] :: Data.Default.Class.Default (rep_auGM size_auGN)) -> $dDefault_sy7c CLaSH.Sized.Fixed.$fDefaultFixed_$cdef :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => CLaSH.Sized.Fixed.Fixed frac_auGL rep_auGM size_auGN [GblId, Arity=1, Caf=NoCafRefs, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$fDefaultFixed_$cdef = (\ (@ (frac_auGL :: GHC.TypeLits.Nat)) (@ (rep_auGM :: GHC.TypeLits.Nat -> *)) (@ (size_auGN :: GHC.TypeLits.Nat)) (eta_B1 [Occ=Once] :: Data.Default.Class.Default (rep_auGM size_auGN)) -> CLaSH.Sized.Fixed.$fDefaultFixed1 @ frac_auGL @ rep_auGM @ size_auGN eta_B1) `cast` (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). _R -> Data.Default.Class.NTCo:Default[0] _N ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => Data.Default.Class.Default (rep_XuLZ size_XuM1)) ~# (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => CLaSH.Sized.Fixed.Fixed frac_XuLX rep_XuLZ size_XuM1)) CLaSH.Sized.Fixed.$fDefaultFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_auGL rep_auGM size_auGN) [GblId[DFunId(nt)], Arity=1, Caf=NoCafRefs, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$fDefaultFixed = (\ (@ (frac_auGL :: GHC.TypeLits.Nat)) (@ (rep_auGM :: GHC.TypeLits.Nat -> *)) (@ (size_auGN :: GHC.TypeLits.Nat)) (eta_B1 [Occ=Once] :: Data.Default.Class.Default (rep_auGM size_auGN)) -> CLaSH.Sized.Fixed.$fDefaultFixed1 @ frac_auGL @ rep_auGM @ size_auGN eta_B1) `cast` (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). _R -> Data.Default.Class.NTCo:Default[0] _N ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sym (Data.Default.Class.NTCo:Default[0] _N) :: (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => Data.Default.Class.Default (rep_XuLZ size_XuM1)) ~# (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_XuLX rep_XuLZ size_XuM1))) CLaSH.Sized.Fixed.$fBoundedFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_auGJ size_auGK) => GHC.Enum.Bounded (CLaSH.Sized.Fixed.Fixed frac_auGI rep_auGJ size_auGK) [GblId[DFunId], Arity=1, Caf=NoCafRefs, Str=DmdType m, Unf=OtherCon []] CLaSH.Sized.Fixed.$fBoundedFixed = \ (@ (frac_XuIW :: GHC.TypeLits.Nat)) (@ (rep_XuIY :: GHC.TypeLits.Nat -> *)) (@ (size_XuJ0 :: GHC.TypeLits.Nat)) ($dBounded_sy7d :: GHC.Enum.Bounded (rep_XuIY size_XuJ0)) -> let { sat_sy7f [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0 [LclId, Str=DmdType] sat_sy7f = (GHC.Enum.maxBound @ (rep_XuIY size_XuJ0) $dBounded_sy7d) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0) } in let { sat_sy7e [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0 [LclId, Str=DmdType] sat_sy7e = (GHC.Enum.minBound @ (rep_XuIY size_XuJ0) $dBounded_sy7d) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0) } in GHC.Enum.D:Bounded @ (CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0) sat_sy7e sat_sy7f CLaSH.Sized.Fixed.$fOrdFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => GHC.Classes.Ord (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) [GblId[DFunId[1]], Arity=2, Caf=NoCafRefs, Str=DmdType m, Unf=OtherCon []] CLaSH.Sized.Fixed.$fOrdFixed = \ (@ (frac_XuIv :: GHC.TypeLits.Nat)) (@ (rep_XuIx :: GHC.TypeLits.Nat -> *)) (@ (size_XuIz :: GHC.TypeLits.Nat)) ($dEq_sy7g [Occ=Once] :: GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) ($dOrd_sy7h :: GHC.Classes.Ord (rep_XuIx size_XuIz)) -> let { sat_sy7o [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz [LclId, Str=DmdType] sat_sy7o = (GHC.Classes.min @ (rep_XuIx size_XuIz) $dOrd_sy7h) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) } in let { sat_sy7n [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz [LclId, Str=DmdType] sat_sy7n = (GHC.Classes.max @ (rep_XuIx size_XuIz) $dOrd_sy7h) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) } in let { sat_sy7m [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool [LclId, Str=DmdType] sat_sy7m = (GHC.Classes.<= @ (rep_XuIx size_XuIz) $dOrd_sy7h) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) } in let { sat_sy7l [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool [LclId, Str=DmdType] sat_sy7l = (GHC.Classes.> @ (rep_XuIx size_XuIz) $dOrd_sy7h) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) } in let { sat_sy7k [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool [LclId, Str=DmdType] sat_sy7k = (GHC.Classes.>= @ (rep_XuIx size_XuIz) $dOrd_sy7h) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) } in let { sat_sy7j [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool [LclId, Str=DmdType] sat_sy7j = (GHC.Classes.< @ (rep_XuIx size_XuIz) $dOrd_sy7h) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) } in let { sat_sy7i [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Ordering [LclId, Str=DmdType] sat_sy7i = (GHC.Classes.compare @ (rep_XuIx size_XuIz) $dOrd_sy7h) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Ordering) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Ordering)) } in GHC.Classes.D:Ord @ (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz) $dEq_sy7g sat_sy7i sat_sy7j sat_sy7k sat_sy7l sat_sy7m sat_sy7n sat_sy7o CLaSH.Sized.Fixed.$fEqFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_auFG size_auFH) => GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) [GblId[DFunId], Arity=1, Caf=NoCafRefs, Str=DmdType m, Unf=OtherCon []] CLaSH.Sized.Fixed.$fEqFixed = \ (@ (frac_XuII :: GHC.TypeLits.Nat)) (@ (rep_XuIK :: GHC.TypeLits.Nat -> *)) (@ (size_XuIM :: GHC.TypeLits.Nat)) ($dEq_sy7p :: GHC.Classes.Eq (rep_XuIK size_XuIM)) -> let { sat_sy7r [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool [LclId, Str=DmdType] sat_sy7r = (GHC.Classes./= @ (rep_XuIK size_XuIM) $dEq_sy7p) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool)) } in let { sat_sy7q [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool [LclId, Str=DmdType] sat_sy7q = (GHC.Classes.== @ (rep_XuIK size_XuIM) $dEq_sy7p) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool)) } in GHC.Classes.D:Eq @ (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM) sat_sy7q sat_sy7r a8_rxLL :: Language.Haskell.TH.Syntax.NameFlavour [GblId, Str=DmdType m5, Unf=OtherCon []] a8_rxLL = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.TcClsName (a1_rxLr `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a2_rxLs `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) lvl14_rxLM :: Language.Haskell.TH.Syntax.Name [GblId, Str=DmdType m, Unf=OtherCon []] lvl14_rxLM = Language.Haskell.TH.Syntax.Name (a_rxLq `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a8_rxLL lvl15_rxLN :: Language.Haskell.TH.Syntax.Type [GblId, Str=DmdType, Unf=OtherCon []] lvl15_rxLN = Language.Haskell.TH.Syntax.ConT lvl14_rxLM a9_rxLO :: forall (m_a4Ni :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4Ni => m_a4Ni Language.Haskell.TH.Syntax.Type [GblId, Arity=1, Str=DmdType , Unf=OtherCon []] a9_rxLO = \ (@ (m_a4Ni :: * -> *)) (eta_sy7s [Occ=Once] :: Language.Haskell.TH.Syntax.Quasi m_a4Ni) -> case Language.Haskell.TH.Syntax.$p1Quasi @ m_a4Ni eta_sy7s of sat_sy7t { __DEFAULT -> GHC.Base.return @ m_a4Ni sat_sy7t @ Language.Haskell.TH.Syntax.Type lvl15_rxLN } Rec { lgo_rxLP :: Language.Haskell.TH.Lib.TypeQ -> [Language.Haskell.TH.Lib.TypeQ] -> Language.Haskell.TH.Lib.TypeQ [GblId, Arity=2, Caf=NoCafRefs, Str=DmdType , Unf=OtherCon []] lgo_rxLP = \ (z_sy7u [Occ=OnceL*] :: Language.Haskell.TH.Lib.TypeQ) (ds_sy7v [Occ=Once!] :: [Language.Haskell.TH.Lib.TypeQ]) -> case ds_sy7v of _ [Occ=Dead] { [] -> z_sy7u; : x_sy7x [Occ=OnceL] xs_sy7y [Occ=Once] -> let { sat_sy7z [Occ=Once] :: Language.Haskell.TH.Lib.TypeQ [LclId, Str=DmdType] sat_sy7z = (\ (@ (m_a4Jw :: * -> *)) (eta_B1 [Occ=Once] :: Language.Haskell.TH.Syntax.Quasi m_a4Jw) -> Language.Haskell.TH.Lib.appT1 z_sy7u x_sy7x @ m_a4Jw eta_B1) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type) } in lgo_rxLP sat_sy7z xs_sy7y } end Rec } lvl16_rxLQ :: Language.Haskell.TH.Syntax.Name [GblId, Caf=NoCafRefs, Str=DmdType, Unf=OtherCon []] lvl16_rxLQ = Language.Haskell.TH.Syntax.Name ((GHC.Types.[] @ GHC.Types.Char) `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) Language.Haskell.TH.Syntax.NameS CLaSH.Sized.Fixed.$fLiftFixed1 :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> forall (m_akMz :: * -> *). Language.Haskell.TH.Syntax.Quasi m_akMz => m_akMz Language.Haskell.TH.Syntax.Exp [GblId, Arity=5, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$fLiftFixed1 = \ (@ (frac_auGO :: GHC.TypeLits.Nat)) (@ (rep_auGP :: GHC.TypeLits.Nat -> *)) (@ (size_auGQ :: GHC.TypeLits.Nat)) ($dLift_sy7A :: Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ)) ($dKnownNat_sy7B [Occ=Once] :: GHC.TypeLits.KnownNat frac_auGO) ($dKnownNat1_sy7C [Occ=Once] :: GHC.TypeLits.KnownNat size_auGQ) ($dTypeable_sy7D [Occ=Once] :: Data.Typeable.Internal.Typeable rep_auGP) (f_sy7E [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ) -> let { w1_sy7F [Dmd=] :: Language.Haskell.TH.Lib.TypeQ [LclId, Str=DmdType] w1_sy7F = let { l_sy89 [Dmd=] :: Language.Haskell.TH.Lib.TyLitQ [LclId, Str=DmdType] l_sy89 = Language.Haskell.TH.Lib.numTyLit ($dKnownNat1_sy7C `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat size_auGQ ~# GHC.Integer.Type.Integer)) } in let { sat_sy8e :: Language.Haskell.TH.Lib.TypeQ [LclId, Str=DmdType] sat_sy8e = (\ (@ (m_a5E0 :: * -> *)) (eta_sy8a :: Language.Haskell.TH.Syntax.Quasi m_a5E0) -> let { sat_sy8d [Occ=Once] :: m_a5E0 Language.Haskell.TH.Syntax.TyLit [LclId, Str=DmdType] sat_sy8d = (l_sy89 `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.TyLit ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.TyLit))) @ m_a5E0 eta_sy8a } in case Language.Haskell.TH.Syntax.$p2Quasi @ m_a5E0 eta_sy8a of sat_sy8b { __DEFAULT -> case Control.Applicative.$p1Applicative @ m_a5E0 sat_sy8b of sat_sy8c { __DEFAULT -> GHC.Base.fmap @ m_a5E0 sat_sy8c @ Language.Haskell.TH.Syntax.TyLit @ Language.Haskell.TH.Syntax.Type Language.Haskell.TH.Syntax.LitT sat_sy8d } }) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type) } in let { sat_sy8f :: [Language.Haskell.TH.Lib.TypeQ] [LclId, Str=DmdType] sat_sy8f = GHC.Types.: @ Language.Haskell.TH.Lib.TypeQ sat_sy8e (GHC.Types.[] @ Language.Haskell.TH.Lib.TypeQ) } in let { x_sy7M :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType] x_sy7M = case ($dTypeable_sy7D `cast` (Data.Typeable.Internal.NTCo:Typeable[0] *>_N _N :: Data.Typeable.Internal.Typeable rep_auGP ~# (GHC.Prim.Proxy# rep_auGP -> Data.Typeable.Internal.TypeRep))) (GHC.Prim.proxy# @ (GHC.TypeLits.Nat -> *) @ rep_auGP) of _ [Occ=Dead] { Data.Typeable.Internal.TypeRep _ [Occ=Dead] _ [Occ=Dead] ww3_sy7Q [Occ=Once] ww4_sy7R [Occ=Once] -> case Data.Typeable.Internal.$w$cshowsPrec GHC.Show.shows27 ww3_sy7Q ww4_sy7R (GHC.Types.[] @ GHC.Types.Char) of sat_sy7S { __DEFAULT -> case GHC.List.reverse1 @ GHC.Types.Char sat_sy7S (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead] { [] -> lvl16_rxLQ; : ds_sy7U [Occ=Once!] rev_sy7V [Occ=Once*] -> case ds_sy7U of wild22_sy7W { GHC.Types.C# ds1_sy7X [Occ=Once!] -> case ds1_sy7X of _ [Occ=Dead] { __DEFAULT -> case Language.Haskell.TH.Syntax.mkName_$s$wsplit1 wild22_sy7W (GHC.Types.[] @ GHC.Types.Char) rev_sy7V of _ [Occ=Dead] { (# ww6_sy80 [Occ=Once], ww7_sy81 [Occ=Once] #) -> Language.Haskell.TH.Syntax.Name ww6_sy80 ww7_sy81 }; '.' -> case Language.Haskell.TH.Syntax.mkName_$s$wsplit1 wild22_sy7W (GHC.Types.[] @ GHC.Types.Char) rev_sy7V of _ [Occ=Dead] { (# ww6_sy83 [Occ=Once], ww7_sy84 [Occ=Once] #) -> Language.Haskell.TH.Syntax.Name ww6_sy83 ww7_sy84 } } } } } } } in let { lvl17_sy85 :: Language.Haskell.TH.Syntax.Type [LclId, Str=DmdType, Unf=OtherCon []] lvl17_sy85 = Language.Haskell.TH.Syntax.ConT x_sy7M } in let { sat_sy88 :: Language.Haskell.TH.Lib.TypeQ [LclId, Str=DmdType] sat_sy88 = (\ (@ (m_X4Tv :: * -> *)) (eta_sy86 [Occ=Once] :: Language.Haskell.TH.Syntax.Quasi m_X4Tv) -> case Language.Haskell.TH.Syntax.$p1Quasi @ m_X4Tv eta_sy86 of sat_sy87 { __DEFAULT -> GHC.Base.return @ m_X4Tv sat_sy87 @ Language.Haskell.TH.Syntax.Type lvl17_sy85 }) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type) } in let { sat_sy8g :: [Language.Haskell.TH.Lib.TypeQ] [LclId, Str=DmdType] sat_sy8g = GHC.Types.: @ Language.Haskell.TH.Lib.TypeQ sat_sy88 sat_sy8f } in let { l_sy7G [Dmd=] :: Language.Haskell.TH.Lib.TyLitQ [LclId, Str=DmdType] l_sy7G = Language.Haskell.TH.Lib.numTyLit ($dKnownNat_sy7B `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_auGO ~# GHC.Integer.Type.Integer)) } in let { sat_sy7L :: Language.Haskell.TH.Lib.TypeQ [LclId, Str=DmdType] sat_sy7L = (\ (@ (m_a5E0 :: * -> *)) (eta_sy7H :: Language.Haskell.TH.Syntax.Quasi m_a5E0) -> let { sat_sy7K [Occ=Once] :: m_a5E0 Language.Haskell.TH.Syntax.TyLit [LclId, Str=DmdType] sat_sy7K = (l_sy7G `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.TyLit ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.TyLit))) @ m_a5E0 eta_sy7H } in case Language.Haskell.TH.Syntax.$p2Quasi @ m_a5E0 eta_sy7H of sat_sy7I { __DEFAULT -> case Control.Applicative.$p1Applicative @ m_a5E0 sat_sy7I of sat_sy7J { __DEFAULT -> GHC.Base.fmap @ m_a5E0 sat_sy7J @ Language.Haskell.TH.Syntax.TyLit @ Language.Haskell.TH.Syntax.Type Language.Haskell.TH.Syntax.LitT sat_sy7K } }) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type) } in let { sat_sy8h [Occ=Once] :: [Language.Haskell.TH.Lib.TypeQ] [LclId, Str=DmdType] sat_sy8h = GHC.Types.: @ Language.Haskell.TH.Lib.TypeQ sat_sy7L sat_sy8g } in lgo_rxLP (a9_rxLO `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) sat_sy8h } in let { w2_sy8i [Dmd=] :: Language.Haskell.TH.Lib.ExpQ [LclId, Str=DmdType] w2_sy8i = ($dLift_sy7A `cast` (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N :: Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ) ~# (rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp))) (f_sy7E `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ ~# rep_auGP size_auGQ)) } in let { sat_sy8W [Occ=Once] :: forall (m_akV3 :: * -> *). Language.Haskell.TH.Syntax.Quasi m_akV3 => m_akV3 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] sat_sy8W = \ (@ (m_akV3 :: * -> *)) (w3_sy8j [Occ=Once!] :: Language.Haskell.TH.Syntax.Quasi m_akV3) -> case w3_sy8j of ww_sy8k { Language.Haskell.TH.Syntax.D:Quasi ww1_sy8l [Occ=Once!] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> case ww1_sy8l of _ [Occ=Dead] { GHC.Base.D:Monad ww20_sy8E _ [Occ=Dead] ww22_sy8G _ [Occ=Dead] -> let { lvl17_sy8I [Occ=OnceL] :: m_akV3 Language.Haskell.TH.Syntax.Type [LclId, Str=DmdType] lvl17_sy8I = (w1_sy7F `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type))) @ m_akV3 ww_sy8k } in let { sat_sy8V [Occ=Once] :: Language.Haskell.TH.Syntax.Exp -> m_akV3 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] sat_sy8V = \ (x_sy8R [Occ=OnceL] :: Language.Haskell.TH.Syntax.Exp) -> let { sat_sy8U [Occ=Once] :: Language.Haskell.TH.Syntax.Type -> m_akV3 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] sat_sy8U = \ (x1_sy8S [Occ=Once] :: Language.Haskell.TH.Syntax.Type) -> let { sat_sy8T [Occ=Once] :: Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] sat_sy8T = Language.Haskell.TH.Syntax.SigE x_sy8R x1_sy8S } in ww22_sy8G @ Language.Haskell.TH.Syntax.Exp sat_sy8T } in ww20_sy8E @ Language.Haskell.TH.Syntax.Type @ Language.Haskell.TH.Syntax.Exp lvl17_sy8I sat_sy8U } in let { sat_sy8Q [Occ=Once] :: m_akV3 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] sat_sy8Q = let { lvl18_sy8J [Occ=OnceL] :: m_akV3 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] lvl18_sy8J = (w2_sy8i `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp))) @ m_akV3 ww_sy8k } in let { sat_sy8P [Occ=Once] :: Language.Haskell.TH.Syntax.Exp -> m_akV3 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] sat_sy8P = \ (x_sy8L [Occ=OnceL] :: Language.Haskell.TH.Syntax.Exp) -> let { sat_sy8O [Occ=Once] :: Language.Haskell.TH.Syntax.Exp -> m_akV3 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] sat_sy8O = \ (x1_sy8M [Occ=Once] :: Language.Haskell.TH.Syntax.Exp) -> let { sat_sy8N [Occ=Once] :: Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] sat_sy8N = Language.Haskell.TH.Syntax.AppE x_sy8L x1_sy8M } in ww22_sy8G @ Language.Haskell.TH.Syntax.Exp sat_sy8N } in ww20_sy8E @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp lvl18_sy8J sat_sy8O } in let { sat_sy8K [Occ=Once] :: m_akV3 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] sat_sy8K = ww22_sy8G @ Language.Haskell.TH.Syntax.Exp lvl6_rxLA } in ww20_sy8E @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp sat_sy8K sat_sy8P } in ww20_sy8E @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp sat_sy8Q sat_sy8V } } } in sat_sy8W CLaSH.Sized.Fixed.$fLiftFixed_$clift :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp [GblId, Arity=5, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$fLiftFixed_$clift = (\ (@ (frac_auGO :: GHC.TypeLits.Nat)) (@ (rep_auGP :: GHC.TypeLits.Nat -> *)) (@ (size_auGQ :: GHC.TypeLits.Nat)) (eta_B5 [Occ=Once] :: Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ)) (eta_B4 [Occ=Once] :: GHC.TypeLits.KnownNat frac_auGO) (eta_B3 [Occ=Once] :: GHC.TypeLits.KnownNat size_auGQ) (eta_B2 [Occ=Once] :: Data.Typeable.Internal.Typeable rep_auGP) (eta_B1 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ) -> CLaSH.Sized.Fixed.$fLiftFixed1 @ frac_auGO @ rep_auGP @ size_auGQ eta_B5 eta_B4 eta_B3 eta_B2 eta_B1) `cast` (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp)) CLaSH.Sized.Fixed.$fLiftFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ) [GblId[DFunId(nt)], Arity=5, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$fLiftFixed = (\ (@ (frac_auGO :: GHC.TypeLits.Nat)) (@ (rep_auGP :: GHC.TypeLits.Nat -> *)) (@ (size_auGQ :: GHC.TypeLits.Nat)) (eta_B5 [Occ=Once] :: Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ)) (eta_B4 [Occ=Once] :: GHC.TypeLits.KnownNat frac_auGO) (eta_B3 [Occ=Once] :: GHC.TypeLits.KnownNat size_auGQ) (eta_B2 [Occ=Once] :: Data.Typeable.Internal.Typeable rep_auGP) (eta_B1 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ) -> CLaSH.Sized.Fixed.$fLiftFixed1 @ frac_auGO @ rep_auGP @ size_auGQ eta_B5 eta_B4 eta_B3 eta_B2 eta_B1) `cast` (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> (_R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N)) ; Sym (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N) :: (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ))) *** Stg2Stg: *** CodeOutput: *** New CodeGen: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** Assembler: *** CorePrep: ==================== CorePrep ==================== Result size of CorePrep = {terms: 2,724, types: 8,822, coercions: 959} lvl_rxLl :: [GHC.Types.Char] [GblId, Str=DmdType] lvl_rxLl = GHC.CString.unpackCString# "Negative exponent"# CLaSH.Sized.Fixed.$s^1 :: GHC.Types.Double [GblId, Str=DmdType b] CLaSH.Sized.Fixed.$s^1 = GHC.Err.error @ GHC.Types.Double lvl_rxLl lvl1_rxLm :: GHC.Integer.Type.Integer [GblId, Str=DmdType, Unf=OtherCon []] lvl1_rxLm = GHC.Integer.Type.S# 1 lvl2_rxLn :: GHC.Integer.Type.Integer [GblId, Str=DmdType, Unf=OtherCon []] lvl2_rxLn = GHC.Integer.Type.S# 2 Rec { $wg1_rxLo :: GHC.Prim.Double# -> GHC.Integer.Type.Integer -> GHC.Prim.Double# -> GHC.Prim.Double# [GblId, Arity=3, Str=DmdType , Unf=OtherCon []] $wg1_rxLo = \ (ww_szys :: GHC.Prim.Double#) (w_szyt :: GHC.Integer.Type.Integer) (ww1_szyu [Occ=Once*] :: GHC.Prim.Double#) -> case GHC.Integer.Type.remInteger w_szyt GHC.Real.even2 of sat_szyv { __DEFAULT -> case GHC.Integer.Type.eqInteger# sat_szyv GHC.Real.even1 of wild_szyw { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_szyw of _ [Occ=Dead] { GHC.Types.False -> case GHC.Integer.Type.eqInteger# w_szyt lvl1_rxLm of wild1_szyy { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild1_szyy of _ [Occ=Dead] { GHC.Types.False -> case GHC.Prim.*## ww_szys ww1_szyu of sat_szyD { __DEFAULT -> case GHC.Integer.Type.minusInteger w_szyt lvl1_rxLm of sat_szyB { __DEFAULT -> case GHC.Integer.Type.quotInteger sat_szyB lvl2_rxLn of sat_szyC { __DEFAULT -> case GHC.Prim.*## ww_szys ww_szys of sat_szyA { __DEFAULT -> $wg1_rxLo sat_szyA sat_szyC sat_szyD } } } }; GHC.Types.True -> GHC.Prim.*## ww_szys ww1_szyu } }; GHC.Types.True -> case GHC.Integer.Type.quotInteger w_szyt lvl2_rxLn of sat_szyF { __DEFAULT -> case GHC.Prim.*## ww_szys ww_szys of sat_szyE { __DEFAULT -> $wg1_rxLo sat_szyE sat_szyF ww1_szyu } } } } } end Rec } Rec { CLaSH.Sized.Fixed.$wf [Occ=LoopBreaker] :: GHC.Prim.Double# -> GHC.Integer.Type.Integer -> GHC.Prim.Double# [GblId, Arity=2, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$wf = \ (ww_szyG :: GHC.Prim.Double#) (w_szyH :: GHC.Integer.Type.Integer) -> case GHC.Integer.Type.remInteger w_szyH GHC.Real.even2 of sat_szyI { __DEFAULT -> case GHC.Integer.Type.eqInteger# sat_szyI GHC.Real.even1 of wild_szyJ { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_szyJ of _ [Occ=Dead] { GHC.Types.False -> case GHC.Integer.Type.eqInteger# w_szyH lvl1_rxLm of wild1_szyL { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild1_szyL of _ [Occ=Dead] { GHC.Types.False -> case GHC.Integer.Type.minusInteger w_szyH lvl1_rxLm of sat_szyO { __DEFAULT -> case GHC.Integer.Type.quotInteger sat_szyO lvl2_rxLn of sat_szyP { __DEFAULT -> case GHC.Prim.*## ww_szyG ww_szyG of sat_szyN { __DEFAULT -> $wg1_rxLo sat_szyN sat_szyP ww_szyG } } }; GHC.Types.True -> ww_szyG } }; GHC.Types.True -> case GHC.Integer.Type.quotInteger w_szyH lvl2_rxLn of sat_szyR { __DEFAULT -> case GHC.Prim.*## ww_szyG ww_szyG of sat_szyQ { __DEFAULT -> CLaSH.Sized.Fixed.$wf sat_szyQ sat_szyR } } } } } end Rec } CLaSH.Sized.Fixed.$s^2 :: GHC.Integer.Type.Integer [GblId, Str=DmdType, Unf=OtherCon []] CLaSH.Sized.Fixed.$s^2 = GHC.Integer.Type.S# 0 CLaSH.Sized.Fixed.$w$s^ [InlPrag=[1]] :: GHC.Types.Double -> GHC.Integer.Type.Integer -> GHC.Prim.Double# [GblId, Arity=2, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$w$s^ = \ (w_szyS [Occ=Once!] :: GHC.Types.Double) (w1_szyT :: GHC.Integer.Type.Integer) -> case GHC.Integer.Type.ltInteger# w1_szyT CLaSH.Sized.Fixed.$s^2 of wild_szyU { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_szyU of _ [Occ=Dead] { GHC.Types.False -> case GHC.Integer.Type.eqInteger# w1_szyT CLaSH.Sized.Fixed.$s^2 of wild2_szyW { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild2_szyW of _ [Occ=Dead] { GHC.Types.False -> case w_szyS of _ [Occ=Dead] { GHC.Types.D# ww1_szyZ [Occ=Once] -> CLaSH.Sized.Fixed.$wf ww1_szyZ w1_szyT }; GHC.Types.True -> 1.0 } }; GHC.Types.True -> case CLaSH.Sized.Fixed.$s^1 of _ [Occ=Dead] { } } } CLaSH.Sized.Fixed.$s^ [InlPrag=INLINE[0]] :: GHC.Types.Double -> GHC.Integer.Type.Integer -> GHC.Types.Double [GblId, Arity=2, Str=DmdType m, Unf=OtherCon []] CLaSH.Sized.Fixed.$s^ = \ (w_szz1 [Occ=Once] :: GHC.Types.Double) (w1_szz2 [Occ=Once] :: GHC.Integer.Type.Integer) -> case CLaSH.Sized.Fixed.$w$s^ w_szz1 w1_szz2 of ww_szz3 { __DEFAULT -> GHC.Types.D# ww_szz3 } lvl3_rxLp :: GHC.Types.Double [GblId, Caf=NoCafRefs, Str=DmdType m, Unf=OtherCon []] lvl3_rxLp = GHC.Types.D# 2.0 a_rxLq :: [GHC.Types.Char] [GblId, Str=DmdType] a_rxLq = GHC.CString.unpackCString# "Fixed"# a1_rxLr :: [GHC.Types.Char] [GblId, Str=DmdType] a1_rxLr = GHC.CString.unpackCString# "clash-prelude-0.5"# a2_rxLs :: [GHC.Types.Char] [GblId, Str=DmdType] a2_rxLs = GHC.CString.unpackCString# "CLaSH.Sized.Fixed"# a3_rxLt :: Language.Haskell.TH.Syntax.NameFlavour [GblId, Str=DmdType m5, Unf=OtherCon []] a3_rxLt = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.DataName (a1_rxLr `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a2_rxLs `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) lvl4_rxLu :: Language.Haskell.TH.Syntax.Name [GblId, Str=DmdType m, Unf=OtherCon []] lvl4_rxLu = Language.Haskell.TH.Syntax.Name (a_rxLq `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a3_rxLt a4_rxLv :: [GHC.Types.Char] [GblId, Str=DmdType] a4_rxLv = GHC.CString.unpackCString# "fromInteger"# a5_rxLw :: [GHC.Types.Char] [GblId, Str=DmdType] a5_rxLw = GHC.CString.unpackCString# "base"# a6_rxLx :: [GHC.Types.Char] [GblId, Str=DmdType] a6_rxLx = GHC.CString.unpackCString# "GHC.Num"# a7_rxLy :: Language.Haskell.TH.Syntax.NameFlavour [GblId, Str=DmdType m5, Unf=OtherCon []] a7_rxLy = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.VarName (a5_rxLw `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a6_rxLx `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) lvl5_rxLz :: Language.Haskell.TH.Syntax.Name [GblId, Str=DmdType m, Unf=OtherCon []] lvl5_rxLz = Language.Haskell.TH.Syntax.Name (a4_rxLv `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a7_rxLy lvl6_rxLA :: Language.Haskell.TH.Syntax.Exp [GblId, Str=DmdType, Unf=OtherCon []] lvl6_rxLA = Language.Haskell.TH.Syntax.ConE lvl4_rxLu lvl7_rxLB :: Language.Haskell.TH.Syntax.Exp [GblId, Str=DmdType, Unf=OtherCon []] lvl7_rxLB = Language.Haskell.TH.Syntax.VarE lvl5_rxLz CLaSH.Sized.Fixed.$wa :: forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> forall (m_awx9 :: * -> *). Language.Haskell.TH.Syntax.Quasi m_awx9 => m_awx9 (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) [GblId, Arity=4, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$wa = \ (@ (frac_avhM :: GHC.TypeLits.Nat)) (@ (rep_avhN :: GHC.TypeLits.Nat -> *)) (@ (size_avhO :: GHC.TypeLits.Nat)) (w_szz4 [Occ=Once] :: GHC.TypeLits.KnownNat frac_avhM) (w1_szz5 :: GHC.Enum.Bounded (rep_avhN size_avhO)) (w2_szz6 :: GHC.Real.Integral (rep_avhN size_avhO)) (w3_szz7 [Occ=Once!] :: GHC.Types.Double) -> let { x_szz8 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] x_szz8 = case w3_szz7 of _ [Occ=Dead] { GHC.Types.D# x1_szza [Occ=Once] -> case CLaSH.Sized.Fixed.$w$s^ lvl3_rxLp (w_szz4 `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_avhM ~# GHC.Integer.Type.Integer)) of ww_szzb { __DEFAULT -> case GHC.Prim.*## x1_szza ww_szzb of sat_szzc { __DEFAULT -> case GHC.Integer.Type.decodeDoubleInteger sat_szzc of _ [Occ=Dead] { (# ipv_szze, ipv1_szzf #) -> case GHC.Prim.<# ipv1_szzf 0 of sat_szzh { __DEFAULT -> case case GHC.Prim.tagToEnum# @ GHC.Types.Bool sat_szzh of _ [Occ=Dead] { GHC.Types.False -> GHC.Integer.Type.shiftLInteger ipv_szze ipv1_szzf; GHC.Types.True -> case GHC.Prim.negateInt# ipv1_szzf of s_szzj { __DEFAULT -> case GHC.Prim.># s_szzj 52 of sat_szzk { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool sat_szzk of _ [Occ=Dead] { GHC.Types.False -> case GHC.Integer.Type.ltInteger# ipv_szze CLaSH.Sized.Fixed.$s^2 of wild3_szzm { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild3_szzm of _ [Occ=Dead] { GHC.Types.False -> case GHC.Integer.Type.integerToInt ipv_szze of n_szzo { __DEFAULT -> case GHC.Prim.uncheckedIShiftRA# n_szzo s_szzj of sat_szzp { __DEFAULT -> GHC.Integer.Type.smallInteger sat_szzp } }; GHC.Types.True -> case GHC.Integer.Type.negateInteger ipv_szze of sat_szzq { __DEFAULT -> case GHC.Integer.Type.integerToInt sat_szzq of n_szzr { __DEFAULT -> case GHC.Prim.uncheckedIShiftRA# n_szzr s_szzj of sat_szzs { __DEFAULT -> case GHC.Prim.negateInt# sat_szzs of sat_szzt { __DEFAULT -> GHC.Integer.Type.smallInteger sat_szzt } } } } } }; GHC.Types.True -> CLaSH.Sized.Fixed.$s^2 } } } } of truncated_szzg [Dmd=] { __DEFAULT -> let { sat_szzv [Occ=Once] :: rep_avhN size_avhO [LclId, Str=DmdType] sat_szzv = GHC.Enum.maxBound @ (rep_avhN size_avhO) w1_szz5 } in case GHC.Real.toInteger @ (rep_avhN size_avhO) w2_szz6 sat_szzv of rMax_szzu [Dmd=] { __DEFAULT -> case GHC.Integer.Type.gtInteger# truncated_szzg rMax_szzu of wild1_szzw { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild1_szzw of _ [Occ=Dead] { GHC.Types.False -> let { sat_szzz [Occ=Once] :: rep_avhN size_avhO [LclId, Str=DmdType] sat_szzz = GHC.Enum.minBound @ (rep_avhN size_avhO) w1_szz5 } in case GHC.Real.toInteger @ (rep_avhN size_avhO) w2_szz6 sat_szzz of rMin_szzy [Dmd=] { __DEFAULT -> case GHC.Integer.Type.ltInteger# truncated_szzg rMin_szzy of wild3_szzA { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild3_szzA of _ [Occ=Dead] { GHC.Types.False -> truncated_szzg; GHC.Types.True -> rMin_szzy } } }; GHC.Types.True -> rMax_szzu } } } } } } } } } } in let { a10_szzC :: Language.Haskell.TH.Syntax.Lit [LclId, Str=DmdType, Unf=OtherCon []] a10_szzC = Language.Haskell.TH.Syntax.IntegerL x_szz8 } in let { lvl17_szzD [Occ=OnceL] :: Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType, Unf=OtherCon []] lvl17_szzD = Language.Haskell.TH.Syntax.LitE a10_szzC } in let { sat_szAk [Occ=Once] :: forall (m_awx9 :: * -> *). Language.Haskell.TH.Syntax.Quasi m_awx9 => m_awx9 (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) [LclId, Str=DmdType] sat_szAk = \ (@ (m_awx9 :: * -> *)) (w4_szzE [Occ=Once!] :: Language.Haskell.TH.Syntax.Quasi m_awx9) -> case w4_szzE of _ [Occ=Dead] { Language.Haskell.TH.Syntax.D:Quasi ww1_szzG [Occ=Once!] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> case ww1_szzG of _ [Occ=Dead] { GHC.Base.D:Monad ww20_szzZ _ [Occ=Dead] ww22_szA1 _ [Occ=Dead] -> let { sat_szAj [Occ=Once] :: Language.Haskell.TH.Syntax.Exp -> m_awx9 (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) [LclId, Str=DmdType] sat_szAj = \ (x1_szAi [Occ=Once] :: Language.Haskell.TH.Syntax.Exp) -> ww22_szA1 @ (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) (x1_szAi `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:TExp[0] _N) :: Language.Haskell.TH.Syntax.Exp ~# Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO))) } in let { sat_szAh [Occ=Once] :: m_awx9 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] sat_szAh = let { lvl18_szA3 [Occ=OnceL] :: m_awx9 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] lvl18_szA3 = let { lvl19_szA4 [Occ=OnceL] :: m_awx9 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] lvl19_szA4 = ww22_szA1 @ Language.Haskell.TH.Syntax.Exp lvl17_szzD } in let { sat_szAa [Occ=Once] :: Language.Haskell.TH.Syntax.Exp -> m_awx9 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] sat_szAa = \ (x1_szA6 [Occ=OnceL] :: Language.Haskell.TH.Syntax.Exp) -> let { sat_szA9 [Occ=Once] :: Language.Haskell.TH.Syntax.Exp -> m_awx9 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] sat_szA9 = \ (x2_szA7 [Occ=Once] :: Language.Haskell.TH.Syntax.Exp) -> let { sat_szA8 [Occ=Once] :: Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] sat_szA8 = Language.Haskell.TH.Syntax.AppE x1_szA6 x2_szA7 } in ww22_szA1 @ Language.Haskell.TH.Syntax.Exp sat_szA8 } in ww20_szzZ @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp lvl19_szA4 sat_szA9 } in let { sat_szA5 [Occ=Once] :: m_awx9 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] sat_szA5 = ww22_szA1 @ Language.Haskell.TH.Syntax.Exp lvl7_rxLB } in ww20_szzZ @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp sat_szA5 sat_szAa } in let { sat_szAg [Occ=Once] :: Language.Haskell.TH.Syntax.Exp -> m_awx9 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] sat_szAg = \ (x1_szAc [Occ=OnceL] :: Language.Haskell.TH.Syntax.Exp) -> let { sat_szAf [Occ=Once] :: Language.Haskell.TH.Syntax.Exp -> m_awx9 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] sat_szAf = \ (x2_szAd [Occ=Once] :: Language.Haskell.TH.Syntax.Exp) -> let { sat_szAe [Occ=Once] :: Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] sat_szAe = Language.Haskell.TH.Syntax.AppE x1_szAc x2_szAd } in ww22_szA1 @ Language.Haskell.TH.Syntax.Exp sat_szAe } in ww20_szzZ @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp lvl18_szA3 sat_szAf } in let { sat_szAb [Occ=Once] :: m_awx9 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] sat_szAb = ww22_szA1 @ Language.Haskell.TH.Syntax.Exp lvl6_rxLA } in ww20_szzZ @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp sat_szAb sat_szAg } in ww20_szzZ @ Language.Haskell.TH.Syntax.Exp @ (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) sat_szAh sat_szAj } } } in sat_szAk CLaSH.Sized.Fixed.fLit1 [InlPrag=INLINE[0]] :: forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> forall (m_aw9c :: * -> *). Language.Haskell.TH.Syntax.Quasi m_aw9c => m_aw9c (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)) [GblId, Arity=5, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.fLit1 = \ (@ (frac_avhM :: GHC.TypeLits.Nat)) (@ (rep_avhN :: GHC.TypeLits.Nat -> *)) (@ (size_avhO :: GHC.TypeLits.Nat)) (w_szAl [Occ=Once] :: GHC.TypeLits.KnownNat frac_avhM) _ [Occ=Dead] (w2_szAn [Occ=Once] :: GHC.Enum.Bounded (rep_avhN size_avhO)) (w3_szAo [Occ=Once] :: GHC.Real.Integral (rep_avhN size_avhO)) (w4_szAp [Occ=Once] :: GHC.Types.Double) -> CLaSH.Sized.Fixed.$wa @ frac_avhM @ rep_avhN @ size_avhO w_szAl w2_szAn w3_szAo w4_szAp CLaSH.Sized.Fixed.fLit :: forall (frac_auFI :: GHC.TypeLits.Nat) (rep_auFJ :: GHC.TypeLits.Nat -> *) (size_auFK :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_auFI, GHC.Num.Num (rep_auFJ size_auFK), GHC.Enum.Bounded (rep_auFJ size_auFK), GHC.Real.Integral (rep_auFJ size_auFK)) => GHC.Types.Double -> Language.Haskell.TH.Syntax.Q (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_auFI rep_auFJ size_auFK)) [GblId, Arity=5, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.fLit = (\ (@ (frac_avhM :: GHC.TypeLits.Nat)) (@ (rep_avhN :: GHC.TypeLits.Nat -> *)) (@ (size_avhO :: GHC.TypeLits.Nat)) (eta_B5 [Occ=Once] :: GHC.TypeLits.KnownNat frac_avhM) (eta_B4 [Occ=Once] :: GHC.Num.Num (rep_avhN size_avhO)) (eta_B3 [Occ=Once] :: GHC.Enum.Bounded (rep_avhN size_avhO)) (eta_B2 [Occ=Once] :: GHC.Real.Integral (rep_avhN size_avhO)) (eta_B1 [Occ=Once] :: GHC.Types.Double) -> CLaSH.Sized.Fixed.fLit1 @ frac_avhM @ rep_avhN @ size_avhO eta_B5 eta_B4 eta_B3 eta_B2 eta_B1) `cast` (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO))) ~# (forall (frac_avhM :: GHC.TypeLits.Nat) (rep_avhN :: GHC.TypeLits.Nat -> *) (size_avhO :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_avhM, GHC.Num.Num (rep_avhN size_avhO), GHC.Enum.Bounded (rep_avhN size_avhO), GHC.Real.Integral (rep_avhN size_avhO)) => GHC.Types.Double -> Language.Haskell.TH.Syntax.Q (Language.Haskell.TH.Syntax.TExp (CLaSH.Sized.Fixed.Fixed frac_avhM rep_avhN size_avhO)))) poly_a_rxLC :: forall (n_auFM :: GHC.TypeLits.Nat). 1 GHC.TypeLits.<= n_auFM [GblId, Str=DmdType b] poly_a_rxLC = \ (@ (n_auFM :: GHC.TypeLits.Nat)) -> Control.Exception.Base.absentError @ (1 GHC.TypeLits.<= n_auFM) "ww_sxb3{v} [lid] 1 base:GHC.TypeLits.<={tc r4y} n{tv auFM} [tv]"# CLaSH.Sized.Fixed.$wsatN2 :: forall (rep_auFL :: GHC.TypeLits.Nat -> *) (n_auFM :: GHC.TypeLits.Nat). (((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) GHC.Prim.~# (n_auFM GHC.TypeLits.+ 2)) -> CLaSH.Class.BitVector.BitVector (rep_auFL n_auFM) => (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) => rep_auFL (n_auFM GHC.TypeLits.+ 2) -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit) -> (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM) ~ n_auFM, CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2)) ~ (n_auFM GHC.TypeLits.+ 2), GHC.TypeLits.KnownNat n_auFM, GHC.TypeLits.KnownNat (n_auFM GHC.TypeLits.+ 2), GHC.Enum.Bounded (rep_auFL n_auFM)) => (rep_auFL (n_auFM GHC.TypeLits.+ 2) -> GHC.Types.Bool) -> rep_auFL (n_auFM GHC.TypeLits.+ 2) -> rep_auFL n_auFM [GblId, Arity=10, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$wsatN2 = \ (@ (rep_auFL :: GHC.TypeLits.Nat -> *)) (@ (n_auFM :: GHC.TypeLits.Nat)) (ww_sxb7 :: ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) GHC.Prim.~# (n_auFM GHC.TypeLits.+ 2)) (ww1_szAq [Occ=Once*] :: CLaSH.Class.BitVector.BitVector (rep_auFL n_auFM)) (ww2_szAr [Occ=Once!] :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) => rep_auFL (n_auFM GHC.TypeLits.+ 2) -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit) (ww3_szAs :: CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM) ~ n_auFM) (ww4_szAt [Occ=Once!] :: CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2)) ~ (n_auFM GHC.TypeLits.+ 2)) (ww5_szAu [Occ=Once*] :: GHC.TypeLits.KnownNat n_auFM) (ww6_szAv [Occ=Once] :: GHC.TypeLits.KnownNat (n_auFM GHC.TypeLits.+ 2)) (ww7_szAw [Occ=Once*] :: GHC.Enum.Bounded (rep_auFL n_auFM)) (ww8_szAx [Occ=Once!] :: rep_auFL (n_auFM GHC.TypeLits.+ 2) -> GHC.Types.Bool) (w_szAy :: rep_auFL (n_auFM GHC.TypeLits.+ 2)) -> case ww4_szAt of _ [Occ=Dead] { GHC.Types.Eq# cobox1_sxDc -> case ww2_szAr (ww6_szAv `cast` ((GHC.TypeLits.KnownNat (Sym cobox1_sxDc))_R :: GHC.TypeLits.KnownNat (n_auFM GHC.TypeLits.+ 2) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))))) w_szAy of a10_szAA [Dmd=] { __DEFAULT -> let { s_szAB :: CLaSH.Sized.Vector.Vec n_auFM CLaSH.Bit.Bit [LclId, Str=DmdType] s_szAB = case CLaSH.Sized.Vector.vtail @ (n_auFM GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (a10_szAA `cast` ((CLaSH.Sized.Vector.Vec (cobox1_sxDc ; Sym ww_sxb7) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit)) of sat_szAC { __DEFAULT -> CLaSH.Sized.Vector.vtail @ n_auFM @ CLaSH.Bit.Bit sat_szAC } } in case ww8_szAx w_szAy of _ [Occ=Dead] { GHC.Types.False -> case CLaSH.Sized.Vector.vhead @ (n_auFM GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (a10_szAA `cast` ((CLaSH.Sized.Vector.Vec (cobox1_sxDc ; Sym ww_sxb7) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit)) of _ [Occ=Dead] { CLaSH.Bit.H -> case CLaSH.Sized.Vector.vtail @ (n_auFM GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (a10_szAA `cast` ((CLaSH.Sized.Vector.Vec (cobox1_sxDc ; Sym ww_sxb7) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit)) of sat_szAF { __DEFAULT -> case CLaSH.Sized.Vector.vhead @ n_auFM @ CLaSH.Bit.Bit sat_szAF of _ [Occ=Dead] { CLaSH.Bit.H -> GHC.Enum.minBound @ (rep_auFL n_auFM) ww7_szAw; CLaSH.Bit.L -> let { sat_szAK [Occ=Once] :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) CLaSH.Bit.Bit [LclId, Str=DmdType] sat_szAK = case ww3_szAs of _ [Occ=Dead] { GHC.Types.Eq# cobox3_dw7c -> s_szAB `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox3_dw7c) _R)_R :: CLaSH.Sized.Vector.Vec n_auFM CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) CLaSH.Bit.Bit) } } in let { sat_szAI [Occ=Once] :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) [LclId, Str=DmdType] sat_szAI = case ww3_szAs of _ [Occ=Dead] { GHC.Types.Eq# cobox3_dw7b -> ww5_szAu `cast` ((GHC.TypeLits.KnownNat (Sym cobox3_dw7b))_R :: GHC.TypeLits.KnownNat n_auFM ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM))) } } in CLaSH.Class.BitVector.fromBV @ (rep_auFL n_auFM) ww1_szAq sat_szAI sat_szAK } }; CLaSH.Bit.L -> case CLaSH.Sized.Vector.vtail @ (n_auFM GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (a10_szAA `cast` ((CLaSH.Sized.Vector.Vec (cobox1_sxDc ; Sym ww_sxb7) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit)) of sat_szAL { __DEFAULT -> case CLaSH.Sized.Vector.vhead @ n_auFM @ CLaSH.Bit.Bit sat_szAL of _ [Occ=Dead] { CLaSH.Bit.H -> GHC.Enum.maxBound @ (rep_auFL n_auFM) ww7_szAw; CLaSH.Bit.L -> let { sat_szAQ [Occ=Once] :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) CLaSH.Bit.Bit [LclId, Str=DmdType] sat_szAQ = case ww3_szAs of _ [Occ=Dead] { GHC.Types.Eq# cobox3_dw7c -> s_szAB `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox3_dw7c) _R)_R :: CLaSH.Sized.Vector.Vec n_auFM CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) CLaSH.Bit.Bit) } } in let { sat_szAO [Occ=Once] :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) [LclId, Str=DmdType] sat_szAO = case ww3_szAs of _ [Occ=Dead] { GHC.Types.Eq# cobox3_dw7b -> ww5_szAu `cast` ((GHC.TypeLits.KnownNat (Sym cobox3_dw7b))_R :: GHC.TypeLits.KnownNat n_auFM ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM))) } } in CLaSH.Class.BitVector.fromBV @ (rep_auFL n_auFM) ww1_szAq sat_szAO sat_szAQ } } }; GHC.Types.True -> case CLaSH.Sized.Vector.vhead @ (n_auFM GHC.TypeLits.+ 1) @ CLaSH.Bit.Bit (a10_szAA `cast` ((CLaSH.Sized.Vector.Vec (cobox1_sxDc ; Sym ww_sxb7) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL (n_auFM GHC.TypeLits.+ 2))) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec ((n_auFM GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) CLaSH.Bit.Bit)) of _ [Occ=Dead] { CLaSH.Bit.H -> case CLaSH.Sized.Vector.vhead' @ n_auFM @ CLaSH.Bit.Bit (poly_a_rxLC @ n_auFM) s_szAB of _ [Occ=Dead] { CLaSH.Bit.H -> let { sat_szAW [Occ=Once] :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) CLaSH.Bit.Bit [LclId, Str=DmdType] sat_szAW = case ww3_szAs of _ [Occ=Dead] { GHC.Types.Eq# cobox3_dw7a -> s_szAB `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox3_dw7a) _R)_R :: CLaSH.Sized.Vector.Vec n_auFM CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) CLaSH.Bit.Bit) } } in let { sat_szAU [Occ=Once] :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) [LclId, Str=DmdType] sat_szAU = case ww3_szAs of _ [Occ=Dead] { GHC.Types.Eq# cobox3_dw79 -> ww5_szAu `cast` ((GHC.TypeLits.KnownNat (Sym cobox3_dw79))_R :: GHC.TypeLits.KnownNat n_auFM ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM))) } } in CLaSH.Class.BitVector.fromBV @ (rep_auFL n_auFM) ww1_szAq sat_szAU sat_szAW; CLaSH.Bit.L -> GHC.Enum.minBound @ (rep_auFL n_auFM) ww7_szAw }; CLaSH.Bit.L -> case CLaSH.Sized.Vector.vhead' @ n_auFM @ CLaSH.Bit.Bit (poly_a_rxLC @ n_auFM) s_szAB of _ [Occ=Dead] { CLaSH.Bit.H -> GHC.Enum.maxBound @ (rep_auFL n_auFM) ww7_szAw; CLaSH.Bit.L -> let { sat_szB1 [Occ=Once] :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) CLaSH.Bit.Bit [LclId, Str=DmdType] sat_szB1 = case ww3_szAs of _ [Occ=Dead] { GHC.Types.Eq# cobox3_dw7a -> s_szAB `cast` ((CLaSH.Sized.Vector.Vec (Sym cobox3_dw7a) _R)_R :: CLaSH.Sized.Vector.Vec n_auFM CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) CLaSH.Bit.Bit) } } in let { sat_szAZ [Occ=Once] :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM)) [LclId, Str=DmdType] sat_szAZ = case ww3_szAs of _ [Occ=Dead] { GHC.Types.Eq# cobox3_dw79 -> ww5_szAu `cast` ((GHC.TypeLits.KnownNat (Sym cobox3_dw79))_R :: GHC.TypeLits.KnownNat n_auFM ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_auFL n_auFM))) } } in CLaSH.Class.BitVector.fromBV @ (rep_auFL n_auFM) ww1_szAq sat_szAZ sat_szB1 } } } } } CLaSH.Sized.Fixed.satN2 [InlPrag=INLINE[0]] :: forall (rep_auFL :: GHC.TypeLits.Nat -> *) (n_auFM :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.SatN2C rep_auFL n_auFM) => rep_auFL (n_auFM GHC.TypeLits.+ 2) -> rep_auFL n_auFM [GblId, Arity=2, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.satN2 = \ (@ (rep_auFL :: GHC.TypeLits.Nat -> *)) (@ (n_auFM :: GHC.TypeLits.Nat)) (w_szB2 [Occ=Once!] :: CLaSH.Sized.Fixed.SatN2C rep_auFL n_auFM) (w1_szB3 [Occ=Once] :: rep_auFL (n_auFM GHC.TypeLits.+ 2)) -> case w_szB2 of _ [Occ=Dead] { (_ [Occ=Dead], ww2_szB6 [Occ=Once!], ww3_szB7 [Occ=Once], ww4_szB8 [Occ=Once!], ww5_szB9 [Occ=Once], ww6_szBa [Occ=Once!], ww7_szBb [Occ=Once], ww8_szBc [Occ=Once], ww9_szBd [Occ=Once], ww10_szBe [Occ=Once!]) -> case ww2_szB6 of _ [Occ=Dead] { GHC.Types.Eq# ww12_sxb7 -> case ww4_szB8 of _ [Occ=Dead] { CLaSH.Class.BitVector.D:BitVector ww14_szBh [Occ=Once] _ [Occ=Dead] -> case ww6_szBa of ww16_szBj { GHC.Types.Eq# _ [Occ=Dead] -> case ww10_szBe of _ [Occ=Dead] { Data.Bits.D:Bits _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] ww33_szBA [Occ=Once] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> CLaSH.Sized.Fixed.$wsatN2 @ rep_auFL @ n_auFM @~ ww12_sxb7 ww3_szB7 ww14_szBh ww5_szB9 ww16_szBj ww7_szBb ww8_szBc ww9_szBd ww33_szBA w1_szB3 } } } } } CLaSH.Sized.Fixed.$wresizeF :: forall (frac1_auFN :: GHC.TypeLits.Nat) (frac2_auFO :: GHC.TypeLits.Nat) (rep_auFP :: GHC.TypeLits.Nat -> *) (size1_auFQ :: GHC.TypeLits.Nat) (size2_auFR :: GHC.TypeLits.Nat). (GHC.Enum.Bounded (rep_auFP size2_auFR), GHC.Classes.Ord (rep_auFP size1_auFQ), GHC.Num.Num (rep_auFP size1_auFQ), Data.Bits.Bits (rep_auFP size1_auFQ), CLaSH.Class.Num.Resize rep_auFP, GHC.TypeLits.KnownNat size2_auFR, GHC.TypeLits.KnownNat size1_auFQ, Data.Bits.Bits (rep_auFP size2_auFR), GHC.TypeLits.KnownNat frac2_auFO, GHC.TypeLits.KnownNat frac1_auFN) => CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ -> CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR [GblId, Arity=11, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$wresizeF = \ (@ (frac1_auFN :: GHC.TypeLits.Nat)) (@ (frac2_auFO :: GHC.TypeLits.Nat)) (@ (rep_auFP :: GHC.TypeLits.Nat -> *)) (@ (size1_auFQ :: GHC.TypeLits.Nat)) (@ (size2_auFR :: GHC.TypeLits.Nat)) (ww_szBI :: GHC.Enum.Bounded (rep_auFP size2_auFR)) (ww1_szBJ [Occ=Once*] :: GHC.Classes.Ord (rep_auFP size1_auFQ)) (ww2_szBK :: GHC.Num.Num (rep_auFP size1_auFQ)) (ww3_szBL [Occ=Once!] :: Data.Bits.Bits (rep_auFP size1_auFQ)) (ww4_szBM :: CLaSH.Class.Num.Resize rep_auFP) (ww5_szBN :: GHC.TypeLits.KnownNat size2_auFR) (ww6_szBO :: GHC.TypeLits.KnownNat size1_auFQ) (ww7_szBP [Occ=Once*] :: Data.Bits.Bits (rep_auFP size2_auFR)) (ww8_szBQ [Occ=Once*] :: GHC.TypeLits.KnownNat frac2_auFO) (ww9_szBR [Occ=Once*] :: GHC.TypeLits.KnownNat frac1_auFN) (w_szBS :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ) -> case GHC.Integer.Type.leInteger# (ww6_szBO `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat size1_auFQ ~# GHC.Integer.Type.Integer)) (ww5_szBN `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat size2_auFR ~# GHC.Integer.Type.Integer)) of wild_szBT { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_szBT of _ [Occ=Dead] { GHC.Types.False -> case ww3_szBL of _ [Occ=Dead] { Data.Bits.D:Bits ww11_szBW [Occ=Once!] ww12_szBX [Occ=Once*!] _ [Occ=Dead] _ [Occ=Dead] ww15_szC0 [Occ=Once!] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] ww27_szCc [Occ=Once!] _ [Occ=Dead] ww29_szCe [Occ=Once!] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> case ww11_szBW of _ [Occ=Dead] { GHC.Classes.D:Eq ww35_szCk [Occ=Once*!] _ [Occ=Dead] -> case GHC.Integer.Type.integerToInt (ww9_szBR `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac1_auFN ~# GHC.Integer.Type.Integer)) of wild2_szCm { __DEFAULT -> case GHC.Integer.Type.integerToInt (ww8_szBQ `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac2_auFO ~# GHC.Integer.Type.Integer)) of wild3_szCn { __DEFAULT -> let { fMax_szCo :: rep_auFP size2_auFR [LclId, Str=DmdType] fMax_szCo = GHC.Enum.maxBound @ (rep_auFP size2_auFR) ww_szBI } in let { mask_szCp :: rep_auFP size1_auFQ [LclId, Str=DmdType] mask_szCp = let { sat_szCq [Occ=Once] :: rep_auFP size1_auFQ [LclId, Str=DmdType] sat_szCq = (ww4_szBM `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size2_auFR @ size1_auFQ ww5_szBN ww6_szBO fMax_szCo } in ww15_szC0 sat_szCq } in case GHC.Prim.<=# wild2_szCm wild3_szCn of sat_szCr { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool sat_szCr of _ [Occ=Dead] { GHC.Types.False -> let { shiftedR_szCt :: rep_auFP size1_auFQ [LclId, Str=DmdType] shiftedR_szCt = case GHC.Prim.-# wild2_szCm wild3_szCn of sat_szCu { __DEFAULT -> let { sat_szCv [Occ=Once] :: GHC.Types.Int [LclId, Str=DmdType] sat_szCv = GHC.Types.I# sat_szCu } in ww29_szCe (w_szBS `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ)) sat_szCv } } in let { sat_szCw [Occ=Once] :: rep_auFP size1_auFQ [LclId, Str=DmdType] sat_szCw = GHC.Num.fromInteger @ (rep_auFP size1_auFQ) ww2_szBK CLaSH.Sized.Fixed.$s^2 } in case GHC.Classes.>= @ (rep_auFP size1_auFQ) ww1_szBJ (w_szBS `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ)) sat_szCw of _ [Occ=Dead] { GHC.Types.False -> let { sat_szCy [Occ=Once] :: rep_auFP size1_auFQ [LclId, Str=DmdType] sat_szCy = ww12_szBX shiftedR_szCt mask_szCp } in case ww35_szCk sat_szCy mask_szCp of _ [Occ=Dead] { GHC.Types.False -> (GHC.Enum.minBound @ (rep_auFP size2_auFR) ww_szBI) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR); GHC.Types.True -> ((ww4_szBM `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww6_szBO ww5_szBN shiftedR_szCt) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) }; GHC.Types.True -> let { sat_szCB [Occ=Once] :: rep_auFP size1_auFQ [LclId, Str=DmdType] sat_szCB = GHC.Num.fromInteger @ (rep_auFP size1_auFQ) ww2_szBK CLaSH.Sized.Fixed.$s^2 } in let { sat_szCA [Occ=Once] :: rep_auFP size1_auFQ [LclId, Str=DmdType] sat_szCA = ww12_szBX shiftedR_szCt mask_szCp } in case ww35_szCk sat_szCA sat_szCB of _ [Occ=Dead] { GHC.Types.False -> fMax_szCo `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR); GHC.Types.True -> ((ww4_szBM `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww6_szBO ww5_szBN shiftedR_szCt) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) } }; GHC.Types.True -> let { shiftedL_szCD :: rep_auFP size1_auFQ [LclId, Str=DmdType] shiftedL_szCD = case GHC.Prim.-# wild3_szCn wild2_szCm of sat_szCE { __DEFAULT -> let { sat_szCF [Occ=Once] :: GHC.Types.Int [LclId, Str=DmdType] sat_szCF = GHC.Types.I# sat_szCE } in ww27_szCc (w_szBS `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ)) sat_szCF } } in let { sat_szCG [Occ=Once] :: rep_auFP size1_auFQ [LclId, Str=DmdType] sat_szCG = GHC.Num.fromInteger @ (rep_auFP size1_auFQ) ww2_szBK CLaSH.Sized.Fixed.$s^2 } in case GHC.Classes.>= @ (rep_auFP size1_auFQ) ww1_szBJ (w_szBS `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ)) sat_szCG of _ [Occ=Dead] { GHC.Types.False -> let { sat_szCI [Occ=Once] :: rep_auFP size1_auFQ [LclId, Str=DmdType] sat_szCI = ww12_szBX shiftedL_szCD mask_szCp } in case ww35_szCk sat_szCI mask_szCp of _ [Occ=Dead] { GHC.Types.False -> (GHC.Enum.minBound @ (rep_auFP size2_auFR) ww_szBI) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR); GHC.Types.True -> ((ww4_szBM `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww6_szBO ww5_szBN shiftedL_szCD) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) }; GHC.Types.True -> let { sat_szCL [Occ=Once] :: rep_auFP size1_auFQ [LclId, Str=DmdType] sat_szCL = GHC.Num.fromInteger @ (rep_auFP size1_auFQ) ww2_szBK CLaSH.Sized.Fixed.$s^2 } in let { sat_szCK [Occ=Once] :: rep_auFP size1_auFQ [LclId, Str=DmdType] sat_szCK = ww12_szBX shiftedL_szCD mask_szCp } in case ww35_szCk sat_szCK sat_szCL of _ [Occ=Dead] { GHC.Types.False -> fMax_szCo `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR); GHC.Types.True -> ((ww4_szBM `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww6_szBO ww5_szBN shiftedL_szCD) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) } } } } } } } }; GHC.Types.True -> case GHC.Integer.Type.integerToInt (ww9_szBR `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac1_auFN ~# GHC.Integer.Type.Integer)) of wild2_szCN { __DEFAULT -> case GHC.Integer.Type.integerToInt (ww8_szBQ `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac2_auFO ~# GHC.Integer.Type.Integer)) of wild3_szCO { __DEFAULT -> case GHC.Prim.<=# wild2_szCN wild3_szCO of sat_szCP { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool sat_szCP of _ [Occ=Dead] { GHC.Types.False -> case GHC.Prim.-# wild2_szCN wild3_szCO of sat_szCS { __DEFAULT -> let { sat_szCT [Occ=Once] :: GHC.Types.Int [LclId, Str=DmdType] sat_szCT = GHC.Types.I# sat_szCS } in let { sat_szCR [Occ=Once] :: rep_auFP size2_auFR [LclId, Str=DmdType] sat_szCR = (ww4_szBM `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww6_szBO ww5_szBN (w_szBS `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ)) } in (Data.Bits.shiftR @ (rep_auFP size2_auFR) ww7_szBP sat_szCR sat_szCT) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) }; GHC.Types.True -> case GHC.Prim.-# wild3_szCO wild2_szCN of sat_szCV { __DEFAULT -> let { sat_szCW [Occ=Once] :: GHC.Types.Int [LclId, Str=DmdType] sat_szCW = GHC.Types.I# sat_szCV } in let { sat_szCU [Occ=Once] :: rep_auFP size2_auFR [LclId, Str=DmdType] sat_szCU = (ww4_szBM `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_auFP ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_auFP a_ae8M -> rep_auFP b_ae8N))) @ size1_auFQ @ size2_auFR ww6_szBO ww5_szBN (w_szBS `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ ~# rep_auFP size1_auFQ)) } in (Data.Bits.shiftL @ (rep_auFP size2_auFR) ww7_szBP sat_szCU sat_szCW) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_auFP size2_auFR ~# CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR) } } } } } } } CLaSH.Sized.Fixed.resizeF [InlPrag=INLINE[0]] :: forall (frac1_auFN :: GHC.TypeLits.Nat) (frac2_auFO :: GHC.TypeLits.Nat) (rep_auFP :: GHC.TypeLits.Nat -> *) (size1_auFQ :: GHC.TypeLits.Nat) (size2_auFR :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.ResizeFC rep_auFP frac1_auFN frac2_auFO size1_auFQ size2_auFR) => CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ -> CLaSH.Sized.Fixed.Fixed frac2_auFO rep_auFP size2_auFR [GblId, Arity=2, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.resizeF = \ (@ (frac1_auFN :: GHC.TypeLits.Nat)) (@ (frac2_auFO :: GHC.TypeLits.Nat)) (@ (rep_auFP :: GHC.TypeLits.Nat -> *)) (@ (size1_auFQ :: GHC.TypeLits.Nat)) (@ (size2_auFR :: GHC.TypeLits.Nat)) (w_szCX [Occ=Once!] :: CLaSH.Sized.Fixed.ResizeFC rep_auFP frac1_auFN frac2_auFO size1_auFQ size2_auFR) (w1_szCY [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auFN rep_auFP size1_auFQ) -> case w_szCX of _ [Occ=Dead] { (ww1_szD0 [Occ=Once], _ [Occ=Dead], ww3_szD2 [Occ=Once], ww4_szD3 [Occ=Once], ww5_szD4 [Occ=Once], ww6_szD5 [Occ=Once], ww7_szD6 [Occ=Once], ww8_szD7 [Occ=Once], ww9_szD8 [Occ=Once], ww10_szD9 [Occ=Once], ww11_szDa [Occ=Once], _ [Occ=Dead]) -> CLaSH.Sized.Fixed.$wresizeF @ frac1_auFN @ frac2_auFO @ rep_auFP @ size1_auFQ @ size2_auFR ww1_szD0 ww3_szD2 ww4_szD3 ww5_szD4 ww6_szD5 ww7_szD6 ww8_szD7 ww9_szD8 ww10_szD9 ww11_szDa w1_szCY } CLaSH.Sized.Fixed.asRepProxy :: forall (frac_auFV :: GHC.TypeLits.Nat) (rep_auFW :: GHC.TypeLits.Nat -> *) (size_auFX :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFV rep_auFW size_auFX -> Data.Proxy.Proxy rep_auFW [GblId, Arity=1, Caf=NoCafRefs, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.asRepProxy = \ (@ (frac_avk6 :: GHC.TypeLits.Nat)) (@ (rep_avk7 :: GHC.TypeLits.Nat -> *)) (@ (size_avk8 :: GHC.TypeLits.Nat)) _ [Occ=Dead] -> Data.Proxy.Proxy @ (GHC.TypeLits.Nat -> *) @ rep_avk7 CLaSH.Sized.Fixed.asFracProxy :: forall (frac_auFY :: GHC.TypeLits.Nat) (rep_auFZ :: GHC.TypeLits.Nat -> *) (size_auG0 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFY rep_auFZ size_auG0 -> Data.Proxy.Proxy frac_auFY [GblId, Arity=1, Caf=NoCafRefs, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.asFracProxy = \ (@ (frac_avkp :: GHC.TypeLits.Nat)) (@ (rep_avkq :: GHC.TypeLits.Nat -> *)) (@ (size_avkr :: GHC.TypeLits.Nat)) _ [Occ=Dead] -> Data.Proxy.Proxy @ GHC.TypeLits.Nat @ frac_avkp CLaSH.Sized.Fixed.fracShift :: forall (frac_auFS :: GHC.TypeLits.Nat) (rep_auFT :: GHC.TypeLits.Nat -> *) (size_auFU :: GHC.TypeLits.Nat). GHC.TypeLits.KnownNat frac_auFS => CLaSH.Sized.Fixed.Fixed frac_auFS rep_auFT size_auFU -> GHC.Types.Int [GblId, Arity=2, Caf=NoCafRefs, Str=DmdType m, Unf=OtherCon []] CLaSH.Sized.Fixed.fracShift = \ (@ (frac_avjN :: GHC.TypeLits.Nat)) (@ (rep_avjO :: GHC.TypeLits.Nat -> *)) (@ (size_avjP :: GHC.TypeLits.Nat)) ($dKnownNat_szDe [Occ=Once] :: GHC.TypeLits.KnownNat frac_avjN) _ [Occ=Dead] -> case GHC.Integer.Type.integerToInt ($dKnownNat_szDe `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_avjN ~# GHC.Integer.Type.Integer)) of wild_szDg { __DEFAULT -> GHC.Types.I# wild_szDg } CLaSH.Sized.Fixed.unUF1 :: forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) [GblId, Arity=1, Caf=NoCafRefs, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.unUF1 = \ (@ (int_avkK :: GHC.TypeLits.Nat)) (@ (frac_avkL :: GHC.TypeLits.Nat)) (ds_szDh [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL)) -> ds_szDh CLaSH.Sized.Fixed.unUF :: forall (int_auG1 :: GHC.TypeLits.Nat) (frac_auG2 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.UFixed int_auG1 frac_auG2 -> CLaSH.Sized.Unsigned.Unsigned (int_auG1 GHC.TypeLits.+ frac_auG2) [GblId, Arity=1, Caf=NoCafRefs, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.unUF = (\ (@ (int_avkK :: GHC.TypeLits.Nat)) (@ (frac_avkL :: GHC.TypeLits.Nat)) (eta_B1 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL)) -> CLaSH.Sized.Fixed.unUF1 @ int_avkK @ frac_avkL eta_B1) `cast` (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL)) ~# (forall (int_avkK :: GHC.TypeLits.Nat) (frac_avkL :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avkL CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL) -> CLaSH.Sized.Unsigned.Unsigned (int_avkK GHC.TypeLits.+ frac_avkL))) CLaSH.Sized.Fixed.uf1 :: forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) [GblId, Arity=2, Caf=NoCafRefs, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.uf1 = \ (@ (frac_avl5 :: GHC.TypeLits.Nat)) (@ (int_avl6 :: GHC.TypeLits.Nat)) _ [Occ=Dead] (fRep_szDj [Occ=Once] :: CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) -> fRep_szDj CLaSH.Sized.Fixed.uf :: forall (frac_auG3 :: GHC.TypeLits.Nat) (int_auG4 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_auG3 -> CLaSH.Sized.Unsigned.Unsigned (int_auG4 GHC.TypeLits.+ frac_auG3) -> CLaSH.Sized.Fixed.UFixed int_auG4 frac_auG3 [GblId, Arity=2, Caf=NoCafRefs, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.uf = (\ (@ (frac_avl5 :: GHC.TypeLits.Nat)) (@ (int_avl6 :: GHC.TypeLits.Nat)) (eta_B2 [Occ=Once] :: CLaSH.Promoted.Nat.SNat frac_avl5) (eta_B1 [Occ=Once] :: CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) -> CLaSH.Sized.Fixed.uf1 @ frac_avl5 @ int_avl6 eta_B2 eta_B1) `cast` (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5)) ~# (forall (frac_avl5 :: GHC.TypeLits.Nat) (int_avl6 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avl5 -> CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5) -> CLaSH.Sized.Fixed.Fixed frac_avl5 CLaSH.Sized.Unsigned.Unsigned (int_avl6 GHC.TypeLits.+ frac_avl5))) CLaSH.Sized.Fixed.unSF1 :: forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) [GblId, Arity=1, Caf=NoCafRefs, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.unSF1 = \ (@ (int_avlp :: GHC.TypeLits.Nat)) (@ (frac_avlq :: GHC.TypeLits.Nat)) (ds_szDk [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq)) -> ds_szDk CLaSH.Sized.Fixed.unSF :: forall (int_auG5 :: GHC.TypeLits.Nat) (frac_auG6 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.SFixed int_auG5 frac_auG6 -> CLaSH.Sized.Signed.Signed (int_auG5 GHC.TypeLits.+ frac_auG6) [GblId, Arity=1, Caf=NoCafRefs, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.unSF = (\ (@ (int_avlp :: GHC.TypeLits.Nat)) (@ (frac_avlq :: GHC.TypeLits.Nat)) (eta_B1 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq)) -> CLaSH.Sized.Fixed.unSF1 @ int_avlp @ frac_avlq eta_B1) `cast` (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq)) ~# (forall (int_avlp :: GHC.TypeLits.Nat) (frac_avlq :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_avlq CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq) -> CLaSH.Sized.Signed.Signed (int_avlp GHC.TypeLits.+ frac_avlq))) CLaSH.Sized.Fixed.sf1 :: forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) [GblId, Arity=2, Caf=NoCafRefs, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.sf1 = \ (@ (frac_avlK :: GHC.TypeLits.Nat)) (@ (int_avlL :: GHC.TypeLits.Nat)) _ [Occ=Dead] (fRep_szDm [Occ=Once] :: CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) -> fRep_szDm CLaSH.Sized.Fixed.sf :: forall (frac_auG7 :: GHC.TypeLits.Nat) (int_auG8 :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_auG7 -> CLaSH.Sized.Signed.Signed (int_auG8 GHC.TypeLits.+ frac_auG7) -> CLaSH.Sized.Fixed.SFixed int_auG8 frac_auG7 [GblId, Arity=2, Caf=NoCafRefs, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.sf = (\ (@ (frac_avlK :: GHC.TypeLits.Nat)) (@ (int_avlL :: GHC.TypeLits.Nat)) (eta_B2 [Occ=Once] :: CLaSH.Promoted.Nat.SNat frac_avlK) (eta_B1 [Occ=Once] :: CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) -> CLaSH.Sized.Fixed.sf1 @ frac_avlK @ int_avlL eta_B2 eta_B1) `cast` (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK)) ~# (forall (frac_avlK :: GHC.TypeLits.Nat) (int_avlL :: GHC.TypeLits.Nat). CLaSH.Promoted.Nat.SNat frac_avlK -> CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK) -> CLaSH.Sized.Fixed.Fixed frac_avlK CLaSH.Sized.Signed.Signed (int_avlL GHC.TypeLits.+ frac_avlK))) CLaSH.Sized.Fixed.unFixed1 :: forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 [GblId, Arity=1, Caf=NoCafRefs, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.unFixed1 = \ (@ (frac_auI2 :: GHC.TypeLits.Nat)) (@ (rep_auI3 :: GHC.TypeLits.Nat -> *)) (@ (size_auI4 :: GHC.TypeLits.Nat)) (ds_szDn [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4) -> ds_szDn CLaSH.Sized.Fixed.unFixed :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH -> rep_auFG size_auFH [GblId[[RecSel]], Arity=1, Caf=NoCafRefs, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.unFixed = (\ (@ (frac_auI2 :: GHC.TypeLits.Nat)) (@ (rep_auI3 :: GHC.TypeLits.Nat -> *)) (@ (size_auI4 :: GHC.TypeLits.Nat)) (eta_B1 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4) -> CLaSH.Sized.Fixed.unFixed1 @ frac_auI2 @ rep_auI3 @ size_auI4 eta_B1) `cast` (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). _R -> CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4) ~# (forall (frac_auI2 :: GHC.TypeLits.Nat) (rep_auI3 :: GHC.TypeLits.Nat -> *) (size_auI4 :: GHC.TypeLits.Nat). CLaSH.Sized.Fixed.Fixed frac_auI2 rep_auI3 size_auI4 -> rep_auI3 size_auI4)) lvl8_rxLD :: GHC.Types.Char [GblId, Caf=NoCafRefs, Str=DmdType m, Unf=OtherCon []] lvl8_rxLD = GHC.Types.C# '-' lvl9_rxLE :: GHC.Types.Char [GblId, Caf=NoCafRefs, Str=DmdType m, Unf=OtherCon []] lvl9_rxLE = GHC.Types.C# '0' dt_rxLF :: GHC.Integer.Type.Integer [GblId, Str=DmdType, Unf=OtherCon []] dt_rxLF = GHC.Integer.Type.S# 10 $wlvl_rxLG :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) -> (# GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer #) [GblId, Arity=1, Str=DmdType , Unf=OtherCon []] $wlvl_rxLG = \ (w_szDo :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) -> let { sat_szDI [Occ=Once] :: GHC.Real.Ratio GHC.Integer.Type.Integer [LclId, Str=DmdType] sat_szDI = case w_szDo of _ [Occ=Dead] { (_ [Occ=Dead], y_szDz [Occ=Once!]) -> case y_szDz of _ [Occ=Dead] { GHC.Real.:% ww1_szDB [Occ=Once] ww2_szDC [Occ=Once] -> case GHC.Integer.Type.timesInteger ww2_szDC GHC.Real.$fEnumRatio1 of sat_szDE { __DEFAULT -> case GHC.Integer.Type.timesInteger ww1_szDB dt_rxLF of sat_szDD { __DEFAULT -> case GHC.Real.$w$sreduce sat_szDD sat_szDE of _ [Occ=Dead] { (# ww7_szDG [Occ=Once], ww8_szDH [Occ=Once] #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww7_szDG ww8_szDH } } } } } } in let { sat_szDw [Occ=Once] :: GHC.Types.Int [LclId, Str=DmdType] sat_szDw = case w_szDo of _ [Occ=Dead] { (x_szDq [Occ=Once!], _ [Occ=Dead]) -> case x_szDq of _ [Occ=Dead] { GHC.Types.I# x1_szDt [Occ=Once!] -> case x1_szDt of wild2_szDu { __DEFAULT -> case GHC.Prim.+# wild2_szDu 1 of sat_szDv { __DEFAULT -> GHC.Types.I# sat_szDv }; 9223372036854775807 -> GHC.Enum.$fEnumInt2 } } } } in (# sat_szDw, sat_szDI #) lvl10_rxLH :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) -> (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) [GblId, Arity=1, Str=DmdType m, Unf=OtherCon []] lvl10_rxLH = \ (w_szDJ [Occ=Once] :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) -> case $wlvl_rxLG w_szDJ of _ [Occ=Dead] { (# ww1_szDL [Occ=Once], ww2_szDM [Occ=Once] #) -> (ww1_szDL, ww2_szDM) } lvl11_rxLI :: GHC.Types.Int [GblId, Caf=NoCafRefs, Str=DmdType m, Unf=OtherCon []] lvl11_rxLI = GHC.Types.I# 0 lvl12_rxLJ :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) -> [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)] -> [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)] [GblId, Arity=2, Str=DmdType, Unf=OtherCon []] lvl12_rxLJ = \ (x_szDN [Occ=Once!] :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)) (r_szDO [Occ=Once*] :: [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)]) -> case x_szDN of wild_szDP { (_ [Occ=Dead], y_szDR [Occ=Once!]) -> case y_szDR of _ [Occ=Dead] { GHC.Real.:% _ [Occ=Dead] y1_szDU [Occ=Once] -> case GHC.Integer.Type.eqInteger# y1_szDU lvl1_rxLm of wild2_szDV { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild2_szDV of _ [Occ=Dead] { GHC.Types.False -> r_szDO; GHC.Types.True -> GHC.Types.: @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) wild_szDP r_szDO } } } } lvl13_rxLK :: GHC.Types.Char [GblId, Caf=NoCafRefs, Str=DmdType, Unf=OtherCon []] lvl13_rxLK = GHC.Types.C# '.' CLaSH.Sized.Fixed.$w$cshow :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). GHC.TypeLits.KnownNat frac_auHx => (rep_auHy size_auHz -> GHC.Integer.Type.Integer) -> CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> [GHC.Types.Char] [GblId, Arity=3, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$w$cshow = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) (w_szDX [Occ=Once] :: GHC.TypeLits.KnownNat frac_auHx) (ww_szDY [Occ=Once!] :: rep_auHy size_auHz -> GHC.Integer.Type.Integer) (w1_szDZ [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) -> case ww_szDY (w1_szDZ `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz ~# rep_auHy size_auHz)) of fRepI_szE0 [Dmd=] { __DEFAULT -> case GHC.Integer.Type.ltInteger# fRepI_szE0 CLaSH.Sized.Fixed.$s^2 of wild_szE1 { __DEFAULT -> let { fRepI_abs_szE2 :: GHC.Integer.Type.Integer [LclId, Str=DmdType] fRepI_abs_szE2 = GHC.Integer.Type.absInteger fRepI_szE0 } in let { nF_szE3 [Dmd=] :: GHC.Types.Int [LclId, Str=DmdType] nF_szE3 = case GHC.Integer.Type.integerToInt (w_szDX `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_auHx ~# GHC.Integer.Type.Integer)) of wild1_szE4 { __DEFAULT -> GHC.Types.I# wild1_szE4 } } in let { a10_szE5 [Occ=Once*] :: [GHC.Types.Char] [LclId, Str=DmdType] a10_szE5 = let { sat_szEU :: GHC.Real.Ratio GHC.Integer.Type.Integer [LclId, Str=DmdType] sat_szEU = case GHC.Integer.Type.ltInteger# fRepI_szE0 CLaSH.Sized.Fixed.$s^2 of wild1_szE6 { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild1_szE6 of _ [Occ=Dead] { GHC.Types.False -> case nF_szE3 of _ [Occ=Dead] { GHC.Types.I# x_szE9 -> case GHC.Prim.<# x_szE9 0 of sat_szEa { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool sat_szEa of _ [Occ=Dead] { GHC.Types.False -> case case x_szE9 of wild5_szEd { __DEFAULT -> GHC.Real.$wf1 lvl2_rxLn wild5_szEd; 0 -> GHC.Real.$fEnumRatio1 } of a11_szEc [Dmd=] { __DEFAULT -> case x_szE9 of wild5_szEe { __DEFAULT -> case GHC.Integer.Type.absInteger a11_szEc of sat_szEk { __DEFAULT -> case GHC.Integer.Type.signumInteger a11_szEc of sat_szEi { __DEFAULT -> case GHC.Real.$wf1 lvl2_rxLn wild5_szEe of sat_szEf { __DEFAULT -> case GHC.Integer.Type.minusInteger sat_szEf lvl1_rxLm of sat_szEg { __DEFAULT -> case GHC.Integer.Type.andInteger fRepI_szE0 sat_szEg of sat_szEh { __DEFAULT -> case GHC.Integer.Type.timesInteger sat_szEh sat_szEi of sat_szEj { __DEFAULT -> case GHC.Real.$w$sreduce sat_szEj sat_szEk of _ [Occ=Dead] { (# ww2_szEm [Occ=Once], ww3_szEn [Occ=Once] #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww2_szEm ww3_szEn } } } } } } }; 0 -> case GHC.Integer.Type.absInteger a11_szEc of sat_szEr { __DEFAULT -> case GHC.Integer.Type.signumInteger a11_szEc of sat_szEp { __DEFAULT -> case GHC.Integer.Type.andInteger fRepI_szE0 CLaSH.Sized.Fixed.$s^2 of sat_szEo { __DEFAULT -> case GHC.Integer.Type.timesInteger sat_szEo sat_szEp of sat_szEq { __DEFAULT -> case GHC.Real.$w$sreduce sat_szEq sat_szEr of _ [Occ=Dead] { (# ww2_szEt [Occ=Once], ww3_szEu [Occ=Once] #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww2_szEt ww3_szEu } } } } } } }; GHC.Types.True -> case GHC.Real.^3 of _ [Occ=Dead] { } } } }; GHC.Types.True -> case nF_szE3 of _ [Occ=Dead] { GHC.Types.I# x_szEx -> case GHC.Prim.<# x_szEx 0 of sat_szEy { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool sat_szEy of _ [Occ=Dead] { GHC.Types.False -> case case x_szEx of wild5_szEB { __DEFAULT -> GHC.Real.$wf1 lvl2_rxLn wild5_szEB; 0 -> GHC.Real.$fEnumRatio1 } of a11_szEA [Dmd=] { __DEFAULT -> case x_szEx of wild5_szEC { __DEFAULT -> case GHC.Integer.Type.absInteger a11_szEA of sat_szEI { __DEFAULT -> case GHC.Integer.Type.signumInteger a11_szEA of sat_szEG { __DEFAULT -> case GHC.Real.$wf1 lvl2_rxLn wild5_szEC of sat_szED { __DEFAULT -> case GHC.Integer.Type.minusInteger sat_szED lvl1_rxLm of sat_szEE { __DEFAULT -> case GHC.Integer.Type.andInteger fRepI_abs_szE2 sat_szEE of sat_szEF { __DEFAULT -> case GHC.Integer.Type.timesInteger sat_szEF sat_szEG of sat_szEH { __DEFAULT -> case GHC.Real.$w$sreduce sat_szEH sat_szEI of _ [Occ=Dead] { (# ww2_szEK [Occ=Once], ww3_szEL [Occ=Once] #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww2_szEK ww3_szEL } } } } } } }; 0 -> case GHC.Integer.Type.absInteger a11_szEA of sat_szEP { __DEFAULT -> case GHC.Integer.Type.signumInteger a11_szEA of sat_szEN { __DEFAULT -> case GHC.Integer.Type.andInteger fRepI_abs_szE2 CLaSH.Sized.Fixed.$s^2 of sat_szEM { __DEFAULT -> case GHC.Integer.Type.timesInteger sat_szEM sat_szEN of sat_szEO { __DEFAULT -> case GHC.Real.$w$sreduce sat_szEO sat_szEP of _ [Occ=Dead] { (# ww2_szER [Occ=Once], ww3_szES [Occ=Once] #) -> GHC.Real.:% @ GHC.Integer.Type.Integer ww2_szER ww3_szES } } } } } } }; GHC.Types.True -> case GHC.Real.^3 of _ [Occ=Dead] { } } } } } } } in let { sat_szEV [Occ=Once] :: (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) [LclId, Str=DmdType] sat_szEV = (lvl11_rxLI, sat_szEU) } in case GHC.List.iterateFB @ (GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer) @ [(GHC.Types.Int, GHC.Real.Ratio GHC.Integer.Type.Integer)] lvl12_rxLJ lvl10_rxLH sat_szEV of _ [Occ=Dead] { [] -> case Data.Maybe.fromJust1 of _ [Occ=Dead] { }; : a11_szEY [Occ=Once!] _ [Occ=Dead] -> case a11_szEY of _ [Occ=Dead] { (ww2_szF1 [Occ=Once!], ww3_szF2 [Occ=Once!]) -> case ww2_szF1 of _ [Occ=Dead] { GHC.Types.I# ww5_szF4 [Occ=Once] -> case ww3_szF2 of _ [Occ=Dead] { GHC.Real.:% ww7_szF6 [Occ=Once] _ [Occ=Dead] -> case GHC.Show.$w$cshowsPrec 0 ww7_szF6 (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead] { (# ww10_szF9, ww11_szFa #) -> let { str_szFb :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=OtherCon []] str_szFb = GHC.Types.: @ GHC.Types.Char ww10_szF9 ww11_szFa } in case GHC.List.$wlenAcc @ GHC.Types.Char str_szFb 0 of ww12_szFc { __DEFAULT -> case GHC.Prim.-# ww5_szF4 ww12_szFc of n#_szFd { __DEFAULT -> case GHC.Prim.<=# n#_szFd 0 of sat_szFe { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool sat_szFe of _ [Occ=Dead] { GHC.Types.False -> let { lvl17_szFg [Occ=OnceL] :: [GHC.Types.Char] [LclId, Str=DmdType, Unf=OtherCon []] lvl17_szFg = GHC.Types.: @ GHC.Types.Char lvl9_rxLE str_szFb } in letrec { xs_szFh [Occ=LoopBreaker] :: GHC.Prim.Int# -> [GHC.Types.Char] [LclId, Arity=1, Str=DmdType , Unf=OtherCon []] xs_szFh = \ (m_szFi :: GHC.Prim.Int#) -> case GHC.Prim.<=# m_szFi 1 of sat_szFj { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool sat_szFj of _ [Occ=Dead] { GHC.Types.False -> let { sat_szFm [Occ=Once] :: [GHC.Types.Char] [LclId, Str=DmdType] sat_szFm = case GHC.Prim.-# m_szFi 1 of sat_szFl { __DEFAULT -> xs_szFh sat_szFl } } in GHC.Types.: @ GHC.Types.Char lvl9_rxLE sat_szFm; GHC.Types.True -> lvl17_szFg } }; } in xs_szFh n#_szFd; GHC.Types.True -> str_szFb } } } } } } } } } } in case GHC.Prim.tagToEnum# @ GHC.Types.Bool wild_szE1 of _ [Occ=Dead] { GHC.Types.False -> case nF_szE3 of _ [Occ=Dead] { GHC.Types.I# x_szFp [Occ=Once] -> case GHC.Prim.negateInt# x_szFp of ww1_szFq { __DEFAULT -> case GHC.Prim.>=# ww1_szFq 0 of sat_szFr { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool sat_szFr of _ [Occ=Dead] { GHC.Types.False -> case GHC.Prim.negateInt# ww1_szFq of sat_szFt { __DEFAULT -> case GHC.Integer.Type.shiftRInteger fRepI_szE0 sat_szFt of sat_szFu { __DEFAULT -> case GHC.Show.$w$cshowsPrec 0 sat_szFu (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead] { (# ww3_szFw [Occ=Once], ww4_szFx [Occ=Once] #) -> let { sat_szFz [Occ=Once] :: [GHC.Types.Char] [LclId, Str=DmdType] sat_szFz = GHC.Types.: @ GHC.Types.Char lvl13_rxLK a10_szE5 } in let { sat_szFy [Occ=Once] :: [GHC.Types.Char] [LclId, Str=DmdType] sat_szFy = GHC.Types.: @ GHC.Types.Char ww3_szFw ww4_szFx } in GHC.Base.++ @ GHC.Types.Char sat_szFy sat_szFz } } }; GHC.Types.True -> case GHC.Integer.Type.shiftLInteger fRepI_szE0 ww1_szFq of sat_szFA { __DEFAULT -> case GHC.Show.$w$cshowsPrec 0 sat_szFA (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead] { (# ww3_szFC [Occ=Once], ww4_szFD [Occ=Once] #) -> let { sat_szFF [Occ=Once] :: [GHC.Types.Char] [LclId, Str=DmdType] sat_szFF = GHC.Types.: @ GHC.Types.Char lvl13_rxLK a10_szE5 } in let { sat_szFE [Occ=Once] :: [GHC.Types.Char] [LclId, Str=DmdType] sat_szFE = GHC.Types.: @ GHC.Types.Char ww3_szFC ww4_szFD } in GHC.Base.++ @ GHC.Types.Char sat_szFE sat_szFF } } } } } }; GHC.Types.True -> let { sat_szFW [Occ=Once] :: [GHC.Types.Char] [LclId, Str=DmdType] sat_szFW = GHC.Types.: @ GHC.Types.Char lvl13_rxLK a10_szE5 } in let { sat_szFU [Occ=Once] :: [GHC.Types.Char] [LclId, Str=DmdType] sat_szFU = case nF_szE3 of _ [Occ=Dead] { GHC.Types.I# x_szFH [Occ=Once] -> case GHC.Prim.negateInt# x_szFH of ww1_szFI { __DEFAULT -> case GHC.Prim.>=# ww1_szFI 0 of sat_szFJ { __DEFAULT -> case GHC.Prim.tagToEnum# @ GHC.Types.Bool sat_szFJ of _ [Occ=Dead] { GHC.Types.False -> case GHC.Prim.negateInt# ww1_szFI of sat_szFL { __DEFAULT -> case GHC.Integer.Type.shiftRInteger fRepI_abs_szE2 sat_szFL of sat_szFM { __DEFAULT -> case GHC.Show.$w$cshowsPrec 0 sat_szFM (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead] { (# ww3_szFO [Occ=Once], ww4_szFP [Occ=Once] #) -> GHC.Types.: @ GHC.Types.Char ww3_szFO ww4_szFP } } }; GHC.Types.True -> case GHC.Integer.Type.shiftLInteger fRepI_abs_szE2 ww1_szFI of sat_szFQ { __DEFAULT -> case GHC.Show.$w$cshowsPrec 0 sat_szFQ (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead] { (# ww3_szFS [Occ=Once], ww4_szFT [Occ=Once] #) -> GHC.Types.: @ GHC.Types.Char ww3_szFS ww4_szFT } } } } } } } in let { sat_szFV [Occ=Once] :: [GHC.Types.Char] [LclId, Str=DmdType] sat_szFV = GHC.Types.: @ GHC.Types.Char lvl8_rxLD sat_szFU } in GHC.Base.++ @ GHC.Types.Char sat_szFV sat_szFW } } } CLaSH.Sized.Fixed.$fShowFixed_$cshow [InlPrag=INLINE[0]] :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> GHC.Base.String [GblId, Arity=5, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$fShowFixed_$cshow = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) _ [Occ=Dead] _ [Occ=Dead] (w2_szFZ [Occ=Once] :: GHC.TypeLits.KnownNat frac_auHx) (w3_szG0 [Occ=Once!] :: GHC.Real.Integral (rep_auHy size_auHz)) (w4_szG1 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) -> case w3_szG0 of _ [Occ=Dead] { GHC.Real.D:Integral _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] ww9_szGb [Occ=Once] -> CLaSH.Sized.Fixed.$w$cshow @ frac_auHx @ rep_auHy @ size_auHz w2_szFZ ww9_szGb w4_szG1 } CLaSH.Sized.Fixed.$fShowFixed_$cshowsPrec :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => GHC.Types.Int -> CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> GHC.Show.ShowS [GblId, Arity=7, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$fShowFixed_$cshowsPrec = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) _ [Occ=Dead] _ [Occ=Dead] ($dKnownNat_szGe [Occ=Once] :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_szGf [Occ=Once!] :: GHC.Real.Integral (rep_auHy size_auHz)) _ [Occ=Dead] (x_szGh [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (s_szGi [Occ=Once] :: GHC.Base.String) -> case $dIntegral_szGf of _ [Occ=Dead] { GHC.Real.D:Integral _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] ww9_szGs [Occ=Once] -> case CLaSH.Sized.Fixed.$w$cshow @ frac_auHx @ rep_auHy @ size_auHz $dKnownNat_szGe ww9_szGs x_szGh of sat_szGt { __DEFAULT -> GHC.Base.++ @ GHC.Types.Char sat_szGt s_szGi } } CLaSH.Sized.Fixed.$w$cshowList :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz] -> GHC.Base.String -> GHC.Base.String [GblId, Arity=4, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$w$cshowList = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) (w_szGu [Occ=OnceL] :: GHC.TypeLits.KnownNat frac_auHx) (w1_szGv [Occ=OnceL!] :: GHC.Real.Integral (rep_auHy size_auHz)) (w2_szGw [Occ=Once] :: [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz]) (w3_szGx [Occ=Once] :: GHC.Base.String) -> let { sat_szGL [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> GHC.Show.ShowS [LclId, Str=DmdType] sat_szGL = \ (x_szGy [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (s_szGz [Occ=Once] :: GHC.Base.String) -> case w1_szGv of _ [Occ=Dead] { GHC.Real.D:Integral _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] ww9_szGJ [Occ=Once] -> case CLaSH.Sized.Fixed.$w$cshow @ frac_auHx @ rep_auHy @ size_auHz w_szGu ww9_szGJ x_szGy of sat_szGK { __DEFAULT -> GHC.Base.++ @ GHC.Types.Char sat_szGK s_szGz } } } in GHC.Show.showList__ @ (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) sat_szGL w2_szGw w3_szGx CLaSH.Sized.Fixed.$fShowFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auHx :: GHC.TypeLits.Nat) (rep_auHy :: GHC.TypeLits.Nat -> *) (size_auHz :: GHC.TypeLits.Nat). (GHC.Show.Show (rep_auHy size_auHz), Data.Bits.Bits (rep_auHy size_auHz), GHC.TypeLits.KnownNat frac_auHx, GHC.Real.Integral (rep_auHy size_auHz)) => GHC.Show.Show (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) [GblId[DFunId], Arity=4, Str=DmdType m, Unf=OtherCon []] CLaSH.Sized.Fixed.$fShowFixed = \ (@ (frac_auHx :: GHC.TypeLits.Nat)) (@ (rep_auHy :: GHC.TypeLits.Nat -> *)) (@ (size_auHz :: GHC.TypeLits.Nat)) ($dShow_szGM :: GHC.Show.Show (rep_auHy size_auHz)) ($dBits_szGN :: Data.Bits.Bits (rep_auHy size_auHz)) ($dKnownNat_szGO :: GHC.TypeLits.KnownNat frac_auHx) ($dIntegral_szGP :: GHC.Real.Integral (rep_auHy size_auHz)) -> let { sat_szGU [Occ=Once] :: [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz] -> GHC.Show.ShowS [LclId, Str=DmdType] sat_szGU = \ (w_szGS [Occ=Once] :: [CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz]) (w1_szGT [Occ=Once] :: GHC.Base.String) -> CLaSH.Sized.Fixed.$w$cshowList @ frac_auHx @ rep_auHy @ size_auHz $dKnownNat_szGO $dIntegral_szGP w_szGS w1_szGT } in let { sat_szGR [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> GHC.Base.String [LclId, Str=DmdType] sat_szGR = \ (eta_B1 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) -> CLaSH.Sized.Fixed.$fShowFixed_$cshow @ frac_auHx @ rep_auHy @ size_auHz $dShow_szGM $dBits_szGN $dKnownNat_szGO $dIntegral_szGP eta_B1 } in let { sat_szGQ [Occ=Once] :: GHC.Types.Int -> CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz -> GHC.Show.ShowS [LclId, Str=DmdType] sat_szGQ = \ (eta_B3 [Occ=Once] :: GHC.Types.Int) (eta_B2 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) (eta_B1 [Occ=Once] :: GHC.Base.String) -> CLaSH.Sized.Fixed.$fShowFixed_$cshowsPrec @ frac_auHx @ rep_auHy @ size_auHz $dShow_szGM $dBits_szGN $dKnownNat_szGO $dIntegral_szGP eta_B3 eta_B2 eta_B1 } in GHC.Show.D:Show @ (CLaSH.Sized.Fixed.Fixed frac_auHx rep_auHy size_auHz) sat_szGQ sat_szGR sat_szGU CLaSH.Sized.Fixed.$fMultFixedFixed1 :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu) [GblId, Arity=3, Caf=NoCafRefs, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$fMultFixedFixed1 = \ (@ (frac1_auHq :: GHC.TypeLits.Nat)) (@ (rep_auHr :: GHC.TypeLits.Nat -> *)) (@ (size1_auHs :: GHC.TypeLits.Nat)) (@ (frac2_auHt :: GHC.TypeLits.Nat)) (@ (size2_auHu :: GHC.TypeLits.Nat)) (tup_szGV [Occ=Once!] :: CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) (eta_szGW [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (eta1_szGX [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) -> case tup_szGV of _ [Occ=Dead] { (tpl_szGZ [Occ=Once], tpl1_szH0 [Occ=Once!]) -> case tpl1_szH0 of _ [Occ=Dead] { GHC.Types.Eq# cobox1_dw3M -> ((tpl_szGZ `cast` (CLaSH.Class.Num.NTCo:Mult[0] _N _N :: CLaSH.Class.Num.Mult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# (rep_auHr size1_auHs -> rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu)))) (eta_szGW `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs ~# rep_auHr size1_auHs)) (eta1_szGX `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu ~# rep_auHr size2_auHu))) `cast` (Sub cobox1_dw3M :: CLaSH.Class.Num.MResult (rep_auHr size1_auHs) (rep_auHr size2_auHu) ~# rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) } } CLaSH.Sized.Fixed.$fMultFixedFixed_$cmult :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) [GblId, Arity=3, Caf=NoCafRefs, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$fMultFixedFixed_$cmult = (\ (@ (frac1_auHq :: GHC.TypeLits.Nat)) (@ (rep_auHr :: GHC.TypeLits.Nat -> *)) (@ (size1_auHs :: GHC.TypeLits.Nat)) (@ (frac2_auHt :: GHC.TypeLits.Nat)) (@ (size2_auHu :: GHC.TypeLits.Nat)) (eta_B3 [Occ=Once] :: CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) (eta_B2 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (eta_B1 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) -> CLaSH.Sized.Fixed.$fMultFixedFixed1 @ frac1_auHq @ rep_auHr @ size1_auHs @ frac2_auHt @ size2_auHu eta_B3 eta_B2 eta_B1) `cast` (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). _R -> _R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:MResultFixedFixed[0] _N _N _N _N _N)) :: (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) ~# (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> CLaSH.Class.Num.MResult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu))) CLaSH.Sized.Fixed.$fMultFixedFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) [GblId[DFunId(nt)], Arity=3, Caf=NoCafRefs, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$fMultFixedFixed = (\ (@ (frac1_auHq :: GHC.TypeLits.Nat)) (@ (rep_auHr :: GHC.TypeLits.Nat -> *)) (@ (size1_auHs :: GHC.TypeLits.Nat)) (@ (frac2_auHt :: GHC.TypeLits.Nat)) (@ (size2_auHu :: GHC.TypeLits.Nat)) (eta_B3 [Occ=Once] :: CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) (eta_B2 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (eta_B1 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu) -> CLaSH.Sized.Fixed.$fMultFixedFixed1 @ frac1_auHq @ rep_auHr @ size1_auHs @ frac2_auHt @ size2_auHu eta_B3 eta_B2 eta_B1) `cast` (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). _R -> (_R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:MResultFixedFixed[0] _N _N _N _N _N))) ; Sym (CLaSH.Class.Num.NTCo:Mult[0] _N _N) :: (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs -> CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu -> rep_auHr (size1_auHs GHC.TypeLits.+ size2_auHu)) ~# (forall (frac1_auHq :: GHC.TypeLits.Nat) (rep_auHr :: GHC.TypeLits.Nat -> *) (size1_auHs :: GHC.TypeLits.Nat) (frac2_auHt :: GHC.TypeLits.Nat) (size2_auHu :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.MultFixed rep_auHr frac1_auHq frac2_auHt size1_auHs size2_auHu) => CLaSH.Class.Num.Mult (CLaSH.Sized.Fixed.Fixed frac1_auHq rep_auHr size1_auHs) (CLaSH.Sized.Fixed.Fixed frac2_auHt rep_auHr size2_auHu))) CLaSH.Sized.Fixed.$w$cminus :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1), CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) => (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) -> CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [GblId, Arity=5, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$w$cminus = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (ww_szH2 [Occ=Once!] :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (ww1_szH3 :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (ww2_szH4 [Occ=Once!] :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (w_szH5 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w1_szH6 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> let { $dKnownNat_szH7 :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) [LclId, Str=DmdType] $dKnownNat_szH7 = case ww1_szH3 of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl9_szHi [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> tpl9_szHi } } in let { $dBits_szHl [Dmd=] :: Data.Bits.Bits (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType] $dBits_szHl = case ww1_szH3 of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl8_szHv [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl8_szHv } } in let { $dKnownNat1_szHz :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] $dKnownNat1_szHz = case ww1_szH3 of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl6_szHH [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl6_szHH } } in let { $dResize_szHN [Dmd=] :: CLaSH.Class.Num.Resize rep_auHe [LclId, Str=DmdType] $dResize_szHN = case ww1_szH3 of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl5_szHU [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl5_szHU } } in let { $dBounded_szI1 [Dmd=] :: GHC.Enum.Bounded (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType] $dBounded_szI1 = case ww1_szH3 of _ [Occ=Dead] { (tpl_szI3 [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_szI3 } } in let { sat_szIG [Occ=Once] :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] sat_szIG = case ww1_szH3 of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], tpl2_szIw [Occ=Once], tpl3_szIx [Occ=Once], tpl4_szIy [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], tpl7_szIB [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], tpl10_szIE [Occ=Once], _ [Occ=Dead]) -> (CLaSH.Sized.Fixed.$wresizeF @ frac2_auHg @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size2_auHh @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) $dBounded_szI1 tpl2_szIw tpl3_szIx tpl4_szIy $dResize_szHN $dKnownNat1_szHz tpl7_szIB $dBits_szHl $dKnownNat_szH7 tpl10_szIE w1_szH6) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) } } in let { sat_szIs [Occ=Once] :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] sat_szIs = case ww_szH2 of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], tpl2_szIi [Occ=Once], tpl3_szIj [Occ=Once], tpl4_szIk [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], tpl7_szIn [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], tpl10_szIq [Occ=Once], _ [Occ=Dead]) -> (CLaSH.Sized.Fixed.$wresizeF @ frac1_auHd @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size1_auHf @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) $dBounded_szI1 tpl2_szIi tpl3_szIj tpl4_szIk $dResize_szHN $dKnownNat1_szHz tpl7_szIn $dBits_szHl $dKnownNat_szH7 tpl10_szIq w_szH5) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) } } in (ww2_szH4 sat_szIs sat_szIG) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:AResultFixedFixed[0] _N _N _N _N _N)) :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh)) CLaSH.Sized.Fixed.$fAddFixedFixed_$cminus [InlPrag=INLINE[0]] :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [GblId, Arity=3, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$fAddFixedFixed_$cminus = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (w_szIH [Occ=Once!] :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (w1_szII [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w2_szIJ [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> case w_szIH of _ [Occ=Dead] { (ww1_szIL [Occ=Once], ww2_szIM [Occ=Once], ww3_szIN [Occ=Once!]) -> case ww3_szIN of _ [Occ=Dead] { GHC.Num.D:Num _ [Occ=Dead] _ [Occ=Dead] ww7_szIR [Occ=Once] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> CLaSH.Sized.Fixed.$w$cminus @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh ww1_szIL ww2_szIM ww7_szIR w1_szII w2_szIJ } } CLaSH.Sized.Fixed.$w$cplus :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1), CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) => (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) -> CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [GblId, Arity=5, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$w$cplus = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (ww_szIW [Occ=Once!] :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac1_auHd (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size1_auHf (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (ww1_szIX :: CLaSH.Sized.Fixed.ResizeFC rep_auHe frac2_auHg (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) size2_auHh (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (ww2_szIY [Occ=Once!] :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) -> rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) (w_szIZ [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w1_szJ0 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> let { $dKnownNat_szJ1 :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) [LclId, Str=DmdType] $dKnownNat_szJ1 = case ww1_szIX of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl9_szJc [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> tpl9_szJc } } in let { $dBits_szJf [Dmd=] :: Data.Bits.Bits (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType] $dBits_szJf = case ww1_szIX of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl8_szJp [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl8_szJp } } in let { $dKnownNat1_szJt :: GHC.TypeLits.KnownNat (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] $dKnownNat1_szJt = case ww1_szIX of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl6_szJB [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl6_szJB } } in let { $dResize_szJH [Dmd=] :: CLaSH.Class.Num.Resize rep_auHe [LclId, Str=DmdType] $dResize_szJH = case ww1_szIX of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl5_szJO [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl5_szJO } } in let { $dBounded_szJV [Dmd=] :: GHC.Enum.Bounded (rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) [LclId, Str=DmdType] $dBounded_szJV = case ww1_szIX of _ [Occ=Dead] { (tpl_szJX [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_szJX } } in let { sat_szKA [Occ=Once] :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] sat_szKA = case ww1_szIX of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], tpl2_szKq [Occ=Once], tpl3_szKr [Occ=Once], tpl4_szKs [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], tpl7_szKv [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], tpl10_szKy [Occ=Once], _ [Occ=Dead]) -> (CLaSH.Sized.Fixed.$wresizeF @ frac2_auHg @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size2_auHh @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) $dBounded_szJV tpl2_szKq tpl3_szKr tpl4_szKs $dResize_szJH $dKnownNat1_szJt tpl7_szKv $dBits_szJf $dKnownNat_szJ1 tpl10_szKy w1_szJ0) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) } } in let { sat_szKm [Occ=Once] :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) [LclId, Str=DmdType] sat_szKm = case ww_szIW of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], tpl2_szKc [Occ=Once], tpl3_szKd [Occ=Once], tpl4_szKe [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], tpl7_szKh [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], tpl10_szKk [Occ=Once], _ [Occ=Dead]) -> (CLaSH.Sized.Fixed.$wresizeF @ frac1_auHd @ (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) @ rep_auHe @ size1_auHf @ (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) $dBounded_szJV tpl2_szKc tpl3_szKd tpl4_szKe $dResize_szJH $dKnownNat1_szJt tpl7_szKh $dBits_szJf $dKnownNat_szJ1 tpl10_szKk w_szIZ) `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed (CLaSH.Promoted.Ord.Max frac1_auHd frac2_auHg) rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1)) } } in (ww2_szIY sat_szKm sat_szKA) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sub (Sym (CLaSH.Sized.Fixed.TFCo:R:AResultFixedFixed[0] _N _N _N _N _N)) :: rep_auHe (CLaSH.Promoted.Ord.Max size1_auHf size2_auHh GHC.TypeLits.+ 1) ~# CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh)) CLaSH.Sized.Fixed.$fAddFixedFixed_$cplus [InlPrag=INLINE[0]] :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [GblId, Arity=3, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$fAddFixedFixed_$cplus = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (w_szKB [Occ=Once!] :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) (w1_szKC [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (w2_szKD [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> case w_szKB of _ [Occ=Dead] { (ww1_szKF [Occ=Once], ww2_szKG [Occ=Once], ww3_szKH [Occ=Once!]) -> case ww3_szKH of _ [Occ=Dead] { GHC.Num.D:Num ww5_szKJ [Occ=Once] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> CLaSH.Sized.Fixed.$w$cplus @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh ww1_szKF ww2_szKG ww5_szKJ w1_szKC w2_szKD } } CLaSH.Sized.Fixed.$fAddFixedFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac1_auHd :: GHC.TypeLits.Nat) (rep_auHe :: GHC.TypeLits.Nat -> *) (size1_auHf :: GHC.TypeLits.Nat) (frac2_auHg :: GHC.TypeLits.Nat) (size2_auHh :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) => CLaSH.Class.Num.Add (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [GblId[DFunId], Arity=1, Str=DmdType m, Unf=OtherCon []] CLaSH.Sized.Fixed.$fAddFixedFixed = \ (@ (frac1_auHd :: GHC.TypeLits.Nat)) (@ (rep_auHe :: GHC.TypeLits.Nat -> *)) (@ (size1_auHf :: GHC.TypeLits.Nat)) (@ (frac2_auHg :: GHC.TypeLits.Nat)) (@ (size2_auHh :: GHC.TypeLits.Nat)) (tup_szKQ :: CLaSH.Sized.Fixed.AddFixed rep_auHe frac1_auHd frac2_auHg size1_auHf size2_auHh) -> let { sat_szKS [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclId, Str=DmdType] sat_szKS = \ (eta_B2 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (eta_B1 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> CLaSH.Sized.Fixed.$fAddFixedFixed_$cminus @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_szKQ eta_B2 eta_B1 } in let { sat_szKR [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf -> CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh -> CLaSH.Class.Num.AResult (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) [LclId, Str=DmdType] sat_szKR = \ (eta_B2 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) (eta_B1 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) -> CLaSH.Sized.Fixed.$fAddFixedFixed_$cplus @ frac1_auHd @ rep_auHe @ size1_auHf @ frac2_auHg @ size2_auHh tup_szKQ eta_B2 eta_B1 } in CLaSH.Class.Num.D:Add @ (CLaSH.Sized.Fixed.Fixed frac1_auHd rep_auHe size1_auHf) @ (CLaSH.Sized.Fixed.Fixed frac2_auHg rep_auHe size2_auHh) sat_szKR sat_szKS CLaSH.Sized.Fixed.$fNumFixed_$cfromInteger [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => GHC.Integer.Type.Integer -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [GblId, Arity=2, Caf=NoCafRefs, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$fNumFixed_$cfromInteger = \ (@ (frac_XuKb :: GHC.TypeLits.Nat)) (@ (rep_XuKd :: GHC.TypeLits.Nat -> *)) (@ (size_XuKf :: GHC.TypeLits.Nat)) (w_szKT [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKb rep_XuKd size_XuKf) (w1_szKU [Occ=Once] :: GHC.Integer.Type.Integer) -> case w_szKT of _ [Occ=Dead] { (_ [Occ=Dead], ww2_szKX [Occ=Once!], ww3_szKY [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> case ww2_szKX of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], ww16_szLb [Occ=Once!], ww17_szLc [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> case ww16_szLb of _ [Occ=Dead] { Data.Bits.D:Bits _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] ww37_szLw [Occ=Once!] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> let { sat_szLF [Occ=Once] :: GHC.Types.Int [LclId, Str=DmdType] sat_szLF = case GHC.Integer.Type.integerToInt (ww17_szLc `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_XuKb ~# GHC.Integer.Type.Integer)) of wild_szLE { __DEFAULT -> GHC.Types.I# wild_szLE } } in let { sat_szLD [Occ=Once] :: rep_XuKd size_XuKf [LclId, Str=DmdType] sat_szLD = GHC.Num.fromInteger @ (rep_XuKd size_XuKf) ww3_szKY w1_szKU } in (ww37_szLw sat_szLD sat_szLF) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKd size_XuKf ~# CLaSH.Sized.Fixed.Fixed frac_XuKb rep_XuKd size_XuKf) } } } CLaSH.Sized.Fixed.$fNumFixed1 :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> rep_auGZ size_auH0 [GblId, Arity=2, Caf=NoCafRefs, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$fNumFixed1 = \ (@ (frac_XuKc :: GHC.TypeLits.Nat)) (@ (rep_XuKe :: GHC.TypeLits.Nat -> *)) (@ (size_XuKg :: GHC.TypeLits.Nat)) (tup_szLG [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKc rep_XuKe size_XuKg) (eta_szLH [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKc rep_XuKe size_XuKg) -> case tup_szLG of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], tpl2_szLL [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> GHC.Num.signum @ (rep_XuKe size_XuKg) tpl2_szLL (eta_szLH `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKc rep_XuKe size_XuKg ~# rep_XuKe size_XuKg)) } CLaSH.Sized.Fixed.$w$cabs :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (1 GHC.TypeLits.<= size_auH0, ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_auH0 GHC.TypeLits.+ 2), CLaSH.Class.BitVector.BitVector (rep_auGZ size_auH0), CLaSH.Class.BitVector.BitVector (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0) ~ size_auH0, CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) ~ (size_auH0 GHC.TypeLits.+ 2), GHC.TypeLits.KnownNat size_auH0, GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ 2), GHC.Enum.Bounded (rep_auGZ size_auH0), Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0, GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [GblId, Arity=13, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$w$cabs = \ (@ (frac_XuKd :: GHC.TypeLits.Nat)) (@ (rep_XuKf :: GHC.TypeLits.Nat -> *)) (@ (size_XuKh :: GHC.TypeLits.Nat)) _ [Occ=Dead] (ww1_szLQ [Occ=Once!] :: ((size_XuKh GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_XuKh GHC.TypeLits.+ 2)) (ww2_szLR [Occ=Once] :: CLaSH.Class.BitVector.BitVector (rep_XuKf size_XuKh)) (ww3_szLS [Occ=Once!] :: CLaSH.Class.BitVector.BitVector (rep_XuKf (size_XuKh GHC.TypeLits.+ 2))) (ww4_szLT [Occ=Once] :: CLaSH.Class.BitVector.BitSize (rep_XuKf size_XuKh) ~ size_XuKh) (ww5_szLU [Occ=Once!] :: CLaSH.Class.BitVector.BitSize (rep_XuKf (size_XuKh GHC.TypeLits.+ 2)) ~ (size_XuKh GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww7_szLW :: GHC.TypeLits.KnownNat (size_XuKh GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww9_szLY [Occ=Once!] :: Data.Bits.Bits (rep_XuKf (size_XuKh GHC.TypeLits.+ 2))) (ww10_szLZ :: CLaSH.Sized.Fixed.ResizeFC rep_XuKf (frac_XuKd GHC.TypeLits.+ frac_XuKd) frac_XuKd (size_XuKh GHC.TypeLits.+ size_XuKh) size_XuKh) (ww11_szM0 [Occ=Once] :: GHC.Num.Num (rep_XuKf (size_XuKh GHC.TypeLits.+ 2))) (w_szM1 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKd rep_XuKf size_XuKh) -> case ww1_szLQ of _ [Occ=Dead] { GHC.Types.Eq# ww13_sxgE -> case ww3_szLS of _ [Occ=Dead] { CLaSH.Class.BitVector.D:BitVector ww15_szM4 [Occ=Once] _ [Occ=Dead] -> case ww5_szLU of ww17_szM6 { GHC.Types.Eq# _ [Occ=Dead] -> case ww9_szLY of _ [Occ=Dead] { Data.Bits.D:Bits _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] ww34_szMn [Occ=Once] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> let { $dKnownNat_szMv :: GHC.TypeLits.KnownNat size_XuKh [LclId, Str=DmdType] $dKnownNat_szMv = case ww10_szLZ of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl6_szMD [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl6_szMD } } in let { sat_szNb [Occ=Once] :: rep_XuKf (size_XuKh GHC.TypeLits.+ 2) [LclId, Str=DmdType] sat_szNb = let { sat_szNa [Occ=Once] :: rep_XuKf (size_XuKh GHC.TypeLits.+ 2) [LclId, Str=DmdType] sat_szNa = case ww10_szLZ of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl5_szN3 [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> (tpl5_szN3 `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKf ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKf a_ae8M -> rep_XuKf b_ae8N))) @ size_XuKh @ (size_XuKh GHC.TypeLits.+ 2) $dKnownNat_szMv ww7_szLW (w_szM1 `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKd rep_XuKf size_XuKh ~# rep_XuKf size_XuKh)) } } in GHC.Num.abs @ (rep_XuKf (size_XuKh GHC.TypeLits.+ 2)) ww11_szM0 sat_szNa } in let { sat_szMW [Occ=Once] :: GHC.Enum.Bounded (rep_XuKf size_XuKh) [LclId, Str=DmdType] sat_szMW = case ww10_szLZ of _ [Occ=Dead] { (tpl_szMK [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_szMK } } in (CLaSH.Sized.Fixed.$wsatN2 @ rep_XuKf @ size_XuKh @~ ww13_sxgE ww2_szLR ww15_szM4 ww4_szLT ww17_szM6 $dKnownNat_szMv ww7_szLW sat_szMW ww34_szMn sat_szNb) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKf size_XuKh ~# CLaSH.Sized.Fixed.Fixed frac_XuKd rep_XuKf size_XuKh) } } } } CLaSH.Sized.Fixed.$fNumFixed_$cabs [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [GblId, Arity=2, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$fNumFixed_$cabs = \ (@ (frac_XuKe :: GHC.TypeLits.Nat)) (@ (rep_XuKg :: GHC.TypeLits.Nat -> *)) (@ (size_XuKi :: GHC.TypeLits.Nat)) (w_szNc [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKe rep_XuKg size_XuKi) (w1_szNd [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKe rep_XuKg size_XuKi) -> case w_szNc of _ [Occ=Dead] { (ww1_szNf [Occ=Once!], ww2_szNg [Occ=Once], _ [Occ=Dead], ww4_szNi [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> case ww1_szNf of _ [Occ=Dead] { (ww8_szNm [Occ=Once], ww9_szNn [Occ=Once], ww10_szNo [Occ=Once], ww11_szNp [Occ=Once], ww12_szNq [Occ=Once], ww13_szNr [Occ=Once], ww14_szNs [Occ=Once], ww15_szNt [Occ=Once], ww16_szNu [Occ=Once], ww17_szNv [Occ=Once]) -> CLaSH.Sized.Fixed.$w$cabs @ frac_XuKe @ rep_XuKg @ size_XuKi ww8_szNm ww9_szNn ww10_szNo ww11_szNp ww12_szNq ww13_szNr ww14_szNs ww15_szNt ww16_szNu ww17_szNv ww2_szNg ww4_szNi w1_szNd } } CLaSH.Sized.Fixed.$w$cnegate :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (1 GHC.TypeLits.<= size_auH0, ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_auH0 GHC.TypeLits.+ 2), CLaSH.Class.BitVector.BitVector (rep_auGZ size_auH0), CLaSH.Class.BitVector.BitVector (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0) ~ size_auH0, CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) ~ (size_auH0 GHC.TypeLits.+ 2), GHC.TypeLits.KnownNat size_auH0, GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ 2), GHC.Enum.Bounded (rep_auGZ size_auH0), Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0, GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [GblId, Arity=13, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$w$cnegate = \ (@ (frac_XuKf :: GHC.TypeLits.Nat)) (@ (rep_XuKh :: GHC.TypeLits.Nat -> *)) (@ (size_XuKj :: GHC.TypeLits.Nat)) _ [Occ=Dead] (ww1_szNx [Occ=Once!] :: ((size_XuKj GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_XuKj GHC.TypeLits.+ 2)) (ww2_szNy [Occ=Once] :: CLaSH.Class.BitVector.BitVector (rep_XuKh size_XuKj)) (ww3_szNz [Occ=Once!] :: CLaSH.Class.BitVector.BitVector (rep_XuKh (size_XuKj GHC.TypeLits.+ 2))) (ww4_szNA [Occ=Once] :: CLaSH.Class.BitVector.BitSize (rep_XuKh size_XuKj) ~ size_XuKj) (ww5_szNB [Occ=Once!] :: CLaSH.Class.BitVector.BitSize (rep_XuKh (size_XuKj GHC.TypeLits.+ 2)) ~ (size_XuKj GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww7_szND :: GHC.TypeLits.KnownNat (size_XuKj GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww9_szNF [Occ=Once!] :: Data.Bits.Bits (rep_XuKh (size_XuKj GHC.TypeLits.+ 2))) (ww10_szNG :: CLaSH.Sized.Fixed.ResizeFC rep_XuKh (frac_XuKf GHC.TypeLits.+ frac_XuKf) frac_XuKf (size_XuKj GHC.TypeLits.+ size_XuKj) size_XuKj) (ww11_szNH [Occ=Once] :: GHC.Num.Num (rep_XuKh (size_XuKj GHC.TypeLits.+ 2))) (w_szNI [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKf rep_XuKh size_XuKj) -> case ww1_szNx of _ [Occ=Dead] { GHC.Types.Eq# ww13_sxhP -> case ww3_szNz of _ [Occ=Dead] { CLaSH.Class.BitVector.D:BitVector ww15_szNL [Occ=Once] _ [Occ=Dead] -> case ww5_szNB of ww17_szNN { GHC.Types.Eq# _ [Occ=Dead] -> case ww9_szNF of _ [Occ=Dead] { Data.Bits.D:Bits _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] ww34_szO4 [Occ=Once] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> let { $dKnownNat_szOc :: GHC.TypeLits.KnownNat size_XuKj [LclId, Str=DmdType] $dKnownNat_szOc = case ww10_szNG of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl6_szOk [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl6_szOk } } in let { sat_szOS [Occ=Once] :: rep_XuKh (size_XuKj GHC.TypeLits.+ 2) [LclId, Str=DmdType] sat_szOS = let { sat_szOR [Occ=Once] :: rep_XuKh (size_XuKj GHC.TypeLits.+ 2) [LclId, Str=DmdType] sat_szOR = case ww10_szNG of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl5_szOK [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> (tpl5_szOK `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKh ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKh a_ae8M -> rep_XuKh b_ae8N))) @ size_XuKj @ (size_XuKj GHC.TypeLits.+ 2) $dKnownNat_szOc ww7_szND (w_szNI `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKf rep_XuKh size_XuKj ~# rep_XuKh size_XuKj)) } } in GHC.Num.negate @ (rep_XuKh (size_XuKj GHC.TypeLits.+ 2)) ww11_szNH sat_szOR } in let { sat_szOD [Occ=Once] :: GHC.Enum.Bounded (rep_XuKh size_XuKj) [LclId, Str=DmdType] sat_szOD = case ww10_szNG of _ [Occ=Dead] { (tpl_szOr [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_szOr } } in (CLaSH.Sized.Fixed.$wsatN2 @ rep_XuKh @ size_XuKj @~ ww13_sxhP ww2_szNy ww15_szNL ww4_szNA ww17_szNN $dKnownNat_szOc ww7_szND sat_szOD ww34_szO4 sat_szOS) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKh size_XuKj ~# CLaSH.Sized.Fixed.Fixed frac_XuKf rep_XuKh size_XuKj) } } } } CLaSH.Sized.Fixed.$fNumFixed_$cnegate [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [GblId, Arity=2, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$fNumFixed_$cnegate = \ (@ (frac_XuKg :: GHC.TypeLits.Nat)) (@ (rep_XuKi :: GHC.TypeLits.Nat -> *)) (@ (size_XuKk :: GHC.TypeLits.Nat)) (w_szOT [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKg rep_XuKi size_XuKk) (w1_szOU [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKg rep_XuKi size_XuKk) -> case w_szOT of _ [Occ=Dead] { (ww1_szOW [Occ=Once!], ww2_szOX [Occ=Once], _ [Occ=Dead], ww4_szOZ [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> case ww1_szOW of _ [Occ=Dead] { (ww8_szP3 [Occ=Once], ww9_szP4 [Occ=Once], ww10_szP5 [Occ=Once], ww11_szP6 [Occ=Once], ww12_szP7 [Occ=Once], ww13_szP8 [Occ=Once], ww14_szP9 [Occ=Once], ww15_szPa [Occ=Once], ww16_szPb [Occ=Once], ww17_szPc [Occ=Once]) -> CLaSH.Sized.Fixed.$w$cnegate @ frac_XuKg @ rep_XuKi @ size_XuKk ww8_szP3 ww9_szP4 ww10_szP5 ww11_szP6 ww12_szP7 ww13_szP8 ww14_szP9 ww15_szPa ww16_szPb ww17_szPc ww2_szOX ww4_szOZ w1_szOU } } CLaSH.Sized.Fixed.$w$c- :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (1 GHC.TypeLits.<= size_auH0, ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_auH0 GHC.TypeLits.+ 2), CLaSH.Class.BitVector.BitVector (rep_auGZ size_auH0), CLaSH.Class.BitVector.BitVector (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0) ~ size_auH0, CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) ~ (size_auH0 GHC.TypeLits.+ 2), GHC.TypeLits.KnownNat size_auH0, GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ 2), GHC.Enum.Bounded (rep_auGZ size_auH0), Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0, GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [GblId, Arity=14, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$w$c- = \ (@ (frac_XuKh :: GHC.TypeLits.Nat)) (@ (rep_XuKj :: GHC.TypeLits.Nat -> *)) (@ (size_XuKl :: GHC.TypeLits.Nat)) _ [Occ=Dead] (ww1_szPe [Occ=Once!] :: ((size_XuKl GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_XuKl GHC.TypeLits.+ 2)) (ww2_szPf [Occ=Once] :: CLaSH.Class.BitVector.BitVector (rep_XuKj size_XuKl)) (ww3_szPg [Occ=Once!] :: CLaSH.Class.BitVector.BitVector (rep_XuKj (size_XuKl GHC.TypeLits.+ 2))) (ww4_szPh [Occ=Once] :: CLaSH.Class.BitVector.BitSize (rep_XuKj size_XuKl) ~ size_XuKl) (ww5_szPi [Occ=Once!] :: CLaSH.Class.BitVector.BitSize (rep_XuKj (size_XuKl GHC.TypeLits.+ 2)) ~ (size_XuKl GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww7_szPk :: GHC.TypeLits.KnownNat (size_XuKl GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww9_szPm [Occ=Once!] :: Data.Bits.Bits (rep_XuKj (size_XuKl GHC.TypeLits.+ 2))) (ww10_szPn :: CLaSH.Sized.Fixed.ResizeFC rep_XuKj (frac_XuKh GHC.TypeLits.+ frac_XuKh) frac_XuKh (size_XuKl GHC.TypeLits.+ size_XuKl) size_XuKl) (ww11_szPo [Occ=Once] :: GHC.Num.Num (rep_XuKj (size_XuKl GHC.TypeLits.+ 2))) (w_szPp [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKh rep_XuKj size_XuKl) (w1_szPq [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKh rep_XuKj size_XuKl) -> case ww1_szPe of _ [Occ=Dead] { GHC.Types.Eq# ww13_sxj0 -> case ww3_szPg of _ [Occ=Dead] { CLaSH.Class.BitVector.D:BitVector ww15_szPt [Occ=Once] _ [Occ=Dead] -> case ww5_szPi of ww17_szPv { GHC.Types.Eq# _ [Occ=Dead] -> case ww9_szPm of _ [Occ=Dead] { Data.Bits.D:Bits _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] ww34_szPM [Occ=Once] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> let { $dKnownNat_szPU :: GHC.TypeLits.KnownNat size_XuKl [LclId, Str=DmdType] $dKnownNat_szPU = case ww10_szPn of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl6_szQ2 [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl6_szQ2 } } in let { sat_szQO [Occ=Once] :: rep_XuKj (size_XuKl GHC.TypeLits.+ 2) [LclId, Str=DmdType] sat_szQO = let { sat_szQN [Occ=Once] :: rep_XuKj (size_XuKl GHC.TypeLits.+ 2) [LclId, Str=DmdType] sat_szQN = case ww10_szPn of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl5_szQG [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> (tpl5_szQG `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKj ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKj a_ae8M -> rep_XuKj b_ae8N))) @ size_XuKl @ (size_XuKl GHC.TypeLits.+ 2) $dKnownNat_szPU ww7_szPk (w1_szPq `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKh rep_XuKj size_XuKl ~# rep_XuKj size_XuKl)) } } in let { sat_szQz [Occ=Once] :: rep_XuKj (size_XuKl GHC.TypeLits.+ 2) [LclId, Str=DmdType] sat_szQz = case ww10_szPn of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl5_szQs [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> (tpl5_szQs `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKj ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKj a_ae8M -> rep_XuKj b_ae8N))) @ size_XuKl @ (size_XuKl GHC.TypeLits.+ 2) $dKnownNat_szPU ww7_szPk (w_szPp `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKh rep_XuKj size_XuKl ~# rep_XuKj size_XuKl)) } } in GHC.Num.- @ (rep_XuKj (size_XuKl GHC.TypeLits.+ 2)) ww11_szPo sat_szQz sat_szQN } in let { sat_szQl [Occ=Once] :: GHC.Enum.Bounded (rep_XuKj size_XuKl) [LclId, Str=DmdType] sat_szQl = case ww10_szPn of _ [Occ=Dead] { (tpl_szQ9 [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_szQ9 } } in (CLaSH.Sized.Fixed.$wsatN2 @ rep_XuKj @ size_XuKl @~ ww13_sxj0 ww2_szPf ww15_szPt ww4_szPh ww17_szPv $dKnownNat_szPU ww7_szPk sat_szQl ww34_szPM sat_szQO) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKj size_XuKl ~# CLaSH.Sized.Fixed.Fixed frac_XuKh rep_XuKj size_XuKl) } } } } CLaSH.Sized.Fixed.$fNumFixed_$c- [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [GblId, Arity=3, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$fNumFixed_$c- = \ (@ (frac_XuKi :: GHC.TypeLits.Nat)) (@ (rep_XuKk :: GHC.TypeLits.Nat -> *)) (@ (size_XuKm :: GHC.TypeLits.Nat)) (w_szQP [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKi rep_XuKk size_XuKm) (w1_szQQ [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKi rep_XuKk size_XuKm) (w2_szQR [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKi rep_XuKk size_XuKm) -> case w_szQP of _ [Occ=Dead] { (ww1_szQT [Occ=Once!], ww2_szQU [Occ=Once], _ [Occ=Dead], ww4_szQW [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> case ww1_szQT of _ [Occ=Dead] { (ww8_szR0 [Occ=Once], ww9_szR1 [Occ=Once], ww10_szR2 [Occ=Once], ww11_szR3 [Occ=Once], ww12_szR4 [Occ=Once], ww13_szR5 [Occ=Once], ww14_szR6 [Occ=Once], ww15_szR7 [Occ=Once], ww16_szR8 [Occ=Once], ww17_szR9 [Occ=Once]) -> CLaSH.Sized.Fixed.$w$c- @ frac_XuKi @ rep_XuKk @ size_XuKm ww8_szR0 ww9_szR1 ww10_szR2 ww11_szR3 ww12_szR4 ww13_szR5 ww14_szR6 ww15_szR7 ww16_szR8 ww17_szR9 ww2_szQU ww4_szQW w1_szQQ w2_szQR } } CLaSH.Sized.Fixed.$fNumFixed_$c* [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [GblId, Arity=3, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$fNumFixed_$c* = \ (@ (frac_XuKk :: GHC.TypeLits.Nat)) (@ (rep_XuKm :: GHC.TypeLits.Nat -> *)) (@ (size_XuKo :: GHC.TypeLits.Nat)) (w_szRa [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKk rep_XuKm size_XuKo) (w1_szRb [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo) (w2_szRc [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo) -> case w_szRa of _ [Occ=Dead] { (_ [Occ=Dead], ww2_szRf [Occ=Once!], _ [Occ=Dead], _ [Occ=Dead], ww5_szRi [Occ=Once], ww6_szRj [Occ=Once!]) -> case ww2_szRf of _ [Occ=Dead] { (ww8_szRl [Occ=Once], _ [Occ=Dead], ww10_szRn [Occ=Once], ww11_szRo [Occ=Once], ww12_szRp [Occ=Once], ww13_szRq [Occ=Once], ww14_szRr [Occ=Once], ww15_szRs [Occ=Once], ww16_szRt [Occ=Once], ww17_szRu [Occ=Once], ww18_szRv [Occ=Once], _ [Occ=Dead]) -> let { sat_szRy [Occ=Once] :: CLaSH.Sized.Fixed.Fixed (frac_XuKk GHC.TypeLits.+ frac_XuKk) rep_XuKm (size_XuKo GHC.TypeLits.+ size_XuKo) [LclId, Str=DmdType] sat_szRy = case ww6_szRj of _ [Occ=Dead] { GHC.Types.Eq# cobox1_dw1a -> ((ww5_szRi `cast` (CLaSH.Class.Num.NTCo:Mult[0] _N _N :: CLaSH.Class.Num.Mult (rep_XuKm size_XuKo) (rep_XuKm size_XuKo) ~# (rep_XuKm size_XuKo -> rep_XuKm size_XuKo -> CLaSH.Class.Num.MResult (rep_XuKm size_XuKo) (rep_XuKm size_XuKo)))) (w1_szRb `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo ~# rep_XuKm size_XuKo)) (w2_szRc `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKk rep_XuKm size_XuKo ~# rep_XuKm size_XuKo))) `cast` (Sub cobox1_dw1a ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: CLaSH.Class.Num.MResult (rep_XuKm size_XuKo) (rep_XuKm size_XuKo) ~# CLaSH.Sized.Fixed.Fixed (frac_XuKk GHC.TypeLits.+ frac_XuKk) rep_XuKm (size_XuKo GHC.TypeLits.+ size_XuKo)) } } in CLaSH.Sized.Fixed.$wresizeF @ (frac_XuKk GHC.TypeLits.+ frac_XuKk) @ frac_XuKk @ rep_XuKm @ (size_XuKo GHC.TypeLits.+ size_XuKo) @ size_XuKo ww8_szRl ww10_szRn ww11_szRo ww12_szRp ww13_szRq ww14_szRr ww15_szRs ww16_szRt ww17_szRu ww18_szRv sat_szRy } } CLaSH.Sized.Fixed.$w$c+ :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (1 GHC.TypeLits.<= size_auH0, ((size_auH0 GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_auH0 GHC.TypeLits.+ 2), CLaSH.Class.BitVector.BitVector (rep_auGZ size_auH0), CLaSH.Class.BitVector.BitVector (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Class.BitVector.BitSize (rep_auGZ size_auH0) ~ size_auH0, CLaSH.Class.BitVector.BitSize (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)) ~ (size_auH0 GHC.TypeLits.+ 2), GHC.TypeLits.KnownNat size_auH0, GHC.TypeLits.KnownNat (size_auH0 GHC.TypeLits.+ 2), GHC.Enum.Bounded (rep_auGZ size_auH0), Data.Bits.Bits (rep_auGZ (size_auH0 GHC.TypeLits.+ 2)), CLaSH.Sized.Fixed.ResizeFC rep_auGZ (frac_auGY GHC.TypeLits.+ frac_auGY) frac_auGY (size_auH0 GHC.TypeLits.+ size_auH0) size_auH0, GHC.Num.Num (rep_auGZ (size_auH0 GHC.TypeLits.+ 2))) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [GblId, Arity=14, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$w$c+ = \ (@ (frac_XuKl :: GHC.TypeLits.Nat)) (@ (rep_XuKn :: GHC.TypeLits.Nat -> *)) (@ (size_XuKp :: GHC.TypeLits.Nat)) _ [Occ=Dead] (ww1_szRA [Occ=Once!] :: ((size_XuKp GHC.TypeLits.+ 1) GHC.TypeLits.+ 1) ~ (size_XuKp GHC.TypeLits.+ 2)) (ww2_szRB [Occ=Once] :: CLaSH.Class.BitVector.BitVector (rep_XuKn size_XuKp)) (ww3_szRC [Occ=Once!] :: CLaSH.Class.BitVector.BitVector (rep_XuKn (size_XuKp GHC.TypeLits.+ 2))) (ww4_szRD [Occ=Once] :: CLaSH.Class.BitVector.BitSize (rep_XuKn size_XuKp) ~ size_XuKp) (ww5_szRE [Occ=Once!] :: CLaSH.Class.BitVector.BitSize (rep_XuKn (size_XuKp GHC.TypeLits.+ 2)) ~ (size_XuKp GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww7_szRG :: GHC.TypeLits.KnownNat (size_XuKp GHC.TypeLits.+ 2)) _ [Occ=Dead] (ww9_szRI [Occ=Once!] :: Data.Bits.Bits (rep_XuKn (size_XuKp GHC.TypeLits.+ 2))) (ww10_szRJ :: CLaSH.Sized.Fixed.ResizeFC rep_XuKn (frac_XuKl GHC.TypeLits.+ frac_XuKl) frac_XuKl (size_XuKp GHC.TypeLits.+ size_XuKp) size_XuKp) (ww11_szRK [Occ=Once] :: GHC.Num.Num (rep_XuKn (size_XuKp GHC.TypeLits.+ 2))) (w_szRL [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKl rep_XuKn size_XuKp) (w1_szRM [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKl rep_XuKn size_XuKp) -> case ww1_szRA of _ [Occ=Dead] { GHC.Types.Eq# ww13_sxkT -> case ww3_szRC of _ [Occ=Dead] { CLaSH.Class.BitVector.D:BitVector ww15_szRP [Occ=Once] _ [Occ=Dead] -> case ww5_szRE of ww17_szRR { GHC.Types.Eq# _ [Occ=Dead] -> case ww9_szRI of _ [Occ=Dead] { Data.Bits.D:Bits _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] ww34_szS8 [Occ=Once] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> let { $dKnownNat_szSg :: GHC.TypeLits.KnownNat size_XuKp [LclId, Str=DmdType] $dKnownNat_szSg = case ww10_szRJ of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl6_szSo [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl6_szSo } } in let { sat_szTa [Occ=Once] :: rep_XuKn (size_XuKp GHC.TypeLits.+ 2) [LclId, Str=DmdType] sat_szTa = let { sat_szT9 [Occ=Once] :: rep_XuKn (size_XuKp GHC.TypeLits.+ 2) [LclId, Str=DmdType] sat_szT9 = case ww10_szRJ of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl5_szT2 [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> (tpl5_szT2 `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKn ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKn a_ae8M -> rep_XuKn b_ae8N))) @ size_XuKp @ (size_XuKp GHC.TypeLits.+ 2) $dKnownNat_szSg ww7_szRG (w1_szRM `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKl rep_XuKn size_XuKp ~# rep_XuKn size_XuKp)) } } in let { sat_szSV [Occ=Once] :: rep_XuKn (size_XuKp GHC.TypeLits.+ 2) [LclId, Str=DmdType] sat_szSV = case ww10_szRJ of _ [Occ=Dead] { (_ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], tpl5_szSO [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> (tpl5_szSO `cast` (CLaSH.Class.Num.NTCo:Resize[0] _N :: CLaSH.Class.Num.Resize rep_XuKn ~# (forall (a_ae8M :: GHC.TypeLits.Nat) (b_ae8N :: GHC.TypeLits.Nat). (GHC.TypeLits.KnownNat a_ae8M, GHC.TypeLits.KnownNat b_ae8N) => rep_XuKn a_ae8M -> rep_XuKn b_ae8N))) @ size_XuKp @ (size_XuKp GHC.TypeLits.+ 2) $dKnownNat_szSg ww7_szRG (w_szRL `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuKl rep_XuKn size_XuKp ~# rep_XuKn size_XuKp)) } } in GHC.Num.+ @ (rep_XuKn (size_XuKp GHC.TypeLits.+ 2)) ww11_szRK sat_szSV sat_szT9 } in let { sat_szSH [Occ=Once] :: GHC.Enum.Bounded (rep_XuKn size_XuKp) [LclId, Str=DmdType] sat_szSH = case ww10_szRJ of _ [Occ=Dead] { (tpl_szSv [Occ=Once], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead], _ [Occ=Dead]) -> tpl_szSv } } in (CLaSH.Sized.Fixed.$wsatN2 @ rep_XuKn @ size_XuKp @~ ww13_sxkT ww2_szRB ww15_szRP ww4_szRD ww17_szRR $dKnownNat_szSg ww7_szRG sat_szSH ww34_szS8 sat_szTa) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuKn size_XuKp ~# CLaSH.Sized.Fixed.Fixed frac_XuKl rep_XuKn size_XuKp) } } } } CLaSH.Sized.Fixed.$fNumFixed_$c+ [InlPrag=INLINE[0]] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 -> CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0 [GblId, Arity=3, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$fNumFixed_$c+ = \ (@ (frac_XuKm :: GHC.TypeLits.Nat)) (@ (rep_XuKo :: GHC.TypeLits.Nat -> *)) (@ (size_XuKq :: GHC.TypeLits.Nat)) (w_szTb [Occ=Once!] :: CLaSH.Sized.Fixed.NumFixed frac_XuKm rep_XuKo size_XuKq) (w1_szTc [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKm rep_XuKo size_XuKq) (w2_szTd [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuKm rep_XuKo size_XuKq) -> case w_szTb of _ [Occ=Dead] { (ww1_szTf [Occ=Once!], ww2_szTg [Occ=Once], _ [Occ=Dead], ww4_szTi [Occ=Once], _ [Occ=Dead], _ [Occ=Dead]) -> case ww1_szTf of _ [Occ=Dead] { (ww8_szTm [Occ=Once], ww9_szTn [Occ=Once], ww10_szTo [Occ=Once], ww11_szTp [Occ=Once], ww12_szTq [Occ=Once], ww13_szTr [Occ=Once], ww14_szTs [Occ=Once], ww15_szTt [Occ=Once], ww16_szTu [Occ=Once], ww17_szTv [Occ=Once]) -> CLaSH.Sized.Fixed.$w$c+ @ frac_XuKm @ rep_XuKo @ size_XuKq ww8_szTm ww9_szTn ww10_szTo ww11_szTp ww12_szTq ww13_szTr ww14_szTs ww15_szTt ww16_szTu ww17_szTv ww2_szTg ww4_szTi w1_szTc w2_szTd } } CLaSH.Sized.Fixed.$fNumFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGY :: GHC.TypeLits.Nat) (rep_auGZ :: GHC.TypeLits.Nat -> *) (size_auH0 :: GHC.TypeLits.Nat). (CLaSH.Sized.Fixed.NumFixed frac_auGY rep_auGZ size_auH0) => GHC.Num.Num (CLaSH.Sized.Fixed.Fixed frac_auGY rep_auGZ size_auH0) [GblId[DFunId], Arity=1, Str=DmdType m, Unf=OtherCon []] CLaSH.Sized.Fixed.$fNumFixed = \ (@ (frac_XuIO :: GHC.TypeLits.Nat)) (@ (rep_XuIQ :: GHC.TypeLits.Nat -> *)) (@ (size_XuIS :: GHC.TypeLits.Nat)) (tup_szTw :: CLaSH.Sized.Fixed.NumFixed frac_XuIO rep_XuIQ size_XuIS) -> let { sat_szTD [Occ=Once] :: GHC.Integer.Type.Integer -> CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS [LclId, Str=DmdType] sat_szTD = \ (eta_B1 [Occ=Once] :: GHC.Integer.Type.Integer) -> CLaSH.Sized.Fixed.$fNumFixed_$cfromInteger @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_szTw eta_B1 } in let { sat_szTC [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS [LclId, Str=DmdType] sat_szTC = (\ (eta_B1 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS) -> CLaSH.Sized.Fixed.$fNumFixed1 @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_szTw eta_B1) `cast` (_R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> rep_XuIQ size_XuIS) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS)) } in let { sat_szTB [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS [LclId, Str=DmdType] sat_szTB = \ (eta_B1 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS) -> CLaSH.Sized.Fixed.$fNumFixed_$cabs @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_szTw eta_B1 } in let { sat_szTA [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS [LclId, Str=DmdType] sat_szTA = \ (eta_B1 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS) -> CLaSH.Sized.Fixed.$fNumFixed_$cnegate @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_szTw eta_B1 } in let { sat_szTz [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS [LclId, Str=DmdType] sat_szTz = \ (eta_B2 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS) (eta_B1 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS) -> CLaSH.Sized.Fixed.$fNumFixed_$c- @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_szTw eta_B2 eta_B1 } in let { sat_szTy [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS [LclId, Str=DmdType] sat_szTy = \ (eta_B2 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS) (eta_B1 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS) -> CLaSH.Sized.Fixed.$fNumFixed_$c* @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_szTw eta_B2 eta_B1 } in let { sat_szTx [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS -> CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS [LclId, Str=DmdType] sat_szTx = \ (eta_B2 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS) (eta_B1 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS) -> CLaSH.Sized.Fixed.$fNumFixed_$c+ @ frac_XuIO @ rep_XuIQ @ size_XuIS tup_szTw eta_B2 eta_B1 } in GHC.Num.D:Num @ (CLaSH.Sized.Fixed.Fixed frac_XuIO rep_XuIQ size_XuIS) sat_szTx sat_szTy sat_szTz sat_szTA sat_szTB sat_szTC sat_szTD CLaSH.Sized.Fixed.$fBitVectorFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGT :: GHC.TypeLits.Nat) (rep_auGU :: GHC.TypeLits.Nat -> *) (size_auGV :: GHC.TypeLits.Nat). CLaSH.Class.BitVector.BitVector (rep_auGU size_auGV) => CLaSH.Class.BitVector.BitVector (CLaSH.Sized.Fixed.Fixed frac_auGT rep_auGU size_auGV) [GblId[DFunId], Arity=1, Caf=NoCafRefs, Str=DmdType m, Unf=OtherCon []] CLaSH.Sized.Fixed.$fBitVectorFixed = \ (@ (frac_XuIN :: GHC.TypeLits.Nat)) (@ (rep_XuIP :: GHC.TypeLits.Nat -> *)) (@ (size_XuIR :: GHC.TypeLits.Nat)) ($dBitVector_szTE :: CLaSH.Class.BitVector.BitVector (rep_XuIP size_XuIR)) -> let { lvl17_szTF [Occ=OnceL!] :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> rep_XuIP size_XuIR [LclId, Str=DmdType] lvl17_szTF = CLaSH.Class.BitVector.fromBV @ (rep_XuIP size_XuIR) $dBitVector_szTE } in let { lvl18_szTG [Occ=OnceL!] :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) => rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit [LclId, Str=DmdType] lvl18_szTG = CLaSH.Class.BitVector.toBV @ (rep_XuIP size_XuIR) $dBitVector_szTE } in let { sat_szTM [Occ=Once] :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR [LclId, Str=DmdType] sat_szTM = (\ ($dKnownNat_szTK [Occ=Once] :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (bv_szTL [Occ=Once] :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit) -> lvl17_szTF ($dKnownNat_szTK `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (bv_szTL `cast` ((CLaSH.Sized.Vector.Vec (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N) _R)_R :: CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit ~# CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit))) `cast` (_R -> _R -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> rep_XuIP size_XuIR) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit -> CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) } in let { sat_szTJ [Occ=Once] :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit [LclId, Str=DmdType] sat_szTJ = (\ ($dKnownNat_szTH [Occ=Once] :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR))) (ds_szTI [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) -> lvl18_szTG ($dKnownNat_szTH `cast` ((GHC.TypeLits.KnownNat (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N))_R :: GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) ~# GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)))) (ds_szTI `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR ~# rep_XuIP size_XuIR))) `cast` (_R -> _R -> (CLaSH.Sized.Vector.Vec (Sym (CLaSH.Sized.Fixed.TFCo:R:BitSizeFixed[0] _N _N _N)) _R)_R :: (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (rep_XuIP size_XuIR)) CLaSH.Bit.Bit) ~# (GHC.TypeLits.KnownNat (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) => CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR -> CLaSH.Sized.Vector.Vec (CLaSH.Class.BitVector.BitSize (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR)) CLaSH.Bit.Bit)) } in CLaSH.Class.BitVector.D:BitVector @ (CLaSH.Sized.Fixed.Fixed frac_XuIN rep_XuIP size_XuIR) sat_szTJ sat_szTM CLaSH.Sized.Fixed.$fDefaultFixed1 :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => Data.Default.Class.Default (rep_auGM size_auGN) [GblId, Arity=1, Caf=NoCafRefs, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$fDefaultFixed1 = \ (@ (frac_auGL :: GHC.TypeLits.Nat)) (@ (rep_auGM :: GHC.TypeLits.Nat -> *)) (@ (size_auGN :: GHC.TypeLits.Nat)) ($dDefault_szTN [Occ=Once] :: Data.Default.Class.Default (rep_auGM size_auGN)) -> $dDefault_szTN CLaSH.Sized.Fixed.$fDefaultFixed_$cdef :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => CLaSH.Sized.Fixed.Fixed frac_auGL rep_auGM size_auGN [GblId, Arity=1, Caf=NoCafRefs, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$fDefaultFixed_$cdef = (\ (@ (frac_auGL :: GHC.TypeLits.Nat)) (@ (rep_auGM :: GHC.TypeLits.Nat -> *)) (@ (size_auGN :: GHC.TypeLits.Nat)) (eta_B1 [Occ=Once] :: Data.Default.Class.Default (rep_auGM size_auGN)) -> CLaSH.Sized.Fixed.$fDefaultFixed1 @ frac_auGL @ rep_auGM @ size_auGN eta_B1) `cast` (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). _R -> Data.Default.Class.NTCo:Default[0] _N ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => Data.Default.Class.Default (rep_XuLZ size_XuM1)) ~# (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => CLaSH.Sized.Fixed.Fixed frac_XuLX rep_XuLZ size_XuM1)) CLaSH.Sized.Fixed.$fDefaultFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac_auGL :: GHC.TypeLits.Nat) (rep_auGM :: GHC.TypeLits.Nat -> *) (size_auGN :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_auGM size_auGN) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_auGL rep_auGM size_auGN) [GblId[DFunId(nt)], Arity=1, Caf=NoCafRefs, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$fDefaultFixed = (\ (@ (frac_auGL :: GHC.TypeLits.Nat)) (@ (rep_auGM :: GHC.TypeLits.Nat -> *)) (@ (size_auGN :: GHC.TypeLits.Nat)) (eta_B1 [Occ=Once] :: Data.Default.Class.Default (rep_auGM size_auGN)) -> CLaSH.Sized.Fixed.$fDefaultFixed1 @ frac_auGL @ rep_auGM @ size_auGN eta_B1) `cast` (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). _R -> Data.Default.Class.NTCo:Default[0] _N ; Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N ; Sym (Data.Default.Class.NTCo:Default[0] _N) :: (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => Data.Default.Class.Default (rep_XuLZ size_XuM1)) ~# (forall (frac_XuLX :: GHC.TypeLits.Nat) (rep_XuLZ :: GHC.TypeLits.Nat -> *) (size_XuM1 :: GHC.TypeLits.Nat). Data.Default.Class.Default (rep_XuLZ size_XuM1) => Data.Default.Class.Default (CLaSH.Sized.Fixed.Fixed frac_XuLX rep_XuLZ size_XuM1))) CLaSH.Sized.Fixed.$fBoundedFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auGI :: GHC.TypeLits.Nat) (rep_auGJ :: GHC.TypeLits.Nat -> *) (size_auGK :: GHC.TypeLits.Nat). GHC.Enum.Bounded (rep_auGJ size_auGK) => GHC.Enum.Bounded (CLaSH.Sized.Fixed.Fixed frac_auGI rep_auGJ size_auGK) [GblId[DFunId], Arity=1, Caf=NoCafRefs, Str=DmdType m, Unf=OtherCon []] CLaSH.Sized.Fixed.$fBoundedFixed = \ (@ (frac_XuIW :: GHC.TypeLits.Nat)) (@ (rep_XuIY :: GHC.TypeLits.Nat -> *)) (@ (size_XuJ0 :: GHC.TypeLits.Nat)) ($dBounded_szTO :: GHC.Enum.Bounded (rep_XuIY size_XuJ0)) -> let { sat_szTQ [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0 [LclId, Str=DmdType] sat_szTQ = (GHC.Enum.maxBound @ (rep_XuIY size_XuJ0) $dBounded_szTO) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0) } in let { sat_szTP [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0 [LclId, Str=DmdType] sat_szTP = (GHC.Enum.minBound @ (rep_XuIY size_XuJ0) $dBounded_szTO) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: rep_XuIY size_XuJ0 ~# CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0) } in GHC.Enum.D:Bounded @ (CLaSH.Sized.Fixed.Fixed frac_XuIW rep_XuIY size_XuJ0) sat_szTP sat_szTQ CLaSH.Sized.Fixed.$fOrdFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). (GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH), GHC.Classes.Ord (rep_auFG size_auFH)) => GHC.Classes.Ord (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) [GblId[DFunId[1]], Arity=2, Caf=NoCafRefs, Str=DmdType m, Unf=OtherCon []] CLaSH.Sized.Fixed.$fOrdFixed = \ (@ (frac_XuIv :: GHC.TypeLits.Nat)) (@ (rep_XuIx :: GHC.TypeLits.Nat -> *)) (@ (size_XuIz :: GHC.TypeLits.Nat)) ($dEq_szTR [Occ=Once] :: GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) ($dOrd_szTS :: GHC.Classes.Ord (rep_XuIx size_XuIz)) -> let { sat_szTZ [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz [LclId, Str=DmdType] sat_szTZ = (GHC.Classes.min @ (rep_XuIx size_XuIz) $dOrd_szTS) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) } in let { sat_szTY [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz [LclId, Str=DmdType] sat_szTY = (GHC.Classes.max @ (rep_XuIx size_XuIz) $dOrd_szTS) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> rep_XuIx size_XuIz) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz)) } in let { sat_szTX [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool [LclId, Str=DmdType] sat_szTX = (GHC.Classes.<= @ (rep_XuIx size_XuIz) $dOrd_szTS) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) } in let { sat_szTW [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool [LclId, Str=DmdType] sat_szTW = (GHC.Classes.> @ (rep_XuIx size_XuIz) $dOrd_szTS) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) } in let { sat_szTV [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool [LclId, Str=DmdType] sat_szTV = (GHC.Classes.>= @ (rep_XuIx size_XuIz) $dOrd_szTS) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) } in let { sat_szTU [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool [LclId, Str=DmdType] sat_szTU = (GHC.Classes.< @ (rep_XuIx size_XuIz) $dOrd_szTS) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Bool)) } in let { sat_szTT [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Ordering [LclId, Str=DmdType] sat_szTT = (GHC.Classes.compare @ (rep_XuIx size_XuIz) $dOrd_szTS) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIx size_XuIz -> rep_XuIx size_XuIz -> GHC.Types.Ordering) ~# (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz -> GHC.Types.Ordering)) } in GHC.Classes.D:Ord @ (CLaSH.Sized.Fixed.Fixed frac_XuIv rep_XuIx size_XuIz) $dEq_szTR sat_szTT sat_szTU sat_szTV sat_szTW sat_szTX sat_szTY sat_szTZ CLaSH.Sized.Fixed.$fEqFixed [InlPrag=[ALWAYS] CONLIKE] :: forall (frac_auFF :: GHC.TypeLits.Nat) (rep_auFG :: GHC.TypeLits.Nat -> *) (size_auFH :: GHC.TypeLits.Nat). GHC.Classes.Eq (rep_auFG size_auFH) => GHC.Classes.Eq (CLaSH.Sized.Fixed.Fixed frac_auFF rep_auFG size_auFH) [GblId[DFunId], Arity=1, Caf=NoCafRefs, Str=DmdType m, Unf=OtherCon []] CLaSH.Sized.Fixed.$fEqFixed = \ (@ (frac_XuII :: GHC.TypeLits.Nat)) (@ (rep_XuIK :: GHC.TypeLits.Nat -> *)) (@ (size_XuIM :: GHC.TypeLits.Nat)) ($dEq_szU0 :: GHC.Classes.Eq (rep_XuIK size_XuIM)) -> let { sat_szU2 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool [LclId, Str=DmdType] sat_szU2 = (GHC.Classes./= @ (rep_XuIK size_XuIM) $dEq_szU0) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool)) } in let { sat_szU1 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool [LclId, Str=DmdType] sat_szU1 = (GHC.Classes.== @ (rep_XuIK size_XuIM) $dEq_szU0) `cast` (Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> Sym (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R) _N -> _R :: (rep_XuIK size_XuIM -> rep_XuIK size_XuIM -> GHC.Types.Bool) ~# (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM -> GHC.Types.Bool)) } in GHC.Classes.D:Eq @ (CLaSH.Sized.Fixed.Fixed frac_XuII rep_XuIK size_XuIM) sat_szU1 sat_szU2 a8_rxLL :: Language.Haskell.TH.Syntax.NameFlavour [GblId, Str=DmdType m5, Unf=OtherCon []] a8_rxLL = Language.Haskell.TH.Syntax.NameG Language.Haskell.TH.Syntax.TcClsName (a1_rxLr `cast` (Sym Language.Haskell.TH.Syntax.NTCo:PkgName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.PkgName)) (a2_rxLs `cast` (Sym Language.Haskell.TH.Syntax.NTCo:ModName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.ModName)) lvl14_rxLM :: Language.Haskell.TH.Syntax.Name [GblId, Str=DmdType m, Unf=OtherCon []] lvl14_rxLM = Language.Haskell.TH.Syntax.Name (a_rxLq `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) a8_rxLL lvl15_rxLN :: Language.Haskell.TH.Syntax.Type [GblId, Str=DmdType, Unf=OtherCon []] lvl15_rxLN = Language.Haskell.TH.Syntax.ConT lvl14_rxLM a9_rxLO :: forall (m_a4Ni :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4Ni => m_a4Ni Language.Haskell.TH.Syntax.Type [GblId, Arity=1, Str=DmdType , Unf=OtherCon []] a9_rxLO = \ (@ (m_a4Ni :: * -> *)) (eta_szU3 [Occ=Once] :: Language.Haskell.TH.Syntax.Quasi m_a4Ni) -> case Language.Haskell.TH.Syntax.$p1Quasi @ m_a4Ni eta_szU3 of sat_szU4 { __DEFAULT -> GHC.Base.return @ m_a4Ni sat_szU4 @ Language.Haskell.TH.Syntax.Type lvl15_rxLN } Rec { lgo_rxLP :: Language.Haskell.TH.Lib.TypeQ -> [Language.Haskell.TH.Lib.TypeQ] -> Language.Haskell.TH.Lib.TypeQ [GblId, Arity=2, Caf=NoCafRefs, Str=DmdType , Unf=OtherCon []] lgo_rxLP = \ (z_szU5 [Occ=OnceL*] :: Language.Haskell.TH.Lib.TypeQ) (ds_szU6 [Occ=Once!] :: [Language.Haskell.TH.Lib.TypeQ]) -> case ds_szU6 of _ [Occ=Dead] { [] -> z_szU5; : x_szU8 [Occ=OnceL] xs_szU9 [Occ=Once] -> let { sat_szUa [Occ=Once] :: Language.Haskell.TH.Lib.TypeQ [LclId, Str=DmdType] sat_szUa = (\ (@ (m_a4Jw :: * -> *)) (eta_B1 [Occ=Once] :: Language.Haskell.TH.Syntax.Quasi m_a4Jw) -> Language.Haskell.TH.Lib.appT1 z_szU5 x_szU8 @ m_a4Jw eta_B1) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type) } in lgo_rxLP sat_szUa xs_szU9 } end Rec } lvl16_rxLQ :: Language.Haskell.TH.Syntax.Name [GblId, Caf=NoCafRefs, Str=DmdType, Unf=OtherCon []] lvl16_rxLQ = Language.Haskell.TH.Syntax.Name ((GHC.Types.[] @ GHC.Types.Char) `cast` (Sym Language.Haskell.TH.Syntax.NTCo:OccName[0] :: GHC.Base.String ~# Language.Haskell.TH.Syntax.OccName)) Language.Haskell.TH.Syntax.NameS CLaSH.Sized.Fixed.$fLiftFixed1 :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> forall (m_akMz :: * -> *). Language.Haskell.TH.Syntax.Quasi m_akMz => m_akMz Language.Haskell.TH.Syntax.Exp [GblId, Arity=5, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$fLiftFixed1 = \ (@ (frac_auGO :: GHC.TypeLits.Nat)) (@ (rep_auGP :: GHC.TypeLits.Nat -> *)) (@ (size_auGQ :: GHC.TypeLits.Nat)) ($dLift_szUb :: Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ)) ($dKnownNat_szUc [Occ=Once] :: GHC.TypeLits.KnownNat frac_auGO) ($dKnownNat1_szUd [Occ=Once] :: GHC.TypeLits.KnownNat size_auGQ) ($dTypeable_szUe [Occ=Once] :: Data.Typeable.Internal.Typeable rep_auGP) (f_szUf [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ) -> let { w1_szUg [Dmd=] :: Language.Haskell.TH.Lib.TypeQ [LclId, Str=DmdType] w1_szUg = let { l_szUK [Dmd=] :: Language.Haskell.TH.Lib.TyLitQ [LclId, Str=DmdType] l_szUK = Language.Haskell.TH.Lib.numTyLit ($dKnownNat1_szUd `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat size_auGQ ~# GHC.Integer.Type.Integer)) } in let { sat_szUP :: Language.Haskell.TH.Lib.TypeQ [LclId, Str=DmdType] sat_szUP = (\ (@ (m_a5E0 :: * -> *)) (eta_szUL :: Language.Haskell.TH.Syntax.Quasi m_a5E0) -> let { sat_szUO [Occ=Once] :: m_a5E0 Language.Haskell.TH.Syntax.TyLit [LclId, Str=DmdType] sat_szUO = (l_szUK `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.TyLit ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.TyLit))) @ m_a5E0 eta_szUL } in case Language.Haskell.TH.Syntax.$p2Quasi @ m_a5E0 eta_szUL of sat_szUM { __DEFAULT -> case Control.Applicative.$p1Applicative @ m_a5E0 sat_szUM of sat_szUN { __DEFAULT -> GHC.Base.fmap @ m_a5E0 sat_szUN @ Language.Haskell.TH.Syntax.TyLit @ Language.Haskell.TH.Syntax.Type Language.Haskell.TH.Syntax.LitT sat_szUO } }) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type) } in let { sat_szUQ :: [Language.Haskell.TH.Lib.TypeQ] [LclId, Str=DmdType] sat_szUQ = GHC.Types.: @ Language.Haskell.TH.Lib.TypeQ sat_szUP (GHC.Types.[] @ Language.Haskell.TH.Lib.TypeQ) } in let { x_szUn :: Language.Haskell.TH.Syntax.Name [LclId, Str=DmdType] x_szUn = case ($dTypeable_szUe `cast` (Data.Typeable.Internal.NTCo:Typeable[0] *>_N _N :: Data.Typeable.Internal.Typeable rep_auGP ~# (GHC.Prim.Proxy# rep_auGP -> Data.Typeable.Internal.TypeRep))) (GHC.Prim.proxy# @ (GHC.TypeLits.Nat -> *) @ rep_auGP) of _ [Occ=Dead] { Data.Typeable.Internal.TypeRep _ [Occ=Dead] _ [Occ=Dead] ww3_szUr [Occ=Once] ww4_szUs [Occ=Once] -> case Data.Typeable.Internal.$w$cshowsPrec GHC.Show.shows27 ww3_szUr ww4_szUs (GHC.Types.[] @ GHC.Types.Char) of sat_szUt { __DEFAULT -> case GHC.List.reverse1 @ GHC.Types.Char sat_szUt (GHC.Types.[] @ GHC.Types.Char) of _ [Occ=Dead] { [] -> lvl16_rxLQ; : ds_szUv [Occ=Once!] rev_szUw [Occ=Once*] -> case ds_szUv of wild22_szUx { GHC.Types.C# ds1_szUy [Occ=Once!] -> case ds1_szUy of _ [Occ=Dead] { __DEFAULT -> case Language.Haskell.TH.Syntax.mkName_$s$wsplit1 wild22_szUx (GHC.Types.[] @ GHC.Types.Char) rev_szUw of _ [Occ=Dead] { (# ww6_szUB [Occ=Once], ww7_szUC [Occ=Once] #) -> Language.Haskell.TH.Syntax.Name ww6_szUB ww7_szUC }; '.' -> case Language.Haskell.TH.Syntax.mkName_$s$wsplit1 wild22_szUx (GHC.Types.[] @ GHC.Types.Char) rev_szUw of _ [Occ=Dead] { (# ww6_szUE [Occ=Once], ww7_szUF [Occ=Once] #) -> Language.Haskell.TH.Syntax.Name ww6_szUE ww7_szUF } } } } } } } in let { lvl17_szUG :: Language.Haskell.TH.Syntax.Type [LclId, Str=DmdType, Unf=OtherCon []] lvl17_szUG = Language.Haskell.TH.Syntax.ConT x_szUn } in let { sat_szUJ :: Language.Haskell.TH.Lib.TypeQ [LclId, Str=DmdType] sat_szUJ = (\ (@ (m_X4Tv :: * -> *)) (eta_szUH [Occ=Once] :: Language.Haskell.TH.Syntax.Quasi m_X4Tv) -> case Language.Haskell.TH.Syntax.$p1Quasi @ m_X4Tv eta_szUH of sat_szUI { __DEFAULT -> GHC.Base.return @ m_X4Tv sat_szUI @ Language.Haskell.TH.Syntax.Type lvl17_szUG }) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type) } in let { sat_szUR :: [Language.Haskell.TH.Lib.TypeQ] [LclId, Str=DmdType] sat_szUR = GHC.Types.: @ Language.Haskell.TH.Lib.TypeQ sat_szUJ sat_szUQ } in let { l_szUh [Dmd=] :: Language.Haskell.TH.Lib.TyLitQ [LclId, Str=DmdType] l_szUh = Language.Haskell.TH.Lib.numTyLit ($dKnownNat_szUc `cast` (GHC.TypeLits.NTCo:KnownNat[0] _N ; GHC.TypeLits.NTCo:SNat[0] _P :: GHC.TypeLits.KnownNat frac_auGO ~# GHC.Integer.Type.Integer)) } in let { sat_szUm :: Language.Haskell.TH.Lib.TypeQ [LclId, Str=DmdType] sat_szUm = (\ (@ (m_a5E0 :: * -> *)) (eta_szUi :: Language.Haskell.TH.Syntax.Quasi m_a5E0) -> let { sat_szUl [Occ=Once] :: m_a5E0 Language.Haskell.TH.Syntax.TyLit [LclId, Str=DmdType] sat_szUl = (l_szUh `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.TyLit ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.TyLit))) @ m_a5E0 eta_szUi } in case Language.Haskell.TH.Syntax.$p2Quasi @ m_a5E0 eta_szUi of sat_szUj { __DEFAULT -> case Control.Applicative.$p1Applicative @ m_a5E0 sat_szUj of sat_szUk { __DEFAULT -> GHC.Base.fmap @ m_a5E0 sat_szUk @ Language.Haskell.TH.Syntax.TyLit @ Language.Haskell.TH.Syntax.Type Language.Haskell.TH.Syntax.LitT sat_szUl } }) `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type) } in let { sat_szUS [Occ=Once] :: [Language.Haskell.TH.Lib.TypeQ] [LclId, Str=DmdType] sat_szUS = GHC.Types.: @ Language.Haskell.TH.Lib.TypeQ sat_szUm sat_szUR } in lgo_rxLP (a9_rxLO `cast` (Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type) ~# Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type)) sat_szUS } in let { w2_szUT [Dmd=] :: Language.Haskell.TH.Lib.ExpQ [LclId, Str=DmdType] w2_szUT = ($dLift_szUb `cast` (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N :: Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ) ~# (rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp))) (f_szUf `cast` (CLaSH.Sized.Fixed.NTCo:Fixed[0] _P _R _N :: CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ ~# rep_auGP size_auGQ)) } in let { sat_szVx [Occ=Once] :: forall (m_akV3 :: * -> *). Language.Haskell.TH.Syntax.Quasi m_akV3 => m_akV3 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] sat_szVx = \ (@ (m_akV3 :: * -> *)) (w3_szUU [Occ=Once!] :: Language.Haskell.TH.Syntax.Quasi m_akV3) -> case w3_szUU of ww_szUV { Language.Haskell.TH.Syntax.D:Quasi ww1_szUW [Occ=Once!] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] _ [Occ=Dead] -> case ww1_szUW of _ [Occ=Dead] { GHC.Base.D:Monad ww20_szVf _ [Occ=Dead] ww22_szVh _ [Occ=Dead] -> let { lvl17_szVj [Occ=OnceL] :: m_akV3 Language.Haskell.TH.Syntax.Type [LclId, Str=DmdType] lvl17_szVj = (w1_szUg `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Type ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Type))) @ m_akV3 ww_szUV } in let { sat_szVw [Occ=Once] :: Language.Haskell.TH.Syntax.Exp -> m_akV3 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] sat_szVw = \ (x_szVs [Occ=OnceL] :: Language.Haskell.TH.Syntax.Exp) -> let { sat_szVv [Occ=Once] :: Language.Haskell.TH.Syntax.Type -> m_akV3 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] sat_szVv = \ (x1_szVt [Occ=Once] :: Language.Haskell.TH.Syntax.Type) -> let { sat_szVu [Occ=Once] :: Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] sat_szVu = Language.Haskell.TH.Syntax.SigE x_szVs x1_szVt } in ww22_szVh @ Language.Haskell.TH.Syntax.Exp sat_szVu } in ww20_szVf @ Language.Haskell.TH.Syntax.Type @ Language.Haskell.TH.Syntax.Exp lvl17_szVj sat_szVv } in let { sat_szVr [Occ=Once] :: m_akV3 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] sat_szVr = let { lvl18_szVk [Occ=OnceL] :: m_akV3 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] lvl18_szVk = (w2_szUT `cast` (Language.Haskell.TH.Syntax.NTCo:Q[0] _N :: Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp ~# (forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp))) @ m_akV3 ww_szUV } in let { sat_szVq [Occ=Once] :: Language.Haskell.TH.Syntax.Exp -> m_akV3 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] sat_szVq = \ (x_szVm [Occ=OnceL] :: Language.Haskell.TH.Syntax.Exp) -> let { sat_szVp [Occ=Once] :: Language.Haskell.TH.Syntax.Exp -> m_akV3 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] sat_szVp = \ (x1_szVn [Occ=Once] :: Language.Haskell.TH.Syntax.Exp) -> let { sat_szVo [Occ=Once] :: Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] sat_szVo = Language.Haskell.TH.Syntax.AppE x_szVm x1_szVn } in ww22_szVh @ Language.Haskell.TH.Syntax.Exp sat_szVo } in ww20_szVf @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp lvl18_szVk sat_szVp } in let { sat_szVl [Occ=Once] :: m_akV3 Language.Haskell.TH.Syntax.Exp [LclId, Str=DmdType] sat_szVl = ww22_szVh @ Language.Haskell.TH.Syntax.Exp lvl6_rxLA } in ww20_szVf @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp sat_szVl sat_szVq } in ww20_szVf @ Language.Haskell.TH.Syntax.Exp @ Language.Haskell.TH.Syntax.Exp sat_szVr sat_szVw } } } in sat_szVx CLaSH.Sized.Fixed.$fLiftFixed_$clift :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp [GblId, Arity=5, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$fLiftFixed_$clift = (\ (@ (frac_auGO :: GHC.TypeLits.Nat)) (@ (rep_auGP :: GHC.TypeLits.Nat -> *)) (@ (size_auGQ :: GHC.TypeLits.Nat)) (eta_B5 [Occ=Once] :: Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ)) (eta_B4 [Occ=Once] :: GHC.TypeLits.KnownNat frac_auGO) (eta_B3 [Occ=Once] :: GHC.TypeLits.KnownNat size_auGQ) (eta_B2 [Occ=Once] :: Data.Typeable.Internal.Typeable rep_auGP) (eta_B1 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ) -> CLaSH.Sized.Fixed.$fLiftFixed1 @ frac_auGO @ rep_auGP @ size_auGQ eta_B5 eta_B4 eta_B3 eta_B2 eta_B1) `cast` (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> _R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N) :: (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ -> Language.Haskell.TH.Syntax.Q Language.Haskell.TH.Syntax.Exp)) CLaSH.Sized.Fixed.$fLiftFixed [InlPrag=INLINE (sat-args=0)] :: forall (frac_auGO :: GHC.TypeLits.Nat) (rep_auGP :: GHC.TypeLits.Nat -> *) (size_auGQ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ), GHC.TypeLits.KnownNat frac_auGO, GHC.TypeLits.KnownNat size_auGQ, Data.Typeable.Internal.Typeable rep_auGP) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ) [GblId[DFunId(nt)], Arity=5, Str=DmdType , Unf=OtherCon []] CLaSH.Sized.Fixed.$fLiftFixed = (\ (@ (frac_auGO :: GHC.TypeLits.Nat)) (@ (rep_auGP :: GHC.TypeLits.Nat -> *)) (@ (size_auGQ :: GHC.TypeLits.Nat)) (eta_B5 [Occ=Once] :: Language.Haskell.TH.Syntax.Lift (rep_auGP size_auGQ)) (eta_B4 [Occ=Once] :: GHC.TypeLits.KnownNat frac_auGO) (eta_B3 [Occ=Once] :: GHC.TypeLits.KnownNat size_auGQ) (eta_B2 [Occ=Once] :: Data.Typeable.Internal.Typeable rep_auGP) (eta_B1 [Occ=Once] :: CLaSH.Sized.Fixed.Fixed frac_auGO rep_auGP size_auGQ) -> CLaSH.Sized.Fixed.$fLiftFixed1 @ frac_auGO @ rep_auGP @ size_auGQ eta_B5 eta_B4 eta_B3 eta_B2 eta_B1) `cast` (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). _R -> _R -> _R -> _R -> (_R -> Sym (Language.Haskell.TH.Syntax.NTCo:Q[0] _N)) ; Sym (Language.Haskell.TH.Syntax.NTCo:Lift[0] _N) :: (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ -> forall (m_a4LE :: * -> *). Language.Haskell.TH.Syntax.Quasi m_a4LE => m_a4LE Language.Haskell.TH.Syntax.Exp) ~# (forall (frac_XuMV :: GHC.TypeLits.Nat) (rep_XuMX :: GHC.TypeLits.Nat -> *) (size_XuMZ :: GHC.TypeLits.Nat). (Language.Haskell.TH.Syntax.Lift (rep_XuMX size_XuMZ), GHC.TypeLits.KnownNat frac_XuMV, GHC.TypeLits.KnownNat size_XuMZ, Data.Typeable.Internal.Typeable rep_XuMX) => Language.Haskell.TH.Syntax.Lift (CLaSH.Sized.Fixed.Fixed frac_XuMV rep_XuMX size_XuMZ))) *** Stg2Stg: *** CodeOutput: *** New CodeGen: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** CPSZ: *** Assembler: [14 of 16] Compiling CLaSH.Prelude ( src/CLaSH/Prelude.hs, dist/build/CLaSH/Prelude.o ) [15 of 16] Compiling CLaSH.Signal.Explicit ( src/CLaSH/Signal/Explicit.hs, dist/build/CLaSH/Signal/Explicit.o ) [16 of 16] Compiling CLaSH.Prelude.Explicit ( src/CLaSH/Prelude/Explicit.hs, dist/build/CLaSH/Prelude/Explicit.o ) In-place registering clash-prelude-0.5...