// a.scala // Sat Jun 30 19:51:17 PDT 2012 trait Exp[T] object Test { def f[T](exp: Exp[T]): Exp[T] = ( f[T] _ compose f[T] compose f[T] compose f[T] compose f[T] compose f[T] compose f[T] compose f[T] compose f[T] compose f[T] compose f[T] // 4s compose f[T] // 5s compose f[T] // 5s compose f[T] // 6s compose f[T] // 7s compose f[T] // 8s compose f[T] // 11s compose f[T] // 17s compose f[T] // 29s compose f[T] // 54s compose f[T] compose f[T] compose f[T] compose f[T] compose f[T] compose f[T] compose f[T] compose f[T] compose f[T] compose f[T] compose f[T] compose f[T] compose f[T] compose f[T] compose f[T] compose f[T] compose f[T] compose f[T] )(exp) }