I have a problem with the following code:
Context("Numeric"); Context()->flags->set(reduceConstants=>0); Context()->variables->add(s=>"Real"); Context()->variables->set(s=>{limits=>[0,10]}); $ans = "(1/5)*s^(5) - 2*s^(3) + 8*s + C"; $fans = FormulaUpToConstant($ans); BEGIN_TEXT answer prompt: \{ans_rule(55)\} END_TEXT ANS( $fans->cmp() );
Today I found a student who submitted the answer s^5/5-2s^3+8s+c
for this problem and had a recorded score of zero. Resubmitting it without changing the answer I am unable to get WeBWorK to check it as anything other than correct. As an experiment, I've tried specifying test points to see if I can find some set that give non-zero errors, but haven't succeeded.
That is, WeBWorK evidentally managed to find some test point at which, for reasons that are not obvious to me, the student's and the correct answers disagreed to the required precision.
My first reaction is that this is more than a little disturbing. Any insight on what could be going on would be greatly appreciated. As a side note, the problem is used in a gateway/quiz assignment, but I wouldn't expect that to have an impact on the answer evaluation.
Thanks,
Gavin