Scalable semi-matrix-free preconditioning for Newton-Krylov solvers: application to a two-phase flow simulation | Synapse