Here is the difference without and with the bias. You can move the bias after the -evaluate.

dx="-1,0,1,-2,0,2,-1,0,1"

dy="1,2,1,0,0,0,-1,-2,-1"

infile="zelda3.png"

gain=`convert xc: -format "%[fx:1/4]" info:`

convert \( $infile -convolve "$dx" -evaluate multiply $gain \) \

\( $infile -convolve "$dy" -evaluate multiply $gain \) \

\( -clone 0 -clone 0 -compose multiply -composite \) \

\( -clone 1 -clone 1 -compose multiply -composite \) \

-delete 0,1 -compose plus -composite -gamma 2 zelda3_grad3.png

dx="-1,0,1,-2,0,2,-1,0,1"

dy="1,2,1,0,0,0,-1,-2,-1"

infile="zelda3.png"

gain=`convert xc: -format "%[fx:1/4]" info:`

convert \( $infile -convolve "$dx" -evaluate multiply $gain -bias 50% \) \

\( $infile -convolve "$dy" -evaluate multiply $gain -bias 50% \) \

\( -clone 0 -clone 0 -compose multiply -composite \) \

\( -clone 1 -clone 1 -compose multiply -composite \) \

-delete 0,1 -compose plus -composite -gamma 2 zelda3_grad4.png

using twice as large gain (0.5), we get

dx="-1,0,1,-2,0,2,-1,0,1"

dy="1,2,1,0,0,0,-1,-2,-1"

infile="zelda3.png"

gain=`convert xc: -format "%[fx:1/2]" info:`

convert \( $infile -convolve "$dx" -evaluate multiply $gain \) \

\( $infile -convolve "$dy" -evaluate multiply $gain \) \

\( -clone 0 -clone 0 -compose multiply -composite \) \

\( -clone 1 -clone 1 -compose multiply -composite \) \

-delete 0,1 -compose plus -composite -gamma 2 zelda3_grad5.png

dx="-1,0,1,-2,0,2,-1,0,1"

dy="1,2,1,0,0,0,-1,-2,-1"

infile="zelda3.png"

gain=`convert xc: -format "%[fx:1/2]" info:`

convert \( $infile -convolve "$dx" -evaluate multiply $gain -bias 50% \) \

\( $infile -convolve "$dy" -evaluate multiply $gain -bias 50% \) \

\( -clone 0 -clone 0 -compose multiply -composite \) \

\( -clone 1 -clone 1 -compose multiply -composite \) \

-delete 0,1 -compose plus -composite -gamma 2 zelda3_grad6.png