Benchmarking 20 x 1024 iterations for data length 1048576 (i.e. 20 different random seeds) --- randomized from new seed --- 68 msecs. OP's code elapsed: 4961 msecs. Hash 72e2f1861319fb15 ok paper.plane elapsed: 5483 msecs. Hash 382e01bc6ba89ea1 FAILED! --- randomized from new seed --- 59 msecs. OP's code elapsed: 4948 msecs. Hash 182b28b5ebd2f4a0 ok paper.plane elapsed: 4966 msecs. Hash 137e56dea5e17d94 FAILED! --- randomized from new seed --- 59 msecs. OP's code elapsed: 4936 msecs. Hash dfa2bd5b64b9d54f ok paper.plane elapsed: 4975 msecs. Hash a94b4477f4878e11 FAILED! --- randomized from new seed --- 59 msecs. OP's code elapsed: 4955 msecs. Hash 3b90d4869d1c7646 ok paper.plane elapsed: 4980 msecs. Hash 540f0913335e67c3 FAILED! --- randomized from new seed --- 59 msecs. OP's code elapsed: 4942 msecs. Hash 6cd427292d79805 ok paper.plane elapsed: 4969 msecs. Hash 765c67a77f249880 FAILED! --- randomized from new seed --- 59 msecs. OP's code elapsed: 4915 msecs. Hash 192a12a057c60321 ok paper.plane elapsed: 5006 msecs. Hash 651bf930eccdbdcd FAILED! --- randomized from new seed --- 59 msecs. OP's code elapsed: 4940 msecs. Hash 3673c40463f1234b ok paper.plane elapsed: 4980 msecs. Hash 2a0925e1e258293e FAILED! --- randomized from new seed --- 59 msecs. OP's code elapsed: 4921 msecs. Hash 4163182f61aae8a1 ok paper.plane elapsed: 4973 msecs. Hash 452a593f6ef8d6fc FAILED! --- randomized from new seed --- 59 msecs. OP's code elapsed: 4922 msecs. Hash b208ee11d5582e3e ok paper.plane elapsed: 4985 msecs. Hash d5dad0e36d3d499d FAILED! --- randomized from new seed --- 59 msecs. OP's code elapsed: 4929 msecs. Hash e61e6cfc187b1d03 ok paper.plane elapsed: 4992 msecs. Hash 9a057881a49a44ec FAILED! --- randomized from new seed --- 59 msecs. OP's code elapsed: 4918 msecs. Hash 6bb0953acbabb1d ok paper.plane elapsed: 4973 msecs. Hash 43cd5ca4b0fed759 FAILED! --- randomized from new seed --- 59 msecs. OP's code elapsed: 4937 msecs. Hash 509febaeb7762d32 ok paper.plane elapsed: 4979 msecs. Hash ea0164a0e06f6409 FAILED! --- randomized from new seed --- 59 msecs. OP's code elapsed: 4958 msecs. Hash dd666e9ca31daaea ok paper.plane elapsed: 4976 msecs. Hash 6ff6d62983e8b3ac FAILED! --- randomized from new seed --- 59 msecs. OP's code elapsed: 4927 msecs. Hash fef8a4ec4f539637 ok paper.plane elapsed: 4975 msecs. Hash a8b122dfc10ce4f3 FAILED! --- randomized from new seed --- 59 msecs. OP's code elapsed: 4907 msecs. Hash e09117587ada92ff ok paper.plane elapsed: 4965 msecs. Hash c2be2f59b7aa8505 FAILED! --- randomized from new seed --- 59 msecs. OP's code elapsed: 4918 msecs. Hash 67dd1cf8fd163f63 ok paper.plane elapsed: 4965 msecs. Hash 887f2bd79b0fd477 FAILED! --- randomized from new seed --- 59 msecs. OP's code elapsed: 4919 msecs. Hash 3a5bd0ab0c26d28 ok paper.plane elapsed: 5003 msecs. Hash 2cd4d379a8d3fae9 FAILED! --- randomized from new seed --- 59 msecs. OP's code elapsed: 4944 msecs. Hash bc0404ce5f739a32 ok paper.plane elapsed: 5000 msecs. Hash cbce83ec2b31d7c9 FAILED! --- randomized from new seed --- 59 msecs. OP's code elapsed: 4939 msecs. Hash c6096ef0cf5321e8 ok paper.plane elapsed: 5010 msecs. Hash 2bbab47dc71ef2f5 FAILED! --- randomized from new seed --- 59 msecs. OP's code elapsed: 4925 msecs. Hash 718db14eb8952a8 ok paper.plane elapsed: 4988 msecs. Hash 5885bbe0a6386d45 FAILED! total time in OP algorithm: 98661 msecs total time in Heuristic algorithm: 100143 msecs speedup factor: 0.985201 x