Prog "OracleRead" ["CEventOracle","Oracle","IOExts","Read","Char","Prelude","OracleChar","OraclePrelude"] [] [Func ("OracleRead","readNat") 2 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") []))) (Rule [2,1] (Let [(3,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 3,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OracleRead","readNat.readNatPrefix.3") [Comb FuncCall ("OraclePrelude","dropWhile") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleRead","readNat._#lambda2") []],Var 2,Var 1],Lit (Intc 0),Var 3]]))),Func ("OracleRead","readNat.readNatPrefix.3") 3 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") [])))) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleRead","_case_7") [Var 3,Var 2,Var 1]])),Func ("OracleRead","readNat._#lambda2") 2 Private (FuncType (TCons ("Prelude","Char") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OraclePrelude","==") [Var 2,Lit (Charc ' '),Var 1]])),Func ("OracleRead","readInt") 2 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") []))) (Rule [2,1] (Let [(3,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 3,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OracleRead","readInt.readIntPrefix.14") [Comb FuncCall ("OraclePrelude","dropWhile") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleRead","readInt._#lambda3") []],Var 2,Var 1],Var 3]]))),Func ("OracleRead","readInt.readIntPrefix.14") 2 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleRead","_case_5") [Var 2,Var 1]])),Func ("OracleRead","readInt._#lambda3") 2 Private (FuncType (TCons ("Prelude","Char") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OraclePrelude","==") [Var 2,Lit (Charc ' '),Var 1]])),Func ("OracleRead","readHex") 2 Public (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") []))) (Rule [2,1] (Let [(3,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 3,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OracleRead","readHex.readHexPrefix.22") [Comb FuncCall ("OraclePrelude","dropWhile") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleRead","readHex._#lambda4") []],Var 2,Var 1],Lit (Intc 0),Var 3]]))),Func ("OracleRead","readHex.hex2int.22") 2 Private (FuncType (TCons ("Prelude","Char") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") []))) (Rule [2,1] (Let [(3,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 3,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OracleRead","_case_3") [Var 2,Comb FuncCall ("OracleChar","isDigit") [Var 2,Var 1],Var 3]]))),Func ("OracleRead","readHex.readHexPrefix.22") 3 Private (FuncType (TCons ("Prelude","[]") [TCons ("Prelude","Char") []]) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") [])))) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleRead","_case_1") [Var 3,Var 2,Var 1]])),Func ("OracleRead","readHex._#lambda4") 2 Private (FuncType (TCons ("Prelude","Char") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OraclePrelude","==") [Var 2,Lit (Charc ' '),Var 1]])),Func ("OracleRead","_case_1") 3 Private (TVar (-42)) (Rule [3,2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("Prelude","[]") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 3]),Branch (Pattern ("Prelude",":") [4,5]) (Let [(7,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 7,Comb ConsCall ("Prelude","[]") []],Let [(6,Comb FuncCall ("OracleRead","readHex.hex2int.22") [Var 4,Var 1])] (Let [(8,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 7,Comb ConsCall ("Prelude",":") [Var 8,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OracleRead","_case_0") [Var 3,Var 5,Var 6,Comb FuncCall ("OraclePrelude",">=") [Var 6,Lit (Intc 0),Var 7],Var 8]]))]))]])),Func ("OracleRead","_case_0") 5 Private (TVar (-42)) (Rule [3,5,6,7,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 7) [Branch (Pattern ("Prelude","True") []) (Let [(8,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(9,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 8,Comb ConsCall ("Prelude",":") [Var 9,Comb ConsCall ("Prelude","[]") []]],Comb FuncCall ("OracleRead","readHex.readHexPrefix.22") [Var 5,Comb FuncCall ("OraclePrelude","+") [Comb FuncCall ("OraclePrelude","*") [Var 3,Lit (Intc 16),Var 1],Var 6,Var 8],Var 9]])),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 3])]])),Func ("OracleRead","_case_3") 3 Private (TVar (-42)) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 3) [Branch (Pattern ("Prelude","True") []) (Let [(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(5,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude",":") [Var 5,Comb ConsCall ("Prelude","[]") []]],Comb FuncCall ("OraclePrelude","-") [Comb FuncCall ("OraclePrelude","ord") [Var 2,Var 1],Comb FuncCall ("OraclePrelude","ord") [Lit (Charc '0'),Var 4],Var 5]])),Branch (Pattern ("Prelude","False") []) (Let [(6,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(7,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(8,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(9,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(10,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(11,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(12,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 6,Comb ConsCall ("Prelude",":") [Var 7,Comb ConsCall ("Prelude",":") [Var 8,Comb ConsCall ("Prelude",":") [Var 9,Comb ConsCall ("Prelude",":") [Var 10,Comb ConsCall ("Prelude",":") [Var 11,Comb ConsCall ("Prelude",":") [Var 12,Comb ConsCall ("Prelude","[]") []]]]]]]],Comb FuncCall ("OracleRead","_case_2") [Var 2,Comb FuncCall ("OraclePrelude","&&") [Comb FuncCall ("OraclePrelude",">=") [Comb FuncCall ("OraclePrelude","ord") [Var 2,Var 1],Comb FuncCall ("OraclePrelude","ord") [Lit (Charc 'A'),Var 6],Var 7],Comb FuncCall ("OraclePrelude","<=") [Comb FuncCall ("OraclePrelude","ord") [Var 2,Var 8],Comb FuncCall ("OraclePrelude","ord") [Lit (Charc 'F'),Var 9],Var 10],Var 11],Var 12]]))]])),Func ("OracleRead","_case_2") 3 Private (TVar (-42)) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 3) [Branch (Pattern ("Prelude","True") []) (Let [(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(5,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(6,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude",":") [Var 5,Comb ConsCall ("Prelude",":") [Var 6,Comb ConsCall ("Prelude","[]") []]]],Comb FuncCall ("OraclePrelude","+") [Comb FuncCall ("OraclePrelude","-") [Comb FuncCall ("OraclePrelude","ord") [Var 2,Var 1],Comb FuncCall ("OraclePrelude","ord") [Lit (Charc 'A'),Var 4],Var 5],Lit (Intc 10),Var 6]])),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OraclePrelude","negate") [Lit (Intc 1),Var 1]])]])),Func ("OracleRead","_case_5") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("Prelude","[]") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Lit (Intc 0)]),Branch (Pattern ("Prelude",":") [3,4]) (Let [(5,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 5,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OracleRead","_case_4") [Var 3,Var 4,Comb FuncCall ("OraclePrelude","==") [Var 3,Lit (Charc '-'),Var 1],Var 5]]))]])),Func ("OracleRead","_case_4") 4 Private (TVar (-42)) (Rule [3,4,5,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 5) [Branch (Pattern ("Prelude","True") []) (Let [(6,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 6,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OraclePrelude","negate") [Comb FuncCall ("OracleRead","readNat") [Var 4,Var 1],Var 6]])),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleRead","readNat") [Comb ConsCall ("Prelude",":") [Var 3,Var 4],Var 1]])]])),Func ("OracleRead","_case_7") 3 Private (TVar (-42)) (Rule [3,2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("Prelude","[]") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 3]),Branch (Pattern ("Prelude",":") [4,5]) (Let [(7,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 7,Comb ConsCall ("Prelude","[]") []],Let [(6,Comb FuncCall ("OraclePrelude","ord") [Var 4,Var 1])] (Let [(8,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(9,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(10,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(11,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(12,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 7,Comb ConsCall ("Prelude",":") [Var 8,Comb ConsCall ("Prelude",":") [Var 9,Comb ConsCall ("Prelude",":") [Var 10,Comb ConsCall ("Prelude",":") [Var 11,Comb ConsCall ("Prelude",":") [Var 12,Comb ConsCall ("Prelude","[]") []]]]]],Comb FuncCall ("OracleRead","_case_6") [Var 3,Var 5,Var 6,Comb FuncCall ("OraclePrelude","&&") [Comb FuncCall ("OraclePrelude",">=") [Var 6,Comb FuncCall ("OraclePrelude","ord") [Lit (Charc '0'),Var 7],Var 8],Comb FuncCall ("OraclePrelude","<=") [Var 6,Comb FuncCall ("OraclePrelude","ord") [Lit (Charc '9'),Var 9],Var 10],Var 11],Var 12]]))]))]])),Func ("OracleRead","_case_6") 5 Private (TVar (-42)) (Rule [3,5,6,7,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 7) [Branch (Pattern ("Prelude","True") []) (Let [(8,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(9,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(10,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(11,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 8,Comb ConsCall ("Prelude",":") [Var 9,Comb ConsCall ("Prelude",":") [Var 10,Comb ConsCall ("Prelude",":") [Var 11,Comb ConsCall ("Prelude","[]") []]]]],Comb FuncCall ("OracleRead","readNat.readNatPrefix.3") [Var 5,Comb FuncCall ("OraclePrelude","-") [Comb FuncCall ("OraclePrelude","+") [Comb FuncCall ("OraclePrelude","*") [Var 3,Lit (Intc 10),Var 1],Var 6,Var 8],Comb FuncCall ("OraclePrelude","ord") [Lit (Charc '0'),Var 9],Var 10],Var 11]])),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 3])]]))] []