cppad.general is much faster than cppad.symmetric. Also computing only lower triangle subset speeds things up slightly.
Selfcons iteration doesn't need full solver reset, only drop the Jacobian decomposition.