Prog "OracleRandom" ["CEventOracle","Oracle","IOExts","Random","Prelude","System","Time","OraclePrelude","OracleSystem","OracleTime"] [] [Func ("OracleRandom","multiplier") 1 Private (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") [])) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Lit (Intc 25214903917)])),Func ("OracleRandom","addend") 1 Private (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") [])) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Lit (Intc 11)])),Func ("OracleRandom","powermask") 1 Private (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") [])) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Lit (Intc 48)])),Func ("OracleRandom","mask") 1 Private (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") [])) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Lit (Intc 281474976710656)])),Func ("OracleRandom","intsize") 1 Private (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") [])) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Lit (Intc 32)])),Func ("OracleRandom","intspan") 1 Private (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") [])) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Lit (Intc 4294967296)])),Func ("OracleRandom","intlimit") 1 Private (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") [])) (Rule [1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Lit (Intc 2147483648)])),Func ("OracleRandom","sequence") 2 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []]))) (Rule [2,1] (Let [(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude","[]") []],Let [(3,Comb FuncCall ("OracleRandom","nextseed") [Var 2,Var 1])] (Comb FuncCall ("CEventOracle","replace") [Var 4,Comb ConsCall ("Prelude",":") [Var 3,Comb FuncCall ("OracleRandom","sequence") [Var 3,Var 4]]])]))),Func ("OracleRandom","nextseed") 2 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") []))) (Rule [2,1] (Let [(3,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(5,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(6,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(7,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 3,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude",":") [Var 5,Comb ConsCall ("Prelude",":") [Var 6,Comb ConsCall ("Prelude",":") [Var 7,Comb ConsCall ("Prelude","[]") []]]]]],Comb FuncCall ("OraclePrelude","mod") [Comb FuncCall ("OraclePrelude","+") [Comb FuncCall ("OraclePrelude","*") [Var 2,Comb FuncCall ("OracleRandom","multiplier") [Var 1],Var 3],Comb FuncCall ("OracleRandom","addend") [Var 4],Var 5],Comb FuncCall ("OracleRandom","mask") [Var 6],Var 7]]))),Func ("OracleRandom","xor") 3 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") [])))) (Rule [2,3,1] (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","()") []])] (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","[]") []]]]],Let [(4,Comb FuncCall ("OracleRandom","_case_11") [Var 2,Var 3,Comb FuncCall ("OraclePrelude","==") [Comb FuncCall ("OraclePrelude","mod") [Var 2,Lit (Intc 2),Var 1],Comb FuncCall ("OraclePrelude","mod") [Var 3,Lit (Intc 2),Var 6],Var 7],Var 8])] (Let [(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 9,Comb ConsCall ("Prelude",":") [Var 10,Comb ConsCall ("Prelude",":") [Var 11,Comb ConsCall ("Prelude",":") [Var 12,Comb ConsCall ("Prelude","[]") []]]],Let [(5,Comb FuncCall ("OracleRandom","xor") [Comb FuncCall ("OraclePrelude","div") [Var 2,Lit (Intc 2),Var 9],Comb FuncCall ("OraclePrelude","div") [Var 3,Lit (Intc 2),Var 10],Var 11])] (Let [(13,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(14,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(15,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 12,Comb ConsCall ("Prelude",":") [Var 13,Comb ConsCall ("Prelude",":") [Var 14,Comb ConsCall ("Prelude",":") [Var 15,Comb ConsCall ("Prelude","[]") []]]],Comb FuncCall ("OracleRandom","_case_12") [Var 2,Var 3,Var 4,Var 5,Comb FuncCall ("OraclePrelude","&&") [Comb FuncCall ("OraclePrelude","==") [Var 2,Lit (Intc 0),Var 12],Comb FuncCall ("OraclePrelude","==") [Var 3,Lit (Intc 0),Var 13],Var 14],Var 15]]))]))]))),Func ("OracleRandom","power") 3 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") [])))) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleRandom","power.binary.43") [Lit (Intc 1),Var 2,Var 3,Var 1]])),Func ("OracleRandom","power.binary.43") 4 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") []))))) (Rule [2,3,4,1] (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 ("OracleRandom","_case_10") [Var 2,Var 3,Var 4,Comb FuncCall ("OraclePrelude","==") [Var 4,Lit (Intc 0),Var 1],Var 5]]))),Func ("OracleRandom","nextIntBits") 3 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])))) (Rule [2,3,1] (Let [(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","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 7,Comb ConsCall ("Prelude",":") [Var 8,Comb ConsCall ("Prelude",":") [Var 9,Comb ConsCall ("Prelude",":") [Var 10,Comb ConsCall ("Prelude","[]") []]]]],Let [(4,Comb FuncCall ("OraclePrelude","mod") [Comb FuncCall ("OracleRandom","xor") [Var 2,Comb FuncCall ("OracleRandom","multiplier") [Var 1],Var 7],Comb FuncCall ("OracleRandom","mask") [Var 8],Var 9])] (Let [(11,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 10,Comb ConsCall ("Prelude",":") [Var 11,Comb ConsCall ("Prelude","[]") []],Let [(5,Comb FuncCall ("OracleRandom","sequence") [Var 4,Var 10])] (Let [(12,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(13,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(14,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 11,Comb ConsCall ("Prelude",":") [Var 12,Comb ConsCall ("Prelude",":") [Var 13,Comb ConsCall ("Prelude",":") [Var 14,Comb ConsCall ("Prelude","[]") []]]],Let [(6,Comb FuncCall ("OracleRandom","power") [Lit (Intc 2),Comb FuncCall ("OraclePrelude","-") [Comb FuncCall ("OracleRandom","powermask") [Var 11],Var 3,Var 12],Var 13])] (Comb FuncCall ("CEventOracle","replace") [Var 14,Comb FuncCall ("OraclePrelude","map") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleRandom","nextIntBits.adjust.53") [Var 6]],Var 5,Var 14]])]))]))]))),Func ("OracleRandom","nextIntBits.adjust.53") 3 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") [])))) (Rule [2,3,1] (Let [(5,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(6,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(7,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 5,Comb ConsCall ("Prelude",":") [Var 6,Comb ConsCall ("Prelude",":") [Var 7,Comb ConsCall ("Prelude","[]") []]]],Let [(4,Comb FuncCall ("OraclePrelude","mod") [Comb FuncCall ("OraclePrelude","div") [Var 3,Var 2,Var 1],Comb FuncCall ("OracleRandom","intspan") [Var 5],Var 6])] (Let [(8,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(9,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","[]") []]],Comb FuncCall ("OracleRandom","_case_8") [Var 4,Comb FuncCall ("OraclePrelude",">") [Var 4,Comb FuncCall ("OracleRandom","intlimit") [Var 7],Var 8],Var 9]]))]))),Func ("OracleRandom","nextInt") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","[]") [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 ("OracleRandom","nextIntBits") [Var 2,Comb FuncCall ("OracleRandom","intsize") [Var 1],Var 3]]))),Func ("OracleRandom","nextIntRange") 3 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","[]") [TCons ("Prelude","Int") []])))) (Rule [2,3,1] (Let [(5,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(6,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(7,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 5,Comb ConsCall ("Prelude",":") [Var 6,Comb ConsCall ("Prelude",":") [Var 7,Comb ConsCall ("Prelude","[]") []]]],Let [(4,Comb FuncCall ("OracleRandom","nextIntBits") [Var 2,Comb FuncCall ("OraclePrelude","-") [Comb FuncCall ("OracleRandom","intsize") [Var 1],Lit (Intc 1),Var 5],Var 6])] (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 ("OracleRandom","_case_7") [Var 3,Var 4,Comb FuncCall ("OraclePrelude",">") [Var 3,Lit (Intc 0),Var 7],Var 8]]))]))),Func ("OracleRandom","nextIntRange.adjust_a.64") 3 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") [])))) (Rule [2,3,1] (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","div") [Comb FuncCall ("OraclePrelude","*") [Var 2,Var 3,Var 1],Comb FuncCall ("OracleRandom","intlimit") [Var 4],Var 5]]))),Func ("OracleRandom","nextIntRange.adjust_b.64") 3 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") [])))) (Rule [2,3,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OraclePrelude","mod") [Var 3,Var 2,Var 1]])),Func ("OracleRandom","nextIntRange.adjust_c.64") 3 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") [])))) (Rule [2,3,1] (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","()") []]),(7,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",":") [Var 7,Comb ConsCall ("Prelude","[]") []]]]],Comb FuncCall ("OraclePrelude",">=") [Comb FuncCall ("OraclePrelude","+") [Comb FuncCall ("OraclePrelude","-") [Var 3,Comb FuncCall ("OraclePrelude","mod") [Var 3,Var 2,Var 1],Var 4],Comb FuncCall ("OraclePrelude","-") [Var 2,Lit (Intc 1),Var 5],Var 6],Lit (Intc 0),Var 7]]))),Func ("OracleRandom","nextIntRange.power_of_2.64") 2 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") []))) (Rule [2,1] (Let [(3,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(5,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(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","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 3,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude",":") [Var 5,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","[]") []]]]]]]]],Comb FuncCall ("OraclePrelude","||") [Comb FuncCall ("OraclePrelude","==") [Var 2,Lit (Intc 2),Var 1],Comb FuncCall ("OraclePrelude","&&") [Comb FuncCall ("OraclePrelude",">") [Var 2,Lit (Intc 2),Var 3],Comb FuncCall ("OraclePrelude","&&") [Comb FuncCall ("OraclePrelude","==") [Comb FuncCall ("OraclePrelude","mod") [Var 2,Lit (Intc 2),Var 4],Lit (Intc 0),Var 5],Comb FuncCall ("OracleRandom","nextIntRange.power_of_2.64") [Comb FuncCall ("OraclePrelude","div") [Var 2,Lit (Intc 2),Var 6],Var 7],Var 8],Var 9],Var 10]]))),Func ("OracleRandom","nextBoolean") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","[]") [TCons ("Prelude","Bool") []]))) (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 ("OraclePrelude","map") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OraclePrelude","flip") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OraclePrelude","/=") []],Lit (Intc 0)]],Comb FuncCall ("OracleRandom","nextIntBits") [Var 2,Lit (Intc 1),Var 1],Var 3]]))),Func ("OracleRandom","getRandomSeed") 1 Public (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TCons ("Prelude","Int") []])))) (Rule [1] (Let [(2,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 2,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("Oracle",">>=") [Comb FuncCall ("OracleTime","getClockTime") [Var 1],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleRandom","getRandomSeed._#lambda2") []],Var 2]]))),Func ("OracleRandom","getRandomSeed._#lambda2") 2 Private (FuncType (TCons ("Time","ClockTime") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [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 ("Oracle",">>=") [Comb FuncCall ("OracleSystem","getCPUTime") [Var 1],Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleRandom","getRandomSeed._#lambda2._#lambda3") [Var 2]],Var 3]]))),Func ("OracleRandom","getRandomSeed._#lambda2._#lambda3") 3 Private (FuncType (TCons ("Time","ClockTime") []) (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("CEventOracle","Ref") []) (FuncType (TCons ("Prelude","()") []) (TCons ("Prelude","IO") [TCons ("Prelude","Int") []])))))) (Rule [2,3,1] (Let [(11,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 11,Comb ConsCall ("Prelude","[]") []],Let [(4,Comb FuncCall ("OracleTime","toUTCTime") [Var 2,Var 1])] (Let [(12,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 11,Comb ConsCall ("Prelude",":") [Var 12,Comb ConsCall ("Prelude","[]") []],Let [(5,Comb FuncCall ("OracleRandom","getRandomSeed._#lambda2._#lambda3._#selFP3#y") [Var 4,Var 11])] (Let [(13,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 12,Comb ConsCall ("Prelude",":") [Var 13,Comb ConsCall ("Prelude","[]") []],Let [(6,Comb FuncCall ("OracleRandom","getRandomSeed._#lambda2._#lambda3._#selFP4#mo") [Var 4,Var 12])] (Let [(14,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 13,Comb ConsCall ("Prelude",":") [Var 14,Comb ConsCall ("Prelude","[]") []],Let [(7,Comb FuncCall ("OracleRandom","getRandomSeed._#lambda2._#lambda3._#selFP5#d") [Var 4,Var 13])] (Let [(15,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 14,Comb ConsCall ("Prelude",":") [Var 15,Comb ConsCall ("Prelude","[]") []],Let [(8,Comb FuncCall ("OracleRandom","getRandomSeed._#lambda2._#lambda3._#selFP6#h") [Var 4,Var 14])] (Let [(16,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 15,Comb ConsCall ("Prelude",":") [Var 16,Comb ConsCall ("Prelude","[]") []],Let [(9,Comb FuncCall ("OracleRandom","getRandomSeed._#lambda2._#lambda3._#selFP7#m") [Var 4,Var 15])] (Let [(17,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 16,Comb ConsCall ("Prelude",":") [Var 17,Comb ConsCall ("Prelude","[]") []],Let [(10,Comb FuncCall ("OracleRandom","getRandomSeed._#lambda2._#lambda3._#selFP8#s") [Var 4,Var 16])] (Let [(18,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(19,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(20,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(21,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(22,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(23,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(24,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []]),(25,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 17,Comb ConsCall ("Prelude",":") [Var 18,Comb ConsCall ("Prelude",":") [Var 19,Comb ConsCall ("Prelude",":") [Var 20,Comb ConsCall ("Prelude",":") [Var 21,Comb ConsCall ("Prelude",":") [Var 22,Comb ConsCall ("Prelude",":") [Var 23,Comb ConsCall ("Prelude",":") [Var 24,Comb ConsCall ("Prelude",":") [Var 25,Comb ConsCall ("Prelude","[]") []]]]]]]]],Comb FuncCall ("OraclePrelude","return") [Comb FuncCall ("OraclePrelude","mod") [Comb FuncCall ("OraclePrelude","+") [Comb FuncCall ("OraclePrelude","+") [Comb FuncCall ("OraclePrelude","+") [Comb FuncCall ("OraclePrelude","+") [Var 5,Var 6,Var 17],Var 7,Var 18],Var 8,Var 19],Comb FuncCall ("OraclePrelude","*") [Comb FuncCall ("OraclePrelude","*") [Var 9,Var 10,Var 20],Var 3,Var 21],Var 22],Comb FuncCall ("OracleRandom","mask") [Var 23],Var 24],Var 25]]))]))]))]))]))]))]))]))),Func ("OracleRandom","getRandomSeed._#lambda2._#lambda3._#selFP3#y") 2 Private (FuncType (TCons ("Time","CalendarTime") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleRandom","_case_5") [Var 2,Var 1]])),Func ("OracleRandom","getRandomSeed._#lambda2._#lambda3._#selFP4#mo") 2 Private (FuncType (TCons ("Time","CalendarTime") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleRandom","_case_4") [Var 2,Var 1]])),Func ("OracleRandom","getRandomSeed._#lambda2._#lambda3._#selFP5#d") 2 Private (FuncType (TCons ("Time","CalendarTime") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleRandom","_case_3") [Var 2,Var 1]])),Func ("OracleRandom","getRandomSeed._#lambda2._#lambda3._#selFP6#h") 2 Private (FuncType (TCons ("Time","CalendarTime") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleRandom","_case_2") [Var 2,Var 1]])),Func ("OracleRandom","getRandomSeed._#lambda2._#lambda3._#selFP7#m") 2 Private (FuncType (TCons ("Time","CalendarTime") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleRandom","_case_1") [Var 2,Var 1]])),Func ("OracleRandom","getRandomSeed._#lambda2._#lambda3._#selFP8#s") 2 Private (FuncType (TCons ("Time","CalendarTime") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OracleRandom","_case_0") [Var 2,Var 1]])),Func ("OracleRandom","_case_0") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("Time","CalendarTime") [3,4,5,6,7,8,9]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 8])]])),Func ("OracleRandom","_case_1") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("Time","CalendarTime") [3,4,5,6,7,8,9]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 7])]])),Func ("OracleRandom","_case_2") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("Time","CalendarTime") [3,4,5,6,7,8,9]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 6])]])),Func ("OracleRandom","_case_3") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("Time","CalendarTime") [3,4,5,6,7,8,9]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 5])]])),Func ("OracleRandom","_case_4") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("Time","CalendarTime") [3,4,5,6,7,8,9]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 4])]])),Func ("OracleRandom","_case_5") 2 Private (TVar (-42)) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Flex (Var 2) [Branch (Pattern ("Time","CalendarTime") [3,4,5,6,7,8,9]) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 3])]])),Func ("OracleRandom","_case_7") 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 ("OracleRandom","_case_6") [Var 3,Var 4,Comb FuncCall ("OracleRandom","nextIntRange.power_of_2.64") [Var 3,Var 1],Var 6]])),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OraclePrelude","failed") [Var 1]])]])),Func ("OracleRandom","_case_6") 4 Private (TVar (-42)) (Rule [3,4,5,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 5) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("OraclePrelude","map") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleRandom","nextIntRange.adjust_a.64") [Var 3]],Var 4,Var 1]]),Branch (Pattern ("Prelude","False") []) (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","map") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleRandom","nextIntRange.adjust_b.64") [Var 3]],Comb FuncCall ("OraclePrelude","filter") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleRandom","nextIntRange.adjust_c.64") [Var 3]],Var 4,Var 1],Var 6]]))]])),Func ("OracleRandom","_case_8") 3 Private (TVar (-42)) (Rule [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","-") [Var 4,Comb FuncCall ("OracleRandom","intspan") [Var 1],Var 6]])),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 4])]])),Func ("OracleRandom","_case_10") 5 Private (TVar (-42)) (Rule [2,3,4,5,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 5) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 2]),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","()") []])] (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","[]") []]]]]]],Comb FuncCall ("OracleRandom","power.binary.43") [Comb FuncCall ("OraclePrelude","*") [Var 2,Comb FuncCall ("OracleRandom","_case_9") [Var 3,Var 4,Comb FuncCall ("OraclePrelude","==") [Comb FuncCall ("OraclePrelude","mod") [Var 4,Lit (Intc 2),Var 1],Lit (Intc 1),Var 6],Var 7],Var 8],Comb FuncCall ("OraclePrelude","*") [Var 3,Var 3,Var 9],Comb FuncCall ("OraclePrelude","div") [Var 4,Lit (Intc 2),Var 10],Var 11]]))]])),Func ("OracleRandom","_case_9") 4 Private (TVar (-42)) (Rule [3,4,5,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 5) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Var 3]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Lit (Intc 1)])]])),Func ("OracleRandom","_case_11") 4 Private (TVar (-42)) (Rule [2,3,4,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 4) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Lit (Intc 0)]),Branch (Pattern ("Prelude","False") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Lit (Intc 1)])]])),Func ("OracleRandom","_case_12") 6 Private (TVar (-42)) (Rule [2,3,4,5,6,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Case Rigid (Var 6) [Branch (Pattern ("Prelude","True") []) (Comb FuncCall ("CEventOracle","collapse") [Var 1,Lit (Intc 0)]),Branch (Pattern ("Prelude","False") []) (Let [(7,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 7,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("OraclePrelude","+") [Var 4,Comb FuncCall ("OraclePrelude","*") [Lit (Intc 2),Var 5,Var 1],Var 7]]))]]))] []