The first observation is that for example if amp=14 then it doesn't meet any criteria.

The second is I always try to put multiple conditional statements within parenthesis... sometimes, (certainly on early PBP compilers) multiple conditions were not actioned in what I considered a logical fashion, so rather than...

if amp < 14 or amp > 18 then pause 500

...I chose to write...

if (amp < 14) or (amp > 18) then pause 500

...then there's no ambiguity as to what conditions are tested against what other conditions.