UHI1 8979d7bb2e507a4115e47d6aab89757a20151027 +0100 123710AAq"base codegen core corebackend corein coreout corerun corerunin hmtyinfer noHmTyRuler" cr OptimizationLevel_Much103i][SDataBits119master@a4b70ea5c6c-[.&.هb~IDataBits.&.i)build/103/ehclib/uhcbase/Data/Bits.hs-cpp}P.|.ّ nDataBits.|. |>pxor,n_GDataBitsxor.ipL Bits -TrԷDataBitsBits - tHDataBitsclearBit ueIDataBitsrotateL ueJ DataBitsrotateR j# DataBitstestBitmKV=DataBitsshift ?TDataBitsrotateuDataBits complementBit,u۞F4DataBitsbitSize0VM0DataBitssetBit,`DataBitsbitL!HەDataBitsshiftRL!HDataBitsshiftLV-5DataBitsisSignedpjXDataBits complement]ptestBit K AclearBit ''isSignedYY[shiftLYYashiftR:tXrotate{ complementBitk&Yshift &J*LE bit!*'q4"sbitSize"0pO4TsetBit#]/Fy[ complement$b<,wBrotateR %b<-wrotateL &*ckBitsco2ܺ'NV=DataBitsBitsco2ܺ()&f_Bitsco= )NUE8FDataBitsBitsco= *)(fo8Bitsco3)+NUK8DataBitsBitsco3) ,ueIDataBitsrotateL-ueJ DataBitsrotateR.mKV=DataBitsshift/هb~IDataBits.&.0ّ nDataBits.|.1 ?TDataBitsrotate2,n_GDataBitsxor3L!HەDataBitsshiftR4L!HDataBitsshiftL5Y4UHCBits666UHCBase7*Y IUHCReal56566765678g*܀DataBits _'un_'Bits9coG:*B*;Pc~y-><SDataBits_'Bits9=3v>^_Rec>Y{||}?- tHDataBitsclearBit;9;@ϠwInt9,;9;@9-;9;@9Aj# DataBitstestBit;9;@BE*tUHCBaseBool.;9;@9/;9;990;9;991;9;@9CuDataBits complementBit;9;@9D,u۞F4DataBitsbitSize;9@E0VM0DataBitssetBit;9;@9F,`DataBitsbit;@92;9;993;9;@94;9;@9GV-5DataBitsisSigned;9BHpjXDataBits complement;99Io~Ie53UHCBaseNum Jn0hUHCBase_'Num9?9:;K-TrԷDataBitsBits9;9;@9,9:;K9;9;@9-9:;K9;9;@9A9:;K9;9;@B.9:;K9;9;@9/9:;K9;9;9909:;K9;9;9919:;K9;9;@9C9:;K9;9;@9<9:;;9;@9;;9;@9;;9;@9;;9;@B;;9;@9;;9;99;;9;99;;9;@9;;9;@9;;9@;;9;@9;;@9;;9;99;;9;@9;;9;@9;;9B;;99;J9<9D9:;K9;9@E9:;K9;9;@9F9:;K9;@929:;K9;9;9939:;K9;9;@949:;K9;9;@9LNV=DataBitsBitsco2ܺMco:;<M<MNNUE8FDataBitsBitsco= <O74D!7IntegerPNUK8DataBitsBitsco3)<@G9:;K9;9BH9:;K9;99<<<;::<Q@O9\| *Invariant<<;<9R FۘM_Var><=>?;9;@9,;9;@9-;9;@9A;9;@B.;9;@9/;9;990;9;991;9;@9C;9;@9D;9@E;9;@9F;@92;9;993;9;@94;9;@9G;9BH;99IJ9Sco9<<??,,--AA..//0011CCDD EE FF 22 33 44GGIIHH?;9;@9,;9;@9-;9;@9A;9;@B.;9;@9/;9;990;9;991;9;@9C;9;@9D;9@E;9;@9F;@92;9;993;9;@94;9;@9G;9BH;99IJ9TTTTTTTTTTTTTTTTTT<;;9;@9;;9;@9;;9;@9;;9;@B;;9;@9;;9;99;;9;99;;9;@9;;9;@9;;9@;;9;@9;;@9;;9;99;;9;@9;;9;@9;;9B;;99;J9<9U<<?,-A./01CD E F 2 3 4GHI?U?,U,-U-AUA.U./U/0U01U1CUCDUD EUE FUF 2U2 3U3 4U4GUGIUIHUHK9:;K9=>?;9;@9,;9;@9-;9;@9A;9;@B.;9;@9/;9;990;9;991;9;@9C;9;@9D;9@E;9;@9F;@92;9;993;9;@94;9;@9G;9BH;99IJ99:;K9<99:;Vo~DUHCBaseNum9K9LUAssKK97p$*kEV97p$*kEV97p$*kEIUK97p$*kEAssKPrfK@K@7p$*kE7p$*kEK@7p$*kEPK@PrfK@OKO7p$*kE7p$*kEKO7p$*kENKOPrfKOK97p$*kEV97p$*kEV97p$*kEIUK97p$*kEPrfVPrfKPrfVK97p$*kEV97p$*kF7p$*kG7p$*kE7p$*kFK97p$*kGK97p$*kEsup1K97p$*kGPrfVPrfKPrfVK97p$*kFV97p$*kE7p$*kG7p$*kE7p$*kFV97p$*kGV97p$*kEsup2V97p$*kGPrfVPrfKPrfVK97p$*kEW`iqTUHCBaseEq97p$*kEW97p$*kEX`iN "KUHCBaseEq YJJ V97p$*kEV97p$*kEIUK97p$*kEPrfWPrfKPrfWK97p$*kEW97p$*kF7p$*kG7p$*kE7p$*kFK97p$*kGK97p$*kEsup1K97p$*kGPrfWPrfKPrfWK97p$*kFW97p$*kE7p$*kG7p$*kE7p$*kFW97p$*kGW97p$*kEsup2W97p$*kGPrfWPrfKPrfWWK97p$*kEW97p$*kEW97p$*kEXYV97p$*kEV97p$*kEIUK97p$*kEPrfKPrfKPrfWK97p$*kEW97p$*kF7p$*kG7p$*kE7p$*kFK97p$*kGK97p$*kEsup1K97p$*kGPrfKPrfKPrfWK97p$*kFW97p$*kE7p$*kG7p$*kE7p$*kFW97p$*kGW97p$*kEsup2W97p$*kGPrfKPrfKPrfWVK97p$*kEV97p$*kEV97p$*kEIUK97p$*kEPrfKPrfKPrfVK97p$*kEV97p$*kF7p$*kG7p$*kE7p$*kFK97p$*kGK97p$*kEsup1K97p$*kGPrfKPrfKPrfVK97p$*kFV97p$*kE7p$*kG7p$*kE7p$*kFV97p$*kGV97p$*kEsup2V97p$*kGPrfKPrfKPrfV