Some observations:

(1)

The bug has been introduced between Maxima 5.18 and Maxima 5.19.

Maxima 5.18.1 http://maxima.sourceforge.net

Using Lisp CLISP 2.44.1 (2008-02-23)

Distributed under the GNU Public License. See the file COPYING.

Dedicated to the memory of William Schelter.

The function bug_report() provides bug reporting information.

(%i1) integrate(1/(x^2 + x + b)^2,x);

Is 4 b - 1 positive or negative?

Maxima 5.19.2 http://maxima.sourceforge.net

Using Lisp CLISP 2.44.1 (2008-02-23)

Distributed under the GNU Public License. See the file COPYING.

Dedicated to the memory of William Schelter.

The function bug_report() provides bug reporting information.

(%i1) integrate(1/(x^2 + x + b)^2,x);

Is b - 0.25 positive or negative?

(2)

The bug is not reproducible with asksign alone. We can trace $asksign to see the involved expression:

(%i1) :lisp (trace $asksign)

($ASKSIGN)

(%i1) integrate(1/(x^2 + x + b)^2,x);

0: ($ASKSIGN ((MPLUS SIMP) 1 ((MTIMES SIMP RATSIMP) -4 $B)))

Is b - 0.25 positive or negative?

That is the expression which is passed to $asksign and it works as expected:

(%i3) asksign(ratsimp(-4*b+1));

0: ($ASKSIGN ((MPLUS SIMP) 1 ((MTIMES SIMP RATSIMP) -4 $B)))

Is 4 b - 1 positive, negative, or zero?

Perhaps we have a global switch or flag which is set by the integration routines and changes the behaviour of $asksign.

Dieter Kaiser