main :: IO ()
main = putStr $ concat $ ["time  phigh1   phigh2\n"] ++ (map (uncurryN $ printf "%5d %.6f %.6f\n") $ zip3 ([0..] :: [Int]) ps1 ps2 :: [String])
    where vals = runComp (replicateM_ (tMax + 1) comp) p v
          ps1 = map pHigh1 vals
          ps2 = map pHigh2 vals
          pHigh arr = arrayToMockup arr minBound ?! High
          pHigh1 = pHigh . mockupArray1
          pHigh2 = pHigh . mockupArray2
          arr1 = mockupToArray initMock1
          arr2 = mockupToArray initMock2
          step = 0.1
          epsi = 0
          rol = Role dyn util 0.95
          p = Param rol rol sig2 epsi epsi (const step) (const step) 1
          v = Var arr1 arr2 1
main :: IO ()
main = putStr $ concat $ ["time  phigh1   phigh2\n"] ++ (map (uncurryN $ printf "%5d %.6f %.6f\n") $ zip3 ([0..] :: [Int]) ps1 ps2 :: [String])
    where vals = runComp (replicateM_ (tMax + 1) comp) p v
          ps1 = map pHigh1 vals
          ps2 = map pHigh2 vals
          pHigh arr = arrayToMockup arr minBound ?! High
          pHigh1 = pHigh . mockupArray1
          pHigh2 = pHigh . mockupArray2
          arr1 = mockupToArray initMock1
          arr2 = mockupToArray initMock2
          step = 0.1
          epsi = 0
          rol = Role dyn util 0.95
          p = Param rol rol sig2 epsi epsi (const step) (const step) 1
          v = Var arr1 arr2 1
main = putStr $ concat $ ["time  phigh1   phigh2\n"] ++ (map (uncurryN $ printf "%5d %.6f %.6f\n") $ zip3 ([0..] :: [Int]) ps1 ps2 :: [String])
    where vals = runComp (replicateM_ (tMax + 1) comp) p v
          ps1 = map pHigh1 vals
          ps2 = map pHigh2 vals
          pHigh arr = arrayToMockup arr minBound ?! High
          pHigh1 = pHigh . mockupArray1
          pHigh2 = pHigh . mockupArray2
          arr1 = mockupToArray initMock1
          arr2 = mockupToArray initMock2
          step = 0.1
          epsi = 0
          rol = Role dyn util 0.95
          p = Param rol rol sig2 epsi epsi (const step) (const step) 1
          v = Var arr1 arr2 1