--- gforth/Attic/dblsub.c 1996/02/13 11:12:16 1.1 +++ gforth/Attic/dblsub.c 1996/02/26 16:52:45 1.2 @@ -64,17 +64,13 @@ UDCell ummul (UCell a, UCell b) /* unsig DCell mmul (Cell a, Cell b) /* signed multiply, mixed precision */ { DCell res; - Cell sign = a^b; + res = UD2D(ummul (a, b)); if (a < 0) - a = -a; + res.hi -= b; if (b < 0) - b = -b; - res = UD2D(ummul (a, b)); - if (sign < 0) - return dnegate (res); - else - return res; + res.hi -= a; + return res; } UDCell umdiv (UDCell u, UCell v)