Visual C++ 1.x has a problem with 287 synchronization on 80286
systems with 80287 co-processors - a timing problem which doesn't 
affect the 387 or 486 (chip detection is not the problem). This
problem way show up in incorrect results from sin(), cos(), and
tan() functions.

The EMTRIGX.OBJ file in this directory contains an only partially
tested fix for this problem with 80287 chips.  The batch file, 
PATCH287.BAT, will patch the fix into the affected libraries. 

Note that this patch is not fully tested and Microsoft makes no
guarantees for its useability or functionality.  See the LEGAL.TXT
file for more details.

To install the patch:

1. Make a backup copy of your Visual C++ 1.x LIB subdirectory.

2. Copy the .BAT and .OBJ files into your Visual C++ LIB subdirectory.

3. Make sure that your Visual C++ BIN subdirectory is in the path,
   before any other directories containing older versions of LIB.EXE.
   
4. Run PATCH287.BAT.


Sample Code to demonstrate this problem
---------------------------------------

#include <math.h>
#include <stdio.h>
#include <stdlib.h>

void main(void)
{
   double x;

   x=1.0;
   printf("cos(x) :: %lf sin(x) :: %lf tan(x) :: %lf x :: %lf\n",
   cos(x), sin(x) tan(x), x);
}

This correct output was produced on a 286/287 with NO87=1.
--------------
cos(x) :: 0.540302 sin(x) :: 0.841471 tan(x) :: 1.557408 x :: 1.000000

This incorrect output was produced on a 286/287 with NO87 not set.
--------------
cos(x) :: 1.000000 sin(x) :: 2.000000 tan(x) :: 0.000000 x :: 1.000000
