Clock-cycle timings for Weitek coprocessors
The Weitek 3167 and 4167 coprocessors only implement the basic arithmetic functions (add, subtract, multiply, divide, square root) in hardware; transcendental functions are implemented by means of a software library supplied by Weitek which uses the basic hardware instructions to approximate the transcendental functions (using polynomial and rational approximations). The clock cycle timings for the transcendental functions are average values, since execution time can differ with the value of argument. The speed of transcendental functions for the 4167 is estimated based on the numbers in weitek docs, from which this timing information has been extracted.

  Single Precision Double Precision
  3167 4167 3167 4167
ABS 3 2 3 2
NEG 6 2 6 2
ADD 6 2 6 2
SUB 6 2 6 2
SUBR 6 2 6 2
MUL 6 2 10 3
DIVR 38 17 66 31
SQRT 60 17 118 31
SIN 146 ~50 292 ~100
COS 140 ~50 285 ~100
TAN 188 ~60 340 ~110
EXP 179 ~60 401 ~130
LOG 171 ~60 365 ~120
F --> ASCII 1000 N/A 1700 N/A *
ASCII --> F 1100 N/A 1800 N/A *
* rough average of the timings given for different numeric formats by Weitek.
Note that these conversions routines do much more work than the FBLD and FBSTP instructions provided by the 80x87 coprocessors. FBLD and FBSTP are useful for conversion routines but quite a bit of additional code is need for this purpose.

Information © Norbert Juffa, Karlsruhe, Germany [excerpt of COPRO16A.TXT]