Modified code to support mixed-precision solvers using 16-bit data
types. To enable, compile with MAX_MIXED. NB: still requires some
testing.