summaryrefslogtreecommitdiff
path: root/testsuite/tests/simplCore/should_compile/T22277.hs
blob: 16a990b0b48f9a6832395e31b384f662c66ecfc2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
{-# OPTIONS_GHC -O2 -fforce-recomp #-}

module T22277 where

entry :: Int -> Int
entry n = case n of
  0 -> f n (13,24)
  _ -> f n (n,n)
  where
    f :: Int -> (Int,Int) -> Int
    f m x = g m x
      where
        exit m = (length $ reverse $ reverse $ reverse $ reverse $ [0..m]) + n
        g n p | even n    = exit n
              | n > 43    = g (n-1) p
              | otherwise = fst p