Prog "OracleFloat" ["CEventOracle","Oracle","IOExts","Float","Prelude","OraclePrelude"] [] [Func ("OracleFloat","+.") 3 Public (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Float") [])))) (Rule [2,3,1] (Let [(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("Oracle","$#") [Comb FuncCall ("Oracle","$#") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OracleFloat","prim_Float_plus") []],Var 2,Var 1],Var 3,Var 4]]))),Func ("OracleFloat","-.") 3 Public (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Float") [])))) (Rule [2,3,1] (Let [(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("Oracle","$#") [Comb FuncCall ("Oracle","$#") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OracleFloat","prim_Float_minus") []],Var 2,Var 1],Var 3,Var 4]]))),Func ("OracleFloat","*.") 3 Public (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Float") [])))) (Rule [2,3,1] (Let [(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("Oracle","$#") [Comb FuncCall ("Oracle","$#") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OracleFloat","prim_Float_times") []],Var 2,Var 1],Var 3,Var 4]]))),Func ("OracleFloat","/.") 3 Public (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Float") [])))) (Rule [2,3,1] (Let [(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("Oracle","$#") [Comb FuncCall ("Oracle","$#") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OracleFloat","prim_Float_divide") []],Var 2,Var 1],Var 3,Var 4]]))),Func ("OracleFloat","<.") 3 Public (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") [])))) (Rule [2,3,1] (Let [(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("Oracle","$#") [Comb FuncCall ("Oracle","$#") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OracleFloat","prim_Float_lt") []],Var 2,Var 1],Var 3,Var 4]]))),Func ("OracleFloat",">.") 3 Public (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") [])))) (Rule [2,3,1] (Let [(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("Oracle","$#") [Comb FuncCall ("Oracle","$#") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OracleFloat","prim_Float_gt") []],Var 2,Var 1],Var 3,Var 4]]))),Func ("OracleFloat","<=.") 3 Public (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") [])))) (Rule [2,3,1] (Let [(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("Oracle","$#") [Comb FuncCall ("Oracle","$#") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OracleFloat","prim_Float_leq") []],Var 2,Var 1],Var 3,Var 4]]))),Func ("OracleFloat",">=.") 3 Public (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") [])))) (Rule [2,3,1] (Let [(4,Comb FuncCall ("CEventOracle","fresh") [Comb ConsCall ("Prelude","()") []])] (Comb FuncCall ("CEventOracle","expand") [Var 1,Comb ConsCall ("Prelude",":") [Var 4,Comb ConsCall ("Prelude","[]") []],Comb FuncCall ("Oracle","$#") [Comb FuncCall ("Oracle","$#") [Comb FuncCall ("Oracle","compose") [Comb (FuncPartCall 2) ("Oracle","partCall") [],Comb (FuncPartCall 2) ("Oracle","compose") [Comb (FuncPartCall 3) ("Oracle","partFunc") []],Comb (FuncPartCall 3) ("OracleFloat","prim_Float_geq") []],Var 2,Var 1],Var 3,Var 4]]))),Func ("OracleFloat","i2f") 2 Public (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Float") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("Oracle","$#") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFloat","prim_i2f") []],Var 2,Var 1]])),Func ("OracleFloat","truncate") 2 Public (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("Oracle","$#") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFloat","prim_truncate") []],Var 2,Var 1]])),Func ("OracleFloat","round") 2 Public (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("Oracle","$#") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFloat","prim_round") []],Var 2,Var 1]])),Func ("OracleFloat","sqrt") 2 Public (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Float") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("Oracle","$#") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFloat","prim_sqrt") []],Var 2,Var 1]])),Func ("OracleFloat","log") 2 Public (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Float") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("Oracle","$#") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFloat","prim_log") []],Var 2,Var 1]])),Func ("OracleFloat","exp") 2 Public (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Float") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("Oracle","$#") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFloat","prim_exp") []],Var 2,Var 1]])),Func ("OracleFloat","sin") 2 Public (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Float") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("Oracle","$#") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFloat","prim_sin") []],Var 2,Var 1]])),Func ("OracleFloat","cos") 2 Public (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Float") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("Oracle","$#") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFloat","prim_cos") []],Var 2,Var 1]])),Func ("OracleFloat","tan") 2 Public (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Float") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("Oracle","$#") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFloat","prim_tan") []],Var 2,Var 1]])),Func ("OracleFloat","atan") 2 Public (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Float") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","replace") [Var 1,Comb FuncCall ("Oracle","$#") [Comb (FuncPartCall 2) ("Oracle","partFunc") [Comb (FuncPartCall 2) ("OracleFloat","prim_atan") []],Var 2,Var 1]])),Func ("OracleFloat","prim_Float_plus") 3 Private (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Float") [])))) (Rule [3,2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb FuncCall ("Float","prim_Float_plus") [Var 3,Var 2]])),Func ("OracleFloat","prim_Float_minus") 3 Private (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Float") [])))) (Rule [3,2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb FuncCall ("Float","prim_Float_minus") [Var 3,Var 2]])),Func ("OracleFloat","prim_Float_times") 3 Private (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Float") [])))) (Rule [3,2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb FuncCall ("Float","prim_Float_times") [Var 3,Var 2]])),Func ("OracleFloat","prim_Float_divide") 3 Private (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Float") [])))) (Rule [3,2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb FuncCall ("Float","prim_Float_divide") [Var 3,Var 2]])),Func ("OracleFloat","prim_Float_lt") 3 Private (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") [])))) (Rule [3,2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb FuncCall ("Float","prim_Float_lt") [Var 3,Var 2]])),Func ("OracleFloat","prim_Float_gt") 3 Private (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") [])))) (Rule [3,2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb FuncCall ("Float","prim_Float_gt") [Var 3,Var 2]])),Func ("OracleFloat","prim_Float_leq") 3 Private (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") [])))) (Rule [3,2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb FuncCall ("Float","prim_Float_leq") [Var 3,Var 2]])),Func ("OracleFloat","prim_Float_geq") 3 Private (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Bool") [])))) (Rule [3,2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb FuncCall ("Float","prim_Float_geq") [Var 3,Var 2]])),Func ("OracleFloat","prim_i2f") 2 Private (FuncType (TCons ("Prelude","Int") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Float") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb FuncCall ("Float","prim_i2f") [Var 2]])),Func ("OracleFloat","prim_truncate") 2 Private (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb FuncCall ("Float","prim_truncate") [Var 2]])),Func ("OracleFloat","prim_round") 2 Private (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Int") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb FuncCall ("Float","prim_round") [Var 2]])),Func ("OracleFloat","prim_sqrt") 2 Private (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Float") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb FuncCall ("Float","prim_sqrt") [Var 2]])),Func ("OracleFloat","prim_log") 2 Private (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Float") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb FuncCall ("Float","prim_log") [Var 2]])),Func ("OracleFloat","prim_exp") 2 Private (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Float") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb FuncCall ("Float","prim_exp") [Var 2]])),Func ("OracleFloat","prim_sin") 2 Private (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Float") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb FuncCall ("Float","prim_sin") [Var 2]])),Func ("OracleFloat","prim_cos") 2 Private (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Float") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb FuncCall ("Float","prim_cos") [Var 2]])),Func ("OracleFloat","prim_tan") 2 Private (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Float") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb FuncCall ("Float","prim_tan") [Var 2]])),Func ("OracleFloat","prim_atan") 2 Private (FuncType (TCons ("Prelude","Float") []) (FuncType (TCons ("CEventOracle","Ref") []) (TCons ("Prelude","Float") []))) (Rule [2,1] (Comb FuncCall ("CEventOracle","collapse") [Var 1,Comb FuncCall ("Float","prim_atan") [Var 2]]))] [Op ("OracleFloat","*.") InfixlOp 7,Op ("OracleFloat","/.") InfixlOp 7,Op ("OracleFloat","+.") InfixlOp 6,Op ("OracleFloat","-.") InfixlOp 6,Op ("OracleFloat","<.") InfixOp 4,Op ("OracleFloat",">.") InfixOp 4,Op ("OracleFloat","<=.") InfixOp 4,Op ("OracleFloat",">=.") InfixOp 4]