fib_count last current max sum | current >= max = sum | rem current 2 == 0 = fib_count current (current + last) max (sum + current) | otherwise = fib_count current (current + last) max sum e2 = fib_count 0 1 4000000 0