+ {-# GHC_PRAGMA _A_ 3 _U_ 222 _N_ _S_ "SSS" _F_ _ALWAYS_ _/\_ u0 u1 -> \ (u2 :: {{Ix u0}}) (u3 :: (u0, u0)) (u4 :: [Assoc u0 u1]) -> let {(u9 :: (u0, u0) -> u0 -> Int) = case u2 of { _ALG_ _TUP_4 (u5 :: {{Ord u0}}) (u6 :: (u0, u0) -> [u0]) (u7 :: (u0, u0) -> u0 -> Int) (u8 :: (u0, u0) -> u0 -> Bool) -> u7; _NO_DEFLT_ }} in case u3 of { _ALG_ _TUP_2 (ua :: u0) (ub :: u0) -> let {(ux :: _forall_ a$z1 =>_State a$z1 -> (Array u0 u1, _State a$z1)) = _/\_ u12 -> \ (ud :: _State u12) -> let {(ue :: u1) = _TYAPP_ _ORIG_ PreludeArray _arrEleBottom { u1 }} in case u2 of { _ALG_ _TUP_4 (uf :: {{Ord u0}}) (ug :: (u0, u0) -> [u0]) (uh :: (u0, u0) -> u0 -> Int) (ui :: (u0, u0) -> u0 -> Bool) -> case ud of { _ALG_ S# (uj :: State# u12) -> case _APP_ _TYAPP_ _TYAPP_ _TYAPP_ _WRKR_ _ORIG_ PreludeGlaST _newArray { u12 } { u0 } { u1 } [ ug, uh, u3, ue, uj ] of { _ALG_ _TUP_2 (uk :: _MutableArray u12 u0 u1) (ul :: _State u12) -> case uk of { _ALG_ _MutableArray (um :: (u0, u0)) (un :: MutableArray# u12 u1) -> let {(uv :: _State u12 -> Assoc u0 u1 -> _State u12) = \ (uo :: _State u12) (up :: Assoc u0 u1) -> case uo of { _ALG_ S# (uq :: State# u12) -> case up of { _ALG_ (:=) (ur :: u0) (us :: u1) -> case _APP_ u9 [ u3, ur ] of { _ALG_ I# (ut :: Int#) -> case _#_ writeArray# [u12, u1] [un, ut, us, uq] of { _PRIM_ (uu :: State# u12) -> _!_ S# [u12] [uu] }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }} in case _APP_ _TYAPP_ _TYAPP_ foldl { (_State u12) } { (Assoc u0 u1) } [ uv, ul, u4 ] of { _ALG_ S# (uw :: State# u12) -> _APP_ _TYAPP_ _TYAPP_ _TYAPP_ _WRKR_ _ORIG_ PreludeGlaST _freezeArray { u12 } { u0 } { u1 } [ ug, uh, um, un, uw ]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _runST { (Array u0 u1) } [ ux ]; _NO_DEFLT_ } _SPECIALISE_ [ Int, _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "SS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: (Int, Int)) (u2 :: [Assoc Int u0]) -> case u1 of { _ALG_ _TUP_2 (u3 :: Int) (u4 :: Int) -> let {(ut :: _forall_ a$z1 =>_State a$z1 -> (Array Int u0, _State a$z1)) = _/\_ u5 -> \ (u6 :: _State u5) -> let {(u7 :: u0) = _TYAPP_ _ORIG_ PreludeArray _arrEleBottom { u0 }} in case u3 of { _ALG_ I# (u8 :: Int#) -> case u4 of { _ALG_ I# (u9 :: Int#) -> case u6 of { _ALG_ S# (ua :: State# u5) -> case _APP_ _TYAPP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeGlaST _newArray [ _N_, (Int), _N_ ] { u5 } { u0 } [ u8, u9, u7, ua ] of { _ALG_ _TUP_2 (ub :: _MutableArray u5 Int u0) (uc :: _State u5) -> case ub of { _ALG_ _MutableArray (ud :: (Int, Int)) (ue :: MutableArray# u5 u0) -> let {(un :: _State u5 -> Assoc Int u0 -> _State u5) = \ (uf :: _State u5) (ug :: Assoc Int u0) -> case uf of { _ALG_ S# (uh :: State# u5) -> case ug of { _ALG_ (:=) (ui :: Int) (uj :: u0) -> case ui of { _ALG_ I# (uk :: Int#) -> case _#_ leInt# [] [u8, uk] of { _ALG_ True -> case _#_ leInt# [] [uk, u9] of { _ALG_ True -> case _#_ minusInt# [] [uk, u8] of { _PRIM_ (ul :: Int#) -> case _#_ writeArray# [u5, u0] [ue, ul, uj, uh] of { _PRIM_ (um :: State# u5) -> _!_ S# [u5] [um] } }; False -> _APP_ _TYAPP_ _ORIG_ PreludeCore _rangeComplaint_Ix_Int { (_State u5) } [ uk, u8, u9 ]; _NO_DEFLT_ }; False -> _APP_ _TYAPP_ _ORIG_ PreludeCore _rangeComplaint_Ix_Int { (_State u5) } [ uk, u8, u9 ]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }} in case _APP_ _TYAPP_ _TYAPP_ foldl { (_State u5) } { (Assoc Int u0) } [ un, uc, u2 ] of { _ALG_ S# (uo :: State# u5) -> case ud of { _ALG_ _TUP_2 (up :: Int) (uq :: Int) -> case up of { _ALG_ I# (ur :: Int#) -> case uq of { _ALG_ I# (us :: Int#) -> _APP_ _TYAPP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeGlaST _freezeArray [ _N_, (Int), _N_ ] { u5 } { u0 } [ ur, us, ue, uo ]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _runST { (Array Int u0) } [ ut ]; _NO_DEFLT_ } _N_ }, [ (Int, Int), _N_ ] 1 { _A_ 2 _U_ 12 _N_ _S_ "SS" _F_ _ALWAYS_ _/\_ u0 -> \ (u1 :: ((Int, Int), (Int, Int))) (u2 :: [Assoc (Int, Int) u0]) -> case u1 of { _ALG_ _TUP_2 (u3 :: (Int, Int)) (u4 :: (Int, Int)) -> let {(uF :: _forall_ a$z1 =>_State a$z1 -> (Array (Int, Int) u0, _State a$z1)) = _/\_ u5 -> \ (u6 :: _State u5) -> let {(u7 :: u0) = _TYAPP_ _ORIG_ PreludeArray _arrEleBottom { u0 }} in case u6 of { _ALG_ S# (u8 :: State# u5) -> case _APP_ _TYAPP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeGlaST _newArray [ _N_, ((Int, Int)), _N_ ] { u5 } { u0 } [ u3, u4, u7, u8 ] of { _ALG_ _TUP_2 (u9 :: _MutableArray u5 (Int, Int) u0) (ua :: _State u5) -> case u9 of { _ALG_ _MutableArray (ub :: ((Int, Int), (Int, Int))) (uc :: MutableArray# u5 u0) -> let {(uB :: _State u5 -> Assoc (Int, Int) u0 -> _State u5) = \ (ud :: _State u5) (ue :: Assoc (Int, Int) u0) -> case ud of { _ALG_ S# (uf :: State# u5) -> case ue of { _ALG_ (:=) (ug :: (Int, Int)) (uh :: u0) -> case u3 of { _ALG_ _TUP_2 (ui :: Int) (uj :: Int) -> case u4 of { _ALG_ _TUP_2 (uk :: Int) (ul :: Int) -> case ug of { _ALG_ _TUP_2 (um :: Int) (un :: Int) -> case ui of { _ALG_ I# (uo :: Int#) -> case uk of { _ALG_ I# (up :: Int#) -> case um of { _ALG_ I# (uq :: Int#) -> case _#_ leInt# [] [uo, uq] of { _ALG_ True -> case _#_ leInt# [] [uq, up] of { _ALG_ True -> case _#_ minusInt# [] [uq, uo] of { _PRIM_ (ur :: Int#) -> case uj of { _ALG_ I# (us :: Int#) -> case ul of { _ALG_ I# (ut :: Int#) -> case _#_ leInt# [] [us, ut] of { _ALG_ True -> case _#_ leInt# [] [ut, ut] of { _ALG_ True -> case _#_ minusInt# [] [ut, us] of { _PRIM_ (uu :: Int#) -> case _#_ plusInt# [] [uu, 1#] of { _PRIM_ (uv :: Int#) -> case _#_ timesInt# [] [ur, uv] of { _PRIM_ (uw :: Int#) -> case un of { _ALG_ I# (ux :: Int#) -> case _#_ leInt# [] [us, ux] of { _ALG_ True -> case _#_ leInt# [] [ux, ut] of { _ALG_ True -> case _#_ minusInt# [] [ux, us] of { _PRIM_ (uy :: Int#) -> case _#_ plusInt# [] [uw, uy] of { _PRIM_ (uz :: Int#) -> case _#_ writeArray# [u5, u0] [uc, uz, uh, uf] of { _PRIM_ (uA :: State# u5) -> _!_ S# [u5] [uA] } } }; False -> _APP_ _TYAPP_ _ORIG_ PreludeCore _rangeComplaint_Ix_Int { (_State u5) } [ ux, us, ut ]; _NO_DEFLT_ }; False -> _APP_ _TYAPP_ _ORIG_ PreludeCore _rangeComplaint_Ix_Int { (_State u5) } [ ux, us, ut ]; _NO_DEFLT_ }; _NO_DEFLT_ } } } }; False -> _APP_ _TYAPP_ _ORIG_ PreludeCore _rangeComplaint_Ix_Int { (_State u5) } [ ut, us, ut ]; _NO_DEFLT_ }; False -> _APP_ _TYAPP_ _ORIG_ PreludeCore _rangeComplaint_Ix_Int { (_State u5) } [ ut, us, ut ]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ } }; False -> _APP_ _TYAPP_ _ORIG_ PreludeCore _rangeComplaint_Ix_Int { (_State u5) } [ uq, uo, up ]; _NO_DEFLT_ }; False -> _APP_ _TYAPP_ _ORIG_ PreludeCore _rangeComplaint_Ix_Int { (_State u5) } [ uq, uo, up ]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }} in case _APP_ _TYAPP_ _TYAPP_ foldl { (_State u5) } { (Assoc (Int, Int) u0) } [ uB, ua, u2 ] of { _ALG_ S# (uC :: State# u5) -> case ub of { _ALG_ _TUP_2 (uD :: (Int, Int)) (uE :: (Int, Int)) -> _APP_ _TYAPP_ _TYAPP_ _WRKR_ _SPEC_ _ORIG_ PreludeGlaST _freezeArray [ _N_, ((Int, Int)), _N_ ] { u5 } { u0 } [ uD, uE, uc, uC ]; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }; _NO_DEFLT_ }} in _APP_ _TYAPP_ _runST { (Array (Int, Int) u0) } [ uF ]; _NO_DEFLT_ } _N_ } #-}