Please do NOT assume IAC changes are the best fix for these symptoms. There are useful alternative solutions. This is the age-old IAC control issue. Do a search for "dashpot" function.
The problem is simple with simple control, that the IAC when above idle is always trying to pull the rpm down to target idle. When throttle is closed above idle, the IAC is also closed (trying to pull rpm to idle), and so the decel is harsh. Also, when decelerating to idle, the IAC is closed until it hits target Idle, and then acts surprised that it has to try to reverse to raising rpm from a closed position.
<play circus music>
Simplest is to hold current or set IAC value if throttle increases, effectively halting closed-loop control until rpm returns to the target area. Holley calls this “hold” or “freeze” position. More involved is to open the IAC on throttle-up to a set value that will allow decel to be less harsh, and allow rpm to be settled from above idle rpm to idle without overshoot and recovery required. Holley calls this "Ramp Start" position and combines with "Ramp Decay" to settle rpm to idle (increasing PID control in the seconds following the Ramp Start position elevated rpm). We call that "dashpot" function. Now, stop thinking about that and look at it a different way.
As many of us instead use
Idle Timing Control or idle timing troughs/walls, effects with both functions operating would be a good idea.
In-fact and for now, using
open-loop IAC control, with
Idle Timing Control or table troughs for rpm stabilization is a more effective way to approach it.
Idle-Up can still be useful with these schemes for AC and similar add-on loads. Using rapid timing instead of slow IAC control is also one reason little has been done on the IAC control, as it isn't necessary (or even good) for most uses, while also avoiding the IAC issues above.
Holley is only one example with their own terminology and functional concepts. We already have some of those from previous discussions, and ideas on how to create those functions in the code we use. I would suggest starting there (where we left-off) if looking to proceed, but you will have to establish that advanced IAC control is better than other methods.
There are many requests for functions used in other systems, without looking at how we do it now, or other ways it could be done. Just because another system uses it in a certain way, does not mean that is the best or even a good way to do it with this system.