竹内関数を遅延評価などして高速化してみた ref: http://qiita.com/items/b3f9ab63c63e9e6399e6