OTA 100% working and is biased correctly. Shows gain of 1.6/0.001=1600. The problem was incorrectly assuming that the bottom device M3 pushes 1mA when in reality it should be pushing 2mA. After doubling the size of M3, it works.