To answer your question in the comments,
Prelude> let bs = 1:map (\n-> sum $ take (n+1) bs) ( map (`div`2) [1..]) Prelude> take 20 bs [1,1,2,2,4,4,6,6,10,10,14,14,20,20,26,26,36,36,46,46] Prelude> let as = 1:1:g 2 (drop 2 as) where gx ~(a:b) = x:x:g(x+a)b Prelude> take 20 as [1,1,2,2,4,4,6,6,10,10,14,14,20,20,26,26,36,36,46,46] Prelude> take 20 $ map (\n-> sum $ take (n+1) as) $ map (`div`2) [0..] [1,1,2,2,4,4,6,6,10,10,14,14,20,20,26,26,36,36,46,46]