```python
>>> euler2 = lambda max_num: reduce(lambda x,y: x+y, filter(lambda x: x % 2 == 0, (lambda max_num: (lambda f, n, max_num: [(lambda n: (lambda f, n: 1 if n < 3 else f(f, n-1)+f(f, n-2))(lambda f, n: 1 if n < 3 else f(f, n-1)+f(f, n-2), n))(n)] + f(f, n+1, max_num) if (lambda n: (lambda f, n: 1 if n < 3 else f(f, n-1)+f(f, n-2))(lambda f, n: 1 if n < 3 else f(f, n-1)+f(f, n-2), n))(n) < max_num else [])(lambda f, n, max_num: [(lambda n: (lambda f, n: 1 if n < 3 else f(f, n-1)+f(f, n-2))(lambda f, n: 1 if n < 3 else f(f, n-1)+f(f, n-2), n))(n)] + f(f, n+1, max_num) if (lambda n: (lambda f, n: 1 if n < 3 else f(f, n-1)+f(f, n-2))(lambda f, n: 1 if n < 3 else f(f, n-1)+f(f, n-2), n))(n) < max_num else [], 1, max_num))(max_num)))
>>> euler2(4000000)
4613732
```