Character Tables for Point Groups used in Chemistry

Character Tables are an important tool derived from Group Theory and are used in many parts of molecular chemistry, particularly in spectroscopy. On this page, you can find character tables for all remotely interesting discrete axial point groups, plus the groups for cubic and icosahedral symmetry.

  1. Some point groups have irreducible representations with complex characters. These have been eliminated by creating reducible representations with real-valued characters, as is common in chemistry (applies to point groups Cn, Cnh, S2n, T, Th).
  2. All point groups up to 128-fold rotations are included. This is far more than anyone is likely ever to need. To access the character tables, use the list below or enter the name of the point group into the search field (needs JavaScript).
  3. Symmetry-adapted linear combinations of Rotations and Cartesian products up to sixth order (i functions) are listed. This is not fully implemented for icosahedral symmetry, though.
  4. A form for decomposing reducible representations is provided, and direct products of irreducible represantations can be analyzed.
Cn C1C2C3C4C5C6C7C8C9C10C11C12C13C14C15C16C17C18C19C20C21C22C23C24C25C26C27C28C29C30C31C32
Cnv C2vC3vC4vC5vC6vC7vC8vC9vC10vC11vC12vC13vC14vC15vC16vC17vC18vC19vC20vC21vC22vC23vC24vC25vC26vC27vC28vC29vC30vC31vC32v
Cnh CsC2hC3hC4hC5hC6hC7hC8hC9hC10hC11hC12hC13hC14hC15hC16hC17hC18hC19hC20hC21hC22hC23hC24hC25hC26hC27hC28hC29hC30hC31hC32h
Dn D2D3D4D5D6D7D8D9D10D11D12D13D14D15D16D17D18D19D20D21D22D23D24D25D26D27D28D29D30D31D32
Dnh D2hD3hD4hD5hD6hD7hD8hD9hD10hD11hD12hD13hD14hD15hD16hD17hD18hD19hD20hD21hD22hD23hD24hD25hD26hD27hD28hD29hD30hD31hD32h
Dnd D2dD3dD4dD5dD6dD7dD8dD9dD10dD11dD12dD13dD14dD15dD16dD17dD18dD19dD20dD21dD22dD23dD24dD25dD26dD27dD28dD29dD30dD31dD32d
Sn CiS4S6S8S10S12S14S16S18S20S22S24S26S28S30S32
isometricTTdThOOhIIh     Schönflies symbol: 

Output Explained

The output is a plain text file that has been somewhat HTML-ified; it assumes an arbitrarily wide display. It gives some standard set of information to each point group. In this section, the output is explained using D5h as an example.

  1. The character table of D5h is rather short and needs no further explanation. To show the class labels and Mulliken symbols in full glory with subscripts, superscripts and Greek letters (C5, C52, σh, A1, A2 etc.) in a preformatted ASCII-like context, some tricks with JavaScript and CSS2 have to be used; users of ancient browsers (up to at least IE8) will see them as C5, C5^2, sh and A1', A1" etc.

    D5h     E       2 C5    2 C5^2  5 C2'   sh      2 S5    2 S5^3  5 sv       
    A1'     1.0000  1.0000  1.0000  1.0000  1.0000  1.0000  1.0000  1.0000
    A1"     1.0000  1.0000  1.0000  1.0000 -1.0000 -1.0000 -1.0000 -1.0000
    A2'     1.0000  1.0000  1.0000 -1.0000  1.0000  1.0000  1.0000 -1.0000
    A2"     1.0000  1.0000  1.0000 -1.0000 -1.0000 -1.0000 -1.0000  1.0000
    E1'     2.0000  0.6180 -1.6180  0.0000  2.0000  0.6180 -1.6180  0.0000
    E1"     2.0000  0.6180 -1.6180  0.0000 -2.0000 -0.6180  1.6180  0.0000
    E2'     2.0000 -1.6180  0.6180  0.0000  2.0000 -1.6180  0.6180  0.0000
    E2"     2.0000 -1.6180  0.6180  0.0000 -2.0000  1.6180 -0.6180  0.0000
    The layout is completely compromised with Internet Explorer versions up to and including seven, due to a bug in these browsers concerning the handling of linebreaks (by U+000A LF character) in preformatted context. Spec says HTML user agents should consider single carriage returns, single line feeds, and carriage return/line feed pairs to be a single line break.
  2. Next to the character table, irreducible representations of rotations and solid harmonics are shown. This is shown in a rather compact way; a more user-friendly rendering of the same information is given below.

    The output is organized in groups: The first letter triple corresponds to rotations, and the following tuples belong to real p,d,f,g,h,i basis functions (or, equivalently, Cartesian products of order 1,2,3,4,5,6). The first line (A1 race) says that d0 (z2), g0 (z4), the positive linear combination (cosine component) of h±5 and i0 (z6) belong to that irreducible represention (hover over the table below to see more).

              <R> <p> <—d—> <——f——> <———g———> <————h————> <—————i—————>
    A1'       ... ... ....T ....... ........T T.......... ............T
    A1"       ... ... ..... ....... ......... ........... ...T.........
    A2'       ..T ... ..... ....... ......... .T......... .............
    A2"       ... ..T ..... ......T ......... ..........T ..T..........
    E1'       ... TT. ..... ....TT. TT....... ........TT. TT..TT.......
    E1"       TT. ... ..TT. ....... ......TT. ..TT....... ..........TT.
    E2'       ... ... TT... TT..... ....TT... ....TT..... ........TT...
    E2"       ... ... ..... ..TT... ..TT..... ......TT... ......TT.....

    For cubic and icosahedral groups, however, the ordering of the basis functions within letter groups is rather arbitrary.

  3. The D5h character table contains noninteger characters. These are listed in the next section, along with their representation as a cosine value and (if possible) by real radicals.

     Irrational character values:  1.61803 = 2*cos(2*π/10) = 2*cos(π/5) = (1+√5)/2
                                   0.61803 = 2*cos(4*π/10) = 2*cos(2*π/5) = (√5−1)/2

    Nested root signs don’t display very nicely, but I am not aware of anything that would work better within the limits of HTML. See below for a full list of all values in a format more suited for programming languages.

  4. A more explicit version of the irreducible representations of rotations and Cartesian products is shown next. The terms are given in a standard form as unnormalized real linear combinations of spherical harmonics with simplified z-dependent part (e.g., z2 instead of 2z2x2y2), as this is sufficient for all axial symmetries. Degenerate cases are enclosed in braces.

    There are mouseover effects (if your browser allows them) that should help you to identify the terms and associate them with particular quantum numbers.

     Symmetry of Rotations and Cartesian products
    A1'  d+g+h+i+j+k+l+2m       z2, z4, x(x2−(5+2√5)y2)(x2−(5−2√5)y2), z6 
    A1"  i+k+m                  yz((5+2√5)x2y2)((5−2√5)x2y2) 
    A2'  R+h+j+l+m              Rz, y((5+2√5)x2y2)((5−2√5)x2y2) 
    A2"  p+f+h+i+j+k+l+m        z, z3, z5, xz(x2−(5+2√5)y2)(x2−(5−2√5)y2) 
    E1'  p+f+g+h+2i+j+2k+2l+2m  {x, y}, {xz2, yz2}, {(x2y2)2−4x2y2, xy(x2y2)}, {xz4, yz4}, {x2(x2−3y2)2y2(3x2y2)2, xy(x2−3y2)(3x2y2)}, {z2((x2y2)2−4x2y2), xyz2(x2y2)} 
    E1"  R+d+g+h+i+2j+k+2l+2m   {Rx, Ry}, {xz, yz}, {xz3, yz3}, {z((x2y2)2−4x2y2), xyz(x2y2)}, {xz5, yz5} 
    E2'  d+f+g+h+i+2j+2k+2l+2m  {x2y2, xy}, {x(x2−3y2), y(3x2y2)}, {z2(x2y2), xyz2}, {xz2(x2−3y2), yz2(3x2y2)}, {z4(x2y2), xyz4} 
    E2"  f+g+h+i+j+2k+2l+2m     {z(x2y2), xyz}, {xz(x2−3y2), yz(3x2y2)}, {z3(x2y2), xyz3}, {xz3(x2−3y2), yz3(3x2y2)} 

    There is no unique way for the representation of Cartesian products. See below for a fuller explanation of my choice of these terms.

  5. The last issue printed are notes explaining some salient features of the point group, or remarking on some issue with terminology or conventional naming of this group. The number of notes varies from group to group. Some recurrent topics are:

    1. The order of the group is the number of symmetry operations in the group.
    2. The order of a symmetry operation is the minimum exponent converting that symmetry operation into the unit operation (or, alternately: All symmetry operations are roots of unity of some order). The principal axis is the symmetry element giving rise to the symmetry operation with the highest order.
    3. Some groups may be known by different names, although most of the alternate names will rarely occur in the more recent literature.
    4. The generators are those symmetry elements that generate, by successive multiplication, all symmetry operations of a group. For groups with more than one generator, the choice of generators becomes to some degree arbitrary; the character table as printed here reflects a particular, canonical choice. For some odd-numbered groups (Cnh, Dnh and Dnd), the canonical choice employs redundant generators.
    5. Groups are isomorphic if their multiplication tables are identical up to permutation and labelling. The same will hold for the character tables of isomorphic groups.
    6. The order of the lowest (permanent) multipole moment of a group is the order of the lowest spherical harmonic that transforms trivially. It is 2 or 4 for axial groups, 8 or 16 for cubic groups and 64 for icosahedral groups.
    7. Abelian groups with a order of the principal axis greater than two have complex-charactered irreducible representations that are conventionally converted into real-charactered degenerate reducible representations (this also applies to T and Th, but to no other cubic group). This is remarked upon because it neccessitates a small modification in the projection formula to “reduce” reducible representations into irreducible ones.
    8. Some groups will display special properties due to arithmetic peculiarities of the cosine function triggered by the order of the principal axis. In particular, some have integer characters (“crystallgraphic point groups”), others have characters representable by integer numbers and square roots (“constructible polygons”).
  6. As an experimental feature, a form for decomposing reducible representations into irreducible ones is provided. After all the characters have been entered, the browser should start the calculation, and the result should appear immediately. For convenience in analyzing molecular vibrations, an integer preceded by a hash character (#) is interpreted as the number of stationary atoms (those not moved when a symmetry operation is applied). See below for more details on this.

Notational Conventions

Character tables found in various sources will usually agree on the naming of symmetry operations and irreducible representations, although they might list them in different orders. The sorting order shown in my tables is something I consider rational, but some readers might have different expectations. Give particular care to the arrangement of Snk operations in groups Cnh and Dnh for even n.

In the literature, noninteger characters are handled in various ways and typically represented as cosine values or by use of the complex exponential function. I consider it more convenient to show them numerically and give the exact representation in an appendix. This is really the only option for the involved radical expressions as offered for some higher groups in addition to the cosine representation.

In groups with an odd order of the principal axis, some character values appear only with positive sign, and others only with negative sign. An example is D5, where the irrational character −1.6180 appears and is glossed as 2*cos(4π/5) in the appendix. However, in groups with an even order of the principal axis, any character value will appear with both signs; in such cases, I have chosen to show cosine representations only for the positive value. An example is D5h (its principal axis is S5 which has order 10): Both +1.6180 and −1.6180 are found in the table, but the only gloss given is the positive value as 2*cos(2π/10) = 2*cos(π/5). Irrational characters appear only in E races (and T races of icosahedral groups), and are always of the form 2*cos(2πk/n) (n being the order of the principal axis and kn/2).

With respect to Cartesian products, authors are divided whether to show expressions relating to improper lower angular momenta in the tables. For example, one of the six possible Cartesian products of order two transforms as a scalar (x2+y2 for axial and x2+y2+z2 for isometric groups); it is doubtful whether such an entry is helpful in a character table, and I do not show it there.

Most sources follow the typographical convention that the subscript letters v,h,d in the names of point groups are printed in italics; I consider that ill-chosen, as italics are reserved for variables. The difference becomes clear when expressions like C2n and C2v are compared.

Cartesian Products

The Cartesian products are trivariate polynomials (in x, y and z) adapted for a particular symmetry. If written as a simple sum, all terms have the same order (the angular momentum quantum number of the corresponding spherical harmonic). For example, xy(x2y2) equals x3yxy3 and is of order =4 (it is a g function, actually g4g-4).

Starting with order two, some Cartesian products have the symmetry of lower angular momenta. For example, x2+y2+z2 is of order two (apparently a d function), but transforms as order zero (s function). Similarly, xz2+yz2+z3 looks like an f function, but transforms as a p function. I have decided to exclude these “improper” Cartesian products from my character tables, although some literature actually shows them.

There are several possible choices for symmetry adapted Cartesian products. A natural choice would be atomic hydrogen orbitals (2p, 3d, 4f etc), which are directly derived from spherical harmonics (actually, these are the essentially the “regular solid harmonics”, a subset of the hydrogen functions where =n−1). This has the big advantage that not only the “improper” Cartesian products are naturally excluded, but also the resulting terms are orthogonal to each other and to the “improper” ones (they are in an orthogonal subspace). However, it also has disadvantages, and so I have decided against it.

  1. In axial symmetries, some of the hydrogen atomic orbitals are more complicated than necessitated by the symmetry (for example, z2 is sufficient, but the atomic orbital is 2z2x2y2). This occurs whenever |m|+1< and thus becomes really an issue for higher angular momenta.

    Thus, I have decided to use simpler expressions that derive from the full atomic orbitals by ignoring all powers in z except the highest and cutting all terms x2+y2. This is a substantial simplification; for example, the function g2+g-2, in full (6z2x2y2)(x2y2), is represented as z2(x2y2); another example is i2i-2, in full xy(33z4−17z2+x2+y2) and in the abbreviated convention xyz4.

    It is common to refer to atomic hydrogen orbitals by such “nicknames”; however, in the literature, such abbreviations are sometimes pushed further than axial symmetry allows: For example, the function g3+g-3 is sometimes nicknamed zy3; the correct term is yz(3x2y2), and this cannot be further simplified without losing essential symmetry properties. In my tables, I give the simplest form that adheres strictly to axial symmetry.

    This choice has consequences for the orthogonality relations: Functions for the same value of m are no longer guaranteed to be orthogonal (even and odd functions, of course, are always in orthogonal subspaces). Moreover, the orthogonality to the “improper” products is lost (there is a kind of “lower angular momentum contamination”).

    For those point groups that have a principal axis of order one or two, the terms could be radically simplified, as any simple product is already symmetry-adapted. For consistency and easy correspondence to atomic orbitals, the products are nevertheless given in standard form. In the same vein, no simplification is employed in the case of degenerate pairs: For example, the f3±f-3 functions, correctly x(x2−3y2) and y(3x2y2), could be simplified to x2y and xy2 whenever they are degenerate (i.e., in all point groups where the order of the principal axis is larger than two but does not divide six: 4,5,7,8,…).

  2. For cubic point groups, Cartesian products derived from spherical harmonics form a cumbersome base if >2, this is, f functions and higher. Therefore, I have built symmetry-adapted linear combinations of primitive products (xryszt) from scratch, trying to keep them as simple as possible. By construction, they have no relation to spherical harmonics (and thus, angular momentum).

    There are still some arbitrary choices in these products. These could have been reduced (but not eliminated completely) by forcing the products to be orthogonal to the “improper” ones, but this is hardly worth the trouble. For example, instead of xyz2, the orthogonality constraint would have yielded xy(2z2x2y2).

  3. I have not yet succeeded in deriving symmetry-adapted Cartesian products for icosahedral point groups, and I consider this a pretty irrational task.
Note that i functions (=6) are a natural limit for Cartesian products. For higher angular momenta, symmetry-adapted Cartesian products do exist, but not all of them factorize inside the real numbers. This is related to the fact that many cosines cos(2π/m) (m≥7) cannot be calculated from integers by the operations of addition, subtraction, multiplication, division and real root extraction. While the terms for cos(2π/7), cos(2π/9), cos(2π/13) and cos(2π/14) are comparatively manageable (complex expressions involving square and third roots), the one for cos(2π/11) is madly complicated, spanning many lines of text full of complex numbers, square and fifth roots.

Form for Reduction of Reducible Representations

For the chemistry student, the most typical use of character tables is the vibrational analysis of molecules. This leads to a reducible representation in the molecule’s point group that must be reduced, i.e., projected onto the irreducible representations by using a scalar product looping over the symmetry operations. The result is a direct sum (basically a linear combination) of irreducible representations. Since you read this character table with a computer, it seems a reasonable idea to use that device also for doing the actual computation.

The form at the bottom of each character table page expects characters for all symmetry classes, performs the projection and reports all nonzero coefficients. As input, either the characters or a hash mark (#) followed by the number of stationary atoms is accepted; the latter gets multiplied with the character of the Cartesian representation to yield the character used in the projection. Ill-formed input is indicated by the input box turning red. Calculation starts as soon as all input boxes contain valid input.

The projection must yield integer coefficients; if the result is noninteger, then an error message is produced (the most likely reason being wrong user input). In case of point groups containing noninteger characters, a roundoff threshold has been chosen that will usually be satisfied if all input characters are accurate to at least three digits right of the decimal point. In case of a “near miss”, it might be useful to relax the threshold to a value greater that the number reported in the error message, although this increases the risk that erroneous input might be accidentially accepted. Setting the threshold to one will accept any random input and produce meaningless output therefrom. Results that do not even have the right dimensionality are suppressed, but this simple check cannot catch every input error.

A simpler form allows to reduce arbitrary n-ary direct products of irreducible representations into direct sums. A conventional multiplication table (for binary products only) is also offered. That table is calculated on the fly in your browser, which may take significant time (fourth order in the number of classes) for really large groups.

The implementation of the algorithm is rather ad-hocish; always watch out for Bugs in Dark Corners. This said, the calculation seems to work reliably with Firefox, Chrome, Safari 4 and Opera 12 (also Opera 25). Those browsers which do not support HTMl5 will fail on input validation, which is not a problem if the input is correct. The whole thing works only rudimentarily with Internet Explorer 8 and 9, and the output of these browsers is aesthetically crippled. Other browsers have not been tested. Because the code is implemented in JavaScript and takes all necessary information from the document itself, the forms should remain functional if you download and save the full page (including styles and scripts).

For those interested in the nasty details, I mention that Internet Explorer 8 and 9 fail on innerHTML operations inside tables, do not support the the HTML5 style input validation using regular expressions in the pattern attribute triggering an :invalid pseudo-attribute, and have a tendency to mess up every table layout. onChange events are not fired when I expect them, but only after focus is shifted from the INPUT element, and onKeyPress appears to be dysfunctional. Also, storing some information as private attributes inside the DOM does not really work, as these attributes turn out to be write-only.


The complete set of all character tables up to n=128 (in plain text format) can be downloaded as an XZ-compressed tar file. If you need other point groups, drop me a note.

Note that this is just a sparetime and fun project. There might be bugs of any magnitude; no warranty whatsoever is offered. If you find a mistake, please let me know so that I can correct it.

Algorithm to Generate Character Tables

The character tables shown here were generated by a short Fortran program. Generation is done in steps, coarsely outlined by the following algorithm.

  1. For Cn, generate a character table with a trivial A representation, an alternating B representation if n is even, and an appropriate number of E representations. The E1 has characters equal to the double cosine of the respective rotation, 2cosφ, the E2 has 2cos2φ etc.
  2. For Cnv and n even, generate Cn, add two σv classes and double the rows for A and B (with positive or negative characters for the new classes); for n odd, add one σv class and double the A representation. E representations take a zero character for the new classes.
  3. For Cnh and n odd, generate Cn. Then, generate new classes by multiplying the existing ones with σh, and double all irreducible representations, taking existing characters for the new classes and multiplying them by 1 or −1.
  4. For Cnh and n even, do the same but use i as the generator. This procedure yields the new symmetry operations in an unintuitive order (related to the difference between mirror-reflexion and roto-inversion axes). The character tables shown on these pages have these entries resorted, which is not always done in the literature.
  5. S2n is identical to C2n except the labelling of the classes. However, this is the conventional approach for S4n only; for S4n+2, the character table is built from C2n+1 by adding a center of inversion similar to C2nh.
  6. For Dn, generate Cn. Then, add C2 rotations similar to the Cnv case.
  7. For Dnh, generate Dn. Then, proceed as in Cnh.
  8. For Dnd and odd n, generate Dn, then double the table by adding an additional center of inversion (as in Cnh).
  9. For Dnd and even n, the conventional form of the character table is arrived at by starting with S2n, then adding one C2 and one σd class, similar to Cnv. This special treatment is necessary because while D2n has distinct C2 and C2 classes, these collapse into one single C2 in the D2nd group.
  10. Similar procedures can be used to build Td, Th and O from T, Oh from O and Ih from I.

Labelling and sorting needs some care, because conventions differ for different point groups.

The transformation of rotations and Cartesian products can be arrived at easily for Cn and S2n: Both components of a ±m pair (e.g., d±2 aka x2y2 and xy) will always belong to the same symmetry race; moreover, the characters for the combined representation of one ±m pair are just 2cos|m (add a sign (−1)−|m| for S2n, where is the order of the product or the angular momentum quantum number of the corresponding spherical harmonics). Since cos(0)=1, the m=0 components always transform trivially in Cn, while in S2n this is true only if is even.

When the groups are subsequently augmented with additional symmetry operations, I chose to keep track of the various steps of irrep doublings, and move the basis functions to the positive or negative offspring row, depending on the behaviour of that basis function under the newly introduced symmetry element (I used a big table for that). This approach might appear unelegant, but has the advantage that neither complex arithmetics nor case distictions between one- and two-dimensional symmetry races are needed.

Real Radicals

All irrational character values have the form 2*cos(2*m*π/n), where n is the order of the principal axis and m<n. For some point groups (n=3,4,5,6,8,​10,12,15,16,​17,20,24,30,32,​34,40,48,51,60,64,​68,80,85,96,102,120,128,​136,160,170,192,204,240,255,256,257,…), this can also be written with real radicals.

I have managed to derive algebraic expressions for almost all cases where this is possible (starting with n=85, some cosines are still missing). Possibly, some of the expressions given could be further simplified, but I am not motivated. For your pleasure, here is the full list in a format most programming languages (or bc) can directly understand. They can also be displayed in conventional form with graphic square roots if your browser allows (don’t expect typographic excellence, it’s HTML and not TEX).

  0.01227153828571992608 = cos(127*pi/256) = sqrt(2-sqrt(2+sqrt(2+sqrt(2+sqrt(2+sqrt(2+sqrt(2)))))))/2
  0.01636173162648678164 = cos(95*pi/192) = sqrt(2-sqrt(2+sqrt(2+sqrt(2+sqrt(2+sqrt(3))))))/2
  0.02454122852291228803 = cos(63*pi/128) = sqrt(2-sqrt(2+sqrt(2+sqrt(2+sqrt(2+sqrt(2))))))/2
  0.03079505855617035387 = cos(25*pi/51) = (-1-sqrt(17)-sqrt(34+2*sqrt(17))-2*sqrt(17-3*sqrt(17)+sqrt(34+2*sqrt(17))-2*sqrt(34-2*sqrt(17))))/32 + sqrt(6)*sqrt(17+sqrt(17)-sqrt(34+2*sqrt(17))-2*sqrt(17-3*sqrt(17)-sqrt(34+2*sqrt(17))+2*sqrt(34-2*sqrt(17))))/16
  0.03271908282177614206 = cos(47*pi/96) = sqrt(2-sqrt(2+sqrt(2+sqrt(2+sqrt(3)))))/2
  0.03680722294135883232 = cos(125*pi/256) = sqrt(2-sqrt(2+sqrt(2+sqrt(2+sqrt(2+sqrt(2-sqrt(2)))))))/2
  0.03925981575906860902 = cos(39*pi/80) = sqrt(4-sqrt(8+sqrt(2)+sqrt(10)+2*sqrt(5-sqrt(5))))/2/sqrt(2)
  0.04618345864573959195 = cos(33*pi/68) = sqrt(8-sqrt(2)*sqrt(17-sqrt(17)+sqrt(34-2*sqrt(17))+2*sqrt(17+3*sqrt(17)+sqrt(34-2*sqrt(17))+2*sqrt(34+2*sqrt(17)))))/4
  0.04906767432741801425 = cos(31*pi/64) = sqrt(2-sqrt(2+sqrt(2+sqrt(2+sqrt(2)))))/2
  0.05233595624294383272 = cos(29*pi/60) = (sqrt(10)-sqrt(2)-sqrt(6)+sqrt(30)+2*(1-sqrt(3))*(sqrt(5+sqrt(5))))/16
  0.06132073630220857778 = cos(123*pi/256) = sqrt(2-sqrt(2+sqrt(2+sqrt(2+sqrt(2-sqrt(2-sqrt(2)))))))/2
  0.06540312923014306682 = cos(23*pi/48) = sqrt(2-sqrt(2+sqrt(2+sqrt(3))))/2
  0.07356456359966742353 = cos(61*pi/128) = sqrt(2-sqrt(2+sqrt(2+sqrt(2+sqrt(2-sqrt(2))))))/2
  0.07845909572784494503 = cos(19*pi/40) = sqrt(8-sqrt(2)-sqrt(10)-2*sqrt(5-sqrt(5)))/4
  0.08172107413366822375 = cos(91*pi/192) = sqrt(2-sqrt(2+sqrt(2+sqrt(2+sqrt(2-sqrt(3))))))/2
  0.08579731234443989046 = cos(121*pi/256) = sqrt(2-sqrt(2+sqrt(2+sqrt(2+sqrt(2-sqrt(2+sqrt(2)))))))/2
  0.09226835946330199524 = cos(8*pi/17) = (-1+sqrt(17)+sqrt(34-2*sqrt(17))-2*sqrt(17+3*sqrt(17)-sqrt(34-2*sqrt(17))-2*sqrt(34+2*sqrt(17))))/16
  0.09801714032956060199 = cos(15*pi/32) = sqrt(2-sqrt(2+sqrt(2+sqrt(2))))/2
  0.10452846326765347140 = cos(7*pi/15) = (sqrt(30-6*sqrt(5))-sqrt(5)-1)/8
  0.11022220729388305881 = cos(119*pi/256) = sqrt(2-sqrt(2+sqrt(2+sqrt(2-sqrt(2-sqrt(2+sqrt(2)))))))/2
  0.11428696496684639812 = cos(89*pi/192) = sqrt(2-sqrt(2+sqrt(2+sqrt(2-sqrt(2-sqrt(3))))))/2
  0.11753739745783764411 = cos(37*pi/80) = sqrt(4-sqrt(8-sqrt(2)+sqrt(10)+2*sqrt(5+sqrt(5))))/2/sqrt(2)
  0.12241067519921619850 = cos(59*pi/128) = sqrt(2-sqrt(2+sqrt(2+sqrt(2-sqrt(2-sqrt(2))))))/2
  0.13052619222005159155 = cos(11*pi/24) = sqrt(2-sqrt(2+sqrt(3)))/2
  0.13458070850712618632 = cos(117*pi/256) = sqrt(2-sqrt(2+sqrt(2+sqrt(2-sqrt(2-sqrt(2-sqrt(2)))))))/2
  0.13815635495188219823 = cos(31*pi/68) = sqrt(8-sqrt(2)*sqrt(17+sqrt(17)+sqrt(34+2*sqrt(17))+2*sqrt(17-3*sqrt(17)+sqrt(34+2*sqrt(17))-2*sqrt(34-2*sqrt(17)))))/4
  0.14673047445536175166 = cos(29*pi/64) = sqrt(2-sqrt(2+sqrt(2+sqrt(2-sqrt(2)))))/2
  0.15339165487868537265 = cos(23*pi/51) = (-1+sqrt(17)+sqrt(34-2*sqrt(17))+2*sqrt(17+3*sqrt(17)-sqrt(34-2*sqrt(17))-2*sqrt(34+2*sqrt(17))))/32 - sqrt(6)*sqrt(17-sqrt(17)+sqrt(34-2*sqrt(17))-2*sqrt(17+3*sqrt(17)+sqrt(34-2*sqrt(17))+2*sqrt(34+2*sqrt(17))))/16
  0.15643446504023086901 = cos(9*pi/20) = (sqrt(2)+sqrt(10)-2*(sqrt(5-sqrt(5))))/8
  0.15885814333386144168 = cos(115*pi/256) = sqrt(2-sqrt(2+sqrt(2+sqrt(2-sqrt(2+sqrt(2-sqrt(2)))))))/2
  0.16289547339458873948 = cos(43*pi/96) = sqrt(2-sqrt(2+sqrt(2+sqrt(2-sqrt(3)))))/2
  0.17096188876030122636 = cos(57*pi/128) = sqrt(2-sqrt(2+sqrt(2+sqrt(2-sqrt(2+sqrt(2))))))/2
  0.17901686127663268204 = cos(85*pi/192) = sqrt(2-sqrt(2+sqrt(2+sqrt(2-sqrt(2+sqrt(3))))))/2
  0.18303988795514095852 = cos(113*pi/256) = sqrt(2-sqrt(2+sqrt(2+sqrt(2-sqrt(2+sqrt(2+sqrt(2)))))))/2
  0.18374951781657033157 = cos(15*pi/34) = sqrt(2)*sqrt(17-sqrt(17)-sqrt(34-2*sqrt(17))-2*sqrt(17+3*sqrt(17)-sqrt(34-2*sqrt(17))-2*sqrt(34+2*sqrt(17))))/8
  0.19509032201612826785 = cos(7*pi/16) = sqrt(2-sqrt(2+sqrt(2)))/2
  0.20711137619221854971 = cos(111*pi/256) = sqrt(2-sqrt(2+sqrt(2-sqrt(2-sqrt(2+sqrt(2+sqrt(2)))))))/2
  0.20791169081775933710 = cos(13*pi/30) = (sqrt(3)-sqrt(15)+sqrt(10+2*sqrt(5)))/8
  0.21111155235896516592 = cos(83*pi/192) = sqrt(2-sqrt(2+sqrt(2-sqrt(2-sqrt(2+sqrt(3))))))/2
  0.21393308320649743991 = cos(22*pi/51) = (1-sqrt(17)+sqrt(34-2*sqrt(17))-2*sqrt(17+3*sqrt(17)+sqrt(34-2*sqrt(17))+2*sqrt(34+2*sqrt(17))))/32 + sqrt(6)*sqrt(17-sqrt(17)-sqrt(34-2*sqrt(17))+2*sqrt(17+3*sqrt(17)-sqrt(34-2*sqrt(17))-2*sqrt(34+2*sqrt(17))))/16
  0.21910124015686979723 = cos(55*pi/128) = sqrt(2-sqrt(2+sqrt(2-sqrt(2-sqrt(2+sqrt(2))))))/2
  0.22707626303437320759 = cos(41*pi/96) = sqrt(2-sqrt(2+sqrt(2-sqrt(2-sqrt(3)))))/2
  0.22895054995013407691 = cos(29*pi/68) = sqrt(8-sqrt(2)*sqrt(17+sqrt(17)+sqrt(34+2*sqrt(17))-2*sqrt(17-3*sqrt(17)+sqrt(34+2*sqrt(17))-2*sqrt(34-2*sqrt(17)))))/4
  0.23105810828067111964 = cos(109*pi/256) = sqrt(2-sqrt(2+sqrt(2-sqrt(2-sqrt(2+sqrt(2-sqrt(2)))))))/2
  0.23344536385590541177 = cos(17*pi/40) = sqrt(8+sqrt(2)-sqrt(10)-2*sqrt(5+sqrt(5)))/4
  0.24298017990326388995 = cos(27*pi/64) = sqrt(2-sqrt(2+sqrt(2-sqrt(2-sqrt(2)))))/2
  0.25486565960451457155 = cos(107*pi/256) = sqrt(2-sqrt(2+sqrt(2-sqrt(2-sqrt(2-sqrt(2-sqrt(2)))))))/2
  0.25881904510252076235 = cos(5*pi/12) = sqrt(2-sqrt(3))/2
  0.26671275747489838633 = cos(53*pi/128) = sqrt(2-sqrt(2+sqrt(2-sqrt(2-sqrt(2-sqrt(2))))))/2
  0.27144044986507425334 = cos(33*pi/80) = sqrt(4-sqrt(8+sqrt(2)-sqrt(10)+2*sqrt(5+sqrt(5))))/2/sqrt(2)
  0.27366299007208286354 = cos(7*pi/17) = (1+sqrt(17)-sqrt(34+2*sqrt(17))+2*sqrt(17-3*sqrt(17)-sqrt(34+2*sqrt(17))+2*sqrt(34-2*sqrt(17))))/16
  0.27458861818493234148 = cos(79*pi/192) = sqrt(2-sqrt(2+sqrt(2-sqrt(2-sqrt(2-sqrt(3))))))/2
  0.27851968938505310521 = cos(105*pi/256) = sqrt(2-sqrt(2+sqrt(2-sqrt(2-sqrt(2-sqrt(2+sqrt(2)))))))/2
  0.29028467725446236764 = cos(13*pi/32) = sqrt(2-sqrt(2+sqrt(2-sqrt(2))))/2
  0.30200594931922806700 = cos(103*pi/256) = sqrt(2-sqrt(2+sqrt(2-sqrt(2+sqrt(2-sqrt(2+sqrt(2)))))))/2
  0.30590302009655346276 = cos(77*pi/192) = sqrt(2-sqrt(2+sqrt(2-sqrt(2+sqrt(2-sqrt(3))))))/2
  0.30901699437494742410 = cos(2*pi/5) = (sqrt(5)-1)/4
  0.31368174039889147666 = cos(51*pi/128) = sqrt(2-sqrt(2+sqrt(2-sqrt(2+sqrt(2-sqrt(2))))))/2
  0.31779141958190162617 = cos(27*pi/68) = sqrt(8-sqrt(2)*sqrt(17+sqrt(17)-sqrt(34+2*sqrt(17))+2*sqrt(17-3*sqrt(17)-sqrt(34+2*sqrt(17))+2*sqrt(34-2*sqrt(17)))))/4
  0.32143946530316158070 = cos(19*pi/48) = sqrt(2-sqrt(2+sqrt(2-sqrt(3))))/2
  0.32531029216226293414 = cos(101*pi/256) = sqrt(2-sqrt(2+sqrt(2-sqrt(2+sqrt(2-sqrt(2-sqrt(2)))))))/2
  0.33235479947965966456 = cos(20*pi/51) = (1-sqrt(17)+sqrt(34-2*sqrt(17))+2*sqrt(17+3*sqrt(17)+sqrt(34-2*sqrt(17))+2*sqrt(34+2*sqrt(17))))/32 - sqrt(6)*sqrt(17-sqrt(17)-sqrt(34-2*sqrt(17))-2*sqrt(17+3*sqrt(17)-sqrt(34-2*sqrt(17))-2*sqrt(34+2*sqrt(17))))/16
  0.33688985339222005069 = cos(25*pi/64) = sqrt(2-sqrt(2+sqrt(2-sqrt(2+sqrt(2)))))/2
  0.34611705707749297647 = cos(31*pi/80) = sqrt(4-sqrt(8+sqrt(2)+sqrt(10)-2*sqrt(5-sqrt(5))))/2/sqrt(2)
  0.34841868024943456842 = cos(99*pi/256) = sqrt(2-sqrt(2+sqrt(2-sqrt(2+sqrt(2+sqrt(2-sqrt(2)))))))/2
  0.35225004792123350653 = cos(37*pi/96) = sqrt(2-sqrt(2+sqrt(2-sqrt(2+sqrt(3)))))/2
  0.35836794954530027348 = cos(23*pi/60) = (sqrt(2)-sqrt(6)+sqrt(10)-sqrt(30)+2*(1+sqrt(3))*(sqrt(5-sqrt(5))))/16
  0.35989503653498814878 = cos(49*pi/128) = sqrt(2-sqrt(2+sqrt(2-sqrt(2+sqrt(2+sqrt(2))))))/2
  0.36124166618715294874 = cos(13*pi/34) = sqrt(2)*sqrt(17-sqrt(17)+sqrt(34-2*sqrt(17))-2*sqrt(17+3*sqrt(17)+sqrt(34-2*sqrt(17))+2*sqrt(34+2*sqrt(17))))/8
  0.36751593659470356541 = cos(73*pi/192) = sqrt(2-sqrt(2+sqrt(2-sqrt(2+sqrt(2+sqrt(3))))))/2
  0.37131719395183754341 = cos(97*pi/256) = sqrt(2-sqrt(2+sqrt(2-sqrt(2+sqrt(2+sqrt(2+sqrt(2)))))))/2
  0.38268343236508977173 = cos(3*pi/8) = sqrt(2-sqrt(2))/2
  0.38978587329267936908 = cos(19*pi/51) = (-1-sqrt(17)-sqrt(34+2*sqrt(17))+2*sqrt(17-3*sqrt(17)+sqrt(34+2*sqrt(17))-2*sqrt(34-2*sqrt(17))))/32 + sqrt(6)*sqrt(17+sqrt(17)-sqrt(34+2*sqrt(17))+2*sqrt(17-3*sqrt(17)-sqrt(34+2*sqrt(17))+2*sqrt(34-2*sqrt(17))))/16
  0.39399204006104810860 = cos(95*pi/256) = sqrt(2-sqrt(2-sqrt(2-sqrt(2+sqrt(2+sqrt(2+sqrt(2)))))))/2
  0.39774847452701105205 = cos(71*pi/192) = sqrt(2-sqrt(2-sqrt(2-sqrt(2+sqrt(2+sqrt(3))))))/2
  0.40392100487189496264 = cos(25*pi/68) = sqrt(8-sqrt(2)*sqrt(17-sqrt(17)-sqrt(34-2*sqrt(17))+2*sqrt(17+3*sqrt(17)-sqrt(34-2*sqrt(17))-2*sqrt(34+2*sqrt(17)))))/4
  0.40524131400498987091 = cos(47*pi/128) = sqrt(2-sqrt(2-sqrt(2-sqrt(2+sqrt(2+sqrt(2))))))/2
  0.40673664307580020775 = cos(11*pi/30) = (sqrt(15)+sqrt(3)-sqrt(10-2*sqrt(5)))/8
  0.41270702980439473705 = cos(35*pi/96) = sqrt(2-sqrt(2-sqrt(2-sqrt(2+sqrt(3)))))/2
  0.41642956009763718256 = cos(93*pi/256) = sqrt(2-sqrt(2-sqrt(2-sqrt(2+sqrt(2+sqrt(2-sqrt(2)))))))/2
  0.41865973753742808668 = cos(29*pi/80) = sqrt(4-sqrt(8-sqrt(2)-sqrt(10)+2*sqrt(5-sqrt(5))))/2/sqrt(2)
  0.42755509343028209432 = cos(23*pi/64) = sqrt(2-sqrt(2-sqrt(2-sqrt(2+sqrt(2)))))/2
  0.43861623853852763765 = cos(91*pi/256) = sqrt(2-sqrt(2-sqrt(2-sqrt(2+sqrt(2-sqrt(2-sqrt(2)))))))/2
  0.44228869021900128200 = cos(17*pi/48) = sqrt(2-sqrt(2-sqrt(2-sqrt(3))))/2
  0.44573835577653826740 = cos(6*pi/17) = (-1-sqrt(17)+sqrt(34+2*sqrt(17))+2*sqrt(17-3*sqrt(17)-sqrt(34+2*sqrt(17))+2*sqrt(34-2*sqrt(17))))/16
  0.44961132965460660005 = cos(45*pi/128) = sqrt(2-sqrt(2-sqrt(2-sqrt(2+sqrt(2-sqrt(2))))))/2
  0.45399049973954679156 = cos(7*pi/20) = (sqrt(2)-sqrt(10)+2*sqrt(5+sqrt(5)))/8
  0.45690387563042067656 = cos(67*pi/192) = sqrt(2-sqrt(2-sqrt(2-sqrt(2+sqrt(2-sqrt(3))))))/2
  0.46053871095824002363 = cos(89*pi/256) = sqrt(2-sqrt(2-sqrt(2-sqrt(2+sqrt(2-sqrt(2+sqrt(2)))))))/2
  0.47139673682599764856 = cos(11*pi/32) = sqrt(2-sqrt(2-sqrt(2-sqrt(2))))/2
  0.48218377207912274852 = cos(87*pi/256) = sqrt(2-sqrt(2-sqrt(2-sqrt(2-sqrt(2-sqrt(2+sqrt(2)))))))/2
  0.48576339371634005627 = cos(65*pi/192) = sqrt(2-sqrt(2-sqrt(2-sqrt(2-sqrt(2-sqrt(3))))))/2
  0.48660447856685628729 = cos(23*pi/68) = sqrt(8-sqrt(2)*sqrt(17+sqrt(17)-sqrt(34+2*sqrt(17))-2*sqrt(17-3*sqrt(17)-sqrt(34+2*sqrt(17))+2*sqrt(34-2*sqrt(17)))))/4
  0.48862124149695494742 = cos(27*pi/80) = sqrt(4-sqrt(8-sqrt(2)+sqrt(10)-2*sqrt(5+sqrt(5))))/2/sqrt(2)
  0.49289819222978403687 = cos(43*pi/128) = sqrt(2-sqrt(2-sqrt(2-sqrt(2-sqrt(2-sqrt(2))))))/2
  0.50353838372571755869 = cos(85*pi/256) = sqrt(2-sqrt(2-sqrt(2-sqrt(2-sqrt(2-sqrt(2-sqrt(2)))))))/2
  0.51410274419322172659 = cos(21*pi/64) = sqrt(2-sqrt(2-sqrt(2-sqrt(2-sqrt(2)))))/2
  0.52249856471594886499 = cos(13*pi/40) = sqrt(8-sqrt(2)+sqrt(10)-2*sqrt(5+sqrt(5)))/4
  0.52458968267846890622 = cos(83*pi/256) = sqrt(2-sqrt(2-sqrt(2-sqrt(2-sqrt(2+sqrt(2-sqrt(2)))))))/2
  0.52643216287735580024 = cos(11*pi/34) = sqrt(2)*sqrt(17+sqrt(17)-sqrt(34+2*sqrt(17))-2*sqrt(17-3*sqrt(17)-sqrt(34+2*sqrt(17))+2*sqrt(34-2*sqrt(17))))/8
  0.52806785065036799587 = cos(31*pi/96) = sqrt(2-sqrt(2-sqrt(2-sqrt(2-sqrt(3)))))/2
  0.53499761988709721066 = cos(41*pi/128) = sqrt(2-sqrt(2-sqrt(2-sqrt(2-sqrt(2+sqrt(2))))))/2
  0.54189158057475171615 = cos(61*pi/192) = sqrt(2-sqrt(2-sqrt(2-sqrt(2-sqrt(2+sqrt(3))))))/2
  0.54463903501502708222 = cos(19*pi/60) = (sqrt(10)-sqrt(2)-sqrt(6)+sqrt(30)-2*(1-sqrt(3))*(sqrt(5+sqrt(5))))/16
  0.54532498842204642231 = cos(81*pi/256) = sqrt(2-sqrt(2-sqrt(2-sqrt(2-sqrt(2+sqrt(2+sqrt(2)))))))/2
  0.55236497296050581076 = cos(16*pi/51) = (1+sqrt(17)-sqrt(34+2*sqrt(17))-2*sqrt(17-3*sqrt(17)-sqrt(34+2*sqrt(17))+2*sqrt(34-2*sqrt(17))))/32 + sqrt(6)*sqrt(17+sqrt(17)+sqrt(34+2*sqrt(17))-2*sqrt(17-3*sqrt(17)+sqrt(34+2*sqrt(17))-2*sqrt(34-2*sqrt(17))))/16
  0.55557023301960222474 = cos(5*pi/16) = sqrt(2-sqrt(2-sqrt(2)))/2
  0.56513641442259188898 = cos(21*pi/68) = sqrt(8-sqrt(2)*sqrt(17-sqrt(17)+sqrt(34-2*sqrt(17))-2*sqrt(17+3*sqrt(17)+sqrt(34-2*sqrt(17))+2*sqrt(34+2*sqrt(17)))))/4
  0.56573181078361319739 = cos(79*pi/256) = sqrt(2-sqrt(2-sqrt(2+sqrt(2-sqrt(2+sqrt(2+sqrt(2)))))))/2
  0.56910014587889823061 = cos(59*pi/192) = sqrt(2-sqrt(2-sqrt(2+sqrt(2-sqrt(2+sqrt(3))))))/2
  0.57580819141784530075 = cos(39*pi/128) = sqrt(2-sqrt(2-sqrt(2+sqrt(2-sqrt(2+sqrt(2))))))/2
  0.58247769686780214920 = cos(29*pi/96) = sqrt(2-sqrt(2-sqrt(2+sqrt(2-sqrt(3)))))/2
  0.58579785745643886033 = cos(77*pi/256) = sqrt(2-sqrt(2-sqrt(2+sqrt(2-sqrt(2+sqrt(2-sqrt(2)))))))/2
  0.58778525229247312917 = cos(3*pi/10) = (sqrt(10-2*sqrt(5)))/4
  0.59569930449243334347 = cos(19*pi/64) = sqrt(2-sqrt(2-sqrt(2+sqrt(2-sqrt(2)))))/2
  0.60263463637925638918 = cos(5*pi/17) = (1+sqrt(17)+sqrt(34+2*sqrt(17))-2*sqrt(17-3*sqrt(17)+sqrt(34+2*sqrt(17))-2*sqrt(34-2*sqrt(17))))/16
  0.60551104140432551392 = cos(75*pi/256) = sqrt(2-sqrt(2-sqrt(2+sqrt(2-sqrt(2-sqrt(2-sqrt(2)))))))/2
  0.60876142900872063942 = cos(7*pi/24) = sqrt(2-sqrt(2-sqrt(3)))/2
  0.61523159058062684548 = cos(37*pi/128) = sqrt(2-sqrt(2-sqrt(2+sqrt(2-sqrt(2-sqrt(2))))))/2
  0.61909394930983398694 = cos(23*pi/80) = sqrt(4-sqrt(8+sqrt(2)-sqrt(10)-2*sqrt(5+sqrt(5))))/2/sqrt(2)
  0.62166057337007740804 = cos(55*pi/192) = sqrt(2-sqrt(2-sqrt(2+sqrt(2-sqrt(2-sqrt(3))))))/2
  0.62485948814238637708 = cos(73*pi/256) = sqrt(2-sqrt(2-sqrt(2+sqrt(2-sqrt(2-sqrt(2+sqrt(2)))))))/2
  0.62932039104983745271 = cos(17*pi/60) = (sqrt(2)+sqrt(6)+sqrt(10)+sqrt(30)+2*(1-sqrt(3))*(sqrt(5-sqrt(5))))/16
  0.63439328416364549822 = cos(9*pi/32) = sqrt(2-sqrt(2-sqrt(2+sqrt(2))))/2
  0.63884680565196131707 = cos(19*pi/68) = sqrt(8-sqrt(2)*sqrt(17-sqrt(17)-sqrt(34-2*sqrt(17))-2*sqrt(17+3*sqrt(17)-sqrt(34-2*sqrt(17))-2*sqrt(34+2*sqrt(17)))))/4
  0.64383154288979146507 = cos(71*pi/256) = sqrt(2-sqrt(2-sqrt(2+sqrt(2+sqrt(2-sqrt(2+sqrt(2)))))))/2
  0.64695615253485736540 = cos(53*pi/192) = sqrt(2-sqrt(2-sqrt(2+sqrt(2+sqrt(2-sqrt(3))))))/2
  0.64944804833018365573 = cos(11*pi/40) = sqrt(8-sqrt(2)-sqrt(10)+2*sqrt(5-sqrt(5)))/4
  0.65061830020424211372 = cos(14*pi/51) = (1-sqrt(17)+sqrt(34-2*sqrt(17))+2*sqrt(17+3*sqrt(17)+sqrt(34-2*sqrt(17))+2*sqrt(34+2*sqrt(17))))/32 + sqrt(6)*sqrt(17-sqrt(17)-sqrt(34-2*sqrt(17))-2*sqrt(17+3*sqrt(17)-sqrt(34-2*sqrt(17))-2*sqrt(34+2*sqrt(17))))/16
  0.65317284295377676408 = cos(35*pi/128) = sqrt(2-sqrt(2-sqrt(2+sqrt(2+sqrt(2-sqrt(2))))))/2
  0.65934581510006886843 = cos(13*pi/48) = sqrt(2-sqrt(2-sqrt(2+sqrt(3))))/2
  0.66241577759017176111 = cos(69*pi/256) = sqrt(2-sqrt(2-sqrt(2+sqrt(2+sqrt(2-sqrt(2-sqrt(2)))))))/2
  0.66913060635885821383 = cos(4*pi/15) = (1-sqrt(5)+sqrt(30+6*sqrt(5)))/8
  0.67155895484701840063 = cos(17*pi/64) = sqrt(2-sqrt(2-sqrt(2+sqrt(2+sqrt(2)))))/2
  0.67369564364655721171 = cos(9*pi/34) = sqrt(2)*sqrt(17-sqrt(17)-sqrt(34-2*sqrt(17))+2*sqrt(17+3*sqrt(17)-sqrt(34-2*sqrt(17))-2*sqrt(34+2*sqrt(17))))/8
  0.67880074553294174139 = cos(21*pi/80) = sqrt(4-sqrt(8-sqrt(2)-sqrt(10)-2*sqrt(5-sqrt(5))))/2/sqrt(2)
  0.68060099779545305059 = cos(67*pi/256) = sqrt(2-sqrt(2-sqrt(2+sqrt(2+sqrt(2+sqrt(2-sqrt(2)))))))/2
  0.68359230202287128051 = cos(25*pi/96) = sqrt(2-sqrt(2-sqrt(2+sqrt(2+sqrt(3)))))/2
  0.68954054473706692462 = cos(33*pi/128) = sqrt(2-sqrt(2-sqrt(2+sqrt(2+sqrt(2+sqrt(2))))))/2
  0.69544263500961165112 = cos(49*pi/192) = sqrt(2-sqrt(2-sqrt(2+sqrt(2+sqrt(2+sqrt(3))))))/2
  0.69613394596292660828 = cos(13*pi/51) = (-1-sqrt(17)+sqrt(34+2*sqrt(17))-2*sqrt(17-3*sqrt(17)-sqrt(34+2*sqrt(17))+2*sqrt(34-2*sqrt(17))))/32 + sqrt(6)*sqrt(17+sqrt(17)+sqrt(34+2*sqrt(17))+2*sqrt(17-3*sqrt(17)+sqrt(34+2*sqrt(17))-2*sqrt(34-2*sqrt(17))))/16
  0.69837624940897285355 = cos(65*pi/256) = sqrt(2-sqrt(2-sqrt(2+sqrt(2+sqrt(2+sqrt(2+sqrt(2)))))))/2
  0.70710678118654752440 = cos(pi/4) = sqrt(2)/2
  0.71573082528381865413 = cos(63*pi/256) = sqrt(2+sqrt(2-sqrt(2+sqrt(2+sqrt(2+sqrt(2+sqrt(2)))))))/2
  0.71858161777969805720 = cos(47*pi/192) = sqrt(2+sqrt(2-sqrt(2+sqrt(2+sqrt(2+sqrt(3))))))/2
  0.72424708295146692094 = cos(31*pi/128) = sqrt(2+sqrt(2-sqrt(2+sqrt(2+sqrt(2+sqrt(2))))))/2
  0.72986407269783565735 = cos(23*pi/96) = sqrt(2+sqrt(2-sqrt(2+sqrt(2+sqrt(3)))))/2
  0.73265427167241283462 = cos(61*pi/256) = sqrt(2+sqrt(2-sqrt(2+sqrt(2+sqrt(2+sqrt(2-sqrt(2)))))))/2
  0.73432250943568553564 = cos(19*pi/80) = sqrt(4+sqrt(8-sqrt(2)-sqrt(10)-2*sqrt(5-sqrt(5))))/2/sqrt(2)
  0.73900891722065911592 = cos(4*pi/17) = (-1+sqrt(17)-sqrt(34-2*sqrt(17))+2*sqrt(17+3*sqrt(17)+sqrt(34-2*sqrt(17))+2*sqrt(34+2*sqrt(17))))/16
  0.74095112535495909118 = cos(15*pi/64) = sqrt(2+sqrt(2-sqrt(2+sqrt(2+sqrt(2)))))/2
  0.74314482547739423501 = cos(7*pi/30) = (sqrt(15)-sqrt(3)+sqrt(10+2*sqrt(5)))/8
  0.74913639452345932547 = cos(59*pi/256) = sqrt(2+sqrt(2-sqrt(2+sqrt(2+sqrt(2-sqrt(2-sqrt(2)))))))/2
  0.75183980747897739641 = cos(11*pi/48) = sqrt(2+sqrt(2-sqrt(2+sqrt(3))))/2
  0.75720884650648454758 = cos(29*pi/128) = sqrt(2+sqrt(2-sqrt(2+sqrt(2+sqrt(2-sqrt(2))))))/2
  0.76040596560003093817 = cos(9*pi/40) = sqrt(8+sqrt(2)+sqrt(10)-2*sqrt(5-sqrt(5)))/4
  0.76252720390638809637 = cos(43*pi/192) = sqrt(2+sqrt(2-sqrt(2+sqrt(2+sqrt(2-sqrt(3))))))/2
  0.76516726562245892589 = cos(57*pi/256) = sqrt(2+sqrt(2-sqrt(2+sqrt(2+sqrt(2-sqrt(2+sqrt(2)))))))/2
  0.76933397098287890812 = cos(15*pi/68) = sqrt(8+sqrt(2)*sqrt(17-sqrt(17)-sqrt(34-2*sqrt(17))-2*sqrt(17+3*sqrt(17)-sqrt(34-2*sqrt(17))-2*sqrt(34+2*sqrt(17)))))/4
  0.77301045336273696081 = cos(7*pi/32) = sqrt(2+sqrt(2-sqrt(2+sqrt(2))))/2
  0.77714596145697087998 = cos(13*pi/60) = (sqrt(6)-sqrt(2)-sqrt(10)+sqrt(30)+2*(1+sqrt(3))*(sqrt(5-sqrt(5))))/16
  0.77908057452567043192 = cos(11*pi/51) = (-1+sqrt(17)+sqrt(34-2*sqrt(17))+2*sqrt(17+3*sqrt(17)-sqrt(34-2*sqrt(17))-2*sqrt(34+2*sqrt(17))))/32 + sqrt(6)*sqrt(17-sqrt(17)+sqrt(34-2*sqrt(17))-2*sqrt(17+3*sqrt(17)+sqrt(34-2*sqrt(17))+2*sqrt(34+2*sqrt(17))))/16
  0.78073722857209447830 = cos(55*pi/256) = sqrt(2+sqrt(2-sqrt(2+sqrt(2-sqrt(2-sqrt(2+sqrt(2)))))))/2
  0.78328674922865036540 = cos(41*pi/192) = sqrt(2+sqrt(2-sqrt(2+sqrt(2-sqrt(2-sqrt(3))))))/2
  0.78531693088074492747 = cos(17*pi/80) = sqrt(4+sqrt(8+sqrt(2)-sqrt(10)-2*sqrt(5+sqrt(5))))/2/sqrt(2)
  0.78834642762660626201 = cos(27*pi/128) = sqrt(2+sqrt(2-sqrt(2+sqrt(2-sqrt(2-sqrt(2))))))/2
  0.79335334029123516458 = cos(5*pi/24) = sqrt(2+sqrt(2-sqrt(3)))/2
  0.79583690460888353626 = cos(53*pi/256) = sqrt(2+sqrt(2-sqrt(2+sqrt(2-sqrt(2-sqrt(2-sqrt(2)))))))/2
  0.79801722728023950333 = cos(7*pi/34) = sqrt(2)*sqrt(17+sqrt(17)-sqrt(34+2*sqrt(17))+2*sqrt(17-3*sqrt(17)-sqrt(34+2*sqrt(17))+2*sqrt(34-2*sqrt(17))))/8
  0.80320753148064490981 = cos(13*pi/64) = sqrt(2+sqrt(2-sqrt(2+sqrt(2-sqrt(2)))))/2
  0.80901699437494742410 = cos(pi/5) = (sqrt(5)+1)/4
  0.81045719825259479173 = cos(51*pi/256) = sqrt(2+sqrt(2-sqrt(2+sqrt(2-sqrt(2+sqrt(2-sqrt(2)))))))/2
  0.81284668459161521658 = cos(19*pi/96) = sqrt(2+sqrt(2-sqrt(2+sqrt(2-sqrt(3)))))/2
  0.81619691235622169087 = cos(10*pi/51) = (1-sqrt(17)-sqrt(34-2*sqrt(17))+2*sqrt(17+3*sqrt(17)-sqrt(34-2*sqrt(17))-2*sqrt(34+2*sqrt(17))))/32 + sqrt(6)*sqrt(17-sqrt(17)+sqrt(34-2*sqrt(17))+2*sqrt(17+3*sqrt(17)+sqrt(34-2*sqrt(17))+2*sqrt(34+2*sqrt(17))))/16
  0.81758481315158369650 = cos(25*pi/128) = sqrt(2+sqrt(2-sqrt(2+sqrt(2-sqrt(2+sqrt(2))))))/2
  0.82226821898977510784 = cos(37*pi/192) = sqrt(2+sqrt(2-sqrt(2+sqrt(2-sqrt(2+sqrt(3))))))/2
  0.82458930278502526447 = cos(49*pi/256) = sqrt(2+sqrt(2-sqrt(2+sqrt(2-sqrt(2+sqrt(2+sqrt(2)))))))/2
  0.82499747459830231554 = cos(13*pi/68) = sqrt(8+sqrt(2)*sqrt(17-sqrt(17)+sqrt(34-2*sqrt(17))-2*sqrt(17+3*sqrt(17)+sqrt(34-2*sqrt(17))+2*sqrt(34+2*sqrt(17)))))/4
  0.83146961230254523708 = cos(3*pi/16) = sqrt(2+sqrt(2-sqrt(2)))/2
  0.83822470555483804319 = cos(47*pi/256) = sqrt(2+sqrt(2-sqrt(2-sqrt(2-sqrt(2+sqrt(2+sqrt(2)))))))/2
  0.83867056794542402964 = cos(11*pi/60) = (sqrt(6)-sqrt(2)+sqrt(10)-sqrt(30)+2*(1+sqrt(3))*(sqrt(5+sqrt(5))))/16
  0.84044840109443802102 = cos(35*pi/192) = sqrt(2+sqrt(2-sqrt(2-sqrt(2-sqrt(2+sqrt(3))))))/2
  0.84485356524970707326 = cos(23*pi/128) = sqrt(2+sqrt(2-sqrt(2-sqrt(2-sqrt(2+sqrt(2))))))/2
  0.84920218152657888765 = cos(17*pi/96) = sqrt(2+sqrt(2-sqrt(2-sqrt(2-sqrt(3)))))/2
  0.85021713572961415213 = cos(3*pi/17) = (1+sqrt(17)+sqrt(34+2*sqrt(17))+2*sqrt(17-3*sqrt(17)+sqrt(34+2*sqrt(17))-2*sqrt(34-2*sqrt(17))))/16
  0.85135519310526514226 = cos(45*pi/256) = sqrt(2+sqrt(2-sqrt(2-sqrt(2-sqrt(2+sqrt(2-sqrt(2)))))))/2
  0.85264016435409222152 = cos(7*pi/40) = sqrt(8+sqrt(2)-sqrt(10)+2*sqrt(5+sqrt(5)))/4
  0.85772861000027206990 = cos(11*pi/64) = sqrt(2+sqrt(2-sqrt(2-sqrt(2-sqrt(2)))))/2
  0.86397285612158673792 = cos(43*pi/256) = sqrt(2+sqrt(2-sqrt(2-sqrt(2-sqrt(2-sqrt(2-sqrt(2)))))))/2
  0.86602540378443864676 = cos(pi/6) = sqrt(3)/2
  0.87008699110871141865 = cos(21*pi/128) = sqrt(2+sqrt(2-sqrt(2-sqrt(2-sqrt(2-sqrt(2))))))/2
  0.87249600707279711453 = cos(13*pi/80) = sqrt(4+sqrt(8-sqrt(2)+sqrt(10)-2*sqrt(5+sqrt(5))))/2/sqrt(2)
  0.87362239064636953713 = cos(11*pi/68) = sqrt(8+sqrt(2)*sqrt(17+sqrt(17)-sqrt(34+2*sqrt(17))-2*sqrt(17-3*sqrt(17)-sqrt(34+2*sqrt(17))+2*sqrt(34-2*sqrt(17)))))/4
  0.87409034162675885155 = cos(31*pi/192) = sqrt(2+sqrt(2-sqrt(2-sqrt(2-sqrt(2-sqrt(3))))))/2
  0.87607009419540660710 = cos(41*pi/256) = sqrt(2+sqrt(2-sqrt(2-sqrt(2-sqrt(2-sqrt(2+sqrt(2)))))))/2
  0.88101219428578450601 = cos(8*pi/51) = (1+sqrt(17)+sqrt(34+2*sqrt(17))+2*sqrt(17-3*sqrt(17)+sqrt(34+2*sqrt(17))-2*sqrt(34-2*sqrt(17))))/32 + sqrt(6)*sqrt(17+sqrt(17)-sqrt(34+2*sqrt(17))-2*sqrt(17-3*sqrt(17)-sqrt(34+2*sqrt(17))+2*sqrt(34-2*sqrt(17))))/16
  0.88192126434835502971 = cos(5*pi/32) = sqrt(2+sqrt(2-sqrt(2-sqrt(2))))/2
  0.88763962040285394776 = cos(39*pi/256) = sqrt(2+sqrt(2-sqrt(2-sqrt(2+sqrt(2-sqrt(2+sqrt(2)))))))/2
  0.88951607542185603527 = cos(29*pi/192) = sqrt(2+sqrt(2-sqrt(2-sqrt(2+sqrt(2-sqrt(3))))))/2
  0.89100652418836786236 = cos(3*pi/20) = (sqrt(10)-sqrt(2)+2*sqrt(5+sqrt(5)))/8
  0.89322430119551532034 = cos(19*pi/128) = sqrt(2+sqrt(2-sqrt(2-sqrt(2+sqrt(2-sqrt(2))))))/2
  0.89516329135506232207 = cos(5*pi/34) = sqrt(2)*sqrt(17+sqrt(17)+sqrt(34+2*sqrt(17))-2*sqrt(17-3*sqrt(17)+sqrt(34+2*sqrt(17))-2*sqrt(34-2*sqrt(17))))/8
  0.89687274153268830389 = cos(7*pi/48) = sqrt(2+sqrt(2-sqrt(2-sqrt(3))))/2
  0.89867446569395384304 = cos(37*pi/256) = sqrt(2+sqrt(2-sqrt(2-sqrt(2+sqrt(2-sqrt(2-sqrt(2)))))))/2
  0.90398929312344333159 = cos(9*pi/64) = sqrt(2+sqrt(2-sqrt(2-sqrt(2+sqrt(2)))))/2
  0.90814317382508129926 = cos(11*pi/80) = sqrt(4+sqrt(8-sqrt(2)-sqrt(10)+2*sqrt(5-sqrt(5))))/2/sqrt(2)
  0.90846527181952368611 = cos(7*pi/51) = (-1+sqrt(17)+sqrt(34-2*sqrt(17))-2*sqrt(17+3*sqrt(17)-sqrt(34-2*sqrt(17))-2*sqrt(34+2*sqrt(17))))/32 + sqrt(6)*sqrt(17-sqrt(17)+sqrt(34-2*sqrt(17))+2*sqrt(17+3*sqrt(17)+sqrt(34-2*sqrt(17))+2*sqrt(34+2*sqrt(17))))/16
  0.90916798309052237656 = cos(35*pi/256) = sqrt(2+sqrt(2-sqrt(2-sqrt(2+sqrt(2+sqrt(2-sqrt(2)))))))/2
  0.91086382492117581857 = cos(13*pi/96) = sqrt(2+sqrt(2-sqrt(2-sqrt(2+sqrt(3)))))/2
  0.91354545764260089550 = cos(2*pi/15) = (1+sqrt(5)+sqrt(30-6*sqrt(5)))/8
  0.91420975570353065464 = cos(17*pi/128) = sqrt(2+sqrt(2-sqrt(2-sqrt(2+sqrt(2+sqrt(2))))))/2
  0.91479386848802097000 = cos(9*pi/68) = sqrt(8+sqrt(2)*sqrt(17-sqrt(17)-sqrt(34-2*sqrt(17))+2*sqrt(17+3*sqrt(17)-sqrt(34-2*sqrt(17))-2*sqrt(34+2*sqrt(17)))))/4
  0.91749449644749130792 = cos(25*pi/192) = sqrt(2+sqrt(2-sqrt(2-sqrt(2+sqrt(2+sqrt(3))))))/2
  0.91911385169005774391 = cos(33*pi/256) = sqrt(2+sqrt(2-sqrt(2-sqrt(2+sqrt(2+sqrt(2+sqrt(2)))))))/2
  0.92387953251128675613 = cos(pi/8) = sqrt(2+sqrt(2))/2
  0.92850608047321556594 = cos(31*pi/256) = sqrt(2+sqrt(2+sqrt(2-sqrt(2+sqrt(2+sqrt(2+sqrt(2)))))))/2
  0.93001722368401211706 = cos(23*pi/192) = sqrt(2+sqrt(2+sqrt(2-sqrt(2+sqrt(2+sqrt(3))))))/2
  0.93247222940435580457 = cos(2*pi/17) = (-1+sqrt(17)+sqrt(34-2*sqrt(17))+2*sqrt(17+3*sqrt(17)-sqrt(34-2*sqrt(17))-2*sqrt(34+2*sqrt(17))))/16
  0.93299279883473888771 = cos(15*pi/128) = sqrt(2+sqrt(2+sqrt(2-sqrt(2+sqrt(2+sqrt(2))))))/2
  0.93358042649720174899 = cos(7*pi/60) = (sqrt(2)+sqrt(6)+sqrt(10)+sqrt(30)-2*(1-sqrt(3))*(sqrt(5-sqrt(5))))/16
  0.93590592675732570029 = cos(11*pi/96) = sqrt(2+sqrt(2+sqrt(2-sqrt(2+sqrt(3)))))/2
  0.93733901191257492320 = cos(29*pi/256) = sqrt(2+sqrt(2+sqrt(2-sqrt(2+sqrt(2+sqrt(2-sqrt(2)))))))/2
  0.93819133592248413445 = cos(9*pi/80) = sqrt(4+sqrt(8+sqrt(2)+sqrt(10)-2*sqrt(5-sqrt(5))))/2/sqrt(2)
  0.94154406518302077841 = cos(7*pi/64) = sqrt(2+sqrt(2+sqrt(2-sqrt(2+sqrt(2)))))/2
  0.94560732538052132573 = cos(27*pi/256) = sqrt(2+sqrt(2+sqrt(2-sqrt(2+sqrt(2-sqrt(2-sqrt(2)))))))/2
  0.94693012949510566426 = cos(5*pi/48) = sqrt(2+sqrt(2+sqrt(2-sqrt(3))))/2
  0.94816064759096585893 = cos(7*pi/68) = sqrt(8+sqrt(2)*sqrt(17+sqrt(17)-sqrt(34+2*sqrt(17))+2*sqrt(17-3*sqrt(17)-sqrt(34+2*sqrt(17))+2*sqrt(34-2*sqrt(17)))))/4
  0.94952818059303666720 = cos(13*pi/128) = sqrt(2+sqrt(2+sqrt(2-sqrt(2+sqrt(2-sqrt(2))))))/2
  0.95105651629515357212 = cos(pi/10) = (sqrt(10+2*sqrt(5)))/4
  0.95206267771392425710 = cos(19*pi/192) = sqrt(2+sqrt(2+sqrt(2-sqrt(2+sqrt(2-sqrt(3))))))/2
  0.95294200042715655583 = cos(5*pi/51) = (-1+sqrt(17)-sqrt(34-2*sqrt(17))+2*sqrt(17+3*sqrt(17)+sqrt(34-2*sqrt(17))+2*sqrt(34+2*sqrt(17))))/32 + sqrt(6)*sqrt(17-sqrt(17)-sqrt(34-2*sqrt(17))+2*sqrt(17+3*sqrt(17)-sqrt(34-2*sqrt(17))-2*sqrt(34+2*sqrt(17))))/16
  0.95330604035419383692 = cos(25*pi/256) = sqrt(2+sqrt(2+sqrt(2-sqrt(2+sqrt(2-sqrt(2+sqrt(2)))))))/2
  0.95694033573220886494 = cos(3*pi/32) = sqrt(2+sqrt(2+sqrt(2-sqrt(2))))/2
  0.96043051941556581120 = cos(23*pi/256) = sqrt(2+sqrt(2+sqrt(2-sqrt(2-sqrt(2-sqrt(2+sqrt(2)))))))/2
  0.96156179768296194714 = cos(17*pi/192) = sqrt(2+sqrt(2+sqrt(2-sqrt(2-sqrt(2-sqrt(3))))))/2
  0.96182564317281907041 = cos(3*pi/34) = sqrt(2)*sqrt(17+sqrt(17)+sqrt(34+2*sqrt(17))+2*sqrt(17-3*sqrt(17)+sqrt(34+2*sqrt(17))-2*sqrt(34-2*sqrt(17))))/8
  0.96245523645364728763 = cos(7*pi/80) = sqrt(4+sqrt(8+sqrt(2)-sqrt(10)+2*sqrt(5+sqrt(5))))/2/sqrt(2)
  0.96377606579543986669 = cos(11*pi/128) = sqrt(2+sqrt(2+sqrt(2-sqrt(2-sqrt(2-sqrt(2))))))/2
  0.96592582628906828675 = cos(pi/12) = sqrt(2+sqrt(3))/2
  0.96697647104485210909 = cos(21*pi/256) = sqrt(2+sqrt(2+sqrt(2-sqrt(2-sqrt(2-sqrt(2-sqrt(2)))))))/2
  0.96979693603500947182 = cos(4*pi/51) = (1+sqrt(17)-sqrt(34+2*sqrt(17))+2*sqrt(17-3*sqrt(17)-sqrt(34+2*sqrt(17))+2*sqrt(34-2*sqrt(17))))/32 + sqrt(6)*sqrt(17+sqrt(17)+sqrt(34+2*sqrt(17))+2*sqrt(17-3*sqrt(17)+sqrt(34+2*sqrt(17))-2*sqrt(34-2*sqrt(17))))/16
  0.97003125319454399260 = cos(5*pi/64) = sqrt(2+sqrt(2+sqrt(2-sqrt(2-sqrt(2)))))/2
  0.97236992039767660183 = cos(3*pi/40) = sqrt(8-sqrt(2)+sqrt(10)+2*sqrt(5+sqrt(5)))/4
  0.97293995220556014547 = cos(19*pi/256) = sqrt(2+sqrt(2+sqrt(2-sqrt(2-sqrt(2+sqrt(2-sqrt(2)))))))/2
  0.97343805436069282581 = cos(5*pi/68) = sqrt(8+sqrt(2)*sqrt(17+sqrt(17)+sqrt(34+2*sqrt(17))-2*sqrt(17-3*sqrt(17)+sqrt(34+2*sqrt(17))-2*sqrt(34-2*sqrt(17)))))/4
  0.97387697927733364815 = cos(7*pi/96) = sqrt(2+sqrt(2+sqrt(2-sqrt(2-sqrt(3)))))/2
  0.97570213003852854446 = cos(9*pi/128) = sqrt(2+sqrt(2+sqrt(2-sqrt(2-sqrt(2+sqrt(2))))))/2
  0.97746197494357186339 = cos(13*pi/192) = sqrt(2+sqrt(2+sqrt(2-sqrt(2-sqrt(2+sqrt(3))))))/2
  0.97814760073380563793 = cos(pi/15) = (sqrt(5)-1+sqrt(30+6*sqrt(5)))/8
  0.97831737071962763311 = cos(17*pi/256) = sqrt(2+sqrt(2+sqrt(2-sqrt(2-sqrt(2+sqrt(2+sqrt(2)))))))/2
  0.98078528040323044913 = cos(pi/16) = sqrt(2+sqrt(2+sqrt(2)))/2
  0.98297309968390177828 = cos(pi/17) = (1-sqrt(17)+sqrt(34-2*sqrt(17))+2*sqrt(17+3*sqrt(17)+sqrt(34-2*sqrt(17))+2*sqrt(34+2*sqrt(17))))/16
  0.98310548743121632718 = cos(15*pi/256) = sqrt(2+sqrt(2+sqrt(2+sqrt(2-sqrt(2+sqrt(2+sqrt(2)))))))/2
  0.98384600592707741609 = cos(11*pi/192) = sqrt(2+sqrt(2+sqrt(2+sqrt(2-sqrt(2+sqrt(3))))))/2
  0.98527764238894124477 = cos(7*pi/128) = sqrt(2+sqrt(2+sqrt(2+sqrt(2-sqrt(2+sqrt(2))))))/2
  0.98664333208487900475 = cos(5*pi/96) = sqrt(2+sqrt(2+sqrt(2+sqrt(2-sqrt(3)))))/2
  0.98730141815785838240 = cos(13*pi/256) = sqrt(2+sqrt(2+sqrt(2+sqrt(2-sqrt(2+sqrt(2-sqrt(2)))))))/2
  0.98768834059513772619 = cos(pi/20) = (sqrt(2)+sqrt(10)+2*(sqrt(5-sqrt(5))))/8
  0.98917650996478097345 = cos(3*pi/64) = sqrt(2+sqrt(2+sqrt(2+sqrt(2-sqrt(2)))))/2
  0.99041043087520515835 = cos(3*pi/68) = sqrt(8+sqrt(2)*sqrt(17+sqrt(17)+sqrt(34+2*sqrt(17))+2*sqrt(17-3*sqrt(17)+sqrt(34+2*sqrt(17))-2*sqrt(34-2*sqrt(17)))))/4
  0.99090263542778002511 = cos(11*pi/256) = sqrt(2+sqrt(2+sqrt(2+sqrt(2-sqrt(2-sqrt(2-sqrt(2)))))))/2
  0.99144486137381041114 = cos(pi/24) = sqrt(2+sqrt(2+sqrt(3)))/2
  0.99242050967193575826 = cos(2*pi/51) = (1+sqrt(17)+sqrt(34+2*sqrt(17))-2*sqrt(17-3*sqrt(17)+sqrt(34+2*sqrt(17))-2*sqrt(34-2*sqrt(17))))/32 + sqrt(6)*sqrt(17+sqrt(17)-sqrt(34+2*sqrt(17))+2*sqrt(17-3*sqrt(17)-sqrt(34+2*sqrt(17))+2*sqrt(34-2*sqrt(17))))/16
  0.99247953459870999816 = cos(5*pi/128) = sqrt(2+sqrt(2+sqrt(2+sqrt(2-sqrt(2-sqrt(2))))))/2
  0.99306845695492629564 = cos(3*pi/80) = sqrt(4+sqrt(8-sqrt(2)+sqrt(10)+2*sqrt(5+sqrt(5))))/2/sqrt(2)
  0.99344777901944439551 = cos(7*pi/192) = sqrt(2+sqrt(2+sqrt(2+sqrt(2-sqrt(2-sqrt(3))))))/2
  0.99390697000235604155 = cos(9*pi/256) = sqrt(2+sqrt(2+sqrt(2+sqrt(2-sqrt(2-sqrt(2+sqrt(2)))))))/2
  0.99452189536827333692 = cos(pi/30) = (sqrt(15)+sqrt(3)+sqrt(10-2*sqrt(5)))/8
  0.99518472667219688624 = cos(pi/32) = sqrt(2+sqrt(2+sqrt(2+sqrt(2))))/2
  0.99573417629503452187 = cos(pi/34) = sqrt(2)*sqrt(17-sqrt(17)+sqrt(34-2*sqrt(17))+2*sqrt(17+3*sqrt(17)+sqrt(34-2*sqrt(17))+2*sqrt(34+2*sqrt(17))))/8
  0.99631261218277801263 = cos(7*pi/256) = sqrt(2+sqrt(2+sqrt(2+sqrt(2+sqrt(2-sqrt(2+sqrt(2)))))))/2
  0.99665523930918032493 = cos(5*pi/192) = sqrt(2+sqrt(2+sqrt(2+sqrt(2+sqrt(2-sqrt(3))))))/2
  0.99691733373312797620 = cos(pi/40) = sqrt(8+sqrt(2)+sqrt(10)+2*sqrt(5-sqrt(5)))/4
  0.99729045667869021614 = cos(3*pi/128) = sqrt(2+sqrt(2+sqrt(2+sqrt(2+sqrt(2-sqrt(2))))))/2
  0.99785892323860350674 = cos(pi/48) = sqrt(2+sqrt(2+sqrt(2+sqrt(3))))/2
  0.99810332873704407816 = cos(pi/51) = (-1-sqrt(17)+sqrt(34+2*sqrt(17))+2*sqrt(17-3*sqrt(17)-sqrt(34+2*sqrt(17))+2*sqrt(34-2*sqrt(17))))/32 + sqrt(6)*sqrt(17+sqrt(17)+sqrt(34+2*sqrt(17))-2*sqrt(17-3*sqrt(17)+sqrt(34+2*sqrt(17))-2*sqrt(34-2*sqrt(17))))/16
  0.99811811290014920713 = cos(5*pi/256) = sqrt(2+sqrt(2+sqrt(2+sqrt(2+sqrt(2-sqrt(2-sqrt(2)))))))/2
  0.99862953475457387378 = cos(pi/60) = (sqrt(2)-sqrt(6)-sqrt(10)+sqrt(30)+2*(1+sqrt(3))*(sqrt(5+sqrt(5))))/16
  0.99879545620517239271 = cos(pi/64) = sqrt(2+sqrt(2+sqrt(2+sqrt(2+sqrt(2)))))/2
  0.99893297480237244441 = cos(pi/68) = sqrt(8+sqrt(2)*sqrt(17-sqrt(17)+sqrt(34-2*sqrt(17))+2*sqrt(17+3*sqrt(17)+sqrt(34-2*sqrt(17))+2*sqrt(34+2*sqrt(17)))))/4
  0.99922903624072293474 = cos(pi/80) = sqrt(4+sqrt(8+sqrt(2)+sqrt(10)+2*sqrt(5-sqrt(5))))/2/sqrt(2)
  0.99932238458834950090 = cos(3*pi/256) = sqrt(2+sqrt(2+sqrt(2+sqrt(2+sqrt(2+sqrt(2-sqrt(2)))))))/2
  0.99946458747636564443 = cos(pi/96) = sqrt(2+sqrt(2+sqrt(2+sqrt(2+sqrt(3)))))/2
  0.99969881869620422012 = cos(pi/128) = sqrt(2+sqrt(2+sqrt(2+sqrt(2+sqrt(2+sqrt(2))))))/2
  0.99986613790956178286 = cos(pi/192) = sqrt(2+sqrt(2+sqrt(2+sqrt(2+sqrt(2+sqrt(3))))))/2
  0.99992470183914454092 = cos(pi/256) = sqrt(2+sqrt(2+sqrt(2+sqrt(2+sqrt(2+sqrt(2+sqrt(2)))))))/2

The numerical values given in this table are rounded to 20 decimal places. They have been carefully calculated with bc to ensure that their numerical error is smaller than 5·10⁻²¹. Thus, the numerical values given here are far more accurate than those printed in the Character Tables, which are calculated by Fortran arithmetic to 12 decimal places with an error less than 5·10⁻¹³.

In deriving that list, the famous identity cos(2φ)=2 cos2(φ)−1 is most helpful for cases with even denominators. For prime denominators, de Moivre’s formula (cos(2π/n) + i*sin(2π/n))n = 1 can be used (read: The n-th power of an n-th root of unity is one). Other cases are accessible by using the standard addition theorem cos(2π(n+m)/(n*m)) = cos(2π/n)*cos(2π/m) − sin(2π/n)*sin(2π/m). As usual, the worst part is the simplification of the resulting radical expression. Note that cosine values for angles with a given denominator differ only in the signs of the various terms and need not to be derived afresh.

This page was written by Gernot Katzer

See here for my Home Page