content: {-# LANGUAGE MagicHash #-}
  -- !!! move arguments around on the stacks, mainly the B stack
  
  import GHC.Base ( Float#, Double#, Int#, Int(..) )
  
  
  main = print foo
  
  foo = I#
          ( f 1.1##
              2.1#
              True
              3.1##
              4.1#
              5.1##
              6.1##
              42# -- the answer!
              7.1#
              8.1# )
      where
        f :: Double# -> Float# -> Bool -> Double# -> Float#
          -> Double# -> Double# -> Int# -> Float# -> Float#
          -> Int#
        f b1 s2 t b3 s4 b5 b6 i42 s7 s8
          -- evens, then odds
          = g s2 b3 b5 i42 s8 b1 t s4 b6 s7
  
        g :: Float# -> Double# -> Double# -> Int# -> Float#
          -> Double# -> Bool -> Float# -> Double# -> Float#
          -> Int#
        g s2 b3 b5 i42 s8 b1 t s4 b6 s7
          -- powers of 2 backwards, then others forwards
          = h s7 b6 t b5 s2 b3 i42 s8 b1 s4
  
        h :: Float# -> Double# -> Bool -> Double# -> Float#
          -> Double# -> Int# -> Float# -> Double# -> Float#
          -> Int#
        h s7 b6 t b5 s2 b3 i42 s8 b1 s4
          = i42
  