text: #include "sofa.h"
  
  void iauC2t06a(double tta, double ttb, double uta, double utb,
                 double xp, double yp, double rc2t[3][3])
  /*
  **  - - - - - - - - - -
  **   i a u C 2 t 0 6 a
  **  - - - - - - - - - -
  **
  **  Form the celestial to terrestrial matrix given the date, the UT1 and
  **  the polar motion, using the IAU 2006 precession and IAU 2000A
  **  nutation models.
  **
  **  This function is part of the International Astronomical Union's
  **  SOFA (Standards Of Fundamental Astronomy) software collection.
  **
  **  Status:  support function.
  **
  **  Given:
  **     tta,ttb  double         TT as a 2-part Julian Date (Note 1)
  **     uta,utb  double         UT1 as a 2-part Julian Date (Note 1)
  **     xp,yp    double         coordinates of the pole (radians, Note 2)
  **
  **  Returned:
  **     rc2t     double[3][3]   celestial-to-terrestrial matrix (Note 3)
  **
  **  Notes:
  **
  **  1) The TT and UT1 dates tta+ttb and uta+utb are Julian Dates,
  **     apportioned in any convenient way between the arguments uta and
  **     utb.  For example, JD(UT1)=2450123.7 could be expressed in any of
  **     these ways, among others:
  **
  **             uta            utb
  **
  **         2450123.7           0.0       (JD method)
  **         2451545.0       -1421.3       (J2000 method)
  **         2400000.5       50123.2       (MJD method)
  **         2450123.5           0.2       (date & time method)
  **
  **     The JD method is the most natural and convenient to use in
  **     cases where the loss of several decimal digits of resolution is
  **     acceptable.  The J2000 and MJD methods are good compromises
  **     between resolution and convenience.  In the case of uta,utb, the
  **     date & time method is best matched to the Earth rotation angle
  **     algorithm used:  maximum precision is delivered when the uta
  **     argument is for 0hrs UT1 on the day in question and the utb
  **     argument lies in the range 0 to 1, or vice versa.
  **
  **  2) The arguments xp and yp are the coordinates (in radians) of the
  **     Celestial Intermediate Pole with respect to the International
  **     Terrestrial Reference System (see IERS Conventions 2003),
  **     measured along the meridians to 0 and 90 deg west respectively.
  **
  **  3) The matrix rc2t transforms from celestial to terrestrial
  **     coordinates:
  **
  **        [TRS] = RPOM * R_3(ERA) * RC2I * [CRS]
  **
  **              = rc2t * [CRS]
  **
  **     where [CRS] is a vector in the Geocentric Celestial Reference
  **     System and [TRS] is a vector in the International Terrestrial
  **     Reference System (see IERS Conventions 2003), RC2I is the
  **     celestial-to-intermediate matrix, ERA is the Earth rotation
  **     angle and RPOM is the polar motion matrix.
  **
  **  Called:
  **     iauC2i06a    celestial-to-intermediate matrix, IAU 2006/2000A
  **     iauEra00     Earth rotation angle, IAU 2000
  **     iauSp00      the TIO locator s', IERS 2000
  **     iauPom00     polar motion matrix
  **     iauC2tcio    form CIO-based celestial-to-terrestrial matrix
  **
  **  Reference:
  **
  **     McCarthy, D. D., Petit, G. (eds.), 2004, IERS Conventions (2003),
  **     IERS Technical Note No. 32, BKG
  **
  **  This revision:  2013 June 18
  **
  **  SOFA release 2020-07-21
  **
  **  Copyright (C) 2020 IAU SOFA Board.  See notes at end.
  */
  {
     double rc2i[3][3], era, sp, rpom[3][3];
  
  
  /* Form the celestial-to-intermediate matrix for this TT. */
     iauC2i06a(tta, ttb, rc2i);
  
  /* Predict the Earth rotation angle for this UT1. */
     era = iauEra00(uta, utb);
  
  /* Estimate s'. */
     sp = iauSp00(tta, ttb);
  
  /* Form the polar motion matrix. */
     iauPom00(xp, yp, sp, rpom);
  
  /* Combine to form the celestial-to-terrestrial matrix. */
     iauC2tcio(rc2i, era, rpom, rc2t);
  
     return;
  
  /*----------------------------------------------------------------------
  **
  **  Copyright (C) 2020
  **  Standards Of Fundamental Astronomy Board
  **  of the International Astronomical Union.
  **
  **  =====================
  **  SOFA Software License
  **  =====================
  **
  **  NOTICE TO USER:
  **
  **  BY USING THIS SOFTWARE YOU ACCEPT THE FOLLOWING SIX TERMS AND
  **  CONDITIONS WHICH APPLY TO ITS USE.
  **
  **  1. The Software is owned by the IAU SOFA Board ("SOFA").
  **
  **  2. Permission is granted to anyone to use the SOFA software for any
  **     purpose, including commercial applications, free of charge and
  **     without payment of royalties, subject to the conditions and
  **     restrictions listed below.
  **
  **  3. You (the user) may copy and distribute SOFA source code to others,
  **     and use and adapt its code and algorithms in your own software,
  **     on a world-wide, royalty-free basis.  That portion of your
  **     distribution that does not consist of intact and unchanged copies
  **     of SOFA source code files is a "derived work" that must comply
  **     with the following requirements:
  **
  **     a) Your work shall be marked or carry a statement that it
  **        (i) uses routines and computations derived by you from
  **        software provided by SOFA under license to you; and
  **        (ii) does not itself constitute software provided by and/or
  **        endorsed by SOFA.
  **
  **     b) The source code of your derived work must contain descriptions
  **        of how the derived work is based upon, contains and/or differs
  **        from the original SOFA software.
  **
  **     c) The names of all routines in your derived work shall not
  **        include the prefix "iau" or "sofa" or trivial modifications
  **        thereof such as changes of case.
  **
  **     d) The origin of the SOFA components of your derived work must
  **        not be misrepresented;  you must not claim that you wrote the
  **        original software, nor file a patent application for SOFA
  **        software or algorithms embedded in the SOFA software.
  **
  **     e) These requirements must be reproduced intact in any source
  **        distribution and shall apply to anyone to whom you have
  **        granted a further right to modify the source code of your
  **        derived work.
  **
  **     Note that, as originally distributed, the SOFA software is
  **     intended to be a definitive implementation of the IAU standards,
  **     and consequently third-party modifications are discouraged.  All
  **     variations, no matter how minor, must be explicitly marked as
  **     such, as explained above.
  **
  **  4. You shall not cause the SOFA software to be brought into
  **     disrepute, either by misuse, or use for inappropriate tasks, or
  **     by inappropriate modification.
  **
  **  5. The SOFA software is provided "as is" and SOFA makes no warranty
  **     as to its use or performance.   SOFA does not and cannot warrant
  **     the performance or results which the user may obtain by using the
  **     SOFA software.  SOFA makes no warranties, express or implied, as
  **     to non-infringement of third party rights, merchantability, or
  **     fitness for any particular purpose.  In no event will SOFA be
  **     liable to the user for any consequential, incidental, or special
  **     damages, including any lost profits or lost savings, even if a
  **     SOFA representative has been advised of such damages, or for any
  **     claim by any third party.
  **
  **  6. The provision of any version of the SOFA software under the terms
  **     and conditions specified herein does not imply that future
  **     versions will also be made available under the same terms and
  **     conditions.
  *
  **  In any published work or commercial product which uses the SOFA
  **  software directly, acknowledgement (see www.iausofa.org) is
  **  appreciated.
  **
  **  Correspondence concerning SOFA software should be addressed as
  **  follows:
  **
  **      By email:  sofa@ukho.gov.uk
  **      By post:   IAU SOFA Center
  **                 HM Nautical Almanac Office
  **                 UK Hydrographic Office
  **                 Admiralty Way, Taunton
  **                 Somerset, TA1 2DN
  **                 United Kingdom
  **
  **--------------------------------------------------------------------*/
  }
  