Lemme guess -- your background is in PC-programming. PC programs do NOT function like PLC programs.
Take B3:5/1 out of rung 12. Period... you don't need it at all. It's going to be scanning that input many times every second... top to bottom, every time. It won't jump back to rung 12 from rung 14 or rung 16 -- that's what you were doing with the JMP/LBL, and that is what was causing the watchdog fault.
Every scan, it scans rung 1, then rung 2, then rung three, then rung 4, ... until it hits the end, then it starts over. Unless you do a backwards jump from 14 to 12, then it goes 11 - 12 - 13 - 14 - 12 - 13 - 14 - 12 - 13 - 14 -... oops, watchdog fault... A backwards jump is usually the equivalent to an infinite loop in upper level programming languages.
Every scan it will scale your two inputs. Every time!
Then, every scan it will evaluate the difference. Then, every scan, it will evaluate the DUTY bits according to that difference.