Thanks for remove maxIter. It's been a bug bear of mine for a while, and I had thought I posted a PR about years ago. But, it turned out I hadn't hence when I thought about it last week and found this PR I hijacked it.
Whilst my maxIter input was a little off-topic, I think the B src predictor bug is why I have never trusted them in any simulations for many years. They have always seemed to struggle in any circuit with real devices in and this predictor bug is very likely the culprit. FYI - I have been dabbling on and off in SPICE itself for decades now - the first version I did serious work with was XSPICE adding device models. A couple of years back I got back into it, and ended up doing a ground up MATLAB version....
NIiter() raises every iteration limit below 100 to 100, so ITL4 (and ITL2) are silently ignored and transient timestep control no longer matches SPICE3 Description src/maths/ni/niiter.c, start of NIiter() (lines 37-39 in 44.2, unchanged on master): / some convergence issues that get resolved by increasing max iter / if (maxIter < 100) maxIter = 100; This was added in commit 6d5a4474 (2007-10-10, "Fixed minimum iterations number to 100 (Phil Barker)"). Since then it has only been reformatted. Berkeley...