UV:
Go through your frequencies and check Device Monitor to see what they are being calibrated to with SR. These are your starting point for UVing and making a solid UV profile, so enter those calibrated voltages in.
Turn off SR then change min to 192 MHz and keep lowering 192 MHz by 25 mV until it crashes, then boot back up and set 192 MHz to the lowest voltage you had before the crash. Do the exact same for 384MHz. After this set performance governor to force the max freq and set the max freq to 729 MHz, lowering the voltage for 729 MHz in the same fashion. Repeat this process of setting the max freq to the frequency you are trying to calibrate (with the exception of the lowest frequencies) and eventually you should end up with a nice voltage profile.
If you then get instabilities either try to isolate it with performance governor and changing your max freq to the one that causes the crash or change the frequency range (min/max settings) until you have a stable phone to try and identify which specific frequency is unstable, after that just bump it up by 25 mV and it should be completely stable thereafter.
Note: some (high) frequencies are not stable at any respectable voltage (for me) therefore I do not run frequencies of 1.6 GHz and above.
Lag from CORE UVing:
The GPU seems to behave slightly differently and gets a bit laggy at low voltages, so I tend to find the laggy voltage and then add 25 mV.
Look at your smart reflex voltages for gpu, copy them in the core undervolt menu without applying, then up the top one by 5, then disable smartreflex for core and apply your voltages, if it still lags raise the top voltage by 5-20 (raise by 5 each time you test)
That should work, I know with sr values on 512 I get glitches in benchmark apps but just raising my voltage by 5 makes it work perfectly
Crashes:
If it freezes, the clock speed is too high. If it just reboots, the voltage is too low.
It's the first symptom that determines the issue.