Because of the use of the product FA*FM in the subroutine BISECT, overflow or underflow may occur during the execution of this subroutine, even though the function values FA and FM are well-defined floating-point numbers. Repair this flaw in the subroutine, using the FORTRAN function SIGN. Also, is it necessary to update the value of FA each time A is changed?