Opt/precompute numerical derivatives

Sample results are worse than master:

 $ ./test ec2-54-68-111-62.us-west-2.compute.amazonaws.com 100m Y complex.txt
-1.7976931348623157E308Start: 1412713470539654846 end: 1412714662470733936 diff: 1191931079090
 $ ./test ec2-54-68-111-62.us-west-2.compute.amazonaws.com 100m Y complex.txt
-1.7976931348623157E308Start: 1412714871493459504 end: 1412715609837432557 diff: 738343973053
 $ ./test ec2-54-68-111-62.us-west-2.compute.amazonaws.com 100m Y complex.txt
-1.7976931348623157E308Start: 1412715670773949066 end: 1412716406588517702 diff: 735814568636
 $ ./test ec2-54-68-111-62.us-west-2.compute.amazonaws.com 10m Y complex.txt
-1.7976931348623157E308Start: 1412716736894311108 end: 1412716855710713388 diff: 118816402280
 $ ./test ec2-54-68-111-62.us-west-2.compute.amazonaws.com 10m Y complex.txt
-1.7976931348623157E308Start: 1412716876629167359 end: 1412716953456385652 diff: 76827218293
 $ ./test ec2-54-68-111-62.us-west-2.compute.amazonaws.com 10m Y complex.txt
-1.7976931348623157E308Start: 1412716961086538251 end: 1412717038364626108 diff: 77278087857