ShProgram update_state = p << state;Should be
ShProgram update_state = update << state;
/ b if dot(a, b) > 0, r <- | \ -b otherwiseRather than
/ a if dot(a, b) > 0, r <- | \ -a otherwise(ie. return b instead of a).
Copyright 2003-2005 Serious Hack Inc.