# include # include # include # include "tetrahedron_jaskowiec_rule.h" /******************************************************************************/ void comp_next ( int n, int k, int a[], int *more, int *h, int *t ) /******************************************************************************/ /* Purpose: comp_next() computes the compositions of the integer N into K parts. Discussion: A composition of the integer N into K parts is an ordered sequence of K nonnegative integers which sum to N. The compositions (1,2,1) and (1,1,2) are considered to be distinct. The routine computes one composition on each call until there are no more. For instance, one composition of 6 into 3 parts is 3+2+1, another would be 6+0+0. On the first call to this routine, set MORE = FALSE. The routine will compute the first element in the sequence of compositions, and return it, as well as setting MORE = TRUE. If more compositions are desired, call again, and again. Each time, the routine will return with a new composition. However, when the LAST composition in the sequence is computed and returned, the routine will reset MORE to FALSE, signaling that the end of the sequence has been reached. This routine originally used a STATIC statement to maintain the variables H and T. I have decided (based on an wasting an entire morning trying to track down a problem) that it is safer to pass these variables as arguments, even though the user should never alter them. This allows this routine to safely shuffle between several ongoing calculations. There are 28 compositions of 6 into three parts. This routine will produce those compositions in the following order: I A - --------- 1 6 0 0 2 5 1 0 3 4 2 0 4 3 3 0 5 2 4 0 6 1 5 0 7 0 6 0 8 5 0 1 9 4 1 1 10 3 2 1 11 2 3 1 12 1 4 1 13 0 5 1 14 4 0 2 15 3 1 2 16 2 2 2 17 1 3 2 18 0 4 2 19 3 0 3 20 2 1 3 21 1 2 3 22 0 3 3 23 2 0 4 24 1 1 4 25 0 2 4 26 1 0 5 27 0 1 5 28 0 0 6 Licensing: This code is distributed under the MIT license. Modified: 02 July 2008 Author: Original FORTRAN77 version by Albert Nijenhuis, Herbert Wilf. C version by John Burkardt. Reference: Albert Nijenhuis, Herbert Wilf, Combinatorial Algorithms for Computers and Calculators, Second Edition, Academic Press, 1978, ISBN: 0-12-519260-6, LC: QA164.N54. Parameters: Input, int N, the integer whose compositions are desired. Input, int K, the number of parts in the composition. Input/output, int A[K], the parts of the composition. Input/output, int *MORE. Set MORE = FALSE on first call. It will be reset to TRUE on return with a new composition. Each new call returns another composition until MORE is set to FALSE when the last composition has been computed and returned. Input/output, int *H, *T, two internal parameters needed for the computation. The user should allocate space for these in the calling program, include them in the calling sequence, but never alter them! */ { int i; if ( !( *more ) ) { *t = n; *h = 0; a[0] = n; for ( i = 1; i < k; i++ ) { a[i] = 0; } } else { if ( 1 < *t ) { *h = 0; } *h = *h + 1; *t = a[*h-1]; a[*h-1] = 0; a[0] = *t - 1; a[*h] = a[*h] + 1; } *more = ( a[k-1] != n ); return; } /******************************************************************************/ double *monomial_value ( int m, int n, int e[], double x[] ) /******************************************************************************/ /* Purpose: monomial_value() evaluates a monomial. Discussion: This routine evaluates a monomial of the form product ( 1 <= i <= m ) x(i)^e(i) The combination 0.0^0 is encountered is treated as 1.0. Licensing: This code is distributed under the MIT license. Modified: 17 August 2014 Author: John Burkardt Input: int M, the spatial dimension. int N, the number of evaluation points. int E[M], the exponents. double X[M*N], the point coordinates. Output: double MONOMIAL_VALUE[N], the monomial values. */ { int i; int j; double *v; v = ( double * ) malloc ( n * sizeof ( double ) ); for ( j = 0; j < n; j++ ) { v[j] = 1.0; } for ( i = 0; i < m; i++ ) { if ( 0 != e[i] ) { for ( j = 0; j < n; j++ ) { v[j] = v[j] * pow ( x[i+j*m], e[i] ); } } } return v; } /******************************************************************************/ double r8mat_det_4d ( double a[] ) /******************************************************************************/ /* Purpose: r8mat_det_4d() computes the determinant of a 4 by 4 R8MAT. Discussion: Although in this special case it doesn't matter so much, the matrix is now stored in row-major order. Licensing: This code is distributed under the MIT license. Modified: 13 April 2023 Author: John Burkardt Input: double a[4*4], the matrix whose determinant is desired. Output: double r8mat_det_4d: the determinant of the matrix. */ { double det; det = a[0*4+0] * ( a[1*4+1] * ( a[2*4+2] * a[3*4+3] - a[2*4+3] * a[3*4+2] ) - a[1*4+2] * ( a[2*4+1] * a[3*4+3] - a[2*4+3] * a[3*4+1] ) + a[1*4+3] * ( a[2*4+1] * a[3*4+2] - a[2*4+2] * a[3*4+1] ) ) - a[0*4+1] * ( a[1*4+0] * ( a[2*4+2] * a[3*4+3] - a[2*4+3] * a[3*4+2] ) - a[1*4+2] * ( a[2*4+0] * a[3*4+3] - a[2*4+3] * a[3*4+0] ) + a[1*4+3] * ( a[2*4+0] * a[3*4+2] - a[2*4+2] * a[3*4+0] ) ) + a[0*4+2] * ( a[1*4+0] * ( a[2*4+1] * a[3*4+3] - a[2*4+3] * a[3*4+1] ) - a[1*4+1] * ( a[2*4+0] * a[3*4+3] - a[2*4+3] * a[3*4+0] ) + a[1*4+3] * ( a[2*4+0] * a[3*4+1] - a[2*4+1] * a[3*4+0] ) ) - a[0*4+3] * ( a[1*4+0] * ( a[2*4+1] * a[3*4+2] - a[2*4+2] * a[3*4+1] ) - a[1*4+1] * ( a[2*4+0] * a[3*4+2] - a[2*4+2] * a[3*4+0] ) + a[1*4+2] * ( a[2*4+0] * a[3*4+1] - a[2*4+1] * a[3*4+0] ) ); return det; } /******************************************************************************/ void r8vec_copy ( int n, double a1[], double a2[] ) /******************************************************************************/ /* Purpose: r8vec_copy() copies an R8VEC. Licensing: This code is distributed under the MIT license. Modified: 03 July 2005 Author: John Burkardt Input: int N, the number of entries in the vectors. double A1[N], the vector to be copied. Output: double A2[N], the copy of A1. */ { int i; for ( i = 0; i < n; i++ ) { a2[i] = a1[i]; } return; } /******************************************************************************/ int rule_order ( int p ) /******************************************************************************/ /* Purpose: rule_order() returns the order of a quadrature rule of given precision. Discussion: The "order" of a quadrature rule is the number of points involved. Licensing: This code is distributed under the MIT license. Modified: 02 April 2023 Author: John Burkardt Reference: Jan Jaskowiec, Natarajan Sukumar, High order symmetric cubature rules for tetrahedra and pyramids, International Journal of Numerical Methods in Engineering, Volume 122, Number 1, pages 148-171, 24 August 2020. Input: int p: the precision, 0 <= p <= 20. Output: int rule_order: the order of the rule. */ { int order; static int order_save[] = { 1, 1, 4, 8, 14, 14, 24, 35, 46, 59, 81, 110, 168, 172, 204, 264, 304, 364, 436, 487, 552 }; if ( p < 0 ) { printf ( "\n" ); printf ( "rule_order(): Fatal error!\n" ); printf ( " Input p < 0.\n" ); exit ( 1 ); } if ( 20 < p ) { printf ( "\n" ); printf ( "rule_order(): Fatal error!\n" ); printf ( " Input 20 < p.\n" ); exit ( 1 ); } order = order_save[p]; return order; } /******************************************************************************/ void rule00 ( int n, double a[], double b[], double c[], double d[], double w[] ) /******************************************************************************/ /* Purpose: rule00() returns the rule of precision 0. Licensing: This code is distributed under the MIT license. Modified: 02 April 2023 Author: John Burkardt Reference: Jan Jaskowiec, Natarajan Sukumar, High order symmetric cubature rules for tetrahedra and pyramids, International Journal of Numerical Methods in Engineering, Volume 122, Number 1, pages 148-171, 24 August 2020. Input: int n: the number of quadrature points for this rule. Output: double a[n], b[n], c[n], d[n]: the barycentric coordinates of quadrature points. double w[n]: the quadrature weights. */ { static double a_save[] = { 0.25000000000000000000 }; static double b_save[] = { 0.25000000000000000000 }; static double c_save[] = { 0.25000000000000000000 }; static double d_save[] = { 0.25000000000000000000 }; double w_save[] = { 1.00000000000000000000 }; r8vec_copy ( n, a_save, a ); r8vec_copy ( n, b_save, b ); r8vec_copy ( n, c_save, c ); r8vec_copy ( n, d_save, d ); r8vec_copy ( n, w_save, w ); return; } /******************************************************************************/ void rule01 ( int n, double a[], double b[], double c[], double d[], double w[] ) /******************************************************************************/ /* Purpose: rule01() returns the rule of precision 1. Licensing: This code is distributed under the MIT license. Modified: 02 April 2023 Author: John Burkardt Reference: Jan Jaskowiec, Natarajan Sukumar, High order symmetric cubature rules for tetrahedra and pyramids, International Journal of Numerical Methods in Engineering, Volume 122, Number 1, pages 148-171, 24 August 2020. Input: int n: the number of quadrature points for this rule. Output: double a[n], b[n], c[n], d[n]: the barycentric coordinates of quadrature points. double w[n]: the quadrature weights. */ { static double a_save[] = { 0.25000000000000000000 }; static double b_save[] = { 0.25000000000000000000 }; static double c_save[] = { 0.25000000000000000000 }; static double d_save[] = { 0.25000000000000000000 }; double w_save[] = { 1.00000000000000000000 }; r8vec_copy ( n, a_save, a ); r8vec_copy ( n, b_save, b ); r8vec_copy ( n, c_save, c ); r8vec_copy ( n, d_save, d ); r8vec_copy ( n, w_save, w ); return; } /******************************************************************************/ void rule02 ( int n, double a[], double b[], double c[], double d[], double w[] ) /******************************************************************************/ /* Purpose: rule02() returns the rule of precision 2. Licensing: This code is distributed under the MIT license. Modified: 02 April 2023 Author: John Burkardt Reference: Jan Jaskowiec, Natarajan Sukumar, High order symmetric cubature rules for tetrahedra and pyramids, International Journal of Numerical Methods in Engineering, Volume 122, Number 1, pages 148-171, 24 August 2020. Input: int n: the number of quadrature points for this rule. Output: double a[n], b[n], c[n], d[n]: the barycentric coordinates of quadrature points. double w[n]: the quadrature weights. */ { static double a_save[] = { 0.13819660112501050420, 0.58541019662496840414, 0.13819660112501050420, 0.13819660112501050420 }; static double b_save[] = { 0.13819660112501050420, 0.13819660112501050420, 0.58541019662496840414, 0.13819660112501050420 }; static double c_save[] = { 0.13819660112501050420, 0.13819660112501050420, 0.13819660112501050420, 0.58541019662496840414 }; static double d_save[] = { 0.58541019662496840414, 0.13819660112501050420, 0.13819660112501050420, 0.13819660112501050420 }; double w_save[] = { 0.25000000000000000000, 0.25000000000000000000, 0.25000000000000000000, 0.25000000000000000000 }; r8vec_copy ( n, a_save, a ); r8vec_copy ( n, b_save, b ); r8vec_copy ( n, c_save, c ); r8vec_copy ( n, d_save, d ); r8vec_copy ( n, w_save, w ); return; } /******************************************************************************/ void rule03 ( int n, double a[], double b[], double c[], double d[], double w[] ) /******************************************************************************/ /* Purpose: rule03() returns the rule of precision 3. Licensing: This code is distributed under the MIT license. Modified: 02 April 2023 Author: John Burkardt Reference: Jan Jaskowiec, Natarajan Sukumar, High order symmetric cubature rules for tetrahedra and pyramids, International Journal of Numerical Methods in Engineering, Volume 122, Number 1, pages 148-171, 24 August 2020. Input: int n: the number of quadrature points for this rule. Output: double a[n], b[n], c[n], d[n]: the barycentric coordinates of quadrature points. double w[n]: the quadrature weights. */ { static double a_save[] = { 0.32868114666534897772, 0.01395656000395302174, 0.32868114666534897772, 0.32868114666534897772, 0.11192072750929155101, 0.66423781747212540250, 0.11192072750929155101, 0.11192072750929155101 }; static double b_save[] = { 0.32868114666534897772, 0.32868114666534897772, 0.01395656000395302174, 0.32868114666534897772, 0.11192072750929155101, 0.11192072750929155101, 0.66423781747212540250, 0.11192072750929155101 }; static double c_save[] = { 0.32868114666534897772, 0.32868114666534897772, 0.32868114666534897772, 0.01395656000395302174, 0.11192072750929155101, 0.11192072750929155101, 0.11192072750929155101, 0.66423781747212540250 }; static double d_save[] = { 0.01395656000395302174, 0.32868114666534897772, 0.32868114666534897772, 0.32868114666534897772, 0.66423781747212540250, 0.11192072750929155101, 0.11192072750929155101, 0.11192072750929155101 }; double w_save[] = { 0.12749131155750642597, 0.12749131155750642597, 0.12749131155750642597, 0.12749131155750642597, 0.12250868844249357403, 0.12250868844249357403, 0.12250868844249357403, 0.12250868844249357403 }; r8vec_copy ( n, a_save, a ); r8vec_copy ( n, b_save, b ); r8vec_copy ( n, c_save, c ); r8vec_copy ( n, d_save, d ); r8vec_copy ( n, w_save, w ); return; } /******************************************************************************/ void rule04 ( int n, double a[], double b[], double c[], double d[], double w[] ) /******************************************************************************/ /* Purpose: rule04() returns the rule of precision 4. Licensing: This code is distributed under the MIT license. Modified: 02 April 2023 Author: John Burkardt Reference: Jan Jaskowiec, Natarajan Sukumar, High order symmetric cubature rules for tetrahedra and pyramids, International Journal of Numerical Methods in Engineering, Volume 122, Number 1, pages 148-171, 24 August 2020. Input: int n: the number of quadrature points for this rule. Output: double a[n], b[n], c[n], d[n]: the barycentric coordinates of quadrature points. double w[n]: the quadrature weights. */ { static double a_save[] = { 0.30958216531795190729, 0.07125350404614427813, 0.30958216531795190729, 0.30958216531795190729, 0.08344277230397757761, 0.74967168308806730881, 0.08344277230397757761, 0.08344277230397757761, 0.07722095407005866163, 0.42277904592994131061, 0.07722095407005866163, 0.42277904592994131061, 0.07722095407005866163, 0.42277904592994131061 }; static double b_save[] = { 0.30958216531795190729, 0.30958216531795190729, 0.07125350404614427813, 0.30958216531795190729, 0.08344277230397757761, 0.08344277230397757761, 0.74967168308806730881, 0.08344277230397757761, 0.42277904592994131061, 0.07722095407005866163, 0.07722095407005866163, 0.42277904592994131061, 0.42277904592994131061, 0.07722095407005866163 }; static double c_save[] = { 0.30958216531795190729, 0.30958216531795190729, 0.30958216531795190729, 0.07125350404614427813, 0.08344277230397757761, 0.08344277230397757761, 0.08344277230397757761, 0.74967168308806730881, 0.42277904592994131061, 0.42277904592994131061, 0.42277904592994131061, 0.07722095407005866163, 0.07722095407005866163, 0.07722095407005866163 }; static double d_save[] = { 0.07125350404614427813, 0.30958216531795190729, 0.30958216531795190729, 0.30958216531795190729, 0.74967168308806730881, 0.08344277230397757761, 0.08344277230397757761, 0.08344277230397757761, 0.07722095407005866163, 0.07722095407005866163, 0.42277904592994131061, 0.07722095407005866163, 0.42277904592994131061, 0.42277904592994131061 }; double w_save[] = { 0.06540916363445217763, 0.06540916363445217763, 0.06540916363445217763, 0.06540916363445217763, 0.05935526423100475485, 0.05935526423100475485, 0.05935526423100475485, 0.05935526423100475485, 0.08349038142302871168, 0.08349038142302871168, 0.08349038142302871168, 0.08349038142302871168, 0.08349038142302871168, 0.08349038142302871168 }; r8vec_copy ( n, a_save, a ); r8vec_copy ( n, b_save, b ); r8vec_copy ( n, c_save, c ); r8vec_copy ( n, d_save, d ); r8vec_copy ( n, w_save, w ); return; } /******************************************************************************/ void rule05 ( int n, double a[], double b[], double c[], double d[], double w[] ) /******************************************************************************/ /* Purpose: rule05() returns the rule of precision 5. Licensing: This code is distributed under the MIT license. Modified: 02 April 2023 Author: John Burkardt Reference: Jan Jaskowiec, Natarajan Sukumar, High order symmetric cubature rules for tetrahedra and pyramids, International Journal of Numerical Methods in Engineering, Volume 122, Number 1, pages 148-171, 24 August 2020. Input: int n: the number of quadrature points for this rule. Output: double a[n], b[n], c[n], d[n]: the barycentric coordinates of quadrature points. double w[n]: the quadrature weights. */ { static double a_save[] = { 0.31088591926330061410, 0.06734224221009817157, 0.31088591926330061410, 0.31088591926330061410, 0.09273525031089122073, 0.72179424906732636558, 0.09273525031089122073, 0.09273525031089122073, 0.04550370412564964939, 0.45449629587435036449, 0.04550370412564964939, 0.45449629587435036449, 0.04550370412564964939, 0.45449629587435036449 }; static double b_save[] = { 0.31088591926330061410, 0.31088591926330061410, 0.06734224221009817157, 0.31088591926330061410, 0.09273525031089122073, 0.09273525031089122073, 0.72179424906732636558, 0.09273525031089122073, 0.45449629587435036449, 0.04550370412564964939, 0.04550370412564964939, 0.45449629587435036449, 0.45449629587435036449, 0.04550370412564964939 }; static double c_save[] = { 0.31088591926330061410, 0.31088591926330061410, 0.31088591926330061410, 0.06734224221009817157, 0.09273525031089122073, 0.09273525031089122073, 0.09273525031089122073, 0.72179424906732636558, 0.45449629587435036449, 0.45449629587435036449, 0.45449629587435036449, 0.04550370412564964939, 0.04550370412564964939, 0.04550370412564964939 }; static double d_save[] = { 0.06734224221009817157, 0.31088591926330061410, 0.31088591926330061410, 0.31088591926330061410, 0.72179424906732636558, 0.09273525031089122073, 0.09273525031089122073, 0.09273525031089122073, 0.04550370412564964939, 0.04550370412564964939, 0.45449629587435036449, 0.04550370412564964939, 0.45449629587435036449, 0.45449629587435036449 }; double w_save[] = { 0.11268792571801584945, 0.11268792571801584945, 0.11268792571801584945, 0.11268792571801584945, 0.07349304311636195575, 0.07349304311636195575, 0.07349304311636195575, 0.07349304311636195575, 0.04254602077708146551, 0.04254602077708146551, 0.04254602077708146551, 0.04254602077708146551, 0.04254602077708146551, 0.04254602077708146551 }; r8vec_copy ( n, a_save, a ); r8vec_copy ( n, b_save, b ); r8vec_copy ( n, c_save, c ); r8vec_copy ( n, d_save, d ); r8vec_copy ( n, w_save, w ); return; } /******************************************************************************/ void rule06 ( int n, double a[], double b[], double c[], double d[], double w[] ) /******************************************************************************/ /* Purpose: rule06() returns the rule of precision 6. Licensing: This code is distributed under the MIT license. Modified: 02 April 2023 Author: John Burkardt Reference: Jan Jaskowiec, Natarajan Sukumar, High order symmetric cubature rules for tetrahedra and pyramids, International Journal of Numerical Methods in Engineering, Volume 122, Number 1, pages 148-171, 24 August 2020. Input: int n: the number of quadrature points for this rule. Output: double a[n], b[n], c[n], d[n]: the barycentric coordinates of quadrature points. double w[n]: the quadrature weights. */ { static double a_save[] = { 0.04067395853461135136, 0.87797812439616595981, 0.04067395853461135136, 0.04067395853461135136, 0.32233789014227548497, 0.03298632957317346875, 0.32233789014227548497, 0.32233789014227548497, 0.21460287125915203377, 0.35619138622254392645, 0.21460287125915203377, 0.21460287125915203377, 0.60300566479164918743, 0.06366100187501752550, 0.06366100187501752550, 0.26967233145831581709, 0.26967233145831581709, 0.26967233145831581709, 0.06366100187501752550, 0.60300566479164918743, 0.06366100187501752550, 0.06366100187501752550, 0.60300566479164918743, 0.06366100187501752550 }; static double b_save[] = { 0.04067395853461135136, 0.04067395853461135136, 0.87797812439616595981, 0.04067395853461135136, 0.32233789014227548497, 0.32233789014227548497, 0.03298632957317346875, 0.32233789014227548497, 0.21460287125915203377, 0.21460287125915203377, 0.35619138622254392645, 0.21460287125915203377, 0.06366100187501752550, 0.60300566479164918743, 0.06366100187501752550, 0.06366100187501752550, 0.60300566479164918743, 0.06366100187501752550, 0.26967233145831581709, 0.26967233145831581709, 0.26967233145831581709, 0.06366100187501752550, 0.06366100187501752550, 0.60300566479164918743 }; static double c_save[] = { 0.04067395853461135136, 0.04067395853461135136, 0.04067395853461135136, 0.87797812439616595981, 0.32233789014227548497, 0.32233789014227548497, 0.32233789014227548497, 0.03298632957317346875, 0.21460287125915203377, 0.21460287125915203377, 0.21460287125915203377, 0.35619138622254392645, 0.06366100187501752550, 0.06366100187501752550, 0.60300566479164918743, 0.06366100187501752550, 0.06366100187501752550, 0.60300566479164918743, 0.06366100187501752550, 0.06366100187501752550, 0.60300566479164918743, 0.26967233145831581709, 0.26967233145831581709, 0.26967233145831581709 }; static double d_save[] = { 0.87797812439616595981, 0.04067395853461135136, 0.04067395853461135136, 0.04067395853461135136, 0.03298632957317346875, 0.32233789014227548497, 0.32233789014227548497, 0.32233789014227548497, 0.35619138622254392645, 0.21460287125915203377, 0.21460287125915203377, 0.21460287125915203377, 0.26967233145831581709, 0.26967233145831581709, 0.26967233145831581709, 0.60300566479164918743, 0.06366100187501752550, 0.06366100187501752550, 0.60300566479164918743, 0.06366100187501752550, 0.06366100187501752550, 0.60300566479164918743, 0.06366100187501752550, 0.06366100187501752550 }; double w_save[] = { 0.01007721105532064301, 0.01007721105532064301, 0.01007721105532064301, 0.01007721105532064301, 0.05535718154365472377, 0.05535718154365472377, 0.05535718154365472377, 0.05535718154365472377, 0.03992275025816749423, 0.03992275025816749423, 0.03992275025816749423, 0.03992275025816749423, 0.04821428571428571647, 0.04821428571428571647, 0.04821428571428571647, 0.04821428571428571647, 0.04821428571428571647, 0.04821428571428571647, 0.04821428571428571647, 0.04821428571428571647, 0.04821428571428571647, 0.04821428571428571647, 0.04821428571428571647, 0.04821428571428571647 }; r8vec_copy ( n, a_save, a ); r8vec_copy ( n, b_save, b ); r8vec_copy ( n, c_save, c ); r8vec_copy ( n, d_save, d ); r8vec_copy ( n, w_save, w ); return; } /******************************************************************************/ void rule07 ( int n, double a[], double b[], double c[], double d[], double w[] ) /******************************************************************************/ /* Purpose: rule07() returns the rule of precision 7. Licensing: This code is distributed under the MIT license. Modified: 02 April 2023 Author: John Burkardt Reference: Jan Jaskowiec, Natarajan Sukumar, High order symmetric cubature rules for tetrahedra and pyramids, International Journal of Numerical Methods in Engineering, Volume 122, Number 1, pages 148-171, 24 August 2020. Input: int n: the number of quadrature points for this rule. Output: double a[n], b[n], c[n], d[n]: the barycentric coordinates of quadrature points. double w[n]: the quadrature weights. */ { static double a_save[] = { 0.25000000000000000000, 0.31570114977820279423, 0.05289655066539160344, 0.31570114977820279423, 0.31570114977820279423, 0.05048982259839637082, 0.44951017740160364999, 0.05048982259839637082, 0.44951017740160364999, 0.05048982259839637082, 0.44951017740160364999, 0.81083024109854850980, 0.02126547254148324767, 0.02126547254148324767, 0.14663881381848495322, 0.14663881381848495322, 0.14663881381848495322, 0.02126547254148324767, 0.81083024109854850980, 0.02126547254148324767, 0.02126547254148324767, 0.81083024109854850980, 0.02126547254148324767, 0.57517163758700007303, 0.18883383102600104220, 0.18883383102600104220, 0.04716070036099788421, 0.04716070036099788421, 0.04716070036099788421, 0.18883383102600104220, 0.57517163758700007303, 0.18883383102600104220, 0.18883383102600104220, 0.57517163758700007303, 0.18883383102600104220 }; static double b_save[] = { 0.25000000000000000000, 0.31570114977820279423, 0.31570114977820279423, 0.05289655066539160344, 0.31570114977820279423, 0.44951017740160364999, 0.05048982259839637082, 0.05048982259839637082, 0.44951017740160364999, 0.44951017740160364999, 0.05048982259839637082, 0.02126547254148324767, 0.81083024109854850980, 0.02126547254148324767, 0.02126547254148324767, 0.81083024109854850980, 0.02126547254148324767, 0.14663881381848495322, 0.14663881381848495322, 0.14663881381848495322, 0.02126547254148324767, 0.02126547254148324767, 0.81083024109854850980, 0.18883383102600104220, 0.57517163758700007303, 0.18883383102600104220, 0.18883383102600104220, 0.57517163758700007303, 0.18883383102600104220, 0.04716070036099788421, 0.04716070036099788421, 0.04716070036099788421, 0.18883383102600104220, 0.18883383102600104220, 0.57517163758700007303 }; static double c_save[] = { 0.25000000000000000000, 0.31570114977820279423, 0.31570114977820279423, 0.31570114977820279423, 0.05289655066539160344, 0.44951017740160364999, 0.44951017740160364999, 0.44951017740160364999, 0.05048982259839637082, 0.05048982259839637082, 0.05048982259839637082, 0.02126547254148324767, 0.02126547254148324767, 0.81083024109854850980, 0.02126547254148324767, 0.02126547254148324767, 0.81083024109854850980, 0.02126547254148324767, 0.02126547254148324767, 0.81083024109854850980, 0.14663881381848495322, 0.14663881381848495322, 0.14663881381848495322, 0.18883383102600104220, 0.18883383102600104220, 0.57517163758700007303, 0.18883383102600104220, 0.18883383102600104220, 0.57517163758700007303, 0.18883383102600104220, 0.18883383102600104220, 0.57517163758700007303, 0.04716070036099788421, 0.04716070036099788421, 0.04716070036099788421 }; static double d_save[] = { 0.25000000000000000000, 0.05289655066539160344, 0.31570114977820279423, 0.31570114977820279423, 0.31570114977820279423, 0.05048982259839637082, 0.05048982259839637082, 0.44951017740160364999, 0.05048982259839637082, 0.44951017740160364999, 0.44951017740160364999, 0.14663881381848495322, 0.14663881381848495322, 0.14663881381848495322, 0.81083024109854850980, 0.02126547254148324767, 0.02126547254148324767, 0.81083024109854850980, 0.02126547254148324767, 0.02126547254148324767, 0.81083024109854850980, 0.02126547254148324767, 0.02126547254148324767, 0.04716070036099788421, 0.04716070036099788421, 0.04716070036099788421, 0.57517163758700007303, 0.18883383102600104220, 0.18883383102600104220, 0.57517163758700007303, 0.18883383102600104220, 0.18883383102600104220, 0.57517163758700007303, 0.18883383102600104220, 0.18883383102600104220 }; double w_save[] = { 0.09548528946413084584, 0.04232958120996702794, 0.04232958120996702794, 0.04232958120996702794, 0.04232958120996702794, 0.03189692783285758004, 0.03189692783285758004, 0.03189692783285758004, 0.03189692783285758004, 0.03189692783285758004, 0.03189692783285758004, 0.00811077082990334201, 0.00811077082990334201, 0.00811077082990334201, 0.00811077082990334201, 0.00811077082990334201, 0.00811077082990334201, 0.00811077082990334201, 0.00811077082990334201, 0.00811077082990334201, 0.00811077082990334201, 0.00811077082990334201, 0.00811077082990334201, 0.03720713072833461976, 0.03720713072833461976, 0.03720713072833461976, 0.03720713072833461976, 0.03720713072833461976, 0.03720713072833461976, 0.03720713072833461976, 0.03720713072833461976, 0.03720713072833461976, 0.03720713072833461976, 0.03720713072833461976, 0.03720713072833461976 }; r8vec_copy ( n, a_save, a ); r8vec_copy ( n, b_save, b ); r8vec_copy ( n, c_save, c ); r8vec_copy ( n, d_save, d ); r8vec_copy ( n, w_save, w ); return; } /******************************************************************************/ void rule08 ( int n, double a[], double b[], double c[], double d[], double w[] ) /******************************************************************************/ /* Purpose: rule08() returns the rule of precision 8. Licensing: This code is distributed under the MIT license. Modified: 02 April 2023 Author: John Burkardt Reference: Jan Jaskowiec, Natarajan Sukumar, High order symmetric cubature rules for tetrahedra and pyramids, International Journal of Numerical Methods in Engineering, Volume 122, Number 1, pages 148-171, 24 August 2020. Input: int n: the number of quadrature points for this rule. Output: double a[n], b[n], c[n], d[n]: the barycentric coordinates of quadrature points. double w[n]: the quadrature weights. */ { static double a_save[] = { 0.18681275827072096885, 0.43956172518783709346, 0.18681275827072096885, 0.18681275827072096885, 0.11446240676123049795, 0.65661277971630849226, 0.11446240676123049795, 0.11446240676123049795, 0.31380659227240159659, 0.05858022318279514085, 0.31380659227240159659, 0.31380659227240159659, 0.04457737944884624520, 0.86626786165346125745, 0.04457737944884624520, 0.04457737944884624520, 0.43451650945615760691, 0.06548349054384239309, 0.43451650945615760691, 0.06548349054384239309, 0.43451650945615760691, 0.06548349054384239309, 0.00507332075042159041, 0.20389317466211026586, 0.20389317466211026586, 0.58714032992535780675, 0.58714032992535780675, 0.58714032992535780675, 0.20389317466211026586, 0.00507332075042159041, 0.20389317466211026586, 0.20389317466211026586, 0.00507332075042159041, 0.20389317466211026586, 0.71467692639330493432, 0.02124777966957167377, 0.02124777966957167377, 0.24282751426755175284, 0.24282751426755175284, 0.24282751426755175284, 0.02124777966957167377, 0.71467692639330493432, 0.02124777966957167377, 0.02124777966957167377, 0.71467692639330493432, 0.02124777966957167377 }; static double b_save[] = { 0.18681275827072096885, 0.18681275827072096885, 0.43956172518783709346, 0.18681275827072096885, 0.11446240676123049795, 0.11446240676123049795, 0.65661277971630849226, 0.11446240676123049795, 0.31380659227240159659, 0.31380659227240159659, 0.05858022318279514085, 0.31380659227240159659, 0.04457737944884624520, 0.04457737944884624520, 0.86626786165346125745, 0.04457737944884624520, 0.06548349054384239309, 0.43451650945615760691, 0.43451650945615760691, 0.06548349054384239309, 0.06548349054384239309, 0.43451650945615760691, 0.20389317466211026586, 0.00507332075042159041, 0.20389317466211026586, 0.20389317466211026586, 0.00507332075042159041, 0.20389317466211026586, 0.58714032992535780675, 0.58714032992535780675, 0.58714032992535780675, 0.20389317466211026586, 0.20389317466211026586, 0.00507332075042159041, 0.02124777966957167377, 0.71467692639330493432, 0.02124777966957167377, 0.02124777966957167377, 0.71467692639330493432, 0.02124777966957167377, 0.24282751426755175284, 0.24282751426755175284, 0.24282751426755175284, 0.02124777966957167377, 0.02124777966957167377, 0.71467692639330493432 }; static double c_save[] = { 0.18681275827072096885, 0.18681275827072096885, 0.18681275827072096885, 0.43956172518783709346, 0.11446240676123049795, 0.11446240676123049795, 0.11446240676123049795, 0.65661277971630849226, 0.31380659227240159659, 0.31380659227240159659, 0.31380659227240159659, 0.05858022318279514085, 0.04457737944884624520, 0.04457737944884624520, 0.04457737944884624520, 0.86626786165346125745, 0.06548349054384239309, 0.06548349054384239309, 0.06548349054384239309, 0.43451650945615760691, 0.43451650945615760691, 0.43451650945615760691, 0.20389317466211026586, 0.20389317466211026586, 0.00507332075042159041, 0.20389317466211026586, 0.20389317466211026586, 0.00507332075042159041, 0.20389317466211026586, 0.20389317466211026586, 0.00507332075042159041, 0.58714032992535780675, 0.58714032992535780675, 0.58714032992535780675, 0.02124777966957167377, 0.02124777966957167377, 0.71467692639330493432, 0.02124777966957167377, 0.02124777966957167377, 0.71467692639330493432, 0.02124777966957167377, 0.02124777966957167377, 0.71467692639330493432, 0.24282751426755175284, 0.24282751426755175284, 0.24282751426755175284 }; static double d_save[] = { 0.43956172518783709346, 0.18681275827072096885, 0.18681275827072096885, 0.18681275827072096885, 0.65661277971630849226, 0.11446240676123049795, 0.11446240676123049795, 0.11446240676123049795, 0.05858022318279514085, 0.31380659227240159659, 0.31380659227240159659, 0.31380659227240159659, 0.86626786165346125745, 0.04457737944884624520, 0.04457737944884624520, 0.04457737944884624520, 0.43451650945615760691, 0.43451650945615760691, 0.06548349054384239309, 0.43451650945615760691, 0.06548349054384239309, 0.06548349054384239309, 0.58714032992535780675, 0.58714032992535780675, 0.58714032992535780675, 0.00507332075042159041, 0.20389317466211026586, 0.20389317466211026586, 0.00507332075042159041, 0.20389317466211026586, 0.20389317466211026586, 0.00507332075042159041, 0.20389317466211026586, 0.20389317466211026586, 0.24282751426755175284, 0.24282751426755175284, 0.24282751426755175284, 0.71467692639330493432, 0.02124777966957167377, 0.02124777966957167377, 0.71467692639330493432, 0.02124777966957167377, 0.02124777966957167377, 0.71467692639330493432, 0.02124777966957167377, 0.02124777966957167377 }; double w_save[] = { 0.04781298803430665545, 0.04781298803430665545, 0.04781298803430665545, 0.04781298803430665545, 0.02972785408679422259, 0.02972785408679422259, 0.02972785408679422259, 0.02972785408679422259, 0.04352732421897526766, 0.04352732421897526766, 0.04352732421897526766, 0.04352732421897526766, 0.00863273602081497497, 0.00863273602081497497, 0.00863273602081497497, 0.00863273602081497497, 0.03689054126986636428, 0.03689054126986636428, 0.03689054126986636428, 0.03689054126986636428, 0.03689054126986636428, 0.03689054126986636428, 0.01449702671085950460, 0.01449702671085950460, 0.01449702671085950460, 0.01449702671085950460, 0.01449702671085950460, 0.01449702671085950460, 0.01449702671085950460, 0.01449702671085950460, 0.01449702671085950460, 0.01449702671085950460, 0.01449702671085950460, 0.01449702671085950460, 0.00715740186724360752, 0.00715740186724360752, 0.00715740186724360752, 0.00715740186724360752, 0.00715740186724360752, 0.00715740186724360752, 0.00715740186724360752, 0.00715740186724360752, 0.00715740186724360752, 0.00715740186724360752, 0.00715740186724360752, 0.00715740186724360752 }; r8vec_copy ( n, a_save, a ); r8vec_copy ( n, b_save, b ); r8vec_copy ( n, c_save, c ); r8vec_copy ( n, d_save, d ); r8vec_copy ( n, w_save, w ); return; } /******************************************************************************/ void rule09 ( int n, double a[], double b[], double c[], double d[], double w[] ) /******************************************************************************/ /* Purpose: rule09() returns the rule of precision 9. Licensing: This code is distributed under the MIT license. Modified: 02 April 2023 Author: John Burkardt Reference: Jan Jaskowiec, Natarajan Sukumar, High order symmetric cubature rules for tetrahedra and pyramids, International Journal of Numerical Methods in Engineering, Volume 122, Number 1, pages 148-171, 24 August 2020. Input: int n: the number of quadrature points for this rule. Output: double a[n], b[n], c[n], d[n]: the barycentric coordinates of quadrature points. double w[n]: the quadrature weights. */ { static double a_save[] = { 0.25000000000000000000, 0.16790660523674277860, 0.49628018428977160870, 0.16790660523674277860, 0.16790660523674277860, 0.09143627051407625383, 0.72569118845777125237, 0.09143627051407625383, 0.09143627051407625383, 0.32185566481765326419, 0.03443300554704020050, 0.32185566481765326419, 0.32185566481765326419, 0.04183769590036560265, 0.87448691229890318510, 0.04183769590036560265, 0.04183769590036560265, 0.39327056142515365300, 0.10672943857484636088, 0.39327056142515365300, 0.10672943857484636088, 0.39327056142515365300, 0.10672943857484636088, 0.71839309398142436880, 0.03395716818308888718, 0.03395716818308888718, 0.21369256965239782908, 0.21369256965239782908, 0.21369256965239782908, 0.03395716818308888718, 0.71839309398142436880, 0.03395716818308888718, 0.03395716818308888718, 0.71839309398142436880, 0.03395716818308888718, 0.07868363447668792754, 0.46065818105477762678, 0.46065818105477762678, 0.00000000341375680369, 0.00000000341375680369, 0.00000000341375680369, 0.46065818105477762678, 0.07868363447668792754, 0.46065818105477762678, 0.46065818105477762678, 0.07868363447668792754, 0.46065818105477762678, 0.59721072276184994365, 0.18438794350001519451, 0.18438794350001519451, 0.03401339023811966039, 0.03401339023811966039, 0.03401339023811966039, 0.18438794350001519451, 0.59721072276184994365, 0.18438794350001519451, 0.18438794350001519451, 0.59721072276184994365, 0.18438794350001519451 }; static double b_save[] = { 0.25000000000000000000, 0.16790660523674277860, 0.16790660523674277860, 0.49628018428977160870, 0.16790660523674277860, 0.09143627051407625383, 0.09143627051407625383, 0.72569118845777125237, 0.09143627051407625383, 0.32185566481765326419, 0.32185566481765326419, 0.03443300554704020050, 0.32185566481765326419, 0.04183769590036560265, 0.04183769590036560265, 0.87448691229890318510, 0.04183769590036560265, 0.10672943857484636088, 0.39327056142515365300, 0.39327056142515365300, 0.10672943857484636088, 0.10672943857484636088, 0.39327056142515365300, 0.03395716818308888718, 0.71839309398142436880, 0.03395716818308888718, 0.03395716818308888718, 0.71839309398142436880, 0.03395716818308888718, 0.21369256965239782908, 0.21369256965239782908, 0.21369256965239782908, 0.03395716818308888718, 0.03395716818308888718, 0.71839309398142436880, 0.46065818105477762678, 0.07868363447668792754, 0.46065818105477762678, 0.46065818105477762678, 0.07868363447668792754, 0.46065818105477762678, 0.00000000341375680369, 0.00000000341375680369, 0.00000000341375680369, 0.46065818105477762678, 0.46065818105477762678, 0.07868363447668792754, 0.18438794350001519451, 0.59721072276184994365, 0.18438794350001519451, 0.18438794350001519451, 0.59721072276184994365, 0.18438794350001519451, 0.03401339023811966039, 0.03401339023811966039, 0.03401339023811966039, 0.18438794350001519451, 0.18438794350001519451, 0.59721072276184994365 }; static double c_save[] = { 0.25000000000000000000, 0.16790660523674277860, 0.16790660523674277860, 0.16790660523674277860, 0.49628018428977160870, 0.09143627051407625383, 0.09143627051407625383, 0.09143627051407625383, 0.72569118845777125237, 0.32185566481765326419, 0.32185566481765326419, 0.32185566481765326419, 0.03443300554704020050, 0.04183769590036560265, 0.04183769590036560265, 0.04183769590036560265, 0.87448691229890318510, 0.10672943857484636088, 0.10672943857484636088, 0.10672943857484636088, 0.39327056142515365300, 0.39327056142515365300, 0.39327056142515365300, 0.03395716818308888718, 0.03395716818308888718, 0.71839309398142436880, 0.03395716818308888718, 0.03395716818308888718, 0.71839309398142436880, 0.03395716818308888718, 0.03395716818308888718, 0.71839309398142436880, 0.21369256965239782908, 0.21369256965239782908, 0.21369256965239782908, 0.46065818105477762678, 0.46065818105477762678, 0.07868363447668792754, 0.46065818105477762678, 0.46065818105477762678, 0.07868363447668792754, 0.46065818105477762678, 0.46065818105477762678, 0.07868363447668792754, 0.00000000341375680369, 0.00000000341375680369, 0.00000000341375680369, 0.18438794350001519451, 0.18438794350001519451, 0.59721072276184994365, 0.18438794350001519451, 0.18438794350001519451, 0.59721072276184994365, 0.18438794350001519451, 0.18438794350001519451, 0.59721072276184994365, 0.03401339023811966039, 0.03401339023811966039, 0.03401339023811966039 }; static double d_save[] = { 0.25000000000000000000, 0.49628018428977160870, 0.16790660523674277860, 0.16790660523674277860, 0.16790660523674277860, 0.72569118845777125237, 0.09143627051407625383, 0.09143627051407625383, 0.09143627051407625383, 0.03443300554704020050, 0.32185566481765326419, 0.32185566481765326419, 0.32185566481765326419, 0.87448691229890318510, 0.04183769590036560265, 0.04183769590036560265, 0.04183769590036560265, 0.39327056142515365300, 0.39327056142515365300, 0.10672943857484636088, 0.39327056142515365300, 0.10672943857484636088, 0.10672943857484636088, 0.21369256965239782908, 0.21369256965239782908, 0.21369256965239782908, 0.71839309398142436880, 0.03395716818308888718, 0.03395716818308888718, 0.71839309398142436880, 0.03395716818308888718, 0.03395716818308888718, 0.71839309398142436880, 0.03395716818308888718, 0.03395716818308888718, 0.00000000341375680369, 0.00000000341375680369, 0.00000000341375680369, 0.07868363447668792754, 0.46065818105477762678, 0.46065818105477762678, 0.07868363447668792754, 0.46065818105477762678, 0.46065818105477762678, 0.07868363447668792754, 0.46065818105477762678, 0.46065818105477762678, 0.03401339023811966039, 0.03401339023811966039, 0.03401339023811966039, 0.59721072276184994365, 0.18438794350001519451, 0.18438794350001519451, 0.59721072276184994365, 0.18438794350001519451, 0.18438794350001519451, 0.59721072276184994365, 0.18438794350001519451, 0.18438794350001519451 }; double w_save[] = { 0.05686662425355172579, 0.02569427668952317667, 0.02569427668952317667, 0.02569427668952317667, 0.02569427668952317667, 0.00229892335302837002, 0.00229892335302837002, 0.00229892335302837002, 0.00229892335302837002, 0.03045603866759100803, 0.03045603866759100803, 0.03045603866759100803, 0.03045603866759100803, 0.00712372234023888121, 0.00712372234023888121, 0.00712372234023888121, 0.00712372234023888121, 0.03684365548094388487, 0.03684365548094388487, 0.03684365548094388487, 0.03684365548094388487, 0.03684365548094388487, 0.03684365548094388487, 0.01032205678220984683, 0.01032205678220984683, 0.01032205678220984683, 0.01032205678220984683, 0.01032205678220984683, 0.01032205678220984683, 0.01032205678220984683, 0.01032205678220984683, 0.01032205678220984683, 0.01032205678220984683, 0.01032205678220984683, 0.01032205678220984683, 0.00763488715398085490, 0.00763488715398085490, 0.00763488715398085490, 0.00763488715398085490, 0.00763488715398085490, 0.00763488715398085490, 0.00763488715398085490, 0.00763488715398085490, 0.00763488715398085490, 0.00763488715398085490, 0.00763488715398085490, 0.00763488715398085490, 0.02035802261874757046, 0.02035802261874757046, 0.02035802261874757046, 0.02035802261874757046, 0.02035802261874757046, 0.02035802261874757046, 0.02035802261874757046, 0.02035802261874757046, 0.02035802261874757046, 0.02035802261874757046, 0.02035802261874757046, 0.02035802261874757046 }; r8vec_copy ( n, a_save, a ); r8vec_copy ( n, b_save, b ); r8vec_copy ( n, c_save, c ); r8vec_copy ( n, d_save, d ); r8vec_copy ( n, w_save, w ); return; } /******************************************************************************/ void rule10 ( int n, double a[], double b[], double c[], double d[], double w[] ) /******************************************************************************/ /* Purpose: rule10() returns the rule of precision 10. Licensing: This code is distributed under the MIT license. Modified: 02 April 2023 Author: John Burkardt Reference: Jan Jaskowiec, Natarajan Sukumar, High order symmetric cubature rules for tetrahedra and pyramids, International Journal of Numerical Methods in Engineering, Volume 122, Number 1, pages 148-171, 24 August 2020. Input: int n: the number of quadrature points for this rule. Output: double a[n], b[n], c[n], d[n]: the barycentric coordinates of quadrature points. double w[n]: the quadrature weights. */ { static double a_save[] = { 0.25000000000000000000, 0.07255175741743780105, 0.78234472774768659686, 0.07255175741743780105, 0.07255175741743780105, 0.30789594786692286998, 0.07631215639923132066, 0.30789594786692286998, 0.30789594786692286998, 0.47628086039277905961, 0.02371913960722092998, 0.47628086039277905961, 0.02371913960722092998, 0.47628086039277905961, 0.02371913960722092998, 0.09657977306910725535, 0.40342022693089274465, 0.09657977306910725535, 0.40342022693089274465, 0.09657977306910725535, 0.40342022693089274465, 0.07385418101848620354, 0.20173860684767988549, 0.20173860684767988549, 0.52266860528615399772, 0.52266860528615399772, 0.52266860528615399772, 0.20173860684767988549, 0.07385418101848620354, 0.20173860684767988549, 0.20173860684767988549, 0.07385418101848620354, 0.20173860684767988549, 0.68750485588303955620, 0.15483970074386180227, 0.15483970074386180227, 0.00281574262923683970, 0.00281574262923683970, 0.00281574262923683970, 0.15483970074386180227, 0.68750485588303955620, 0.15483970074386180227, 0.15483970074386180227, 0.68750485588303955620, 0.15483970074386180227, 0.17414371649393212138, 0.41259915049936390918, 0.41259915049936390918, 0.00065798250734006806, 0.00065798250734006806, 0.00065798250734006806, 0.41259915049936390918, 0.17414371649393212138, 0.41259915049936390918, 0.41259915049936390918, 0.17414371649393212138, 0.41259915049936390918, 0.26575750656271990291, 0.03889072755780650925, 0.03889072755780650925, 0.65646103832166713410, 0.65646103832166713410, 0.65646103832166713410, 0.03889072755780650925, 0.26575750656271990291, 0.03889072755780650925, 0.03889072755780650925, 0.26575750656271990291, 0.03889072755780650925, 0.09324134903525840845, 0.00560484795102133768, 0.00560484795102133768, 0.89554895506269893701, 0.89554895506269893701, 0.89554895506269893701, 0.00560484795102133768, 0.09324134903525840845, 0.00560484795102133768, 0.00560484795102133768, 0.09324134903525840845, 0.00560484795102133768 }; static double b_save[] = { 0.25000000000000000000, 0.07255175741743780105, 0.07255175741743780105, 0.78234472774768659686, 0.07255175741743780105, 0.30789594786692286998, 0.30789594786692286998, 0.07631215639923132066, 0.30789594786692286998, 0.02371913960722092998, 0.47628086039277905961, 0.47628086039277905961, 0.02371913960722092998, 0.02371913960722092998, 0.47628086039277905961, 0.40342022693089274465, 0.09657977306910725535, 0.09657977306910725535, 0.40342022693089274465, 0.40342022693089274465, 0.09657977306910725535, 0.20173860684767988549, 0.07385418101848620354, 0.20173860684767988549, 0.20173860684767988549, 0.07385418101848620354, 0.20173860684767988549, 0.52266860528615399772, 0.52266860528615399772, 0.52266860528615399772, 0.20173860684767988549, 0.20173860684767988549, 0.07385418101848620354, 0.15483970074386180227, 0.68750485588303955620, 0.15483970074386180227, 0.15483970074386180227, 0.68750485588303955620, 0.15483970074386180227, 0.00281574262923683970, 0.00281574262923683970, 0.00281574262923683970, 0.15483970074386180227, 0.15483970074386180227, 0.68750485588303955620, 0.41259915049936390918, 0.17414371649393212138, 0.41259915049936390918, 0.41259915049936390918, 0.17414371649393212138, 0.41259915049936390918, 0.00065798250734006806, 0.00065798250734006806, 0.00065798250734006806, 0.41259915049936390918, 0.41259915049936390918, 0.17414371649393212138, 0.03889072755780650925, 0.26575750656271990291, 0.03889072755780650925, 0.03889072755780650925, 0.26575750656271990291, 0.03889072755780650925, 0.65646103832166713410, 0.65646103832166713410, 0.65646103832166713410, 0.03889072755780650925, 0.03889072755780650925, 0.26575750656271990291, 0.00560484795102133768, 0.09324134903525840845, 0.00560484795102133768, 0.00560484795102133768, 0.09324134903525840845, 0.00560484795102133768, 0.89554895506269893701, 0.89554895506269893701, 0.89554895506269893701, 0.00560484795102133768, 0.00560484795102133768, 0.09324134903525840845 }; static double c_save[] = { 0.25000000000000000000, 0.07255175741743780105, 0.07255175741743780105, 0.07255175741743780105, 0.78234472774768659686, 0.30789594786692286998, 0.30789594786692286998, 0.30789594786692286998, 0.07631215639923132066, 0.02371913960722092998, 0.02371913960722092998, 0.02371913960722092998, 0.47628086039277905961, 0.47628086039277905961, 0.47628086039277905961, 0.40342022693089274465, 0.40342022693089274465, 0.40342022693089274465, 0.09657977306910725535, 0.09657977306910725535, 0.09657977306910725535, 0.20173860684767988549, 0.20173860684767988549, 0.07385418101848620354, 0.20173860684767988549, 0.20173860684767988549, 0.07385418101848620354, 0.20173860684767988549, 0.20173860684767988549, 0.07385418101848620354, 0.52266860528615399772, 0.52266860528615399772, 0.52266860528615399772, 0.15483970074386180227, 0.15483970074386180227, 0.68750485588303955620, 0.15483970074386180227, 0.15483970074386180227, 0.68750485588303955620, 0.15483970074386180227, 0.15483970074386180227, 0.68750485588303955620, 0.00281574262923683970, 0.00281574262923683970, 0.00281574262923683970, 0.41259915049936390918, 0.41259915049936390918, 0.17414371649393212138, 0.41259915049936390918, 0.41259915049936390918, 0.17414371649393212138, 0.41259915049936390918, 0.41259915049936390918, 0.17414371649393212138, 0.00065798250734006806, 0.00065798250734006806, 0.00065798250734006806, 0.03889072755780650925, 0.03889072755780650925, 0.26575750656271990291, 0.03889072755780650925, 0.03889072755780650925, 0.26575750656271990291, 0.03889072755780650925, 0.03889072755780650925, 0.26575750656271990291, 0.65646103832166713410, 0.65646103832166713410, 0.65646103832166713410, 0.00560484795102133768, 0.00560484795102133768, 0.09324134903525840845, 0.00560484795102133768, 0.00560484795102133768, 0.09324134903525840845, 0.00560484795102133768, 0.00560484795102133768, 0.09324134903525840845, 0.89554895506269893701, 0.89554895506269893701, 0.89554895506269893701 }; static double d_save[] = { 0.25000000000000000000, 0.78234472774768659686, 0.07255175741743780105, 0.07255175741743780105, 0.07255175741743780105, 0.07631215639923132066, 0.30789594786692286998, 0.30789594786692286998, 0.30789594786692286998, 0.47628086039277905961, 0.47628086039277905961, 0.02371913960722092998, 0.47628086039277905961, 0.02371913960722092998, 0.02371913960722092998, 0.09657977306910725535, 0.09657977306910725535, 0.40342022693089274465, 0.09657977306910725535, 0.40342022693089274465, 0.40342022693089274465, 0.52266860528615399772, 0.52266860528615399772, 0.52266860528615399772, 0.07385418101848620354, 0.20173860684767988549, 0.20173860684767988549, 0.07385418101848620354, 0.20173860684767988549, 0.20173860684767988549, 0.07385418101848620354, 0.20173860684767988549, 0.20173860684767988549, 0.00281574262923683970, 0.00281574262923683970, 0.00281574262923683970, 0.68750485588303955620, 0.15483970074386180227, 0.15483970074386180227, 0.68750485588303955620, 0.15483970074386180227, 0.15483970074386180227, 0.68750485588303955620, 0.15483970074386180227, 0.15483970074386180227, 0.00065798250734006806, 0.00065798250734006806, 0.00065798250734006806, 0.17414371649393212138, 0.41259915049936390918, 0.41259915049936390918, 0.17414371649393212138, 0.41259915049936390918, 0.41259915049936390918, 0.17414371649393212138, 0.41259915049936390918, 0.41259915049936390918, 0.65646103832166713410, 0.65646103832166713410, 0.65646103832166713410, 0.26575750656271990291, 0.03889072755780650925, 0.03889072755780650925, 0.26575750656271990291, 0.03889072755780650925, 0.03889072755780650925, 0.26575750656271990291, 0.03889072755780650925, 0.03889072755780650925, 0.89554895506269893701, 0.89554895506269893701, 0.89554895506269893701, 0.09324134903525840845, 0.00560484795102133768, 0.00560484795102133768, 0.09324134903525840845, 0.00560484795102133768, 0.00560484795102133768, 0.09324134903525840845, 0.00560484795102133768, 0.00560484795102133768 }; double w_save[] = { 0.05165089225609746648, 0.01346797267166026206, 0.01346797267166026206, 0.01346797267166026206, 0.01346797267166026206, 0.02646691924968953488, 0.02646691924968953488, 0.02646691924968953488, 0.02646691924968953488, 0.00510704782814352509, 0.00510704782814352509, 0.00510704782814352509, 0.00510704782814352509, 0.00510704782814352509, 0.00510704782814352509, 0.02364999615824559670, 0.02364999615824559670, 0.02364999615824559670, 0.02364999615824559670, 0.02364999615824559670, 0.02364999615824559670, 0.02531736665096821770, 0.02531736665096821770, 0.02531736665096821770, 0.02531736665096821770, 0.02531736665096821770, 0.02531736665096821770, 0.02531736665096821770, 0.02531736665096821770, 0.02531736665096821770, 0.02531736665096821770, 0.02531736665096821770, 0.02531736665096821770, 0.00541626340744792625, 0.00541626340744792625, 0.00541626340744792625, 0.00541626340744792625, 0.00541626340744792625, 0.00541626340744792625, 0.00541626340744792625, 0.00541626340744792625, 0.00541626340744792625, 0.00541626340744792625, 0.00541626340744792625, 0.00541626340744792625, 0.00815365901205422627, 0.00815365901205422627, 0.00815365901205422627, 0.00815365901205422627, 0.00815365901205422627, 0.00815365901205422627, 0.00815365901205422627, 0.00815365901205422627, 0.00815365901205422627, 0.00815365901205422627, 0.00815365901205422627, 0.00815365901205422627, 0.01112597175961277732, 0.01112597175961277732, 0.01112597175961277732, 0.01112597175961277732, 0.01112597175961277732, 0.01112597175961277732, 0.01112597175961277732, 0.01112597175961277732, 0.01112597175961277732, 0.01112597175961277732, 0.01112597175961277732, 0.01112597175961277732, 0.00132567884826423560, 0.00132567884826423560, 0.00132567884826423560, 0.00132567884826423560, 0.00132567884826423560, 0.00132567884826423560, 0.00132567884826423560, 0.00132567884826423560, 0.00132567884826423560, 0.00132567884826423560, 0.00132567884826423560, 0.00132567884826423560 }; r8vec_copy ( n, a_save, a ); r8vec_copy ( n, b_save, b ); r8vec_copy ( n, c_save, c ); r8vec_copy ( n, d_save, d ); r8vec_copy ( n, w_save, w ); return; } /******************************************************************************/ void rule11 ( int n, double a[], double b[], double c[], double d[], double w[] ) /******************************************************************************/ /* Purpose: rule11() returns the rule of precision 11. Licensing: This code is distributed under the MIT license. Modified: 02 April 2023 Author: John Burkardt Reference: Jan Jaskowiec, Natarajan Sukumar, High order symmetric cubature rules for tetrahedra and pyramids, International Journal of Numerical Methods in Engineering, Volume 122, Number 1, pages 148-171, 24 August 2020. Input: int n: the number of quadrature points for this rule. Output: double a[n], b[n], c[n], d[n]: the barycentric coordinates of quadrature points. double w[n]: the quadrature weights. */ { static double a_save[] = { 0.29931309239934250632, 0.10206072280197252267, 0.29931309239934250632, 0.29931309239934250632, 0.03263284396518179725, 0.90210146810445457355, 0.03263284396518179725, 0.03263284396518179725, 0.32579558451531082097, 0.17420441548468917903, 0.32579558451531082097, 0.17420441548468917903, 0.32579558451531082097, 0.17420441548468917903, 0.09878462414162506033, 0.40121537585837491191, 0.09878462414162506033, 0.40121537585837491191, 0.09878462414162506033, 0.40121537585837491191, 0.00570190512270035092, 0.49429809487729964301, 0.00570190512270035092, 0.49429809487729964301, 0.00570190512270035092, 0.49429809487729964301, 0.72733034634638349392, 0.12312065497472235442, 0.12312065497472235442, 0.02642834370417183887, 0.02642834370417183887, 0.02642834370417183887, 0.12312065497472235442, 0.72733034634638349392, 0.12312065497472235442, 0.12312065497472235442, 0.72733034634638349392, 0.12312065497472235442, 0.17022807348926419224, 0.01300387048559023713, 0.01300387048559023713, 0.80376418553955530921, 0.80376418553955530921, 0.80376418553955530921, 0.01300387048559023713, 0.17022807348926419224, 0.01300387048559023713, 0.01300387048559023713, 0.17022807348926419224, 0.01300387048559023713, 0.61825980978911576624, 0.04293540117192574251, 0.04293540117192574251, 0.29586938786703270710, 0.29586938786703270710, 0.29586938786703270710, 0.04293540117192574251, 0.61825980978911576624, 0.04293540117192574251, 0.04293540117192574251, 0.61825980978911576624, 0.04293540117192574251, 0.53990011685570160616, 0.18442403204707777387, 0.18442403204707777387, 0.09125181905014285999, 0.09125181905014285999, 0.09125181905014285999, 0.18442403204707777387, 0.53990011685570160616, 0.18442403204707777387, 0.18442403204707777387, 0.53990011685570160616, 0.18442403204707777387, 0.45543531962195954454, 0.25916940746428263065, 0.25916940746428263065, 0.02622586544947517681, 0.02622586544947517681, 0.02622586544947517681, 0.25916940746428263065, 0.45543531962195954454, 0.25916940746428263065, 0.25916940746428263065, 0.45543531962195954454, 0.25916940746428263065, 0.01097757236596030687, 0.01097757236596030687, 0.53514200093145947168, 0.11242856050676119928, 0.53514200093145947168, 0.11242856050676119928, 0.34145186619581896492, 0.34145186619581896492, 0.34145186619581896492, 0.34145186619581896492, 0.34145186619581896492, 0.34145186619581896492, 0.53514200093145947168, 0.11242856050676119928, 0.01097757236596030687, 0.01097757236596030687, 0.11242856050676119928, 0.53514200093145947168, 0.53514200093145947168, 0.11242856050676119928, 0.01097757236596030687, 0.01097757236596030687, 0.11242856050676119928, 0.53514200093145947168 }; static double b_save[] = { 0.29931309239934250632, 0.29931309239934250632, 0.10206072280197252267, 0.29931309239934250632, 0.03263284396518179725, 0.03263284396518179725, 0.90210146810445457355, 0.03263284396518179725, 0.17420441548468917903, 0.32579558451531082097, 0.32579558451531082097, 0.17420441548468917903, 0.17420441548468917903, 0.32579558451531082097, 0.40121537585837491191, 0.09878462414162506033, 0.09878462414162506033, 0.40121537585837491191, 0.40121537585837491191, 0.09878462414162506033, 0.49429809487729964301, 0.00570190512270035092, 0.00570190512270035092, 0.49429809487729964301, 0.49429809487729964301, 0.00570190512270035092, 0.12312065497472235442, 0.72733034634638349392, 0.12312065497472235442, 0.12312065497472235442, 0.72733034634638349392, 0.12312065497472235442, 0.02642834370417183887, 0.02642834370417183887, 0.02642834370417183887, 0.12312065497472235442, 0.12312065497472235442, 0.72733034634638349392, 0.01300387048559023713, 0.17022807348926419224, 0.01300387048559023713, 0.01300387048559023713, 0.17022807348926419224, 0.01300387048559023713, 0.80376418553955530921, 0.80376418553955530921, 0.80376418553955530921, 0.01300387048559023713, 0.01300387048559023713, 0.17022807348926419224, 0.04293540117192574251, 0.61825980978911576624, 0.04293540117192574251, 0.04293540117192574251, 0.61825980978911576624, 0.04293540117192574251, 0.29586938786703270710, 0.29586938786703270710, 0.29586938786703270710, 0.04293540117192574251, 0.04293540117192574251, 0.61825980978911576624, 0.18442403204707777387, 0.53990011685570160616, 0.18442403204707777387, 0.18442403204707777387, 0.53990011685570160616, 0.18442403204707777387, 0.09125181905014285999, 0.09125181905014285999, 0.09125181905014285999, 0.18442403204707777387, 0.18442403204707777387, 0.53990011685570160616, 0.25916940746428263065, 0.45543531962195954454, 0.25916940746428263065, 0.25916940746428263065, 0.45543531962195954454, 0.25916940746428263065, 0.02622586544947517681, 0.02622586544947517681, 0.02622586544947517681, 0.25916940746428263065, 0.25916940746428263065, 0.45543531962195954454, 0.53514200093145947168, 0.11242856050676119928, 0.01097757236596030687, 0.01097757236596030687, 0.11242856050676119928, 0.53514200093145947168, 0.53514200093145947168, 0.11242856050676119928, 0.01097757236596030687, 0.01097757236596030687, 0.11242856050676119928, 0.53514200093145947168, 0.34145186619581896492, 0.34145186619581896492, 0.34145186619581896492, 0.34145186619581896492, 0.34145186619581896492, 0.34145186619581896492, 0.11242856050676119928, 0.53514200093145947168, 0.11242856050676119928, 0.53514200093145947168, 0.01097757236596030687, 0.01097757236596030687 }; static double c_save[] = { 0.29931309239934250632, 0.29931309239934250632, 0.29931309239934250632, 0.10206072280197252267, 0.03263284396518179725, 0.03263284396518179725, 0.03263284396518179725, 0.90210146810445457355, 0.17420441548468917903, 0.17420441548468917903, 0.17420441548468917903, 0.32579558451531082097, 0.32579558451531082097, 0.32579558451531082097, 0.40121537585837491191, 0.40121537585837491191, 0.40121537585837491191, 0.09878462414162506033, 0.09878462414162506033, 0.09878462414162506033, 0.49429809487729964301, 0.49429809487729964301, 0.49429809487729964301, 0.00570190512270035092, 0.00570190512270035092, 0.00570190512270035092, 0.12312065497472235442, 0.12312065497472235442, 0.72733034634638349392, 0.12312065497472235442, 0.12312065497472235442, 0.72733034634638349392, 0.12312065497472235442, 0.12312065497472235442, 0.72733034634638349392, 0.02642834370417183887, 0.02642834370417183887, 0.02642834370417183887, 0.01300387048559023713, 0.01300387048559023713, 0.17022807348926419224, 0.01300387048559023713, 0.01300387048559023713, 0.17022807348926419224, 0.01300387048559023713, 0.01300387048559023713, 0.17022807348926419224, 0.80376418553955530921, 0.80376418553955530921, 0.80376418553955530921, 0.04293540117192574251, 0.04293540117192574251, 0.61825980978911576624, 0.04293540117192574251, 0.04293540117192574251, 0.61825980978911576624, 0.04293540117192574251, 0.04293540117192574251, 0.61825980978911576624, 0.29586938786703270710, 0.29586938786703270710, 0.29586938786703270710, 0.18442403204707777387, 0.18442403204707777387, 0.53990011685570160616, 0.18442403204707777387, 0.18442403204707777387, 0.53990011685570160616, 0.18442403204707777387, 0.18442403204707777387, 0.53990011685570160616, 0.09125181905014285999, 0.09125181905014285999, 0.09125181905014285999, 0.25916940746428263065, 0.25916940746428263065, 0.45543531962195954454, 0.25916940746428263065, 0.25916940746428263065, 0.45543531962195954454, 0.25916940746428263065, 0.25916940746428263065, 0.45543531962195954454, 0.02622586544947517681, 0.02622586544947517681, 0.02622586544947517681, 0.11242856050676119928, 0.53514200093145947168, 0.11242856050676119928, 0.53514200093145947168, 0.01097757236596030687, 0.01097757236596030687, 0.11242856050676119928, 0.53514200093145947168, 0.11242856050676119928, 0.53514200093145947168, 0.01097757236596030687, 0.01097757236596030687, 0.11242856050676119928, 0.53514200093145947168, 0.11242856050676119928, 0.53514200093145947168, 0.01097757236596030687, 0.01097757236596030687, 0.34145186619581896492, 0.34145186619581896492, 0.34145186619581896492, 0.34145186619581896492, 0.34145186619581896492, 0.34145186619581896492 }; static double d_save[] = { 0.10206072280197252267, 0.29931309239934250632, 0.29931309239934250632, 0.29931309239934250632, 0.90210146810445457355, 0.03263284396518179725, 0.03263284396518179725, 0.03263284396518179725, 0.32579558451531082097, 0.32579558451531082097, 0.17420441548468917903, 0.32579558451531082097, 0.17420441548468917903, 0.17420441548468917903, 0.09878462414162506033, 0.09878462414162506033, 0.40121537585837491191, 0.09878462414162506033, 0.40121537585837491191, 0.40121537585837491191, 0.00570190512270035092, 0.00570190512270035092, 0.49429809487729964301, 0.00570190512270035092, 0.49429809487729964301, 0.49429809487729964301, 0.02642834370417183887, 0.02642834370417183887, 0.02642834370417183887, 0.72733034634638349392, 0.12312065497472235442, 0.12312065497472235442, 0.72733034634638349392, 0.12312065497472235442, 0.12312065497472235442, 0.72733034634638349392, 0.12312065497472235442, 0.12312065497472235442, 0.80376418553955530921, 0.80376418553955530921, 0.80376418553955530921, 0.17022807348926419224, 0.01300387048559023713, 0.01300387048559023713, 0.17022807348926419224, 0.01300387048559023713, 0.01300387048559023713, 0.17022807348926419224, 0.01300387048559023713, 0.01300387048559023713, 0.29586938786703270710, 0.29586938786703270710, 0.29586938786703270710, 0.61825980978911576624, 0.04293540117192574251, 0.04293540117192574251, 0.61825980978911576624, 0.04293540117192574251, 0.04293540117192574251, 0.61825980978911576624, 0.04293540117192574251, 0.04293540117192574251, 0.09125181905014285999, 0.09125181905014285999, 0.09125181905014285999, 0.53990011685570160616, 0.18442403204707777387, 0.18442403204707777387, 0.53990011685570160616, 0.18442403204707777387, 0.18442403204707777387, 0.53990011685570160616, 0.18442403204707777387, 0.18442403204707777387, 0.02622586544947517681, 0.02622586544947517681, 0.02622586544947517681, 0.45543531962195954454, 0.25916940746428263065, 0.25916940746428263065, 0.45543531962195954454, 0.25916940746428263065, 0.25916940746428263065, 0.45543531962195954454, 0.25916940746428263065, 0.25916940746428263065, 0.34145186619581896492, 0.34145186619581896492, 0.34145186619581896492, 0.34145186619581896492, 0.34145186619581896492, 0.34145186619581896492, 0.01097757236596030687, 0.01097757236596030687, 0.53514200093145947168, 0.11242856050676119928, 0.53514200093145947168, 0.11242856050676119928, 0.01097757236596030687, 0.01097757236596030687, 0.53514200093145947168, 0.11242856050676119928, 0.53514200093145947168, 0.11242856050676119928, 0.01097757236596030687, 0.01097757236596030687, 0.53514200093145947168, 0.11242856050676119928, 0.53514200093145947168, 0.11242856050676119928 }; double w_save[] = { 0.01468934358613074864, 0.01468934358613074864, 0.01468934358613074864, 0.01468934358613074864, 0.00338086953062168103, 0.00338086953062168103, 0.00338086953062168103, 0.00338086953062168103, 0.01676676867722562761, 0.01676676867722562761, 0.01676676867722562761, 0.01676676867722562761, 0.01676676867722562761, 0.01676676867722562761, 0.01932364034775850906, 0.01932364034775850906, 0.01932364034775850906, 0.01932364034775850906, 0.01932364034775850906, 0.01932364034775850906, 0.00165325361037579671, 0.00165325361037579671, 0.00165325361037579671, 0.00165325361037579671, 0.00165325361037579671, 0.00165325361037579671, 0.00979997124703287439, 0.00979997124703287439, 0.00979997124703287439, 0.00979997124703287439, 0.00979997124703287439, 0.00979997124703287439, 0.00979997124703287439, 0.00979997124703287439, 0.00979997124703287439, 0.00979997124703287439, 0.00979997124703287439, 0.00979997124703287439, 0.00203627849130482569, 0.00203627849130482569, 0.00203627849130482569, 0.00203627849130482569, 0.00203627849130482569, 0.00203627849130482569, 0.00203627849130482569, 0.00203627849130482569, 0.00203627849130482569, 0.00203627849130482569, 0.00203627849130482569, 0.00203627849130482569, 0.00820761375291671758, 0.00820761375291671758, 0.00820761375291671758, 0.00820761375291671758, 0.00820761375291671758, 0.00820761375291671758, 0.00820761375291671758, 0.00820761375291671758, 0.00820761375291671758, 0.00820761375291671758, 0.00820761375291671758, 0.00820761375291671758, 0.01510498736666349325, 0.01510498736666349325, 0.01510498736666349325, 0.01510498736666349325, 0.01510498736666349325, 0.01510498736666349325, 0.01510498736666349325, 0.01510498736666349325, 0.01510498736666349325, 0.01510498736666349325, 0.01510498736666349325, 0.01510498736666349325, 0.01274239266610638702, 0.01274239266610638702, 0.01274239266610638702, 0.01274239266610638702, 0.01274239266610638702, 0.01274239266610638702, 0.01274239266610638702, 0.01274239266610638702, 0.01274239266610638702, 0.01274239266610638702, 0.01274239266610638702, 0.01274239266610638702, 0.00527342705968912931, 0.00527342705968912931, 0.00527342705968912931, 0.00527342705968912931, 0.00527342705968912931, 0.00527342705968912931, 0.00527342705968912931, 0.00527342705968912931, 0.00527342705968912931, 0.00527342705968912931, 0.00527342705968912931, 0.00527342705968912931, 0.00527342705968912931, 0.00527342705968912931, 0.00527342705968912931, 0.00527342705968912931, 0.00527342705968912931, 0.00527342705968912931, 0.00527342705968912931, 0.00527342705968912931, 0.00527342705968912931, 0.00527342705968912931, 0.00527342705968912931, 0.00527342705968912931 }; r8vec_copy ( n, a_save, a ); r8vec_copy ( n, b_save, b ); r8vec_copy ( n, c_save, c ); r8vec_copy ( n, d_save, d ); r8vec_copy ( n, w_save, w ); return; } /******************************************************************************/ void rule12 ( int n, double a[], double b[], double c[], double d[], double w[] ) /******************************************************************************/ /* Purpose: rule12() returns the rule of precision 12. Licensing: This code is distributed under the MIT license. Modified: 02 April 2023 Author: John Burkardt Reference: Jan Jaskowiec, Natarajan Sukumar, High order symmetric cubature rules for tetrahedra and pyramids, International Journal of Numerical Methods in Engineering, Volume 122, Number 1, pages 148-171, 24 August 2020. Input: int n: the number of quadrature points for this rule. Output: double a[n], b[n], c[n], d[n]: the barycentric coordinates of quadrature points. double w[n]: the quadrature weights. */ { static double a_save[] = { 0.21356799445330179599, 0.35929601664009458428, 0.21356799445330179599, 0.21356799445330179599, 0.08080469951147342678, 0.75758590146557969192, 0.08080469951147342678, 0.08080469951147342678, 0.14608946852754853274, 0.56173159441735442954, 0.14608946852754853274, 0.14608946852754853274, 0.06406537703779889570, 0.43593462296220109042, 0.06406537703779889570, 0.43593462296220109042, 0.06406537703779889570, 0.43593462296220109042, 0.12761830492460168873, 0.37238169507539831127, 0.12761830492460168873, 0.37238169507539831127, 0.12761830492460168873, 0.37238169507539831127, 0.69403517727214536492, 0.01481472606744864938, 0.01481472606744864938, 0.27633537059295731897, 0.27633537059295731897, 0.27633537059295731897, 0.01481472606744864938, 0.69403517727214536492, 0.01481472606744864938, 0.01481472606744864938, 0.69403517727214536492, 0.01481472606744864938, 0.00057879438757249416, 0.04406791967562979917, 0.04406791967562979917, 0.91128536626116796171, 0.91128536626116796171, 0.91128536626116796171, 0.04406791967562979917, 0.00057879438757249416, 0.04406791967562979917, 0.04406791967562979917, 0.00057879438757249416, 0.04406791967562979917, 0.79278383647296557513, 0.02900481455515819401, 0.02900481455515819401, 0.14920653441671805073, 0.14920653441671805073, 0.14920653441671805073, 0.02900481455515819401, 0.79278383647296557513, 0.02900481455515819401, 0.02900481455515819401, 0.79278383647296557513, 0.02900481455515819401, 0.72173183541857577339, 0.13841257880150359405, 0.13841257880150359405, 0.00144300697841704437, 0.00144300697841704437, 0.00144300697841704437, 0.13841257880150359405, 0.72173183541857577339, 0.13841257880150359405, 0.13841257880150359405, 0.72173183541857577339, 0.13841257880150359405, 0.20026851566617670519, 0.20026851566617670519, 0.01155183527100142084, 0.34222404749372364874, 0.01155183527100142084, 0.34222404749372364874, 0.44595560156909819227, 0.44595560156909819227, 0.44595560156909819227, 0.44595560156909819227, 0.44595560156909819227, 0.44595560156909819227, 0.01155183527100142084, 0.34222404749372364874, 0.20026851566617670519, 0.20026851566617670519, 0.34222404749372364874, 0.01155183527100142084, 0.01155183527100142084, 0.34222404749372364874, 0.20026851566617670519, 0.20026851566617670519, 0.34222404749372364874, 0.01155183527100142084, 0.25459204502515403457, 0.25459204502515403457, 0.07295863195082626096, 0.24951603635956606797, 0.07295863195082626096, 0.24951603635956606797, 0.42293328666445362263, 0.42293328666445362263, 0.42293328666445362263, 0.42293328666445362263, 0.42293328666445362263, 0.42293328666445362263, 0.07295863195082626096, 0.24951603635956606797, 0.25459204502515403457, 0.25459204502515403457, 0.24951603635956606797, 0.07295863195082626096, 0.07295863195082626096, 0.24951603635956606797, 0.25459204502515403457, 0.25459204502515403457, 0.24951603635956606797, 0.07295863195082626096, 0.39373386599840531908, 0.39373386599840531908, 0.05001810761518710180, 0.00239825470053956630, 0.05001810761518710180, 0.00239825470053956630, 0.55384977168586801977, 0.55384977168586801977, 0.55384977168586801977, 0.55384977168586801977, 0.55384977168586801977, 0.55384977168586801977, 0.05001810761518710180, 0.00239825470053956630, 0.39373386599840531908, 0.39373386599840531908, 0.00239825470053956630, 0.05001810761518710180, 0.05001810761518710180, 0.00239825470053956630, 0.39373386599840531908, 0.39373386599840531908, 0.00239825470053956630, 0.05001810761518710180, 0.03608735666657864050, 0.03608735666657864050, 0.25183678242711160511, 0.11352723185190768951, 0.25183678242711160511, 0.11352723185190768951, 0.59854862905440209264, 0.59854862905440209264, 0.59854862905440209264, 0.59854862905440209264, 0.59854862905440209264, 0.59854862905440209264, 0.25183678242711160511, 0.11352723185190768951, 0.03608735666657864050, 0.03608735666657864050, 0.11352723185190768951, 0.25183678242711160511, 0.25183678242711160511, 0.11352723185190768951, 0.03608735666657864050, 0.03608735666657864050, 0.11352723185190768951, 0.25183678242711160511 }; static double b_save[] = { 0.21356799445330179599, 0.21356799445330179599, 0.35929601664009458428, 0.21356799445330179599, 0.08080469951147342678, 0.08080469951147342678, 0.75758590146557969192, 0.08080469951147342678, 0.14608946852754853274, 0.14608946852754853274, 0.56173159441735442954, 0.14608946852754853274, 0.43593462296220109042, 0.06406537703779889570, 0.06406537703779889570, 0.43593462296220109042, 0.43593462296220109042, 0.06406537703779889570, 0.37238169507539831127, 0.12761830492460168873, 0.12761830492460168873, 0.37238169507539831127, 0.37238169507539831127, 0.12761830492460168873, 0.01481472606744864938, 0.69403517727214536492, 0.01481472606744864938, 0.01481472606744864938, 0.69403517727214536492, 0.01481472606744864938, 0.27633537059295731897, 0.27633537059295731897, 0.27633537059295731897, 0.01481472606744864938, 0.01481472606744864938, 0.69403517727214536492, 0.04406791967562979917, 0.00057879438757249416, 0.04406791967562979917, 0.04406791967562979917, 0.00057879438757249416, 0.04406791967562979917, 0.91128536626116796171, 0.91128536626116796171, 0.91128536626116796171, 0.04406791967562979917, 0.04406791967562979917, 0.00057879438757249416, 0.02900481455515819401, 0.79278383647296557513, 0.02900481455515819401, 0.02900481455515819401, 0.79278383647296557513, 0.02900481455515819401, 0.14920653441671805073, 0.14920653441671805073, 0.14920653441671805073, 0.02900481455515819401, 0.02900481455515819401, 0.79278383647296557513, 0.13841257880150359405, 0.72173183541857577339, 0.13841257880150359405, 0.13841257880150359405, 0.72173183541857577339, 0.13841257880150359405, 0.00144300697841704437, 0.00144300697841704437, 0.00144300697841704437, 0.13841257880150359405, 0.13841257880150359405, 0.72173183541857577339, 0.01155183527100142084, 0.34222404749372364874, 0.20026851566617670519, 0.20026851566617670519, 0.34222404749372364874, 0.01155183527100142084, 0.01155183527100142084, 0.34222404749372364874, 0.20026851566617670519, 0.20026851566617670519, 0.34222404749372364874, 0.01155183527100142084, 0.44595560156909819227, 0.44595560156909819227, 0.44595560156909819227, 0.44595560156909819227, 0.44595560156909819227, 0.44595560156909819227, 0.34222404749372364874, 0.01155183527100142084, 0.34222404749372364874, 0.01155183527100142084, 0.20026851566617670519, 0.20026851566617670519, 0.07295863195082626096, 0.24951603635956606797, 0.25459204502515403457, 0.25459204502515403457, 0.24951603635956606797, 0.07295863195082626096, 0.07295863195082626096, 0.24951603635956606797, 0.25459204502515403457, 0.25459204502515403457, 0.24951603635956606797, 0.07295863195082626096, 0.42293328666445362263, 0.42293328666445362263, 0.42293328666445362263, 0.42293328666445362263, 0.42293328666445362263, 0.42293328666445362263, 0.24951603635956606797, 0.07295863195082626096, 0.24951603635956606797, 0.07295863195082626096, 0.25459204502515403457, 0.25459204502515403457, 0.05001810761518710180, 0.00239825470053956630, 0.39373386599840531908, 0.39373386599840531908, 0.00239825470053956630, 0.05001810761518710180, 0.05001810761518710180, 0.00239825470053956630, 0.39373386599840531908, 0.39373386599840531908, 0.00239825470053956630, 0.05001810761518710180, 0.55384977168586801977, 0.55384977168586801977, 0.55384977168586801977, 0.55384977168586801977, 0.55384977168586801977, 0.55384977168586801977, 0.00239825470053956630, 0.05001810761518710180, 0.00239825470053956630, 0.05001810761518710180, 0.39373386599840531908, 0.39373386599840531908, 0.25183678242711160511, 0.11352723185190768951, 0.03608735666657864050, 0.03608735666657864050, 0.11352723185190768951, 0.25183678242711160511, 0.25183678242711160511, 0.11352723185190768951, 0.03608735666657864050, 0.03608735666657864050, 0.11352723185190768951, 0.25183678242711160511, 0.59854862905440209264, 0.59854862905440209264, 0.59854862905440209264, 0.59854862905440209264, 0.59854862905440209264, 0.59854862905440209264, 0.11352723185190768951, 0.25183678242711160511, 0.11352723185190768951, 0.25183678242711160511, 0.03608735666657864050, 0.03608735666657864050 }; static double c_save[] = { 0.21356799445330179599, 0.21356799445330179599, 0.21356799445330179599, 0.35929601664009458428, 0.08080469951147342678, 0.08080469951147342678, 0.08080469951147342678, 0.75758590146557969192, 0.14608946852754853274, 0.14608946852754853274, 0.14608946852754853274, 0.56173159441735442954, 0.43593462296220109042, 0.43593462296220109042, 0.43593462296220109042, 0.06406537703779889570, 0.06406537703779889570, 0.06406537703779889570, 0.37238169507539831127, 0.37238169507539831127, 0.37238169507539831127, 0.12761830492460168873, 0.12761830492460168873, 0.12761830492460168873, 0.01481472606744864938, 0.01481472606744864938, 0.69403517727214536492, 0.01481472606744864938, 0.01481472606744864938, 0.69403517727214536492, 0.01481472606744864938, 0.01481472606744864938, 0.69403517727214536492, 0.27633537059295731897, 0.27633537059295731897, 0.27633537059295731897, 0.04406791967562979917, 0.04406791967562979917, 0.00057879438757249416, 0.04406791967562979917, 0.04406791967562979917, 0.00057879438757249416, 0.04406791967562979917, 0.04406791967562979917, 0.00057879438757249416, 0.91128536626116796171, 0.91128536626116796171, 0.91128536626116796171, 0.02900481455515819401, 0.02900481455515819401, 0.79278383647296557513, 0.02900481455515819401, 0.02900481455515819401, 0.79278383647296557513, 0.02900481455515819401, 0.02900481455515819401, 0.79278383647296557513, 0.14920653441671805073, 0.14920653441671805073, 0.14920653441671805073, 0.13841257880150359405, 0.13841257880150359405, 0.72173183541857577339, 0.13841257880150359405, 0.13841257880150359405, 0.72173183541857577339, 0.13841257880150359405, 0.13841257880150359405, 0.72173183541857577339, 0.00144300697841704437, 0.00144300697841704437, 0.00144300697841704437, 0.34222404749372364874, 0.01155183527100142084, 0.34222404749372364874, 0.01155183527100142084, 0.20026851566617670519, 0.20026851566617670519, 0.34222404749372364874, 0.01155183527100142084, 0.34222404749372364874, 0.01155183527100142084, 0.20026851566617670519, 0.20026851566617670519, 0.34222404749372364874, 0.01155183527100142084, 0.34222404749372364874, 0.01155183527100142084, 0.20026851566617670519, 0.20026851566617670519, 0.44595560156909819227, 0.44595560156909819227, 0.44595560156909819227, 0.44595560156909819227, 0.44595560156909819227, 0.44595560156909819227, 0.24951603635956606797, 0.07295863195082626096, 0.24951603635956606797, 0.07295863195082626096, 0.25459204502515403457, 0.25459204502515403457, 0.24951603635956606797, 0.07295863195082626096, 0.24951603635956606797, 0.07295863195082626096, 0.25459204502515403457, 0.25459204502515403457, 0.24951603635956606797, 0.07295863195082626096, 0.24951603635956606797, 0.07295863195082626096, 0.25459204502515403457, 0.25459204502515403457, 0.42293328666445362263, 0.42293328666445362263, 0.42293328666445362263, 0.42293328666445362263, 0.42293328666445362263, 0.42293328666445362263, 0.00239825470053956630, 0.05001810761518710180, 0.00239825470053956630, 0.05001810761518710180, 0.39373386599840531908, 0.39373386599840531908, 0.00239825470053956630, 0.05001810761518710180, 0.00239825470053956630, 0.05001810761518710180, 0.39373386599840531908, 0.39373386599840531908, 0.00239825470053956630, 0.05001810761518710180, 0.00239825470053956630, 0.05001810761518710180, 0.39373386599840531908, 0.39373386599840531908, 0.55384977168586801977, 0.55384977168586801977, 0.55384977168586801977, 0.55384977168586801977, 0.55384977168586801977, 0.55384977168586801977, 0.11352723185190768951, 0.25183678242711160511, 0.11352723185190768951, 0.25183678242711160511, 0.03608735666657864050, 0.03608735666657864050, 0.11352723185190768951, 0.25183678242711160511, 0.11352723185190768951, 0.25183678242711160511, 0.03608735666657864050, 0.03608735666657864050, 0.11352723185190768951, 0.25183678242711160511, 0.11352723185190768951, 0.25183678242711160511, 0.03608735666657864050, 0.03608735666657864050, 0.59854862905440209264, 0.59854862905440209264, 0.59854862905440209264, 0.59854862905440209264, 0.59854862905440209264, 0.59854862905440209264 }; static double d_save[] = { 0.35929601664009458428, 0.21356799445330179599, 0.21356799445330179599, 0.21356799445330179599, 0.75758590146557969192, 0.08080469951147342678, 0.08080469951147342678, 0.08080469951147342678, 0.56173159441735442954, 0.14608946852754853274, 0.14608946852754853274, 0.14608946852754853274, 0.06406537703779889570, 0.06406537703779889570, 0.43593462296220109042, 0.06406537703779889570, 0.43593462296220109042, 0.43593462296220109042, 0.12761830492460168873, 0.12761830492460168873, 0.37238169507539831127, 0.12761830492460168873, 0.37238169507539831127, 0.37238169507539831127, 0.27633537059295731897, 0.27633537059295731897, 0.27633537059295731897, 0.69403517727214536492, 0.01481472606744864938, 0.01481472606744864938, 0.69403517727214536492, 0.01481472606744864938, 0.01481472606744864938, 0.69403517727214536492, 0.01481472606744864938, 0.01481472606744864938, 0.91128536626116796171, 0.91128536626116796171, 0.91128536626116796171, 0.00057879438757249416, 0.04406791967562979917, 0.04406791967562979917, 0.00057879438757249416, 0.04406791967562979917, 0.04406791967562979917, 0.00057879438757249416, 0.04406791967562979917, 0.04406791967562979917, 0.14920653441671805073, 0.14920653441671805073, 0.14920653441671805073, 0.79278383647296557513, 0.02900481455515819401, 0.02900481455515819401, 0.79278383647296557513, 0.02900481455515819401, 0.02900481455515819401, 0.79278383647296557513, 0.02900481455515819401, 0.02900481455515819401, 0.00144300697841704437, 0.00144300697841704437, 0.00144300697841704437, 0.72173183541857577339, 0.13841257880150359405, 0.13841257880150359405, 0.72173183541857577339, 0.13841257880150359405, 0.13841257880150359405, 0.72173183541857577339, 0.13841257880150359405, 0.13841257880150359405, 0.44595560156909819227, 0.44595560156909819227, 0.44595560156909819227, 0.44595560156909819227, 0.44595560156909819227, 0.44595560156909819227, 0.20026851566617670519, 0.20026851566617670519, 0.01155183527100142084, 0.34222404749372364874, 0.01155183527100142084, 0.34222404749372364874, 0.20026851566617670519, 0.20026851566617670519, 0.01155183527100142084, 0.34222404749372364874, 0.01155183527100142084, 0.34222404749372364874, 0.20026851566617670519, 0.20026851566617670519, 0.01155183527100142084, 0.34222404749372364874, 0.01155183527100142084, 0.34222404749372364874, 0.42293328666445362263, 0.42293328666445362263, 0.42293328666445362263, 0.42293328666445362263, 0.42293328666445362263, 0.42293328666445362263, 0.25459204502515403457, 0.25459204502515403457, 0.07295863195082626096, 0.24951603635956606797, 0.07295863195082626096, 0.24951603635956606797, 0.25459204502515403457, 0.25459204502515403457, 0.07295863195082626096, 0.24951603635956606797, 0.07295863195082626096, 0.24951603635956606797, 0.25459204502515403457, 0.25459204502515403457, 0.07295863195082626096, 0.24951603635956606797, 0.07295863195082626096, 0.24951603635956606797, 0.55384977168586801977, 0.55384977168586801977, 0.55384977168586801977, 0.55384977168586801977, 0.55384977168586801977, 0.55384977168586801977, 0.39373386599840531908, 0.39373386599840531908, 0.05001810761518710180, 0.00239825470053956630, 0.05001810761518710180, 0.00239825470053956630, 0.39373386599840531908, 0.39373386599840531908, 0.05001810761518710180, 0.00239825470053956630, 0.05001810761518710180, 0.00239825470053956630, 0.39373386599840531908, 0.39373386599840531908, 0.05001810761518710180, 0.00239825470053956630, 0.05001810761518710180, 0.00239825470053956630, 0.59854862905440209264, 0.59854862905440209264, 0.59854862905440209264, 0.59854862905440209264, 0.59854862905440209264, 0.59854862905440209264, 0.03608735666657864050, 0.03608735666657864050, 0.25183678242711160511, 0.11352723185190768951, 0.25183678242711160511, 0.11352723185190768951, 0.03608735666657864050, 0.03608735666657864050, 0.25183678242711160511, 0.11352723185190768951, 0.25183678242711160511, 0.11352723185190768951, 0.03608735666657864050, 0.03608735666657864050, 0.25183678242711160511, 0.11352723185190768951, 0.25183678242711160511, 0.11352723185190768951 }; double w_save[] = { 0.01761491553503256521, 0.01761491553503256521, 0.01761491553503256521, 0.01761491553503256521, 0.00835123593343274628, 0.00835123593343274628, 0.00835123593343274628, 0.00835123593343274628, 0.01777571920669439309, 0.01777571920669439309, 0.01777571920669439309, 0.01777571920669439309, 0.01016802439757214481, 0.01016802439757214481, 0.01016802439757214481, 0.01016802439757214481, 0.01016802439757214481, 0.01016802439757214481, 0.01574040002395383359, 0.01574040002395383359, 0.01574040002395383359, 0.01574040002395383359, 0.01574040002395383359, 0.01574040002395383359, 0.00151128114586428740, 0.00151128114586428740, 0.00151128114586428740, 0.00151128114586428740, 0.00151128114586428740, 0.00151128114586428740, 0.00151128114586428740, 0.00151128114586428740, 0.00151128114586428740, 0.00151128114586428740, 0.00151128114586428740, 0.00151128114586428740, 0.00087265698874856076, 0.00087265698874856076, 0.00087265698874856076, 0.00087265698874856076, 0.00087265698874856076, 0.00087265698874856076, 0.00087265698874856076, 0.00087265698874856076, 0.00087265698874856076, 0.00087265698874856076, 0.00087265698874856076, 0.00087265698874856076, 0.00371288266145752832, 0.00371288266145752832, 0.00371288266145752832, 0.00371288266145752832, 0.00371288266145752832, 0.00371288266145752832, 0.00371288266145752832, 0.00371288266145752832, 0.00371288266145752832, 0.00371288266145752832, 0.00371288266145752832, 0.00371288266145752832, 0.00235831425572737572, 0.00235831425572737572, 0.00235831425572737572, 0.00235831425572737572, 0.00235831425572737572, 0.00235831425572737572, 0.00235831425572737572, 0.00235831425572737572, 0.00235831425572737572, 0.00235831425572737572, 0.00235831425572737572, 0.00235831425572737572, 0.00449084703627170012, 0.00449084703627170012, 0.00449084703627170012, 0.00449084703627170012, 0.00449084703627170012, 0.00449084703627170012, 0.00449084703627170012, 0.00449084703627170012, 0.00449084703627170012, 0.00449084703627170012, 0.00449084703627170012, 0.00449084703627170012, 0.00449084703627170012, 0.00449084703627170012, 0.00449084703627170012, 0.00449084703627170012, 0.00449084703627170012, 0.00449084703627170012, 0.00449084703627170012, 0.00449084703627170012, 0.00449084703627170012, 0.00449084703627170012, 0.00449084703627170012, 0.00449084703627170012, 0.00754961604889951930, 0.00754961604889951930, 0.00754961604889951930, 0.00754961604889951930, 0.00754961604889951930, 0.00754961604889951930, 0.00754961604889951930, 0.00754961604889951930, 0.00754961604889951930, 0.00754961604889951930, 0.00754961604889951930, 0.00754961604889951930, 0.00754961604889951930, 0.00754961604889951930, 0.00754961604889951930, 0.00754961604889951930, 0.00754961604889951930, 0.00754961604889951930, 0.00754961604889951930, 0.00754961604889951930, 0.00754961604889951930, 0.00754961604889951930, 0.00754961604889951930, 0.00754961604889951930, 0.00185051458906769213, 0.00185051458906769213, 0.00185051458906769213, 0.00185051458906769213, 0.00185051458906769213, 0.00185051458906769213, 0.00185051458906769213, 0.00185051458906769213, 0.00185051458906769213, 0.00185051458906769213, 0.00185051458906769213, 0.00185051458906769213, 0.00185051458906769213, 0.00185051458906769213, 0.00185051458906769213, 0.00185051458906769213, 0.00185051458906769213, 0.00185051458906769213, 0.00185051458906769213, 0.00185051458906769213, 0.00185051458906769213, 0.00185051458906769213, 0.00185051458906769213, 0.00185051458906769213, 0.00978070358195409946, 0.00978070358195409946, 0.00978070358195409946, 0.00978070358195409946, 0.00978070358195409946, 0.00978070358195409946, 0.00978070358195409946, 0.00978070358195409946, 0.00978070358195409946, 0.00978070358195409946, 0.00978070358195409946, 0.00978070358195409946, 0.00978070358195409946, 0.00978070358195409946, 0.00978070358195409946, 0.00978070358195409946, 0.00978070358195409946, 0.00978070358195409946, 0.00978070358195409946, 0.00978070358195409946, 0.00978070358195409946, 0.00978070358195409946, 0.00978070358195409946, 0.00978070358195409946 }; r8vec_copy ( n, a_save, a ); r8vec_copy ( n, b_save, b ); r8vec_copy ( n, c_save, c ); r8vec_copy ( n, d_save, d ); r8vec_copy ( n, w_save, w ); return; } /******************************************************************************/ void rule13 ( int n, double a[], double b[], double c[], double d[], double w[] ) /******************************************************************************/ /* Purpose: rule13() returns the rule of precision 13. Licensing: This code is distributed under the MIT license. Modified: 02 April 2023 Author: John Burkardt Reference: Jan Jaskowiec, Natarajan Sukumar, High order symmetric cubature rules for tetrahedra and pyramids, International Journal of Numerical Methods in Engineering, Volume 122, Number 1, pages 148-171, 24 August 2020. Input: int n: the number of quadrature points for this rule. Output: double a[n], b[n], c[n], d[n]: the barycentric coordinates of quadrature points. double w[n]: the quadrature weights. */ { static double a_save[] = { 0.02023816786180974298, 0.93928549641457081965, 0.02023816786180974298, 0.02023816786180974298, 0.28901473524352633282, 0.13295579426942091827, 0.28901473524352633282, 0.28901473524352633282, 0.09402870008212707575, 0.71791389975361874498, 0.09402870008212707575, 0.09402870008212707575, 0.19764985444372551449, 0.40705043666882340103, 0.19764985444372551449, 0.19764985444372551449, 0.45953810323981636454, 0.04046189676018363546, 0.45953810323981636454, 0.04046189676018363546, 0.45953810323981636454, 0.04046189676018363546, 0.00000019514803064427, 0.49999980485196937607, 0.00000019514803064427, 0.49999980485196937607, 0.00000019514803064427, 0.49999980485196937607, 0.61189713020429348234, 0.06752926495280242580, 0.06752926495280242580, 0.25304433989010172157, 0.25304433989010172157, 0.25304433989010172157, 0.06752926495280242580, 0.61189713020429348234, 0.06752926495280242580, 0.06752926495280242580, 0.61189713020429348234, 0.06752926495280242580, 0.48683083387981590517, 0.13601051451320292363, 0.13601051451320292363, 0.24114813709377821982, 0.24114813709377821982, 0.24114813709377821982, 0.13601051451320292363, 0.48683083387981590517, 0.13601051451320292363, 0.13601051451320292363, 0.48683083387981590517, 0.13601051451320292363, 0.42737860803490002048, 0.27807834595637015429, 0.27807834595637015429, 0.01646470005235971951, 0.01646470005235971951, 0.01646470005235971951, 0.27807834595637015429, 0.42737860803490002048, 0.27807834595637015429, 0.27807834595637015429, 0.42737860803490002048, 0.27807834595637015429, 0.56675286809679847888, 0.19675501971928607836, 0.19675501971928607836, 0.03973709246462935052, 0.03973709246462935052, 0.03973709246462935052, 0.19675501971928607836, 0.56675286809679847888, 0.19675501971928607836, 0.19675501971928607836, 0.56675286809679847888, 0.19675501971928607836, 0.06201970724197542612, 0.38624986292034968471, 0.38624986292034968471, 0.16548056691732521140, 0.16548056691732521140, 0.16548056691732521140, 0.38624986292034968471, 0.06201970724197542612, 0.38624986292034968471, 0.38624986292034968471, 0.06201970724197542612, 0.38624986292034968471, 0.10866078208331987620, 0.02353551905465277316, 0.02353551905465277316, 0.84426817980737456359, 0.84426817980737456359, 0.84426817980737456359, 0.02353551905465277316, 0.10866078208331987620, 0.02353551905465277316, 0.02353551905465277316, 0.10866078208331987620, 0.02353551905465277316, 0.54469649770191619353, 0.54469649770191619353, 0.33621089307477192154, 0.00350005986987981903, 0.33621089307477192154, 0.00350005986987981903, 0.11559254935343205029, 0.11559254935343205029, 0.11559254935343205029, 0.11559254935343205029, 0.11559254935343205029, 0.11559254935343205029, 0.33621089307477192154, 0.00350005986987981903, 0.54469649770191619353, 0.54469649770191619353, 0.00350005986987981903, 0.33621089307477192154, 0.33621089307477192154, 0.00350005986987981903, 0.54469649770191619353, 0.54469649770191619353, 0.00350005986987981903, 0.33621089307477192154, 0.02886160494075550378, 0.02886160494075550378, 0.68598163012351520695, 0.01057343468672890079, 0.68598163012351520695, 0.01057343468672890079, 0.27458333024900039021, 0.27458333024900039021, 0.27458333024900039021, 0.27458333024900039021, 0.27458333024900039021, 0.27458333024900039021, 0.68598163012351520695, 0.01057343468672890079, 0.02886160494075550378, 0.02886160494075550378, 0.01057343468672890079, 0.68598163012351520695, 0.68598163012351520695, 0.01057343468672890079, 0.02886160494075550378, 0.02886160494075550378, 0.01057343468672890079, 0.68598163012351520695, 0.15458664682738043616, 0.15458664682738043616, 0.73567724678185975051, 0.09870239282167234118, 0.73567724678185975051, 0.09870239282167234118, 0.01103371356908743224, 0.01103371356908743224, 0.01103371356908743224, 0.01103371356908743224, 0.01103371356908743224, 0.01103371356908743224, 0.73567724678185975051, 0.09870239282167234118, 0.15458664682738043616, 0.15458664682738043616, 0.09870239282167234118, 0.73567724678185975051, 0.73567724678185975051, 0.09870239282167234118, 0.15458664682738043616, 0.15458664682738043616, 0.09870239282167234118, 0.73567724678185975051 }; static double b_save[] = { 0.02023816786180974298, 0.02023816786180974298, 0.93928549641457081965, 0.02023816786180974298, 0.28901473524352633282, 0.28901473524352633282, 0.13295579426942091827, 0.28901473524352633282, 0.09402870008212707575, 0.09402870008212707575, 0.71791389975361874498, 0.09402870008212707575, 0.19764985444372551449, 0.19764985444372551449, 0.40705043666882340103, 0.19764985444372551449, 0.04046189676018363546, 0.45953810323981636454, 0.45953810323981636454, 0.04046189676018363546, 0.04046189676018363546, 0.45953810323981636454, 0.49999980485196937607, 0.00000019514803064427, 0.00000019514803064427, 0.49999980485196937607, 0.49999980485196937607, 0.00000019514803064427, 0.06752926495280242580, 0.61189713020429348234, 0.06752926495280242580, 0.06752926495280242580, 0.61189713020429348234, 0.06752926495280242580, 0.25304433989010172157, 0.25304433989010172157, 0.25304433989010172157, 0.06752926495280242580, 0.06752926495280242580, 0.61189713020429348234, 0.13601051451320292363, 0.48683083387981590517, 0.13601051451320292363, 0.13601051451320292363, 0.48683083387981590517, 0.13601051451320292363, 0.24114813709377821982, 0.24114813709377821982, 0.24114813709377821982, 0.13601051451320292363, 0.13601051451320292363, 0.48683083387981590517, 0.27807834595637015429, 0.42737860803490002048, 0.27807834595637015429, 0.27807834595637015429, 0.42737860803490002048, 0.27807834595637015429, 0.01646470005235971951, 0.01646470005235971951, 0.01646470005235971951, 0.27807834595637015429, 0.27807834595637015429, 0.42737860803490002048, 0.19675501971928607836, 0.56675286809679847888, 0.19675501971928607836, 0.19675501971928607836, 0.56675286809679847888, 0.19675501971928607836, 0.03973709246462935052, 0.03973709246462935052, 0.03973709246462935052, 0.19675501971928607836, 0.19675501971928607836, 0.56675286809679847888, 0.38624986292034968471, 0.06201970724197542612, 0.38624986292034968471, 0.38624986292034968471, 0.06201970724197542612, 0.38624986292034968471, 0.16548056691732521140, 0.16548056691732521140, 0.16548056691732521140, 0.38624986292034968471, 0.38624986292034968471, 0.06201970724197542612, 0.02353551905465277316, 0.10866078208331987620, 0.02353551905465277316, 0.02353551905465277316, 0.10866078208331987620, 0.02353551905465277316, 0.84426817980737456359, 0.84426817980737456359, 0.84426817980737456359, 0.02353551905465277316, 0.02353551905465277316, 0.10866078208331987620, 0.33621089307477192154, 0.00350005986987981903, 0.54469649770191619353, 0.54469649770191619353, 0.00350005986987981903, 0.33621089307477192154, 0.33621089307477192154, 0.00350005986987981903, 0.54469649770191619353, 0.54469649770191619353, 0.00350005986987981903, 0.33621089307477192154, 0.11559254935343205029, 0.11559254935343205029, 0.11559254935343205029, 0.11559254935343205029, 0.11559254935343205029, 0.11559254935343205029, 0.00350005986987981903, 0.33621089307477192154, 0.00350005986987981903, 0.33621089307477192154, 0.54469649770191619353, 0.54469649770191619353, 0.68598163012351520695, 0.01057343468672890079, 0.02886160494075550378, 0.02886160494075550378, 0.01057343468672890079, 0.68598163012351520695, 0.68598163012351520695, 0.01057343468672890079, 0.02886160494075550378, 0.02886160494075550378, 0.01057343468672890079, 0.68598163012351520695, 0.27458333024900039021, 0.27458333024900039021, 0.27458333024900039021, 0.27458333024900039021, 0.27458333024900039021, 0.27458333024900039021, 0.01057343468672890079, 0.68598163012351520695, 0.01057343468672890079, 0.68598163012351520695, 0.02886160494075550378, 0.02886160494075550378, 0.73567724678185975051, 0.09870239282167234118, 0.15458664682738043616, 0.15458664682738043616, 0.09870239282167234118, 0.73567724678185975051, 0.73567724678185975051, 0.09870239282167234118, 0.15458664682738043616, 0.15458664682738043616, 0.09870239282167234118, 0.73567724678185975051, 0.01103371356908743224, 0.01103371356908743224, 0.01103371356908743224, 0.01103371356908743224, 0.01103371356908743224, 0.01103371356908743224, 0.09870239282167234118, 0.73567724678185975051, 0.09870239282167234118, 0.73567724678185975051, 0.15458664682738043616, 0.15458664682738043616 }; static double c_save[] = { 0.02023816786180974298, 0.02023816786180974298, 0.02023816786180974298, 0.93928549641457081965, 0.28901473524352633282, 0.28901473524352633282, 0.28901473524352633282, 0.13295579426942091827, 0.09402870008212707575, 0.09402870008212707575, 0.09402870008212707575, 0.71791389975361874498, 0.19764985444372551449, 0.19764985444372551449, 0.19764985444372551449, 0.40705043666882340103, 0.04046189676018363546, 0.04046189676018363546, 0.04046189676018363546, 0.45953810323981636454, 0.45953810323981636454, 0.45953810323981636454, 0.49999980485196937607, 0.49999980485196937607, 0.49999980485196937607, 0.00000019514803064427, 0.00000019514803064427, 0.00000019514803064427, 0.06752926495280242580, 0.06752926495280242580, 0.61189713020429348234, 0.06752926495280242580, 0.06752926495280242580, 0.61189713020429348234, 0.06752926495280242580, 0.06752926495280242580, 0.61189713020429348234, 0.25304433989010172157, 0.25304433989010172157, 0.25304433989010172157, 0.13601051451320292363, 0.13601051451320292363, 0.48683083387981590517, 0.13601051451320292363, 0.13601051451320292363, 0.48683083387981590517, 0.13601051451320292363, 0.13601051451320292363, 0.48683083387981590517, 0.24114813709377821982, 0.24114813709377821982, 0.24114813709377821982, 0.27807834595637015429, 0.27807834595637015429, 0.42737860803490002048, 0.27807834595637015429, 0.27807834595637015429, 0.42737860803490002048, 0.27807834595637015429, 0.27807834595637015429, 0.42737860803490002048, 0.01646470005235971951, 0.01646470005235971951, 0.01646470005235971951, 0.19675501971928607836, 0.19675501971928607836, 0.56675286809679847888, 0.19675501971928607836, 0.19675501971928607836, 0.56675286809679847888, 0.19675501971928607836, 0.19675501971928607836, 0.56675286809679847888, 0.03973709246462935052, 0.03973709246462935052, 0.03973709246462935052, 0.38624986292034968471, 0.38624986292034968471, 0.06201970724197542612, 0.38624986292034968471, 0.38624986292034968471, 0.06201970724197542612, 0.38624986292034968471, 0.38624986292034968471, 0.06201970724197542612, 0.16548056691732521140, 0.16548056691732521140, 0.16548056691732521140, 0.02353551905465277316, 0.02353551905465277316, 0.10866078208331987620, 0.02353551905465277316, 0.02353551905465277316, 0.10866078208331987620, 0.02353551905465277316, 0.02353551905465277316, 0.10866078208331987620, 0.84426817980737456359, 0.84426817980737456359, 0.84426817980737456359, 0.00350005986987981903, 0.33621089307477192154, 0.00350005986987981903, 0.33621089307477192154, 0.54469649770191619353, 0.54469649770191619353, 0.00350005986987981903, 0.33621089307477192154, 0.00350005986987981903, 0.33621089307477192154, 0.54469649770191619353, 0.54469649770191619353, 0.00350005986987981903, 0.33621089307477192154, 0.00350005986987981903, 0.33621089307477192154, 0.54469649770191619353, 0.54469649770191619353, 0.11559254935343205029, 0.11559254935343205029, 0.11559254935343205029, 0.11559254935343205029, 0.11559254935343205029, 0.11559254935343205029, 0.01057343468672890079, 0.68598163012351520695, 0.01057343468672890079, 0.68598163012351520695, 0.02886160494075550378, 0.02886160494075550378, 0.01057343468672890079, 0.68598163012351520695, 0.01057343468672890079, 0.68598163012351520695, 0.02886160494075550378, 0.02886160494075550378, 0.01057343468672890079, 0.68598163012351520695, 0.01057343468672890079, 0.68598163012351520695, 0.02886160494075550378, 0.02886160494075550378, 0.27458333024900039021, 0.27458333024900039021, 0.27458333024900039021, 0.27458333024900039021, 0.27458333024900039021, 0.27458333024900039021, 0.09870239282167234118, 0.73567724678185975051, 0.09870239282167234118, 0.73567724678185975051, 0.15458664682738043616, 0.15458664682738043616, 0.09870239282167234118, 0.73567724678185975051, 0.09870239282167234118, 0.73567724678185975051, 0.15458664682738043616, 0.15458664682738043616, 0.09870239282167234118, 0.73567724678185975051, 0.09870239282167234118, 0.73567724678185975051, 0.15458664682738043616, 0.15458664682738043616, 0.01103371356908743224, 0.01103371356908743224, 0.01103371356908743224, 0.01103371356908743224, 0.01103371356908743224, 0.01103371356908743224 }; static double d_save[] = { 0.93928549641457081965, 0.02023816786180974298, 0.02023816786180974298, 0.02023816786180974298, 0.13295579426942091827, 0.28901473524352633282, 0.28901473524352633282, 0.28901473524352633282, 0.71791389975361874498, 0.09402870008212707575, 0.09402870008212707575, 0.09402870008212707575, 0.40705043666882340103, 0.19764985444372551449, 0.19764985444372551449, 0.19764985444372551449, 0.45953810323981636454, 0.45953810323981636454, 0.04046189676018363546, 0.45953810323981636454, 0.04046189676018363546, 0.04046189676018363546, 0.00000019514803064427, 0.00000019514803064427, 0.49999980485196937607, 0.00000019514803064427, 0.49999980485196937607, 0.49999980485196937607, 0.25304433989010172157, 0.25304433989010172157, 0.25304433989010172157, 0.61189713020429348234, 0.06752926495280242580, 0.06752926495280242580, 0.61189713020429348234, 0.06752926495280242580, 0.06752926495280242580, 0.61189713020429348234, 0.06752926495280242580, 0.06752926495280242580, 0.24114813709377821982, 0.24114813709377821982, 0.24114813709377821982, 0.48683083387981590517, 0.13601051451320292363, 0.13601051451320292363, 0.48683083387981590517, 0.13601051451320292363, 0.13601051451320292363, 0.48683083387981590517, 0.13601051451320292363, 0.13601051451320292363, 0.01646470005235971951, 0.01646470005235971951, 0.01646470005235971951, 0.42737860803490002048, 0.27807834595637015429, 0.27807834595637015429, 0.42737860803490002048, 0.27807834595637015429, 0.27807834595637015429, 0.42737860803490002048, 0.27807834595637015429, 0.27807834595637015429, 0.03973709246462935052, 0.03973709246462935052, 0.03973709246462935052, 0.56675286809679847888, 0.19675501971928607836, 0.19675501971928607836, 0.56675286809679847888, 0.19675501971928607836, 0.19675501971928607836, 0.56675286809679847888, 0.19675501971928607836, 0.19675501971928607836, 0.16548056691732521140, 0.16548056691732521140, 0.16548056691732521140, 0.06201970724197542612, 0.38624986292034968471, 0.38624986292034968471, 0.06201970724197542612, 0.38624986292034968471, 0.38624986292034968471, 0.06201970724197542612, 0.38624986292034968471, 0.38624986292034968471, 0.84426817980737456359, 0.84426817980737456359, 0.84426817980737456359, 0.10866078208331987620, 0.02353551905465277316, 0.02353551905465277316, 0.10866078208331987620, 0.02353551905465277316, 0.02353551905465277316, 0.10866078208331987620, 0.02353551905465277316, 0.02353551905465277316, 0.11559254935343205029, 0.11559254935343205029, 0.11559254935343205029, 0.11559254935343205029, 0.11559254935343205029, 0.11559254935343205029, 0.54469649770191619353, 0.54469649770191619353, 0.33621089307477192154, 0.00350005986987981903, 0.33621089307477192154, 0.00350005986987981903, 0.54469649770191619353, 0.54469649770191619353, 0.33621089307477192154, 0.00350005986987981903, 0.33621089307477192154, 0.00350005986987981903, 0.54469649770191619353, 0.54469649770191619353, 0.33621089307477192154, 0.00350005986987981903, 0.33621089307477192154, 0.00350005986987981903, 0.27458333024900039021, 0.27458333024900039021, 0.27458333024900039021, 0.27458333024900039021, 0.27458333024900039021, 0.27458333024900039021, 0.02886160494075550378, 0.02886160494075550378, 0.68598163012351520695, 0.01057343468672890079, 0.68598163012351520695, 0.01057343468672890079, 0.02886160494075550378, 0.02886160494075550378, 0.68598163012351520695, 0.01057343468672890079, 0.68598163012351520695, 0.01057343468672890079, 0.02886160494075550378, 0.02886160494075550378, 0.68598163012351520695, 0.01057343468672890079, 0.68598163012351520695, 0.01057343468672890079, 0.01103371356908743224, 0.01103371356908743224, 0.01103371356908743224, 0.01103371356908743224, 0.01103371356908743224, 0.01103371356908743224, 0.15458664682738043616, 0.15458664682738043616, 0.73567724678185975051, 0.09870239282167234118, 0.73567724678185975051, 0.09870239282167234118, 0.15458664682738043616, 0.15458664682738043616, 0.73567724678185975051, 0.09870239282167234118, 0.73567724678185975051, 0.09870239282167234118, 0.15458664682738043616, 0.15458664682738043616, 0.73567724678185975051, 0.09870239282167234118, 0.73567724678185975051, 0.09870239282167234118 }; double w_save[] = { 0.00086064177891414715, 0.00086064177891414715, 0.00086064177891414715, 0.00086064177891414715, 0.02260732681773922059, 0.02260732681773922059, 0.02260732681773922059, 0.02260732681773922059, 0.00968003732683891775, 0.00968003732683891775, 0.00968003732683891775, 0.00968003732683891775, 0.00717094032557274996, 0.00717094032557274996, 0.00717094032557274996, 0.00717094032557274996, 0.00778487097928040085, 0.00778487097928040085, 0.00778487097928040085, 0.00778487097928040085, 0.00778487097928040085, 0.00778487097928040085, 0.00051202714817161232, 0.00051202714817161232, 0.00051202714817161232, 0.00051202714817161232, 0.00051202714817161232, 0.00051202714817161232, 0.00888027217142297112, 0.00888027217142297112, 0.00888027217142297112, 0.00888027217142297112, 0.00888027217142297112, 0.00888027217142297112, 0.00888027217142297112, 0.00888027217142297112, 0.00888027217142297112, 0.00888027217142297112, 0.00888027217142297112, 0.00888027217142297112, 0.01062144779049374252, 0.01062144779049374252, 0.01062144779049374252, 0.01062144779049374252, 0.01062144779049374252, 0.01062144779049374252, 0.01062144779049374252, 0.01062144779049374252, 0.01062144779049374252, 0.01062144779049374252, 0.01062144779049374252, 0.01062144779049374252, 0.00587308933199585676, 0.00587308933199585676, 0.00587308933199585676, 0.00587308933199585676, 0.00587308933199585676, 0.00587308933199585676, 0.00587308933199585676, 0.00587308933199585676, 0.00587308933199585676, 0.00587308933199585676, 0.00587308933199585676, 0.00587308933199585676, 0.00923553539755601546, 0.00923553539755601546, 0.00923553539755601546, 0.00923553539755601546, 0.00923553539755601546, 0.00923553539755601546, 0.00923553539755601546, 0.00923553539755601546, 0.00923553539755601546, 0.00923553539755601546, 0.00923553539755601546, 0.00923553539755601546, 0.01456732207916522359, 0.01456732207916522359, 0.01456732207916522359, 0.01456732207916522359, 0.01456732207916522359, 0.01456732207916522359, 0.01456732207916522359, 0.01456732207916522359, 0.01456732207916522359, 0.01456732207916522359, 0.01456732207916522359, 0.01456732207916522359, 0.00265873986217338978, 0.00265873986217338978, 0.00265873986217338978, 0.00265873986217338978, 0.00265873986217338978, 0.00265873986217338978, 0.00265873986217338978, 0.00265873986217338978, 0.00265873986217338978, 0.00265873986217338978, 0.00265873986217338978, 0.00265873986217338978, 0.00322185277500176316, 0.00322185277500176316, 0.00322185277500176316, 0.00322185277500176316, 0.00322185277500176316, 0.00322185277500176316, 0.00322185277500176316, 0.00322185277500176316, 0.00322185277500176316, 0.00322185277500176316, 0.00322185277500176316, 0.00322185277500176316, 0.00322185277500176316, 0.00322185277500176316, 0.00322185277500176316, 0.00322185277500176316, 0.00322185277500176316, 0.00322185277500176316, 0.00322185277500176316, 0.00322185277500176316, 0.00322185277500176316, 0.00322185277500176316, 0.00322185277500176316, 0.00322185277500176316, 0.00146420674110399047, 0.00146420674110399047, 0.00146420674110399047, 0.00146420674110399047, 0.00146420674110399047, 0.00146420674110399047, 0.00146420674110399047, 0.00146420674110399047, 0.00146420674110399047, 0.00146420674110399047, 0.00146420674110399047, 0.00146420674110399047, 0.00146420674110399047, 0.00146420674110399047, 0.00146420674110399047, 0.00146420674110399047, 0.00146420674110399047, 0.00146420674110399047, 0.00146420674110399047, 0.00146420674110399047, 0.00146420674110399047, 0.00146420674110399047, 0.00146420674110399047, 0.00146420674110399047, 0.00226835492745013816, 0.00226835492745013816, 0.00226835492745013816, 0.00226835492745013816, 0.00226835492745013816, 0.00226835492745013816, 0.00226835492745013816, 0.00226835492745013816, 0.00226835492745013816, 0.00226835492745013816, 0.00226835492745013816, 0.00226835492745013816, 0.00226835492745013816, 0.00226835492745013816, 0.00226835492745013816, 0.00226835492745013816, 0.00226835492745013816, 0.00226835492745013816, 0.00226835492745013816, 0.00226835492745013816, 0.00226835492745013816, 0.00226835492745013816, 0.00226835492745013816, 0.00226835492745013816 }; r8vec_copy ( n, a_save, a ); r8vec_copy ( n, b_save, b ); r8vec_copy ( n, c_save, c ); r8vec_copy ( n, d_save, d ); r8vec_copy ( n, w_save, w ); return; } /******************************************************************************/ void rule14 ( int n, double a[], double b[], double c[], double d[], double w[] ) /******************************************************************************/ /* Purpose: rule14() returns the rule of precision 14. Licensing: This code is distributed under the MIT license. Modified: 02 April 2023 Author: John Burkardt Reference: Jan Jaskowiec, Natarajan Sukumar, High order symmetric cubature rules for tetrahedra and pyramids, International Journal of Numerical Methods in Engineering, Volume 122, Number 1, pages 148-171, 24 August 2020. Input: int n: the number of quadrature points for this rule. Output: double a[n], b[n], c[n], d[n]: the barycentric coordinates of quadrature points. double w[n]: the quadrature weights. */ { static double a_save[] = { 0.32981515178461928706, 0.01055454464614207291, 0.32981515178461928706, 0.32981515178461928706, 0.05753828268975920424, 0.82738515193072237341, 0.05753828268975920424, 0.05753828268975920424, 0.00585616861378350419, 0.98243149415864949869, 0.00585616861378350419, 0.00585616861378350419, 0.16055547584795665239, 0.51833357245613009834, 0.16055547584795665239, 0.16055547584795665239, 0.09873964607404908667, 0.70378106177785271225, 0.09873964607404908667, 0.09873964607404908667, 0.20805319615972650560, 0.37584041152082048320, 0.20805319615972650560, 0.20805319615972650560, 0.00975202881222352394, 0.49024797118777646565, 0.00975202881222352394, 0.49024797118777646565, 0.00975202881222352394, 0.49024797118777646565, 0.39706059988446740228, 0.10293940011553258385, 0.39706059988446740228, 0.10293940011553258385, 0.39706059988446740228, 0.10293940011553258385, 0.46208653653878484224, 0.03791346346121513694, 0.46208653653878484224, 0.03791346346121513694, 0.46208653653878484224, 0.03791346346121513694, 0.18142642381613963143, 0.31857357618386039633, 0.18142642381613963143, 0.31857357618386039633, 0.18142642381613963143, 0.31857357618386039633, 0.41893877883766694747, 0.24990921886349984349, 0.24990921886349984349, 0.08124278343533337943, 0.08124278343533337943, 0.08124278343533337943, 0.24990921886349984349, 0.41893877883766694747, 0.24990921886349984349, 0.24990921886349984349, 0.41893877883766694747, 0.24990921886349984349, 0.56287668024978376735, 0.21326337806187573021, 0.21326337806187573021, 0.01059656362646482081, 0.01059656362646482081, 0.01059656362646482081, 0.21326337806187573021, 0.56287668024978376735, 0.21326337806187573021, 0.21326337806187573021, 0.56287668024978376735, 0.21326337806187573021, 0.89546897271401615370, 0.04918128494015905350, 0.04918128494015905350, 0.00616845740566568986, 0.00616845740566568986, 0.00616845740566568986, 0.04918128494015905350, 0.89546897271401615370, 0.04918128494015905350, 0.04918128494015905350, 0.89546897271401615370, 0.04918128494015905350, 0.02066357892967346510, 0.39286261797006011287, 0.39286261797006011287, 0.19361118513020625365, 0.19361118513020625365, 0.19361118513020625365, 0.39286261797006011287, 0.02066357892967346510, 0.39286261797006011287, 0.39286261797006011287, 0.02066357892967346510, 0.39286261797006011287, 0.12690220240749577885, 0.01261760553257071024, 0.01261760553257071024, 0.84786258652736279373, 0.84786258652736279373, 0.84786258652736279373, 0.01261760553257071024, 0.12690220240749577885, 0.01261760553257071024, 0.01261760553257071024, 0.12690220240749577885, 0.01261760553257071024, 0.06214000311762152978, 0.06214000311762152978, 0.12161878434869899390, 0.57674061745509475063, 0.12161878434869899390, 0.57674061745509475063, 0.23950059507858473262, 0.23950059507858473262, 0.23950059507858473262, 0.23950059507858473262, 0.23950059507858473262, 0.23950059507858473262, 0.12161878434869899390, 0.57674061745509475063, 0.06214000311762152978, 0.06214000311762152978, 0.57674061745509475063, 0.12161878434869899390, 0.12161878434869899390, 0.57674061745509475063, 0.06214000311762152978, 0.06214000311762152978, 0.57674061745509475063, 0.12161878434869899390, 0.55179413211842465170, 0.55179413211842465170, 0.34890229604702455157, 0.01552211922320787148, 0.34890229604702455157, 0.01552211922320787148, 0.08378145261134291311, 0.08378145261134291311, 0.08378145261134291311, 0.08378145261134291311, 0.08378145261134291311, 0.08378145261134291311, 0.34890229604702455157, 0.01552211922320787148, 0.55179413211842465170, 0.55179413211842465170, 0.01552211922320787148, 0.34890229604702455157, 0.34890229604702455157, 0.01552211922320787148, 0.55179413211842465170, 0.55179413211842465170, 0.01552211922320787148, 0.34890229604702455157, 0.01784164064765456428, 0.01784164064765456428, 0.68223832016828933611, 0.01547929731317247183, 0.68223832016828933611, 0.01547929731317247183, 0.28444074187088363992, 0.28444074187088363992, 0.28444074187088363992, 0.28444074187088363992, 0.28444074187088363992, 0.28444074187088363992, 0.68223832016828933611, 0.01547929731317247183, 0.01784164064765456428, 0.01784164064765456428, 0.01547929731317247183, 0.68223832016828933611, 0.68223832016828933611, 0.01547929731317247183, 0.01784164064765456428, 0.01784164064765456428, 0.01547929731317247183, 0.68223832016828933611, 0.16953955070016224482, 0.16953955070016224482, 0.73399829865858101652, 0.01777660277014278187, 0.73399829865858101652, 0.01777660277014278187, 0.07868554787111389781, 0.07868554787111389781, 0.07868554787111389781, 0.07868554787111389781, 0.07868554787111389781, 0.07868554787111389781, 0.73399829865858101652, 0.01777660277014278187, 0.16953955070016224482, 0.16953955070016224482, 0.01777660277014278187, 0.73399829865858101652, 0.73399829865858101652, 0.01777660277014278187, 0.16953955070016224482, 0.16953955070016224482, 0.01777660277014278187, 0.73399829865858101652 }; static double b_save[] = { 0.32981515178461928706, 0.32981515178461928706, 0.01055454464614207291, 0.32981515178461928706, 0.05753828268975920424, 0.05753828268975920424, 0.82738515193072237341, 0.05753828268975920424, 0.00585616861378350419, 0.00585616861378350419, 0.98243149415864949869, 0.00585616861378350419, 0.16055547584795665239, 0.16055547584795665239, 0.51833357245613009834, 0.16055547584795665239, 0.09873964607404908667, 0.09873964607404908667, 0.70378106177785271225, 0.09873964607404908667, 0.20805319615972650560, 0.20805319615972650560, 0.37584041152082048320, 0.20805319615972650560, 0.49024797118777646565, 0.00975202881222352394, 0.00975202881222352394, 0.49024797118777646565, 0.49024797118777646565, 0.00975202881222352394, 0.10293940011553258385, 0.39706059988446740228, 0.39706059988446740228, 0.10293940011553258385, 0.10293940011553258385, 0.39706059988446740228, 0.03791346346121513694, 0.46208653653878484224, 0.46208653653878484224, 0.03791346346121513694, 0.03791346346121513694, 0.46208653653878484224, 0.31857357618386039633, 0.18142642381613963143, 0.18142642381613963143, 0.31857357618386039633, 0.31857357618386039633, 0.18142642381613963143, 0.24990921886349984349, 0.41893877883766694747, 0.24990921886349984349, 0.24990921886349984349, 0.41893877883766694747, 0.24990921886349984349, 0.08124278343533337943, 0.08124278343533337943, 0.08124278343533337943, 0.24990921886349984349, 0.24990921886349984349, 0.41893877883766694747, 0.21326337806187573021, 0.56287668024978376735, 0.21326337806187573021, 0.21326337806187573021, 0.56287668024978376735, 0.21326337806187573021, 0.01059656362646482081, 0.01059656362646482081, 0.01059656362646482081, 0.21326337806187573021, 0.21326337806187573021, 0.56287668024978376735, 0.04918128494015905350, 0.89546897271401615370, 0.04918128494015905350, 0.04918128494015905350, 0.89546897271401615370, 0.04918128494015905350, 0.00616845740566568986, 0.00616845740566568986, 0.00616845740566568986, 0.04918128494015905350, 0.04918128494015905350, 0.89546897271401615370, 0.39286261797006011287, 0.02066357892967346510, 0.39286261797006011287, 0.39286261797006011287, 0.02066357892967346510, 0.39286261797006011287, 0.19361118513020625365, 0.19361118513020625365, 0.19361118513020625365, 0.39286261797006011287, 0.39286261797006011287, 0.02066357892967346510, 0.01261760553257071024, 0.12690220240749577885, 0.01261760553257071024, 0.01261760553257071024, 0.12690220240749577885, 0.01261760553257071024, 0.84786258652736279373, 0.84786258652736279373, 0.84786258652736279373, 0.01261760553257071024, 0.01261760553257071024, 0.12690220240749577885, 0.12161878434869899390, 0.57674061745509475063, 0.06214000311762152978, 0.06214000311762152978, 0.57674061745509475063, 0.12161878434869899390, 0.12161878434869899390, 0.57674061745509475063, 0.06214000311762152978, 0.06214000311762152978, 0.57674061745509475063, 0.12161878434869899390, 0.23950059507858473262, 0.23950059507858473262, 0.23950059507858473262, 0.23950059507858473262, 0.23950059507858473262, 0.23950059507858473262, 0.57674061745509475063, 0.12161878434869899390, 0.57674061745509475063, 0.12161878434869899390, 0.06214000311762152978, 0.06214000311762152978, 0.34890229604702455157, 0.01552211922320787148, 0.55179413211842465170, 0.55179413211842465170, 0.01552211922320787148, 0.34890229604702455157, 0.34890229604702455157, 0.01552211922320787148, 0.55179413211842465170, 0.55179413211842465170, 0.01552211922320787148, 0.34890229604702455157, 0.08378145261134291311, 0.08378145261134291311, 0.08378145261134291311, 0.08378145261134291311, 0.08378145261134291311, 0.08378145261134291311, 0.01552211922320787148, 0.34890229604702455157, 0.01552211922320787148, 0.34890229604702455157, 0.55179413211842465170, 0.55179413211842465170, 0.68223832016828933611, 0.01547929731317247183, 0.01784164064765456428, 0.01784164064765456428, 0.01547929731317247183, 0.68223832016828933611, 0.68223832016828933611, 0.01547929731317247183, 0.01784164064765456428, 0.01784164064765456428, 0.01547929731317247183, 0.68223832016828933611, 0.28444074187088363992, 0.28444074187088363992, 0.28444074187088363992, 0.28444074187088363992, 0.28444074187088363992, 0.28444074187088363992, 0.01547929731317247183, 0.68223832016828933611, 0.01547929731317247183, 0.68223832016828933611, 0.01784164064765456428, 0.01784164064765456428, 0.73399829865858101652, 0.01777660277014278187, 0.16953955070016224482, 0.16953955070016224482, 0.01777660277014278187, 0.73399829865858101652, 0.73399829865858101652, 0.01777660277014278187, 0.16953955070016224482, 0.16953955070016224482, 0.01777660277014278187, 0.73399829865858101652, 0.07868554787111389781, 0.07868554787111389781, 0.07868554787111389781, 0.07868554787111389781, 0.07868554787111389781, 0.07868554787111389781, 0.01777660277014278187, 0.73399829865858101652, 0.01777660277014278187, 0.73399829865858101652, 0.16953955070016224482, 0.16953955070016224482 }; static double c_save[] = { 0.32981515178461928706, 0.32981515178461928706, 0.32981515178461928706, 0.01055454464614207291, 0.05753828268975920424, 0.05753828268975920424, 0.05753828268975920424, 0.82738515193072237341, 0.00585616861378350419, 0.00585616861378350419, 0.00585616861378350419, 0.98243149415864949869, 0.16055547584795665239, 0.16055547584795665239, 0.16055547584795665239, 0.51833357245613009834, 0.09873964607404908667, 0.09873964607404908667, 0.09873964607404908667, 0.70378106177785271225, 0.20805319615972650560, 0.20805319615972650560, 0.20805319615972650560, 0.37584041152082048320, 0.49024797118777646565, 0.49024797118777646565, 0.49024797118777646565, 0.00975202881222352394, 0.00975202881222352394, 0.00975202881222352394, 0.10293940011553258385, 0.10293940011553258385, 0.10293940011553258385, 0.39706059988446740228, 0.39706059988446740228, 0.39706059988446740228, 0.03791346346121513694, 0.03791346346121513694, 0.03791346346121513694, 0.46208653653878484224, 0.46208653653878484224, 0.46208653653878484224, 0.31857357618386039633, 0.31857357618386039633, 0.31857357618386039633, 0.18142642381613963143, 0.18142642381613963143, 0.18142642381613963143, 0.24990921886349984349, 0.24990921886349984349, 0.41893877883766694747, 0.24990921886349984349, 0.24990921886349984349, 0.41893877883766694747, 0.24990921886349984349, 0.24990921886349984349, 0.41893877883766694747, 0.08124278343533337943, 0.08124278343533337943, 0.08124278343533337943, 0.21326337806187573021, 0.21326337806187573021, 0.56287668024978376735, 0.21326337806187573021, 0.21326337806187573021, 0.56287668024978376735, 0.21326337806187573021, 0.21326337806187573021, 0.56287668024978376735, 0.01059656362646482081, 0.01059656362646482081, 0.01059656362646482081, 0.04918128494015905350, 0.04918128494015905350, 0.89546897271401615370, 0.04918128494015905350, 0.04918128494015905350, 0.89546897271401615370, 0.04918128494015905350, 0.04918128494015905350, 0.89546897271401615370, 0.00616845740566568986, 0.00616845740566568986, 0.00616845740566568986, 0.39286261797006011287, 0.39286261797006011287, 0.02066357892967346510, 0.39286261797006011287, 0.39286261797006011287, 0.02066357892967346510, 0.39286261797006011287, 0.39286261797006011287, 0.02066357892967346510, 0.19361118513020625365, 0.19361118513020625365, 0.19361118513020625365, 0.01261760553257071024, 0.01261760553257071024, 0.12690220240749577885, 0.01261760553257071024, 0.01261760553257071024, 0.12690220240749577885, 0.01261760553257071024, 0.01261760553257071024, 0.12690220240749577885, 0.84786258652736279373, 0.84786258652736279373, 0.84786258652736279373, 0.57674061745509475063, 0.12161878434869899390, 0.57674061745509475063, 0.12161878434869899390, 0.06214000311762152978, 0.06214000311762152978, 0.57674061745509475063, 0.12161878434869899390, 0.57674061745509475063, 0.12161878434869899390, 0.06214000311762152978, 0.06214000311762152978, 0.57674061745509475063, 0.12161878434869899390, 0.57674061745509475063, 0.12161878434869899390, 0.06214000311762152978, 0.06214000311762152978, 0.23950059507858473262, 0.23950059507858473262, 0.23950059507858473262, 0.23950059507858473262, 0.23950059507858473262, 0.23950059507858473262, 0.01552211922320787148, 0.34890229604702455157, 0.01552211922320787148, 0.34890229604702455157, 0.55179413211842465170, 0.55179413211842465170, 0.01552211922320787148, 0.34890229604702455157, 0.01552211922320787148, 0.34890229604702455157, 0.55179413211842465170, 0.55179413211842465170, 0.01552211922320787148, 0.34890229604702455157, 0.01552211922320787148, 0.34890229604702455157, 0.55179413211842465170, 0.55179413211842465170, 0.08378145261134291311, 0.08378145261134291311, 0.08378145261134291311, 0.08378145261134291311, 0.08378145261134291311, 0.08378145261134291311, 0.01547929731317247183, 0.68223832016828933611, 0.01547929731317247183, 0.68223832016828933611, 0.01784164064765456428, 0.01784164064765456428, 0.01547929731317247183, 0.68223832016828933611, 0.01547929731317247183, 0.68223832016828933611, 0.01784164064765456428, 0.01784164064765456428, 0.01547929731317247183, 0.68223832016828933611, 0.01547929731317247183, 0.68223832016828933611, 0.01784164064765456428, 0.01784164064765456428, 0.28444074187088363992, 0.28444074187088363992, 0.28444074187088363992, 0.28444074187088363992, 0.28444074187088363992, 0.28444074187088363992, 0.01777660277014278187, 0.73399829865858101652, 0.01777660277014278187, 0.73399829865858101652, 0.16953955070016224482, 0.16953955070016224482, 0.01777660277014278187, 0.73399829865858101652, 0.01777660277014278187, 0.73399829865858101652, 0.16953955070016224482, 0.16953955070016224482, 0.01777660277014278187, 0.73399829865858101652, 0.01777660277014278187, 0.73399829865858101652, 0.16953955070016224482, 0.16953955070016224482, 0.07868554787111389781, 0.07868554787111389781, 0.07868554787111389781, 0.07868554787111389781, 0.07868554787111389781, 0.07868554787111389781 }; static double d_save[] = { 0.01055454464614207291, 0.32981515178461928706, 0.32981515178461928706, 0.32981515178461928706, 0.82738515193072237341, 0.05753828268975920424, 0.05753828268975920424, 0.05753828268975920424, 0.98243149415864949869, 0.00585616861378350419, 0.00585616861378350419, 0.00585616861378350419, 0.51833357245613009834, 0.16055547584795665239, 0.16055547584795665239, 0.16055547584795665239, 0.70378106177785271225, 0.09873964607404908667, 0.09873964607404908667, 0.09873964607404908667, 0.37584041152082048320, 0.20805319615972650560, 0.20805319615972650560, 0.20805319615972650560, 0.00975202881222352394, 0.00975202881222352394, 0.49024797118777646565, 0.00975202881222352394, 0.49024797118777646565, 0.49024797118777646565, 0.39706059988446740228, 0.39706059988446740228, 0.10293940011553258385, 0.39706059988446740228, 0.10293940011553258385, 0.10293940011553258385, 0.46208653653878484224, 0.46208653653878484224, 0.03791346346121513694, 0.46208653653878484224, 0.03791346346121513694, 0.03791346346121513694, 0.18142642381613963143, 0.18142642381613963143, 0.31857357618386039633, 0.18142642381613963143, 0.31857357618386039633, 0.31857357618386039633, 0.08124278343533337943, 0.08124278343533337943, 0.08124278343533337943, 0.41893877883766694747, 0.24990921886349984349, 0.24990921886349984349, 0.41893877883766694747, 0.24990921886349984349, 0.24990921886349984349, 0.41893877883766694747, 0.24990921886349984349, 0.24990921886349984349, 0.01059656362646482081, 0.01059656362646482081, 0.01059656362646482081, 0.56287668024978376735, 0.21326337806187573021, 0.21326337806187573021, 0.56287668024978376735, 0.21326337806187573021, 0.21326337806187573021, 0.56287668024978376735, 0.21326337806187573021, 0.21326337806187573021, 0.00616845740566568986, 0.00616845740566568986, 0.00616845740566568986, 0.89546897271401615370, 0.04918128494015905350, 0.04918128494015905350, 0.89546897271401615370, 0.04918128494015905350, 0.04918128494015905350, 0.89546897271401615370, 0.04918128494015905350, 0.04918128494015905350, 0.19361118513020625365, 0.19361118513020625365, 0.19361118513020625365, 0.02066357892967346510, 0.39286261797006011287, 0.39286261797006011287, 0.02066357892967346510, 0.39286261797006011287, 0.39286261797006011287, 0.02066357892967346510, 0.39286261797006011287, 0.39286261797006011287, 0.84786258652736279373, 0.84786258652736279373, 0.84786258652736279373, 0.12690220240749577885, 0.01261760553257071024, 0.01261760553257071024, 0.12690220240749577885, 0.01261760553257071024, 0.01261760553257071024, 0.12690220240749577885, 0.01261760553257071024, 0.01261760553257071024, 0.23950059507858473262, 0.23950059507858473262, 0.23950059507858473262, 0.23950059507858473262, 0.23950059507858473262, 0.23950059507858473262, 0.06214000311762152978, 0.06214000311762152978, 0.12161878434869899390, 0.57674061745509475063, 0.12161878434869899390, 0.57674061745509475063, 0.06214000311762152978, 0.06214000311762152978, 0.12161878434869899390, 0.57674061745509475063, 0.12161878434869899390, 0.57674061745509475063, 0.06214000311762152978, 0.06214000311762152978, 0.12161878434869899390, 0.57674061745509475063, 0.12161878434869899390, 0.57674061745509475063, 0.08378145261134291311, 0.08378145261134291311, 0.08378145261134291311, 0.08378145261134291311, 0.08378145261134291311, 0.08378145261134291311, 0.55179413211842465170, 0.55179413211842465170, 0.34890229604702455157, 0.01552211922320787148, 0.34890229604702455157, 0.01552211922320787148, 0.55179413211842465170, 0.55179413211842465170, 0.34890229604702455157, 0.01552211922320787148, 0.34890229604702455157, 0.01552211922320787148, 0.55179413211842465170, 0.55179413211842465170, 0.34890229604702455157, 0.01552211922320787148, 0.34890229604702455157, 0.01552211922320787148, 0.28444074187088363992, 0.28444074187088363992, 0.28444074187088363992, 0.28444074187088363992, 0.28444074187088363992, 0.28444074187088363992, 0.01784164064765456428, 0.01784164064765456428, 0.68223832016828933611, 0.01547929731317247183, 0.68223832016828933611, 0.01547929731317247183, 0.01784164064765456428, 0.01784164064765456428, 0.68223832016828933611, 0.01547929731317247183, 0.68223832016828933611, 0.01547929731317247183, 0.01784164064765456428, 0.01784164064765456428, 0.68223832016828933611, 0.01547929731317247183, 0.68223832016828933611, 0.01547929731317247183, 0.07868554787111389781, 0.07868554787111389781, 0.07868554787111389781, 0.07868554787111389781, 0.07868554787111389781, 0.07868554787111389781, 0.16953955070016224482, 0.16953955070016224482, 0.73399829865858101652, 0.01777660277014278187, 0.73399829865858101652, 0.01777660277014278187, 0.16953955070016224482, 0.16953955070016224482, 0.73399829865858101652, 0.01777660277014278187, 0.73399829865858101652, 0.01777660277014278187, 0.16953955070016224482, 0.16953955070016224482, 0.73399829865858101652, 0.01777660277014278187, 0.73399829865858101652, 0.01777660277014278187 }; double w_save[] = { 0.00344543305032338817, 0.00344543305032338817, 0.00344543305032338817, 0.00344543305032338817, 0.00262125527187049689, 0.00262125527187049689, 0.00262125527187049689, 0.00262125527187049689, 0.00011073832418935026, 0.00011073832418935026, 0.00011073832418935026, 0.00011073832418935026, 0.01002858537247380485, 0.01002858537247380485, 0.01002858537247380485, 0.01002858537247380485, 0.00679040845780941229, 0.00679040845780941229, 0.00679040845780941229, 0.00679040845780941229, 0.00711814834189928528, 0.00711814834189928528, 0.00711814834189928528, 0.00711814834189928528, 0.00106005229456405102, 0.00106005229456405102, 0.00106005229456405102, 0.00106005229456405102, 0.00106005229456405102, 0.00106005229456405102, 0.01366983099498089022, 0.01366983099498089022, 0.01366983099498089022, 0.01366983099498089022, 0.01366983099498089022, 0.01366983099498089022, 0.00269074109467615534, 0.00269074109467615534, 0.00269074109467615534, 0.00269074109467615534, 0.00269074109467615534, 0.00269074109467615534, 0.01016460122584274262, 0.01016460122584274262, 0.01016460122584274262, 0.01016460122584274262, 0.01016460122584274262, 0.01016460122584274262, 0.01354439963772739730, 0.01354439963772739730, 0.01354439963772739730, 0.01354439963772739730, 0.01354439963772739730, 0.01354439963772739730, 0.01354439963772739730, 0.01354439963772739730, 0.01354439963772739730, 0.01354439963772739730, 0.01354439963772739730, 0.01354439963772739730, 0.00462334004766979095, 0.00462334004766979095, 0.00462334004766979095, 0.00462334004766979095, 0.00462334004766979095, 0.00462334004766979095, 0.00462334004766979095, 0.00462334004766979095, 0.00462334004766979095, 0.00462334004766979095, 0.00462334004766979095, 0.00462334004766979095, 0.00083314984524733007, 0.00083314984524733007, 0.00083314984524733007, 0.00083314984524733007, 0.00083314984524733007, 0.00083314984524733007, 0.00083314984524733007, 0.00083314984524733007, 0.00083314984524733007, 0.00083314984524733007, 0.00083314984524733007, 0.00083314984524733007, 0.00724029676085724896, 0.00724029676085724896, 0.00724029676085724896, 0.00724029676085724896, 0.00724029676085724896, 0.00724029676085724896, 0.00724029676085724896, 0.00724029676085724896, 0.00724029676085724896, 0.00724029676085724896, 0.00724029676085724896, 0.00724029676085724896, 0.00087518078099780780, 0.00087518078099780780, 0.00087518078099780780, 0.00087518078099780780, 0.00087518078099780780, 0.00087518078099780780, 0.00087518078099780780, 0.00087518078099780780, 0.00087518078099780780, 0.00087518078099780780, 0.00087518078099780780, 0.00087518078099780780, 0.00717253651809843761, 0.00717253651809843761, 0.00717253651809843761, 0.00717253651809843761, 0.00717253651809843761, 0.00717253651809843761, 0.00717253651809843761, 0.00717253651809843761, 0.00717253651809843761, 0.00717253651809843761, 0.00717253651809843761, 0.00717253651809843761, 0.00717253651809843761, 0.00717253651809843761, 0.00717253651809843761, 0.00717253651809843761, 0.00717253651809843761, 0.00717253651809843761, 0.00717253651809843761, 0.00717253651809843761, 0.00717253651809843761, 0.00717253651809843761, 0.00717253651809843761, 0.00717253651809843761, 0.00428685634279078135, 0.00428685634279078135, 0.00428685634279078135, 0.00428685634279078135, 0.00428685634279078135, 0.00428685634279078135, 0.00428685634279078135, 0.00428685634279078135, 0.00428685634279078135, 0.00428685634279078135, 0.00428685634279078135, 0.00428685634279078135, 0.00428685634279078135, 0.00428685634279078135, 0.00428685634279078135, 0.00428685634279078135, 0.00428685634279078135, 0.00428685634279078135, 0.00428685634279078135, 0.00428685634279078135, 0.00428685634279078135, 0.00428685634279078135, 0.00428685634279078135, 0.00428685634279078135, 0.00097575276415068943, 0.00097575276415068943, 0.00097575276415068943, 0.00097575276415068943, 0.00097575276415068943, 0.00097575276415068943, 0.00097575276415068943, 0.00097575276415068943, 0.00097575276415068943, 0.00097575276415068943, 0.00097575276415068943, 0.00097575276415068943, 0.00097575276415068943, 0.00097575276415068943, 0.00097575276415068943, 0.00097575276415068943, 0.00097575276415068943, 0.00097575276415068943, 0.00097575276415068943, 0.00097575276415068943, 0.00097575276415068943, 0.00097575276415068943, 0.00097575276415068943, 0.00097575276415068943, 0.00375793629976672178, 0.00375793629976672178, 0.00375793629976672178, 0.00375793629976672178, 0.00375793629976672178, 0.00375793629976672178, 0.00375793629976672178, 0.00375793629976672178, 0.00375793629976672178, 0.00375793629976672178, 0.00375793629976672178, 0.00375793629976672178, 0.00375793629976672178, 0.00375793629976672178, 0.00375793629976672178, 0.00375793629976672178, 0.00375793629976672178, 0.00375793629976672178, 0.00375793629976672178, 0.00375793629976672178, 0.00375793629976672178, 0.00375793629976672178, 0.00375793629976672178, 0.00375793629976672178 }; r8vec_copy ( n, a_save, a ); r8vec_copy ( n, b_save, b ); r8vec_copy ( n, c_save, c ); r8vec_copy ( n, d_save, d ); r8vec_copy ( n, w_save, w ); return; } /******************************************************************************/ void rule15 ( int n, double a[], double b[], double c[], double d[], double w[] ) /******************************************************************************/ /* Purpose: rule15() returns the rule of precision 15. Licensing: This code is distributed under the MIT license. Modified: 02 April 2023 Author: John Burkardt Reference: Jan Jaskowiec, Natarajan Sukumar, High order symmetric cubature rules for tetrahedra and pyramids, International Journal of Numerical Methods in Engineering, Volume 122, Number 1, pages 148-171, 24 August 2020. Input: int n: the number of quadrature points for this rule. Output: double a[n], b[n], c[n], d[n]: the barycentric coordinates of quadrature points. double w[n]: the quadrature weights. */ { static double a_save[] = { 0.01692642158547220249, 0.94922073524358341334, 0.01692642158547220249, 0.01692642158547220249, 0.28367792545957221106, 0.14896622362128333905, 0.28367792545957221106, 0.28367792545957221106, 0.18219841399758585077, 0.45340475800724244770, 0.18219841399758585077, 0.18219841399758585077, 0.48549199484781541125, 0.01450800515218459395, 0.48549199484781541125, 0.01450800515218459395, 0.48549199484781541125, 0.01450800515218459395, 0.35725585623414363168, 0.14274414376585639608, 0.35725585623414363168, 0.14274414376585639608, 0.35725585623414363168, 0.14274414376585639608, 0.77663574937330037695, 0.07321727256195353917, 0.07321727256195353917, 0.07692970550279260022, 0.07692970550279260022, 0.07692970550279260022, 0.07321727256195353917, 0.77663574937330037695, 0.07321727256195353917, 0.07321727256195353917, 0.77663574937330037695, 0.07321727256195353917, 0.22256065549243442270, 0.01056558410489698979, 0.01056558410489698979, 0.75630817629777158384, 0.75630817629777158384, 0.75630817629777158384, 0.01056558410489698979, 0.22256065549243442270, 0.01056558410489698979, 0.01056558410489698979, 0.22256065549243442270, 0.01056558410489698979, 0.05575022240565973008, 0.26379726266881464714, 0.26379726266881464714, 0.41665525225671096177, 0.41665525225671096177, 0.41665525225671096177, 0.26379726266881464714, 0.05575022240565973008, 0.26379726266881464714, 0.26379726266881464714, 0.05575022240565973008, 0.26379726266881464714, 0.11129092670553288047, 0.43549027029938169875, 0.43549027029938169875, 0.01772853269570365958, 0.01772853269570365958, 0.01772853269570365958, 0.43549027029938169875, 0.11129092670553288047, 0.43549027029938169875, 0.43549027029938169875, 0.11129092670553288047, 0.43549027029938169875, 0.54488653229756034424, 0.05347259364185193153, 0.05347259364185193153, 0.34816828041873582045, 0.34816828041873582045, 0.34816828041873582045, 0.05347259364185193153, 0.54488653229756034424, 0.05347259364185193153, 0.05347259364185193153, 0.54488653229756034424, 0.05347259364185193153, 0.76947037794054062854, 0.11053089395801002359, 0.11053089395801002359, 0.00946783414343936938, 0.00946783414343936938, 0.00946783414343936938, 0.11053089395801002359, 0.76947037794054062854, 0.11053089395801002359, 0.11053089395801002359, 0.76947037794054062854, 0.11053089395801002359, 0.60309364407709864508, 0.60309364407709864508, 0.04104670514991076019, 0.35353072635750920627, 0.04104670514991076019, 0.35353072635750920627, 0.00232892441548140190, 0.00232892441548140190, 0.00232892441548140190, 0.00232892441548140190, 0.00232892441548140190, 0.00232892441548140190, 0.04104670514991076019, 0.35353072635750920627, 0.60309364407709864508, 0.60309364407709864508, 0.35353072635750920627, 0.04104670514991076019, 0.04104670514991076019, 0.35353072635750920627, 0.60309364407709864508, 0.60309364407709864508, 0.35353072635750920627, 0.04104670514991076019, 0.02939319332917082403, 0.02939319332917082403, 0.09201667327695257914, 0.01132552826969512351, 0.09201667327695257914, 0.01132552826969512351, 0.86726460512418146465, 0.86726460512418146465, 0.86726460512418146465, 0.86726460512418146465, 0.86726460512418146465, 0.86726460512418146465, 0.09201667327695257914, 0.01132552826969512351, 0.02939319332917082403, 0.02939319332917082403, 0.01132552826969512351, 0.09201667327695257914, 0.09201667327695257914, 0.01132552826969512351, 0.02939319332917082403, 0.02939319332917082403, 0.01132552826969512351, 0.09201667327695257914, 0.70778148731559709095, 0.70778148731559709095, 0.06822627868000051554, 0.20198579644578576464, 0.06822627868000051554, 0.20198579644578576464, 0.02200643755861661846, 0.02200643755861661846, 0.02200643755861661846, 0.02200643755861661846, 0.02200643755861661846, 0.02200643755861661846, 0.06822627868000051554, 0.20198579644578576464, 0.70778148731559709095, 0.70778148731559709095, 0.20198579644578576464, 0.06822627868000051554, 0.06822627868000051554, 0.20198579644578576464, 0.70778148731559709095, 0.70778148731559709095, 0.20198579644578576464, 0.06822627868000051554, 0.12958095976745337419, 0.12958095976745337419, 0.18900155563861761876, 0.61334215480592257919, 0.18900155563861761876, 0.61334215480592257919, 0.06807532978800637236, 0.06807532978800637236, 0.06807532978800637236, 0.06807532978800637236, 0.06807532978800637236, 0.06807532978800637236, 0.18900155563861761876, 0.61334215480592257919, 0.12958095976745337419, 0.12958095976745337419, 0.61334215480592257919, 0.18900155563861761876, 0.18900155563861761876, 0.61334215480592257919, 0.12958095976745337419, 0.12958095976745337419, 0.61334215480592257919, 0.18900155563861761876, 0.46953330036626755861, 0.46953330036626755861, 0.30547996639060115420, 0.15247189000943978110, 0.30547996639060115420, 0.15247189000943978110, 0.07251484323369149221, 0.07251484323369149221, 0.07251484323369149221, 0.07251484323369149221, 0.07251484323369149221, 0.07251484323369149221, 0.30547996639060115420, 0.15247189000943978110, 0.46953330036626755861, 0.46953330036626755861, 0.15247189000943978110, 0.30547996639060115420, 0.30547996639060115420, 0.15247189000943978110, 0.46953330036626755861, 0.46953330036626755861, 0.15247189000943978110, 0.30547996639060115420, 0.57783462614827529880, 0.57783462614827529880, 0.15091455008251053460, 0.26012308345640794416, 0.15091455008251053460, 0.26012308345640794416, 0.01112774031280626234, 0.01112774031280626234, 0.01112774031280626234, 0.01112774031280626234, 0.01112774031280626234, 0.01112774031280626234, 0.15091455008251053460, 0.26012308345640794416, 0.57783462614827529880, 0.57783462614827529880, 0.26012308345640794416, 0.15091455008251053460, 0.15091455008251053460, 0.26012308345640794416, 0.57783462614827529880, 0.57783462614827529880, 0.26012308345640794416, 0.15091455008251053460, 0.01082194753682293349, 0.01082194753682293349, 0.33684506585476453600, 0.23472603374410913601, 0.33684506585476453600, 0.23472603374410913601, 0.41760695286430338236, 0.41760695286430338236, 0.41760695286430338236, 0.41760695286430338236, 0.41760695286430338236, 0.41760695286430338236, 0.33684506585476453600, 0.23472603374410913601, 0.01082194753682293349, 0.01082194753682293349, 0.23472603374410913601, 0.33684506585476453600, 0.33684506585476453600, 0.23472603374410913601, 0.01082194753682293349, 0.01082194753682293349, 0.23472603374410913601, 0.33684506585476453600 }; static double b_save[] = { 0.01692642158547220249, 0.01692642158547220249, 0.94922073524358341334, 0.01692642158547220249, 0.28367792545957221106, 0.28367792545957221106, 0.14896622362128333905, 0.28367792545957221106, 0.18219841399758585077, 0.18219841399758585077, 0.45340475800724244770, 0.18219841399758585077, 0.01450800515218459395, 0.48549199484781541125, 0.48549199484781541125, 0.01450800515218459395, 0.01450800515218459395, 0.48549199484781541125, 0.14274414376585639608, 0.35725585623414363168, 0.35725585623414363168, 0.14274414376585639608, 0.14274414376585639608, 0.35725585623414363168, 0.07321727256195353917, 0.77663574937330037695, 0.07321727256195353917, 0.07321727256195353917, 0.77663574937330037695, 0.07321727256195353917, 0.07692970550279260022, 0.07692970550279260022, 0.07692970550279260022, 0.07321727256195353917, 0.07321727256195353917, 0.77663574937330037695, 0.01056558410489698979, 0.22256065549243442270, 0.01056558410489698979, 0.01056558410489698979, 0.22256065549243442270, 0.01056558410489698979, 0.75630817629777158384, 0.75630817629777158384, 0.75630817629777158384, 0.01056558410489698979, 0.01056558410489698979, 0.22256065549243442270, 0.26379726266881464714, 0.05575022240565973008, 0.26379726266881464714, 0.26379726266881464714, 0.05575022240565973008, 0.26379726266881464714, 0.41665525225671096177, 0.41665525225671096177, 0.41665525225671096177, 0.26379726266881464714, 0.26379726266881464714, 0.05575022240565973008, 0.43549027029938169875, 0.11129092670553288047, 0.43549027029938169875, 0.43549027029938169875, 0.11129092670553288047, 0.43549027029938169875, 0.01772853269570365958, 0.01772853269570365958, 0.01772853269570365958, 0.43549027029938169875, 0.43549027029938169875, 0.11129092670553288047, 0.05347259364185193153, 0.54488653229756034424, 0.05347259364185193153, 0.05347259364185193153, 0.54488653229756034424, 0.05347259364185193153, 0.34816828041873582045, 0.34816828041873582045, 0.34816828041873582045, 0.05347259364185193153, 0.05347259364185193153, 0.54488653229756034424, 0.11053089395801002359, 0.76947037794054062854, 0.11053089395801002359, 0.11053089395801002359, 0.76947037794054062854, 0.11053089395801002359, 0.00946783414343936938, 0.00946783414343936938, 0.00946783414343936938, 0.11053089395801002359, 0.11053089395801002359, 0.76947037794054062854, 0.04104670514991076019, 0.35353072635750920627, 0.60309364407709864508, 0.60309364407709864508, 0.35353072635750920627, 0.04104670514991076019, 0.04104670514991076019, 0.35353072635750920627, 0.60309364407709864508, 0.60309364407709864508, 0.35353072635750920627, 0.04104670514991076019, 0.00232892441548140190, 0.00232892441548140190, 0.00232892441548140190, 0.00232892441548140190, 0.00232892441548140190, 0.00232892441548140190, 0.35353072635750920627, 0.04104670514991076019, 0.35353072635750920627, 0.04104670514991076019, 0.60309364407709864508, 0.60309364407709864508, 0.09201667327695257914, 0.01132552826969512351, 0.02939319332917082403, 0.02939319332917082403, 0.01132552826969512351, 0.09201667327695257914, 0.09201667327695257914, 0.01132552826969512351, 0.02939319332917082403, 0.02939319332917082403, 0.01132552826969512351, 0.09201667327695257914, 0.86726460512418146465, 0.86726460512418146465, 0.86726460512418146465, 0.86726460512418146465, 0.86726460512418146465, 0.86726460512418146465, 0.01132552826969512351, 0.09201667327695257914, 0.01132552826969512351, 0.09201667327695257914, 0.02939319332917082403, 0.02939319332917082403, 0.06822627868000051554, 0.20198579644578576464, 0.70778148731559709095, 0.70778148731559709095, 0.20198579644578576464, 0.06822627868000051554, 0.06822627868000051554, 0.20198579644578576464, 0.70778148731559709095, 0.70778148731559709095, 0.20198579644578576464, 0.06822627868000051554, 0.02200643755861661846, 0.02200643755861661846, 0.02200643755861661846, 0.02200643755861661846, 0.02200643755861661846, 0.02200643755861661846, 0.20198579644578576464, 0.06822627868000051554, 0.20198579644578576464, 0.06822627868000051554, 0.70778148731559709095, 0.70778148731559709095, 0.18900155563861761876, 0.61334215480592257919, 0.12958095976745337419, 0.12958095976745337419, 0.61334215480592257919, 0.18900155563861761876, 0.18900155563861761876, 0.61334215480592257919, 0.12958095976745337419, 0.12958095976745337419, 0.61334215480592257919, 0.18900155563861761876, 0.06807532978800637236, 0.06807532978800637236, 0.06807532978800637236, 0.06807532978800637236, 0.06807532978800637236, 0.06807532978800637236, 0.61334215480592257919, 0.18900155563861761876, 0.61334215480592257919, 0.18900155563861761876, 0.12958095976745337419, 0.12958095976745337419, 0.30547996639060115420, 0.15247189000943978110, 0.46953330036626755861, 0.46953330036626755861, 0.15247189000943978110, 0.30547996639060115420, 0.30547996639060115420, 0.15247189000943978110, 0.46953330036626755861, 0.46953330036626755861, 0.15247189000943978110, 0.30547996639060115420, 0.07251484323369149221, 0.07251484323369149221, 0.07251484323369149221, 0.07251484323369149221, 0.07251484323369149221, 0.07251484323369149221, 0.15247189000943978110, 0.30547996639060115420, 0.15247189000943978110, 0.30547996639060115420, 0.46953330036626755861, 0.46953330036626755861, 0.15091455008251053460, 0.26012308345640794416, 0.57783462614827529880, 0.57783462614827529880, 0.26012308345640794416, 0.15091455008251053460, 0.15091455008251053460, 0.26012308345640794416, 0.57783462614827529880, 0.57783462614827529880, 0.26012308345640794416, 0.15091455008251053460, 0.01112774031280626234, 0.01112774031280626234, 0.01112774031280626234, 0.01112774031280626234, 0.01112774031280626234, 0.01112774031280626234, 0.26012308345640794416, 0.15091455008251053460, 0.26012308345640794416, 0.15091455008251053460, 0.57783462614827529880, 0.57783462614827529880, 0.33684506585476453600, 0.23472603374410913601, 0.01082194753682293349, 0.01082194753682293349, 0.23472603374410913601, 0.33684506585476453600, 0.33684506585476453600, 0.23472603374410913601, 0.01082194753682293349, 0.01082194753682293349, 0.23472603374410913601, 0.33684506585476453600, 0.41760695286430338236, 0.41760695286430338236, 0.41760695286430338236, 0.41760695286430338236, 0.41760695286430338236, 0.41760695286430338236, 0.23472603374410913601, 0.33684506585476453600, 0.23472603374410913601, 0.33684506585476453600, 0.01082194753682293349, 0.01082194753682293349 }; static double c_save[] = { 0.01692642158547220249, 0.01692642158547220249, 0.01692642158547220249, 0.94922073524358341334, 0.28367792545957221106, 0.28367792545957221106, 0.28367792545957221106, 0.14896622362128333905, 0.18219841399758585077, 0.18219841399758585077, 0.18219841399758585077, 0.45340475800724244770, 0.01450800515218459395, 0.01450800515218459395, 0.01450800515218459395, 0.48549199484781541125, 0.48549199484781541125, 0.48549199484781541125, 0.14274414376585639608, 0.14274414376585639608, 0.14274414376585639608, 0.35725585623414363168, 0.35725585623414363168, 0.35725585623414363168, 0.07321727256195353917, 0.07321727256195353917, 0.77663574937330037695, 0.07321727256195353917, 0.07321727256195353917, 0.77663574937330037695, 0.07321727256195353917, 0.07321727256195353917, 0.77663574937330037695, 0.07692970550279260022, 0.07692970550279260022, 0.07692970550279260022, 0.01056558410489698979, 0.01056558410489698979, 0.22256065549243442270, 0.01056558410489698979, 0.01056558410489698979, 0.22256065549243442270, 0.01056558410489698979, 0.01056558410489698979, 0.22256065549243442270, 0.75630817629777158384, 0.75630817629777158384, 0.75630817629777158384, 0.26379726266881464714, 0.26379726266881464714, 0.05575022240565973008, 0.26379726266881464714, 0.26379726266881464714, 0.05575022240565973008, 0.26379726266881464714, 0.26379726266881464714, 0.05575022240565973008, 0.41665525225671096177, 0.41665525225671096177, 0.41665525225671096177, 0.43549027029938169875, 0.43549027029938169875, 0.11129092670553288047, 0.43549027029938169875, 0.43549027029938169875, 0.11129092670553288047, 0.43549027029938169875, 0.43549027029938169875, 0.11129092670553288047, 0.01772853269570365958, 0.01772853269570365958, 0.01772853269570365958, 0.05347259364185193153, 0.05347259364185193153, 0.54488653229756034424, 0.05347259364185193153, 0.05347259364185193153, 0.54488653229756034424, 0.05347259364185193153, 0.05347259364185193153, 0.54488653229756034424, 0.34816828041873582045, 0.34816828041873582045, 0.34816828041873582045, 0.11053089395801002359, 0.11053089395801002359, 0.76947037794054062854, 0.11053089395801002359, 0.11053089395801002359, 0.76947037794054062854, 0.11053089395801002359, 0.11053089395801002359, 0.76947037794054062854, 0.00946783414343936938, 0.00946783414343936938, 0.00946783414343936938, 0.35353072635750920627, 0.04104670514991076019, 0.35353072635750920627, 0.04104670514991076019, 0.60309364407709864508, 0.60309364407709864508, 0.35353072635750920627, 0.04104670514991076019, 0.35353072635750920627, 0.04104670514991076019, 0.60309364407709864508, 0.60309364407709864508, 0.35353072635750920627, 0.04104670514991076019, 0.35353072635750920627, 0.04104670514991076019, 0.60309364407709864508, 0.60309364407709864508, 0.00232892441548140190, 0.00232892441548140190, 0.00232892441548140190, 0.00232892441548140190, 0.00232892441548140190, 0.00232892441548140190, 0.01132552826969512351, 0.09201667327695257914, 0.01132552826969512351, 0.09201667327695257914, 0.02939319332917082403, 0.02939319332917082403, 0.01132552826969512351, 0.09201667327695257914, 0.01132552826969512351, 0.09201667327695257914, 0.02939319332917082403, 0.02939319332917082403, 0.01132552826969512351, 0.09201667327695257914, 0.01132552826969512351, 0.09201667327695257914, 0.02939319332917082403, 0.02939319332917082403, 0.86726460512418146465, 0.86726460512418146465, 0.86726460512418146465, 0.86726460512418146465, 0.86726460512418146465, 0.86726460512418146465, 0.20198579644578576464, 0.06822627868000051554, 0.20198579644578576464, 0.06822627868000051554, 0.70778148731559709095, 0.70778148731559709095, 0.20198579644578576464, 0.06822627868000051554, 0.20198579644578576464, 0.06822627868000051554, 0.70778148731559709095, 0.70778148731559709095, 0.20198579644578576464, 0.06822627868000051554, 0.20198579644578576464, 0.06822627868000051554, 0.70778148731559709095, 0.70778148731559709095, 0.02200643755861661846, 0.02200643755861661846, 0.02200643755861661846, 0.02200643755861661846, 0.02200643755861661846, 0.02200643755861661846, 0.61334215480592257919, 0.18900155563861761876, 0.61334215480592257919, 0.18900155563861761876, 0.12958095976745337419, 0.12958095976745337419, 0.61334215480592257919, 0.18900155563861761876, 0.61334215480592257919, 0.18900155563861761876, 0.12958095976745337419, 0.12958095976745337419, 0.61334215480592257919, 0.18900155563861761876, 0.61334215480592257919, 0.18900155563861761876, 0.12958095976745337419, 0.12958095976745337419, 0.06807532978800637236, 0.06807532978800637236, 0.06807532978800637236, 0.06807532978800637236, 0.06807532978800637236, 0.06807532978800637236, 0.15247189000943978110, 0.30547996639060115420, 0.15247189000943978110, 0.30547996639060115420, 0.46953330036626755861, 0.46953330036626755861, 0.15247189000943978110, 0.30547996639060115420, 0.15247189000943978110, 0.30547996639060115420, 0.46953330036626755861, 0.46953330036626755861, 0.15247189000943978110, 0.30547996639060115420, 0.15247189000943978110, 0.30547996639060115420, 0.46953330036626755861, 0.46953330036626755861, 0.07251484323369149221, 0.07251484323369149221, 0.07251484323369149221, 0.07251484323369149221, 0.07251484323369149221, 0.07251484323369149221, 0.26012308345640794416, 0.15091455008251053460, 0.26012308345640794416, 0.15091455008251053460, 0.57783462614827529880, 0.57783462614827529880, 0.26012308345640794416, 0.15091455008251053460, 0.26012308345640794416, 0.15091455008251053460, 0.57783462614827529880, 0.57783462614827529880, 0.26012308345640794416, 0.15091455008251053460, 0.26012308345640794416, 0.15091455008251053460, 0.57783462614827529880, 0.57783462614827529880, 0.01112774031280626234, 0.01112774031280626234, 0.01112774031280626234, 0.01112774031280626234, 0.01112774031280626234, 0.01112774031280626234, 0.23472603374410913601, 0.33684506585476453600, 0.23472603374410913601, 0.33684506585476453600, 0.01082194753682293349, 0.01082194753682293349, 0.23472603374410913601, 0.33684506585476453600, 0.23472603374410913601, 0.33684506585476453600, 0.01082194753682293349, 0.01082194753682293349, 0.23472603374410913601, 0.33684506585476453600, 0.23472603374410913601, 0.33684506585476453600, 0.01082194753682293349, 0.01082194753682293349, 0.41760695286430338236, 0.41760695286430338236, 0.41760695286430338236, 0.41760695286430338236, 0.41760695286430338236, 0.41760695286430338236 }; static double d_save[] = { 0.94922073524358341334, 0.01692642158547220249, 0.01692642158547220249, 0.01692642158547220249, 0.14896622362128333905, 0.28367792545957221106, 0.28367792545957221106, 0.28367792545957221106, 0.45340475800724244770, 0.18219841399758585077, 0.18219841399758585077, 0.18219841399758585077, 0.48549199484781541125, 0.48549199484781541125, 0.01450800515218459395, 0.48549199484781541125, 0.01450800515218459395, 0.01450800515218459395, 0.35725585623414363168, 0.35725585623414363168, 0.14274414376585639608, 0.35725585623414363168, 0.14274414376585639608, 0.14274414376585639608, 0.07692970550279260022, 0.07692970550279260022, 0.07692970550279260022, 0.77663574937330037695, 0.07321727256195353917, 0.07321727256195353917, 0.77663574937330037695, 0.07321727256195353917, 0.07321727256195353917, 0.77663574937330037695, 0.07321727256195353917, 0.07321727256195353917, 0.75630817629777158384, 0.75630817629777158384, 0.75630817629777158384, 0.22256065549243442270, 0.01056558410489698979, 0.01056558410489698979, 0.22256065549243442270, 0.01056558410489698979, 0.01056558410489698979, 0.22256065549243442270, 0.01056558410489698979, 0.01056558410489698979, 0.41665525225671096177, 0.41665525225671096177, 0.41665525225671096177, 0.05575022240565973008, 0.26379726266881464714, 0.26379726266881464714, 0.05575022240565973008, 0.26379726266881464714, 0.26379726266881464714, 0.05575022240565973008, 0.26379726266881464714, 0.26379726266881464714, 0.01772853269570365958, 0.01772853269570365958, 0.01772853269570365958, 0.11129092670553288047, 0.43549027029938169875, 0.43549027029938169875, 0.11129092670553288047, 0.43549027029938169875, 0.43549027029938169875, 0.11129092670553288047, 0.43549027029938169875, 0.43549027029938169875, 0.34816828041873582045, 0.34816828041873582045, 0.34816828041873582045, 0.54488653229756034424, 0.05347259364185193153, 0.05347259364185193153, 0.54488653229756034424, 0.05347259364185193153, 0.05347259364185193153, 0.54488653229756034424, 0.05347259364185193153, 0.05347259364185193153, 0.00946783414343936938, 0.00946783414343936938, 0.00946783414343936938, 0.76947037794054062854, 0.11053089395801002359, 0.11053089395801002359, 0.76947037794054062854, 0.11053089395801002359, 0.11053089395801002359, 0.76947037794054062854, 0.11053089395801002359, 0.11053089395801002359, 0.00232892441548140190, 0.00232892441548140190, 0.00232892441548140190, 0.00232892441548140190, 0.00232892441548140190, 0.00232892441548140190, 0.60309364407709864508, 0.60309364407709864508, 0.04104670514991076019, 0.35353072635750920627, 0.04104670514991076019, 0.35353072635750920627, 0.60309364407709864508, 0.60309364407709864508, 0.04104670514991076019, 0.35353072635750920627, 0.04104670514991076019, 0.35353072635750920627, 0.60309364407709864508, 0.60309364407709864508, 0.04104670514991076019, 0.35353072635750920627, 0.04104670514991076019, 0.35353072635750920627, 0.86726460512418146465, 0.86726460512418146465, 0.86726460512418146465, 0.86726460512418146465, 0.86726460512418146465, 0.86726460512418146465, 0.02939319332917082403, 0.02939319332917082403, 0.09201667327695257914, 0.01132552826969512351, 0.09201667327695257914, 0.01132552826969512351, 0.02939319332917082403, 0.02939319332917082403, 0.09201667327695257914, 0.01132552826969512351, 0.09201667327695257914, 0.01132552826969512351, 0.02939319332917082403, 0.02939319332917082403, 0.09201667327695257914, 0.01132552826969512351, 0.09201667327695257914, 0.01132552826969512351, 0.02200643755861661846, 0.02200643755861661846, 0.02200643755861661846, 0.02200643755861661846, 0.02200643755861661846, 0.02200643755861661846, 0.70778148731559709095, 0.70778148731559709095, 0.06822627868000051554, 0.20198579644578576464, 0.06822627868000051554, 0.20198579644578576464, 0.70778148731559709095, 0.70778148731559709095, 0.06822627868000051554, 0.20198579644578576464, 0.06822627868000051554, 0.20198579644578576464, 0.70778148731559709095, 0.70778148731559709095, 0.06822627868000051554, 0.20198579644578576464, 0.06822627868000051554, 0.20198579644578576464, 0.06807532978800637236, 0.06807532978800637236, 0.06807532978800637236, 0.06807532978800637236, 0.06807532978800637236, 0.06807532978800637236, 0.12958095976745337419, 0.12958095976745337419, 0.18900155563861761876, 0.61334215480592257919, 0.18900155563861761876, 0.61334215480592257919, 0.12958095976745337419, 0.12958095976745337419, 0.18900155563861761876, 0.61334215480592257919, 0.18900155563861761876, 0.61334215480592257919, 0.12958095976745337419, 0.12958095976745337419, 0.18900155563861761876, 0.61334215480592257919, 0.18900155563861761876, 0.61334215480592257919, 0.07251484323369149221, 0.07251484323369149221, 0.07251484323369149221, 0.07251484323369149221, 0.07251484323369149221, 0.07251484323369149221, 0.46953330036626755861, 0.46953330036626755861, 0.30547996639060115420, 0.15247189000943978110, 0.30547996639060115420, 0.15247189000943978110, 0.46953330036626755861, 0.46953330036626755861, 0.30547996639060115420, 0.15247189000943978110, 0.30547996639060115420, 0.15247189000943978110, 0.46953330036626755861, 0.46953330036626755861, 0.30547996639060115420, 0.15247189000943978110, 0.30547996639060115420, 0.15247189000943978110, 0.01112774031280626234, 0.01112774031280626234, 0.01112774031280626234, 0.01112774031280626234, 0.01112774031280626234, 0.01112774031280626234, 0.57783462614827529880, 0.57783462614827529880, 0.15091455008251053460, 0.26012308345640794416, 0.15091455008251053460, 0.26012308345640794416, 0.57783462614827529880, 0.57783462614827529880, 0.15091455008251053460, 0.26012308345640794416, 0.15091455008251053460, 0.26012308345640794416, 0.57783462614827529880, 0.57783462614827529880, 0.15091455008251053460, 0.26012308345640794416, 0.15091455008251053460, 0.26012308345640794416, 0.41760695286430338236, 0.41760695286430338236, 0.41760695286430338236, 0.41760695286430338236, 0.41760695286430338236, 0.41760695286430338236, 0.01082194753682293349, 0.01082194753682293349, 0.33684506585476453600, 0.23472603374410913601, 0.33684506585476453600, 0.23472603374410913601, 0.01082194753682293349, 0.01082194753682293349, 0.33684506585476453600, 0.23472603374410913601, 0.33684506585476453600, 0.23472603374410913601, 0.01082194753682293349, 0.01082194753682293349, 0.33684506585476453600, 0.23472603374410913601, 0.33684506585476453600, 0.23472603374410913601 }; double w_save[] = { 0.00051120297714549352, 0.00051120297714549352, 0.00051120297714549352, 0.00051120297714549352, 0.01620740592022657661, 0.01620740592022657661, 0.01620740592022657661, 0.01620740592022657661, 0.01552578602041313621, 0.01552578602041313621, 0.01552578602041313621, 0.01552578602041313621, 0.00121901025997542137, 0.00121901025997542137, 0.00121901025997542137, 0.00121901025997542137, 0.00121901025997542137, 0.00121901025997542137, 0.00847286285312591654, 0.00847286285312591654, 0.00847286285312591654, 0.00847286285312591654, 0.00847286285312591654, 0.00847286285312591654, 0.00179753430540573298, 0.00179753430540573298, 0.00179753430540573298, 0.00179753430540573298, 0.00179753430540573298, 0.00179753430540573298, 0.00179753430540573298, 0.00179753430540573298, 0.00179753430540573298, 0.00179753430540573298, 0.00179753430540573298, 0.00179753430540573298, 0.00081980152207600612, 0.00081980152207600612, 0.00081980152207600612, 0.00081980152207600612, 0.00081980152207600612, 0.00081980152207600612, 0.00081980152207600612, 0.00081980152207600612, 0.00081980152207600612, 0.00081980152207600612, 0.00081980152207600612, 0.00081980152207600612, 0.00768177527247301210, 0.00768177527247301210, 0.00768177527247301210, 0.00768177527247301210, 0.00768177527247301210, 0.00768177527247301210, 0.00768177527247301210, 0.00768177527247301210, 0.00768177527247301210, 0.00768177527247301210, 0.00768177527247301210, 0.00768177527247301210, 0.00447985038577478067, 0.00447985038577478067, 0.00447985038577478067, 0.00447985038577478067, 0.00447985038577478067, 0.00447985038577478067, 0.00447985038577478067, 0.00447985038577478067, 0.00447985038577478067, 0.00447985038577478067, 0.00447985038577478067, 0.00447985038577478067, 0.00561529860838435452, 0.00561529860838435452, 0.00561529860838435452, 0.00561529860838435452, 0.00561529860838435452, 0.00561529860838435452, 0.00561529860838435452, 0.00561529860838435452, 0.00561529860838435452, 0.00561529860838435452, 0.00561529860838435452, 0.00561529860838435452, 0.00176970368579728991, 0.00176970368579728991, 0.00176970368579728991, 0.00176970368579728991, 0.00176970368579728991, 0.00176970368579728991, 0.00176970368579728991, 0.00176970368579728991, 0.00176970368579728991, 0.00176970368579728991, 0.00176970368579728991, 0.00176970368579728991, 0.00113113832918702211, 0.00113113832918702211, 0.00113113832918702211, 0.00113113832918702211, 0.00113113832918702211, 0.00113113832918702211, 0.00113113832918702211, 0.00113113832918702211, 0.00113113832918702211, 0.00113113832918702211, 0.00113113832918702211, 0.00113113832918702211, 0.00113113832918702211, 0.00113113832918702211, 0.00113113832918702211, 0.00113113832918702211, 0.00113113832918702211, 0.00113113832918702211, 0.00113113832918702211, 0.00113113832918702211, 0.00113113832918702211, 0.00113113832918702211, 0.00113113832918702211, 0.00113113832918702211, 0.00084049934075774871, 0.00084049934075774871, 0.00084049934075774871, 0.00084049934075774871, 0.00084049934075774871, 0.00084049934075774871, 0.00084049934075774871, 0.00084049934075774871, 0.00084049934075774871, 0.00084049934075774871, 0.00084049934075774871, 0.00084049934075774871, 0.00084049934075774871, 0.00084049934075774871, 0.00084049934075774871, 0.00084049934075774871, 0.00084049934075774871, 0.00084049934075774871, 0.00084049934075774871, 0.00084049934075774871, 0.00084049934075774871, 0.00084049934075774871, 0.00084049934075774871, 0.00084049934075774871, 0.00301196860740268442, 0.00301196860740268442, 0.00301196860740268442, 0.00301196860740268442, 0.00301196860740268442, 0.00301196860740268442, 0.00301196860740268442, 0.00301196860740268442, 0.00301196860740268442, 0.00301196860740268442, 0.00301196860740268442, 0.00301196860740268442, 0.00301196860740268442, 0.00301196860740268442, 0.00301196860740268442, 0.00301196860740268442, 0.00301196860740268442, 0.00301196860740268442, 0.00301196860740268442, 0.00301196860740268442, 0.00301196860740268442, 0.00301196860740268442, 0.00301196860740268442, 0.00301196860740268442, 0.00508442932752266839, 0.00508442932752266839, 0.00508442932752266839, 0.00508442932752266839, 0.00508442932752266839, 0.00508442932752266839, 0.00508442932752266839, 0.00508442932752266839, 0.00508442932752266839, 0.00508442932752266839, 0.00508442932752266839, 0.00508442932752266839, 0.00508442932752266839, 0.00508442932752266839, 0.00508442932752266839, 0.00508442932752266839, 0.00508442932752266839, 0.00508442932752266839, 0.00508442932752266839, 0.00508442932752266839, 0.00508442932752266839, 0.00508442932752266839, 0.00508442932752266839, 0.00508442932752266839, 0.00713938372800399564, 0.00713938372800399564, 0.00713938372800399564, 0.00713938372800399564, 0.00713938372800399564, 0.00713938372800399564, 0.00713938372800399564, 0.00713938372800399564, 0.00713938372800399564, 0.00713938372800399564, 0.00713938372800399564, 0.00713938372800399564, 0.00713938372800399564, 0.00713938372800399564, 0.00713938372800399564, 0.00713938372800399564, 0.00713938372800399564, 0.00713938372800399564, 0.00713938372800399564, 0.00713938372800399564, 0.00713938372800399564, 0.00713938372800399564, 0.00713938372800399564, 0.00713938372800399564, 0.00337855056822929448, 0.00337855056822929448, 0.00337855056822929448, 0.00337855056822929448, 0.00337855056822929448, 0.00337855056822929448, 0.00337855056822929448, 0.00337855056822929448, 0.00337855056822929448, 0.00337855056822929448, 0.00337855056822929448, 0.00337855056822929448, 0.00337855056822929448, 0.00337855056822929448, 0.00337855056822929448, 0.00337855056822929448, 0.00337855056822929448, 0.00337855056822929448, 0.00337855056822929448, 0.00337855056822929448, 0.00337855056822929448, 0.00337855056822929448, 0.00337855056822929448, 0.00337855056822929448, 0.00220168077770146239, 0.00220168077770146239, 0.00220168077770146239, 0.00220168077770146239, 0.00220168077770146239, 0.00220168077770146239, 0.00220168077770146239, 0.00220168077770146239, 0.00220168077770146239, 0.00220168077770146239, 0.00220168077770146239, 0.00220168077770146239, 0.00220168077770146239, 0.00220168077770146239, 0.00220168077770146239, 0.00220168077770146239, 0.00220168077770146239, 0.00220168077770146239, 0.00220168077770146239, 0.00220168077770146239, 0.00220168077770146239, 0.00220168077770146239, 0.00220168077770146239, 0.00220168077770146239 }; r8vec_copy ( n, a_save, a ); r8vec_copy ( n, b_save, b ); r8vec_copy ( n, c_save, c ); r8vec_copy ( n, d_save, d ); r8vec_copy ( n, w_save, w ); return; } /******************************************************************************/ void rule16 ( int n, double a[], double b[], double c[], double d[], double w[] ) /******************************************************************************/ /* Purpose: rule16() returns the rule of precision 16. Licensing: This code is distributed under the MIT license. Modified: 02 April 2023 Author: John Burkardt Reference: Jan Jaskowiec, Natarajan Sukumar, High order symmetric cubature rules for tetrahedra and pyramids, International Journal of Numerical Methods in Engineering, Volume 122, Number 1, pages 148-171, 24 August 2020. Input: int n: the number of quadrature points for this rule. Output: double a[n], b[n], c[n], d[n]: the barycentric coordinates of quadrature points. double w[n]: the quadrature weights. */ { static double a_save[] = { 0.32967147384406064736, 0.01098557846781809087, 0.32967147384406064736, 0.32967147384406064736, 0.11204210441737877391, 0.66387368674786362277, 0.11204210441737877391, 0.11204210441737877391, 0.28044602591109291101, 0.15866192226672123922, 0.28044602591109291101, 0.28044602591109291101, 0.03942164444076165508, 0.88173506667771506251, 0.03942164444076165508, 0.03942164444076165508, 0.42508258143523242056, 0.07491741856476755168, 0.42508258143523242056, 0.07491741856476755168, 0.42508258143523242056, 0.07491741856476755168, 0.16430689704436540755, 0.33569310295563459245, 0.16430689704436540755, 0.33569310295563459245, 0.16430689704436540755, 0.33569310295563459245, 0.76468706758018034630, 0.04904898759556675092, 0.04904898759556675092, 0.13721495722868609635, 0.13721495722868609635, 0.13721495722868609635, 0.04904898759556675092, 0.76468706758018034630, 0.04904898759556675092, 0.04904898759556675092, 0.76468706758018034630, 0.04904898759556675092, 0.23282680458942511814, 0.01412609568309253390, 0.01412609568309253390, 0.73892100404438987304, 0.73892100404438987304, 0.73892100404438987304, 0.01412609568309253390, 0.23282680458942511814, 0.01412609568309253390, 0.01412609568309253390, 0.23282680458942511814, 0.01412609568309253390, 0.28324176830779468350, 0.06239652058154325498, 0.06239652058154325498, 0.59196519052911877878, 0.59196519052911877878, 0.59196519052911877878, 0.06239652058154325498, 0.28324176830779468350, 0.06239652058154325498, 0.06239652058154325498, 0.28324176830779468350, 0.06239652058154325498, 0.01283187405611824032, 0.18909592756965598603, 0.18909592756965598603, 0.60897627080456984139, 0.60897627080456984139, 0.60897627080456984139, 0.18909592756965598603, 0.01283187405611824032, 0.18909592756965598603, 0.18909592756965598603, 0.01283187405611824032, 0.18909592756965598603, 0.38727096031949032051, 0.27501760012954440393, 0.27501760012954440393, 0.06269383942142089938, 0.06269383942142089938, 0.06269383942142089938, 0.27501760012954440393, 0.38727096031949032051, 0.27501760012954440393, 0.27501760012954440393, 0.38727096031949032051, 0.27501760012954440393, 0.03723805935523542138, 0.00594489825256994554, 0.00594489825256994554, 0.95087214413962473092, 0.95087214413962473092, 0.95087214413962473092, 0.00594489825256994554, 0.03723805935523542138, 0.00594489825256994554, 0.00594489825256994554, 0.03723805935523542138, 0.00594489825256994554, 0.74829410783088590176, 0.11830580710999444305, 0.11830580710999444305, 0.01509427794912522776, 0.01509427794912522776, 0.01509427794912522776, 0.11830580710999444305, 0.74829410783088590176, 0.11830580710999444305, 0.11830580710999444305, 0.74829410783088590176, 0.11830580710999444305, 0.51463578878883953216, 0.51463578878883953216, 0.08011846127872501722, 0.01444363851364341769, 0.08011846127872501722, 0.01444363851364341769, 0.39080211141879206416, 0.39080211141879206416, 0.39080211141879206416, 0.39080211141879206416, 0.39080211141879206416, 0.39080211141879206416, 0.08011846127872501722, 0.01444363851364341769, 0.51463578878883953216, 0.51463578878883953216, 0.01444363851364341769, 0.08011846127872501722, 0.08011846127872501722, 0.01444363851364341769, 0.51463578878883953216, 0.51463578878883953216, 0.01444363851364341769, 0.08011846127872501722, 0.16457394683790985135, 0.16457394683790985135, 0.31025854986272727309, 0.45521657006972920945, 0.31025854986272727309, 0.45521657006972920945, 0.06995093322963369387, 0.06995093322963369387, 0.06995093322963369387, 0.06995093322963369387, 0.06995093322963369387, 0.06995093322963369387, 0.31025854986272727309, 0.45521657006972920945, 0.16457394683790985135, 0.16457394683790985135, 0.45521657006972920945, 0.31025854986272727309, 0.31025854986272727309, 0.45521657006972920945, 0.16457394683790985135, 0.16457394683790985135, 0.45521657006972920945, 0.31025854986272727309, 0.03435867950145695543, 0.03435867950145695543, 0.10852408019289846997, 0.00140154108506938347, 0.10852408019289846997, 0.00140154108506938347, 0.85571569922057522106, 0.85571569922057522106, 0.85571569922057522106, 0.85571569922057522106, 0.85571569922057522106, 0.85571569922057522106, 0.10852408019289846997, 0.00140154108506938347, 0.03435867950145695543, 0.03435867950145695543, 0.00140154108506938347, 0.10852408019289846997, 0.10852408019289846997, 0.00140154108506938347, 0.03435867950145695543, 0.03435867950145695543, 0.00140154108506938347, 0.10852408019289846997, 0.66253175448505097211, 0.66253175448505097211, 0.24838249878149545880, 0.07810251224580459783, 0.24838249878149545880, 0.07810251224580459783, 0.01098323448764900422, 0.01098323448764900422, 0.01098323448764900422, 0.01098323448764900422, 0.01098323448764900422, 0.01098323448764900422, 0.24838249878149545880, 0.07810251224580459783, 0.66253175448505097211, 0.66253175448505097211, 0.07810251224580459783, 0.24838249878149545880, 0.24838249878149545880, 0.07810251224580459783, 0.66253175448505097211, 0.66253175448505097211, 0.07810251224580459783, 0.24838249878149545880, 0.01226898678006518861, 0.01226898678006518861, 0.39600912110670349886, 0.57294001761725621424, 0.39600912110670349886, 0.57294001761725621424, 0.01878187449597509828, 0.01878187449597509828, 0.01878187449597509828, 0.01878187449597509828, 0.01878187449597509828, 0.01878187449597509828, 0.39600912110670349886, 0.57294001761725621424, 0.01226898678006518861, 0.01226898678006518861, 0.57294001761725621424, 0.39600912110670349886, 0.39600912110670349886, 0.57294001761725621424, 0.01226898678006518861, 0.01226898678006518861, 0.57294001761725621424, 0.39600912110670349886, 0.20546049913241051788, 0.20546049913241051788, 0.06367516197137305933, 0.59461938800762692559, 0.06367516197137305933, 0.59461938800762692559, 0.13624495088858953884, 0.13624495088858953884, 0.13624495088858953884, 0.13624495088858953884, 0.13624495088858953884, 0.13624495088858953884, 0.06367516197137305933, 0.59461938800762692559, 0.20546049913241051788, 0.20546049913241051788, 0.59461938800762692559, 0.06367516197137305933, 0.06367516197137305933, 0.59461938800762692559, 0.20546049913241051788, 0.20546049913241051788, 0.59461938800762692559, 0.06367516197137305933, 0.46106788607969945160, 0.46106788607969945160, 0.17576504661391043061, 0.22441349634516483125, 0.17576504661391043061, 0.22441349634516483125, 0.13875357096122531431, 0.13875357096122531431, 0.13875357096122531431, 0.13875357096122531431, 0.13875357096122531431, 0.13875357096122531431, 0.17576504661391043061, 0.22441349634516483125, 0.46106788607969945160, 0.46106788607969945160, 0.22441349634516483125, 0.17576504661391043061, 0.17576504661391043061, 0.22441349634516483125, 0.46106788607969945160, 0.46106788607969945160, 0.22441349634516483125, 0.17576504661391043061, 0.01344788610299629122, 0.01344788610299629122, 0.47799425320067046030, 0.18641803004243370778, 0.47799425320067046030, 0.18641803004243370778, 0.32213983065389956151, 0.32213983065389956151, 0.32213983065389956151, 0.32213983065389956151, 0.32213983065389956151, 0.32213983065389956151, 0.47799425320067046030, 0.18641803004243370778, 0.01344788610299629122, 0.01344788610299629122, 0.18641803004243370778, 0.47799425320067046030, 0.47799425320067046030, 0.18641803004243370778, 0.01344788610299629122, 0.01344788610299629122, 0.18641803004243370778, 0.47799425320067046030 }; static double b_save[] = { 0.32967147384406064736, 0.32967147384406064736, 0.01098557846781809087, 0.32967147384406064736, 0.11204210441737877391, 0.11204210441737877391, 0.66387368674786362277, 0.11204210441737877391, 0.28044602591109291101, 0.28044602591109291101, 0.15866192226672123922, 0.28044602591109291101, 0.03942164444076165508, 0.03942164444076165508, 0.88173506667771506251, 0.03942164444076165508, 0.07491741856476755168, 0.42508258143523242056, 0.42508258143523242056, 0.07491741856476755168, 0.07491741856476755168, 0.42508258143523242056, 0.33569310295563459245, 0.16430689704436540755, 0.16430689704436540755, 0.33569310295563459245, 0.33569310295563459245, 0.16430689704436540755, 0.04904898759556675092, 0.76468706758018034630, 0.04904898759556675092, 0.04904898759556675092, 0.76468706758018034630, 0.04904898759556675092, 0.13721495722868609635, 0.13721495722868609635, 0.13721495722868609635, 0.04904898759556675092, 0.04904898759556675092, 0.76468706758018034630, 0.01412609568309253390, 0.23282680458942511814, 0.01412609568309253390, 0.01412609568309253390, 0.23282680458942511814, 0.01412609568309253390, 0.73892100404438987304, 0.73892100404438987304, 0.73892100404438987304, 0.01412609568309253390, 0.01412609568309253390, 0.23282680458942511814, 0.06239652058154325498, 0.28324176830779468350, 0.06239652058154325498, 0.06239652058154325498, 0.28324176830779468350, 0.06239652058154325498, 0.59196519052911877878, 0.59196519052911877878, 0.59196519052911877878, 0.06239652058154325498, 0.06239652058154325498, 0.28324176830779468350, 0.18909592756965598603, 0.01283187405611824032, 0.18909592756965598603, 0.18909592756965598603, 0.01283187405611824032, 0.18909592756965598603, 0.60897627080456984139, 0.60897627080456984139, 0.60897627080456984139, 0.18909592756965598603, 0.18909592756965598603, 0.01283187405611824032, 0.27501760012954440393, 0.38727096031949032051, 0.27501760012954440393, 0.27501760012954440393, 0.38727096031949032051, 0.27501760012954440393, 0.06269383942142089938, 0.06269383942142089938, 0.06269383942142089938, 0.27501760012954440393, 0.27501760012954440393, 0.38727096031949032051, 0.00594489825256994554, 0.03723805935523542138, 0.00594489825256994554, 0.00594489825256994554, 0.03723805935523542138, 0.00594489825256994554, 0.95087214413962473092, 0.95087214413962473092, 0.95087214413962473092, 0.00594489825256994554, 0.00594489825256994554, 0.03723805935523542138, 0.11830580710999444305, 0.74829410783088590176, 0.11830580710999444305, 0.11830580710999444305, 0.74829410783088590176, 0.11830580710999444305, 0.01509427794912522776, 0.01509427794912522776, 0.01509427794912522776, 0.11830580710999444305, 0.11830580710999444305, 0.74829410783088590176, 0.08011846127872501722, 0.01444363851364341769, 0.51463578878883953216, 0.51463578878883953216, 0.01444363851364341769, 0.08011846127872501722, 0.08011846127872501722, 0.01444363851364341769, 0.51463578878883953216, 0.51463578878883953216, 0.01444363851364341769, 0.08011846127872501722, 0.39080211141879206416, 0.39080211141879206416, 0.39080211141879206416, 0.39080211141879206416, 0.39080211141879206416, 0.39080211141879206416, 0.01444363851364341769, 0.08011846127872501722, 0.01444363851364341769, 0.08011846127872501722, 0.51463578878883953216, 0.51463578878883953216, 0.31025854986272727309, 0.45521657006972920945, 0.16457394683790985135, 0.16457394683790985135, 0.45521657006972920945, 0.31025854986272727309, 0.31025854986272727309, 0.45521657006972920945, 0.16457394683790985135, 0.16457394683790985135, 0.45521657006972920945, 0.31025854986272727309, 0.06995093322963369387, 0.06995093322963369387, 0.06995093322963369387, 0.06995093322963369387, 0.06995093322963369387, 0.06995093322963369387, 0.45521657006972920945, 0.31025854986272727309, 0.45521657006972920945, 0.31025854986272727309, 0.16457394683790985135, 0.16457394683790985135, 0.10852408019289846997, 0.00140154108506938347, 0.03435867950145695543, 0.03435867950145695543, 0.00140154108506938347, 0.10852408019289846997, 0.10852408019289846997, 0.00140154108506938347, 0.03435867950145695543, 0.03435867950145695543, 0.00140154108506938347, 0.10852408019289846997, 0.85571569922057522106, 0.85571569922057522106, 0.85571569922057522106, 0.85571569922057522106, 0.85571569922057522106, 0.85571569922057522106, 0.00140154108506938347, 0.10852408019289846997, 0.00140154108506938347, 0.10852408019289846997, 0.03435867950145695543, 0.03435867950145695543, 0.24838249878149545880, 0.07810251224580459783, 0.66253175448505097211, 0.66253175448505097211, 0.07810251224580459783, 0.24838249878149545880, 0.24838249878149545880, 0.07810251224580459783, 0.66253175448505097211, 0.66253175448505097211, 0.07810251224580459783, 0.24838249878149545880, 0.01098323448764900422, 0.01098323448764900422, 0.01098323448764900422, 0.01098323448764900422, 0.01098323448764900422, 0.01098323448764900422, 0.07810251224580459783, 0.24838249878149545880, 0.07810251224580459783, 0.24838249878149545880, 0.66253175448505097211, 0.66253175448505097211, 0.39600912110670349886, 0.57294001761725621424, 0.01226898678006518861, 0.01226898678006518861, 0.57294001761725621424, 0.39600912110670349886, 0.39600912110670349886, 0.57294001761725621424, 0.01226898678006518861, 0.01226898678006518861, 0.57294001761725621424, 0.39600912110670349886, 0.01878187449597509828, 0.01878187449597509828, 0.01878187449597509828, 0.01878187449597509828, 0.01878187449597509828, 0.01878187449597509828, 0.57294001761725621424, 0.39600912110670349886, 0.57294001761725621424, 0.39600912110670349886, 0.01226898678006518861, 0.01226898678006518861, 0.06367516197137305933, 0.59461938800762692559, 0.20546049913241051788, 0.20546049913241051788, 0.59461938800762692559, 0.06367516197137305933, 0.06367516197137305933, 0.59461938800762692559, 0.20546049913241051788, 0.20546049913241051788, 0.59461938800762692559, 0.06367516197137305933, 0.13624495088858953884, 0.13624495088858953884, 0.13624495088858953884, 0.13624495088858953884, 0.13624495088858953884, 0.13624495088858953884, 0.59461938800762692559, 0.06367516197137305933, 0.59461938800762692559, 0.06367516197137305933, 0.20546049913241051788, 0.20546049913241051788, 0.17576504661391043061, 0.22441349634516483125, 0.46106788607969945160, 0.46106788607969945160, 0.22441349634516483125, 0.17576504661391043061, 0.17576504661391043061, 0.22441349634516483125, 0.46106788607969945160, 0.46106788607969945160, 0.22441349634516483125, 0.17576504661391043061, 0.13875357096122531431, 0.13875357096122531431, 0.13875357096122531431, 0.13875357096122531431, 0.13875357096122531431, 0.13875357096122531431, 0.22441349634516483125, 0.17576504661391043061, 0.22441349634516483125, 0.17576504661391043061, 0.46106788607969945160, 0.46106788607969945160, 0.47799425320067046030, 0.18641803004243370778, 0.01344788610299629122, 0.01344788610299629122, 0.18641803004243370778, 0.47799425320067046030, 0.47799425320067046030, 0.18641803004243370778, 0.01344788610299629122, 0.01344788610299629122, 0.18641803004243370778, 0.47799425320067046030, 0.32213983065389956151, 0.32213983065389956151, 0.32213983065389956151, 0.32213983065389956151, 0.32213983065389956151, 0.32213983065389956151, 0.18641803004243370778, 0.47799425320067046030, 0.18641803004243370778, 0.47799425320067046030, 0.01344788610299629122, 0.01344788610299629122 }; static double c_save[] = { 0.32967147384406064736, 0.32967147384406064736, 0.32967147384406064736, 0.01098557846781809087, 0.11204210441737877391, 0.11204210441737877391, 0.11204210441737877391, 0.66387368674786362277, 0.28044602591109291101, 0.28044602591109291101, 0.28044602591109291101, 0.15866192226672123922, 0.03942164444076165508, 0.03942164444076165508, 0.03942164444076165508, 0.88173506667771506251, 0.07491741856476755168, 0.07491741856476755168, 0.07491741856476755168, 0.42508258143523242056, 0.42508258143523242056, 0.42508258143523242056, 0.33569310295563459245, 0.33569310295563459245, 0.33569310295563459245, 0.16430689704436540755, 0.16430689704436540755, 0.16430689704436540755, 0.04904898759556675092, 0.04904898759556675092, 0.76468706758018034630, 0.04904898759556675092, 0.04904898759556675092, 0.76468706758018034630, 0.04904898759556675092, 0.04904898759556675092, 0.76468706758018034630, 0.13721495722868609635, 0.13721495722868609635, 0.13721495722868609635, 0.01412609568309253390, 0.01412609568309253390, 0.23282680458942511814, 0.01412609568309253390, 0.01412609568309253390, 0.23282680458942511814, 0.01412609568309253390, 0.01412609568309253390, 0.23282680458942511814, 0.73892100404438987304, 0.73892100404438987304, 0.73892100404438987304, 0.06239652058154325498, 0.06239652058154325498, 0.28324176830779468350, 0.06239652058154325498, 0.06239652058154325498, 0.28324176830779468350, 0.06239652058154325498, 0.06239652058154325498, 0.28324176830779468350, 0.59196519052911877878, 0.59196519052911877878, 0.59196519052911877878, 0.18909592756965598603, 0.18909592756965598603, 0.01283187405611824032, 0.18909592756965598603, 0.18909592756965598603, 0.01283187405611824032, 0.18909592756965598603, 0.18909592756965598603, 0.01283187405611824032, 0.60897627080456984139, 0.60897627080456984139, 0.60897627080456984139, 0.27501760012954440393, 0.27501760012954440393, 0.38727096031949032051, 0.27501760012954440393, 0.27501760012954440393, 0.38727096031949032051, 0.27501760012954440393, 0.27501760012954440393, 0.38727096031949032051, 0.06269383942142089938, 0.06269383942142089938, 0.06269383942142089938, 0.00594489825256994554, 0.00594489825256994554, 0.03723805935523542138, 0.00594489825256994554, 0.00594489825256994554, 0.03723805935523542138, 0.00594489825256994554, 0.00594489825256994554, 0.03723805935523542138, 0.95087214413962473092, 0.95087214413962473092, 0.95087214413962473092, 0.11830580710999444305, 0.11830580710999444305, 0.74829410783088590176, 0.11830580710999444305, 0.11830580710999444305, 0.74829410783088590176, 0.11830580710999444305, 0.11830580710999444305, 0.74829410783088590176, 0.01509427794912522776, 0.01509427794912522776, 0.01509427794912522776, 0.01444363851364341769, 0.08011846127872501722, 0.01444363851364341769, 0.08011846127872501722, 0.51463578878883953216, 0.51463578878883953216, 0.01444363851364341769, 0.08011846127872501722, 0.01444363851364341769, 0.08011846127872501722, 0.51463578878883953216, 0.51463578878883953216, 0.01444363851364341769, 0.08011846127872501722, 0.01444363851364341769, 0.08011846127872501722, 0.51463578878883953216, 0.51463578878883953216, 0.39080211141879206416, 0.39080211141879206416, 0.39080211141879206416, 0.39080211141879206416, 0.39080211141879206416, 0.39080211141879206416, 0.45521657006972920945, 0.31025854986272727309, 0.45521657006972920945, 0.31025854986272727309, 0.16457394683790985135, 0.16457394683790985135, 0.45521657006972920945, 0.31025854986272727309, 0.45521657006972920945, 0.31025854986272727309, 0.16457394683790985135, 0.16457394683790985135, 0.45521657006972920945, 0.31025854986272727309, 0.45521657006972920945, 0.31025854986272727309, 0.16457394683790985135, 0.16457394683790985135, 0.06995093322963369387, 0.06995093322963369387, 0.06995093322963369387, 0.06995093322963369387, 0.06995093322963369387, 0.06995093322963369387, 0.00140154108506938347, 0.10852408019289846997, 0.00140154108506938347, 0.10852408019289846997, 0.03435867950145695543, 0.03435867950145695543, 0.00140154108506938347, 0.10852408019289846997, 0.00140154108506938347, 0.10852408019289846997, 0.03435867950145695543, 0.03435867950145695543, 0.00140154108506938347, 0.10852408019289846997, 0.00140154108506938347, 0.10852408019289846997, 0.03435867950145695543, 0.03435867950145695543, 0.85571569922057522106, 0.85571569922057522106, 0.85571569922057522106, 0.85571569922057522106, 0.85571569922057522106, 0.85571569922057522106, 0.07810251224580459783, 0.24838249878149545880, 0.07810251224580459783, 0.24838249878149545880, 0.66253175448505097211, 0.66253175448505097211, 0.07810251224580459783, 0.24838249878149545880, 0.07810251224580459783, 0.24838249878149545880, 0.66253175448505097211, 0.66253175448505097211, 0.07810251224580459783, 0.24838249878149545880, 0.07810251224580459783, 0.24838249878149545880, 0.66253175448505097211, 0.66253175448505097211, 0.01098323448764900422, 0.01098323448764900422, 0.01098323448764900422, 0.01098323448764900422, 0.01098323448764900422, 0.01098323448764900422, 0.57294001761725621424, 0.39600912110670349886, 0.57294001761725621424, 0.39600912110670349886, 0.01226898678006518861, 0.01226898678006518861, 0.57294001761725621424, 0.39600912110670349886, 0.57294001761725621424, 0.39600912110670349886, 0.01226898678006518861, 0.01226898678006518861, 0.57294001761725621424, 0.39600912110670349886, 0.57294001761725621424, 0.39600912110670349886, 0.01226898678006518861, 0.01226898678006518861, 0.01878187449597509828, 0.01878187449597509828, 0.01878187449597509828, 0.01878187449597509828, 0.01878187449597509828, 0.01878187449597509828, 0.59461938800762692559, 0.06367516197137305933, 0.59461938800762692559, 0.06367516197137305933, 0.20546049913241051788, 0.20546049913241051788, 0.59461938800762692559, 0.06367516197137305933, 0.59461938800762692559, 0.06367516197137305933, 0.20546049913241051788, 0.20546049913241051788, 0.59461938800762692559, 0.06367516197137305933, 0.59461938800762692559, 0.06367516197137305933, 0.20546049913241051788, 0.20546049913241051788, 0.13624495088858953884, 0.13624495088858953884, 0.13624495088858953884, 0.13624495088858953884, 0.13624495088858953884, 0.13624495088858953884, 0.22441349634516483125, 0.17576504661391043061, 0.22441349634516483125, 0.17576504661391043061, 0.46106788607969945160, 0.46106788607969945160, 0.22441349634516483125, 0.17576504661391043061, 0.22441349634516483125, 0.17576504661391043061, 0.46106788607969945160, 0.46106788607969945160, 0.22441349634516483125, 0.17576504661391043061, 0.22441349634516483125, 0.17576504661391043061, 0.46106788607969945160, 0.46106788607969945160, 0.13875357096122531431, 0.13875357096122531431, 0.13875357096122531431, 0.13875357096122531431, 0.13875357096122531431, 0.13875357096122531431, 0.18641803004243370778, 0.47799425320067046030, 0.18641803004243370778, 0.47799425320067046030, 0.01344788610299629122, 0.01344788610299629122, 0.18641803004243370778, 0.47799425320067046030, 0.18641803004243370778, 0.47799425320067046030, 0.01344788610299629122, 0.01344788610299629122, 0.18641803004243370778, 0.47799425320067046030, 0.18641803004243370778, 0.47799425320067046030, 0.01344788610299629122, 0.01344788610299629122, 0.32213983065389956151, 0.32213983065389956151, 0.32213983065389956151, 0.32213983065389956151, 0.32213983065389956151, 0.32213983065389956151 }; static double d_save[] = { 0.01098557846781809087, 0.32967147384406064736, 0.32967147384406064736, 0.32967147384406064736, 0.66387368674786362277, 0.11204210441737877391, 0.11204210441737877391, 0.11204210441737877391, 0.15866192226672123922, 0.28044602591109291101, 0.28044602591109291101, 0.28044602591109291101, 0.88173506667771506251, 0.03942164444076165508, 0.03942164444076165508, 0.03942164444076165508, 0.42508258143523242056, 0.42508258143523242056, 0.07491741856476755168, 0.42508258143523242056, 0.07491741856476755168, 0.07491741856476755168, 0.16430689704436540755, 0.16430689704436540755, 0.33569310295563459245, 0.16430689704436540755, 0.33569310295563459245, 0.33569310295563459245, 0.13721495722868609635, 0.13721495722868609635, 0.13721495722868609635, 0.76468706758018034630, 0.04904898759556675092, 0.04904898759556675092, 0.76468706758018034630, 0.04904898759556675092, 0.04904898759556675092, 0.76468706758018034630, 0.04904898759556675092, 0.04904898759556675092, 0.73892100404438987304, 0.73892100404438987304, 0.73892100404438987304, 0.23282680458942511814, 0.01412609568309253390, 0.01412609568309253390, 0.23282680458942511814, 0.01412609568309253390, 0.01412609568309253390, 0.23282680458942511814, 0.01412609568309253390, 0.01412609568309253390, 0.59196519052911877878, 0.59196519052911877878, 0.59196519052911877878, 0.28324176830779468350, 0.06239652058154325498, 0.06239652058154325498, 0.28324176830779468350, 0.06239652058154325498, 0.06239652058154325498, 0.28324176830779468350, 0.06239652058154325498, 0.06239652058154325498, 0.60897627080456984139, 0.60897627080456984139, 0.60897627080456984139, 0.01283187405611824032, 0.18909592756965598603, 0.18909592756965598603, 0.01283187405611824032, 0.18909592756965598603, 0.18909592756965598603, 0.01283187405611824032, 0.18909592756965598603, 0.18909592756965598603, 0.06269383942142089938, 0.06269383942142089938, 0.06269383942142089938, 0.38727096031949032051, 0.27501760012954440393, 0.27501760012954440393, 0.38727096031949032051, 0.27501760012954440393, 0.27501760012954440393, 0.38727096031949032051, 0.27501760012954440393, 0.27501760012954440393, 0.95087214413962473092, 0.95087214413962473092, 0.95087214413962473092, 0.03723805935523542138, 0.00594489825256994554, 0.00594489825256994554, 0.03723805935523542138, 0.00594489825256994554, 0.00594489825256994554, 0.03723805935523542138, 0.00594489825256994554, 0.00594489825256994554, 0.01509427794912522776, 0.01509427794912522776, 0.01509427794912522776, 0.74829410783088590176, 0.11830580710999444305, 0.11830580710999444305, 0.74829410783088590176, 0.11830580710999444305, 0.11830580710999444305, 0.74829410783088590176, 0.11830580710999444305, 0.11830580710999444305, 0.39080211141879206416, 0.39080211141879206416, 0.39080211141879206416, 0.39080211141879206416, 0.39080211141879206416, 0.39080211141879206416, 0.51463578878883953216, 0.51463578878883953216, 0.08011846127872501722, 0.01444363851364341769, 0.08011846127872501722, 0.01444363851364341769, 0.51463578878883953216, 0.51463578878883953216, 0.08011846127872501722, 0.01444363851364341769, 0.08011846127872501722, 0.01444363851364341769, 0.51463578878883953216, 0.51463578878883953216, 0.08011846127872501722, 0.01444363851364341769, 0.08011846127872501722, 0.01444363851364341769, 0.06995093322963369387, 0.06995093322963369387, 0.06995093322963369387, 0.06995093322963369387, 0.06995093322963369387, 0.06995093322963369387, 0.16457394683790985135, 0.16457394683790985135, 0.31025854986272727309, 0.45521657006972920945, 0.31025854986272727309, 0.45521657006972920945, 0.16457394683790985135, 0.16457394683790985135, 0.31025854986272727309, 0.45521657006972920945, 0.31025854986272727309, 0.45521657006972920945, 0.16457394683790985135, 0.16457394683790985135, 0.31025854986272727309, 0.45521657006972920945, 0.31025854986272727309, 0.45521657006972920945, 0.85571569922057522106, 0.85571569922057522106, 0.85571569922057522106, 0.85571569922057522106, 0.85571569922057522106, 0.85571569922057522106, 0.03435867950145695543, 0.03435867950145695543, 0.10852408019289846997, 0.00140154108506938347, 0.10852408019289846997, 0.00140154108506938347, 0.03435867950145695543, 0.03435867950145695543, 0.10852408019289846997, 0.00140154108506938347, 0.10852408019289846997, 0.00140154108506938347, 0.03435867950145695543, 0.03435867950145695543, 0.10852408019289846997, 0.00140154108506938347, 0.10852408019289846997, 0.00140154108506938347, 0.01098323448764900422, 0.01098323448764900422, 0.01098323448764900422, 0.01098323448764900422, 0.01098323448764900422, 0.01098323448764900422, 0.66253175448505097211, 0.66253175448505097211, 0.24838249878149545880, 0.07810251224580459783, 0.24838249878149545880, 0.07810251224580459783, 0.66253175448505097211, 0.66253175448505097211, 0.24838249878149545880, 0.07810251224580459783, 0.24838249878149545880, 0.07810251224580459783, 0.66253175448505097211, 0.66253175448505097211, 0.24838249878149545880, 0.07810251224580459783, 0.24838249878149545880, 0.07810251224580459783, 0.01878187449597509828, 0.01878187449597509828, 0.01878187449597509828, 0.01878187449597509828, 0.01878187449597509828, 0.01878187449597509828, 0.01226898678006518861, 0.01226898678006518861, 0.39600912110670349886, 0.57294001761725621424, 0.39600912110670349886, 0.57294001761725621424, 0.01226898678006518861, 0.01226898678006518861, 0.39600912110670349886, 0.57294001761725621424, 0.39600912110670349886, 0.57294001761725621424, 0.01226898678006518861, 0.01226898678006518861, 0.39600912110670349886, 0.57294001761725621424, 0.39600912110670349886, 0.57294001761725621424, 0.13624495088858953884, 0.13624495088858953884, 0.13624495088858953884, 0.13624495088858953884, 0.13624495088858953884, 0.13624495088858953884, 0.20546049913241051788, 0.20546049913241051788, 0.06367516197137305933, 0.59461938800762692559, 0.06367516197137305933, 0.59461938800762692559, 0.20546049913241051788, 0.20546049913241051788, 0.06367516197137305933, 0.59461938800762692559, 0.06367516197137305933, 0.59461938800762692559, 0.20546049913241051788, 0.20546049913241051788, 0.06367516197137305933, 0.59461938800762692559, 0.06367516197137305933, 0.59461938800762692559, 0.13875357096122531431, 0.13875357096122531431, 0.13875357096122531431, 0.13875357096122531431, 0.13875357096122531431, 0.13875357096122531431, 0.46106788607969945160, 0.46106788607969945160, 0.17576504661391043061, 0.22441349634516483125, 0.17576504661391043061, 0.22441349634516483125, 0.46106788607969945160, 0.46106788607969945160, 0.17576504661391043061, 0.22441349634516483125, 0.17576504661391043061, 0.22441349634516483125, 0.46106788607969945160, 0.46106788607969945160, 0.17576504661391043061, 0.22441349634516483125, 0.17576504661391043061, 0.22441349634516483125, 0.32213983065389956151, 0.32213983065389956151, 0.32213983065389956151, 0.32213983065389956151, 0.32213983065389956151, 0.32213983065389956151, 0.01344788610299629122, 0.01344788610299629122, 0.47799425320067046030, 0.18641803004243370778, 0.47799425320067046030, 0.18641803004243370778, 0.01344788610299629122, 0.01344788610299629122, 0.47799425320067046030, 0.18641803004243370778, 0.47799425320067046030, 0.18641803004243370778, 0.01344788610299629122, 0.01344788610299629122, 0.47799425320067046030, 0.18641803004243370778, 0.47799425320067046030, 0.18641803004243370778 }; double w_save[] = { 0.00403487893723887027, 0.00403487893723887027, 0.00403487893723887027, 0.00403487893723887027, 0.00526342800804762822, 0.00526342800804762822, 0.00526342800804762822, 0.00526342800804762822, 0.01078639106857763770, 0.01078639106857763770, 0.01078639106857763770, 0.01078639106857763770, 0.00189234002903099674, 0.00189234002903099674, 0.00189234002903099674, 0.00189234002903099674, 0.00601451100300045855, 0.00601451100300045855, 0.00601451100300045855, 0.00601451100300045855, 0.00601451100300045855, 0.00601451100300045855, 0.00869219123287302310, 0.00869219123287302310, 0.00869219123287302310, 0.00869219123287302310, 0.00869219123287302310, 0.00869219123287302310, 0.00350762328578499297, 0.00350762328578499297, 0.00350762328578499297, 0.00350762328578499297, 0.00350762328578499297, 0.00350762328578499297, 0.00350762328578499297, 0.00350762328578499297, 0.00350762328578499297, 0.00350762328578499297, 0.00350762328578499297, 0.00350762328578499297, 0.00118866227331919806, 0.00118866227331919806, 0.00118866227331919806, 0.00118866227331919806, 0.00118866227331919806, 0.00118866227331919806, 0.00118866227331919806, 0.00118866227331919806, 0.00118866227331919806, 0.00118866227331919806, 0.00118866227331919806, 0.00118866227331919806, 0.00434522531446666742, 0.00434522531446666742, 0.00434522531446666742, 0.00434522531446666742, 0.00434522531446666742, 0.00434522531446666742, 0.00434522531446666742, 0.00434522531446666742, 0.00434522531446666742, 0.00434522531446666742, 0.00434522531446666742, 0.00434522531446666742, 0.00266068657020316615, 0.00266068657020316615, 0.00266068657020316615, 0.00266068657020316615, 0.00266068657020316615, 0.00266068657020316615, 0.00266068657020316615, 0.00266068657020316615, 0.00266068657020316615, 0.00266068657020316615, 0.00266068657020316615, 0.00266068657020316615, 0.00555317430212401344, 0.00555317430212401344, 0.00555317430212401344, 0.00555317430212401344, 0.00555317430212401344, 0.00555317430212401344, 0.00555317430212401344, 0.00555317430212401344, 0.00555317430212401344, 0.00555317430212401344, 0.00555317430212401344, 0.00555317430212401344, 0.00015314314053958077, 0.00015314314053958077, 0.00015314314053958077, 0.00015314314053958077, 0.00015314314053958077, 0.00015314314053958077, 0.00015314314053958077, 0.00015314314053958077, 0.00015314314053958077, 0.00015314314053958077, 0.00015314314053958077, 0.00015314314053958077, 0.00223120413671567923, 0.00223120413671567923, 0.00223120413671567923, 0.00223120413671567923, 0.00223120413671567923, 0.00223120413671567923, 0.00223120413671567923, 0.00223120413671567923, 0.00223120413671567923, 0.00223120413671567923, 0.00223120413671567923, 0.00223120413671567923, 0.00247237715624996999, 0.00247237715624996999, 0.00247237715624996999, 0.00247237715624996999, 0.00247237715624996999, 0.00247237715624996999, 0.00247237715624996999, 0.00247237715624996999, 0.00247237715624996999, 0.00247237715624996999, 0.00247237715624996999, 0.00247237715624996999, 0.00247237715624996999, 0.00247237715624996999, 0.00247237715624996999, 0.00247237715624996999, 0.00247237715624996999, 0.00247237715624996999, 0.00247237715624996999, 0.00247237715624996999, 0.00247237715624996999, 0.00247237715624996999, 0.00247237715624996999, 0.00247237715624996999, 0.00659612289181792533, 0.00659612289181792533, 0.00659612289181792533, 0.00659612289181792533, 0.00659612289181792533, 0.00659612289181792533, 0.00659612289181792533, 0.00659612289181792533, 0.00659612289181792533, 0.00659612289181792533, 0.00659612289181792533, 0.00659612289181792533, 0.00659612289181792533, 0.00659612289181792533, 0.00659612289181792533, 0.00659612289181792533, 0.00659612289181792533, 0.00659612289181792533, 0.00659612289181792533, 0.00659612289181792533, 0.00659612289181792533, 0.00659612289181792533, 0.00659612289181792533, 0.00659612289181792533, 0.00060043490676974214, 0.00060043490676974214, 0.00060043490676974214, 0.00060043490676974214, 0.00060043490676974214, 0.00060043490676974214, 0.00060043490676974214, 0.00060043490676974214, 0.00060043490676974214, 0.00060043490676974214, 0.00060043490676974214, 0.00060043490676974214, 0.00060043490676974214, 0.00060043490676974214, 0.00060043490676974214, 0.00060043490676974214, 0.00060043490676974214, 0.00060043490676974214, 0.00060043490676974214, 0.00060043490676974214, 0.00060043490676974214, 0.00060043490676974214, 0.00060043490676974214, 0.00060043490676974214, 0.00224233099687652735, 0.00224233099687652735, 0.00224233099687652735, 0.00224233099687652735, 0.00224233099687652735, 0.00224233099687652735, 0.00224233099687652735, 0.00224233099687652735, 0.00224233099687652735, 0.00224233099687652735, 0.00224233099687652735, 0.00224233099687652735, 0.00224233099687652735, 0.00224233099687652735, 0.00224233099687652735, 0.00224233099687652735, 0.00224233099687652735, 0.00224233099687652735, 0.00224233099687652735, 0.00224233099687652735, 0.00224233099687652735, 0.00224233099687652735, 0.00224233099687652735, 0.00224233099687652735, 0.00082444223624718370, 0.00082444223624718370, 0.00082444223624718370, 0.00082444223624718370, 0.00082444223624718370, 0.00082444223624718370, 0.00082444223624718370, 0.00082444223624718370, 0.00082444223624718370, 0.00082444223624718370, 0.00082444223624718370, 0.00082444223624718370, 0.00082444223624718370, 0.00082444223624718370, 0.00082444223624718370, 0.00082444223624718370, 0.00082444223624718370, 0.00082444223624718370, 0.00082444223624718370, 0.00082444223624718370, 0.00082444223624718370, 0.00082444223624718370, 0.00082444223624718370, 0.00082444223624718370, 0.00438801583526791071, 0.00438801583526791071, 0.00438801583526791071, 0.00438801583526791071, 0.00438801583526791071, 0.00438801583526791071, 0.00438801583526791071, 0.00438801583526791071, 0.00438801583526791071, 0.00438801583526791071, 0.00438801583526791071, 0.00438801583526791071, 0.00438801583526791071, 0.00438801583526791071, 0.00438801583526791071, 0.00438801583526791071, 0.00438801583526791071, 0.00438801583526791071, 0.00438801583526791071, 0.00438801583526791071, 0.00438801583526791071, 0.00438801583526791071, 0.00438801583526791071, 0.00438801583526791071, 0.00345427842574096231, 0.00345427842574096231, 0.00345427842574096231, 0.00345427842574096231, 0.00345427842574096231, 0.00345427842574096231, 0.00345427842574096231, 0.00345427842574096231, 0.00345427842574096231, 0.00345427842574096231, 0.00345427842574096231, 0.00345427842574096231, 0.00345427842574096231, 0.00345427842574096231, 0.00345427842574096231, 0.00345427842574096231, 0.00345427842574096231, 0.00345427842574096231, 0.00345427842574096231, 0.00345427842574096231, 0.00345427842574096231, 0.00345427842574096231, 0.00345427842574096231, 0.00345427842574096231, 0.00392928947333557113, 0.00392928947333557113, 0.00392928947333557113, 0.00392928947333557113, 0.00392928947333557113, 0.00392928947333557113, 0.00392928947333557113, 0.00392928947333557113, 0.00392928947333557113, 0.00392928947333557113, 0.00392928947333557113, 0.00392928947333557113, 0.00392928947333557113, 0.00392928947333557113, 0.00392928947333557113, 0.00392928947333557113, 0.00392928947333557113, 0.00392928947333557113, 0.00392928947333557113, 0.00392928947333557113, 0.00392928947333557113, 0.00392928947333557113, 0.00392928947333557113, 0.00392928947333557113 }; r8vec_copy ( n, a_save, a ); r8vec_copy ( n, b_save, b ); r8vec_copy ( n, c_save, c ); r8vec_copy ( n, d_save, d ); r8vec_copy ( n, w_save, w ); return; } /******************************************************************************/ void rule17 ( int n, double a[], double b[], double c[], double d[], double w[] ) /******************************************************************************/ /* Purpose: rule17() returns the rule of precision 17. Licensing: This code is distributed under the MIT license. Modified: 02 April 2023 Author: John Burkardt Reference: Jan Jaskowiec, Natarajan Sukumar, High order symmetric cubature rules for tetrahedra and pyramids, International Journal of Numerical Methods in Engineering, Volume 122, Number 1, pages 148-171, 24 August 2020. Input: int n: the number of quadrature points for this rule. Output: double a[n], b[n], c[n], d[n]: the barycentric coordinates of quadrature points. double w[n]: the quadrature weights. */ { static double a_save[] = { 0.10925941103913998365, 0.67222176688258006294, 0.10925941103913998365, 0.10925941103913998365, 0.01706905335350990607, 0.94879283993947027831, 0.01706905335350990607, 0.01706905335350990607, 0.06030276440208671290, 0.81909170679373988211, 0.06030276440208671290, 0.06030276440208671290, 0.18029367787524874789, 0.45911896637425375634, 0.18029367787524874789, 0.18029367787524874789, 0.29243575056800774625, 0.20756424943199228150, 0.29243575056800774625, 0.20756424943199228150, 0.29243575056800774625, 0.20756424943199228150, 0.43649438124963818586, 0.06350561875036178638, 0.43649438124963818586, 0.06350561875036178638, 0.43649438124963818586, 0.06350561875036178638, 0.35742590514301658677, 0.14257409485698341323, 0.35742590514301658677, 0.14257409485698341323, 0.35742590514301658677, 0.14257409485698341323, 0.48474501038864181712, 0.01525498961135818114, 0.48474501038864181712, 0.01525498961135818114, 0.48474501038864181712, 0.01525498961135818114, 0.00660562854593635396, 0.28177174686618233768, 0.28177174686618233768, 0.42985087772169894293, 0.42985087772169894293, 0.42985087772169894293, 0.28177174686618233768, 0.00660562854593635396, 0.28177174686618233768, 0.28177174686618233768, 0.00660562854593635396, 0.28177174686618233768, 0.34730767552697888734, 0.25327928966163937297, 0.25327928966163937297, 0.14613374514974236673, 0.14613374514974236673, 0.14613374514974236673, 0.25327928966163937297, 0.34730767552697888734, 0.25327928966163937297, 0.25327928966163937297, 0.34730767552697888734, 0.25327928966163937297, 0.51296319321353045506, 0.11944468368879919418, 0.11944468368879919418, 0.24814743940887118434, 0.24814743940887118434, 0.24814743940887118434, 0.11944468368879919418, 0.51296319321353045506, 0.11944468368879919418, 0.11944468368879919418, 0.51296319321353045506, 0.11944468368879919418, 0.40401351501313786940, 0.27969758921799775520, 0.27969758921799775520, 0.03659130655086657857, 0.03659130655086657857, 0.03659130655086657857, 0.27969758921799775520, 0.40401351501313786940, 0.27969758921799775520, 0.27969758921799775520, 0.40401351501313786940, 0.27969758921799775520, 0.27715057680379789895, 0.05914965001755916052, 0.05914965001755916052, 0.60455012316108380777, 0.60455012316108380777, 0.60455012316108380777, 0.05914965001755916052, 0.27715057680379789895, 0.05914965001755916052, 0.05914965001755916052, 0.27715057680379789895, 0.05914965001755916052, 0.33726932317139624029, 0.01156645687972039128, 0.01156645687972039128, 0.63959776306916293898, 0.63959776306916293898, 0.63959776306916293898, 0.01156645687972039128, 0.33726932317139624029, 0.01156645687972039128, 0.01156645687972039128, 0.33726932317139624029, 0.01156645687972039128, 0.08899213511967390966, 0.25462009461186185799, 0.25462009461186185799, 0.40176767565660237436, 0.40176767565660237436, 0.40176767565660237436, 0.25462009461186185799, 0.08899213511967390966, 0.25462009461186185799, 0.25462009461186185799, 0.08899213511967390966, 0.25462009461186185799, 0.08335377000797282443, 0.00667291467786515838, 0.00667291467786515838, 0.90330040063629690739, 0.90330040063629690739, 0.90330040063629690739, 0.00667291467786515838, 0.08335377000797282443, 0.00667291467786515838, 0.00667291467786515838, 0.08335377000797282443, 0.00667291467786515838, 0.14887385146092257937, 0.05954996366173629513, 0.05954996366173629513, 0.73202622121560489976, 0.73202622121560489976, 0.73202622121560489976, 0.05954996366173629513, 0.14887385146092257937, 0.05954996366173629513, 0.05954996366173629513, 0.14887385146092257937, 0.05954996366173629513, 0.01308047471312759683, 0.01308047471312759683, 0.09563829425828948572, 0.72293192461035271634, 0.09563829425828948572, 0.72293192461035271634, 0.16834930641823020459, 0.16834930641823020459, 0.16834930641823020459, 0.16834930641823020459, 0.16834930641823020459, 0.16834930641823020459, 0.09563829425828948572, 0.72293192461035271634, 0.01308047471312759683, 0.01308047471312759683, 0.72293192461035271634, 0.09563829425828948572, 0.09563829425828948572, 0.72293192461035271634, 0.01308047471312759683, 0.01308047471312759683, 0.72293192461035271634, 0.09563829425828948572, 0.63765519934162528948, 0.63765519934162528948, 0.06035751534893870479, 0.29136482231352184291, 0.06035751534893870479, 0.29136482231352184291, 0.01062246299591423221, 0.01062246299591423221, 0.01062246299591423221, 0.01062246299591423221, 0.01062246299591423221, 0.01062246299591423221, 0.06035751534893870479, 0.29136482231352184291, 0.63765519934162528948, 0.63765519934162528948, 0.29136482231352184291, 0.06035751534893870479, 0.06035751534893870479, 0.29136482231352184291, 0.63765519934162528948, 0.63765519934162528948, 0.29136482231352184291, 0.06035751534893870479, 0.15750628240845837569, 0.15750628240845837569, 0.57206296627532715604, 0.25753529251823142898, 0.57206296627532715604, 0.25753529251823142898, 0.01289545879798303755, 0.01289545879798303755, 0.01289545879798303755, 0.01289545879798303755, 0.01289545879798303755, 0.01289545879798303755, 0.57206296627532715604, 0.25753529251823142898, 0.15750628240845837569, 0.15750628240845837569, 0.25753529251823142898, 0.57206296627532715604, 0.57206296627532715604, 0.25753529251823142898, 0.15750628240845837569, 0.15750628240845837569, 0.25753529251823142898, 0.57206296627532715604, 0.15309636122213676757, 0.15309636122213676757, 0.59828716184995478500, 0.18372582560884528902, 0.59828716184995478500, 0.18372582560884528902, 0.06489065131906320005, 0.06489065131906320005, 0.06489065131906320005, 0.06489065131906320005, 0.06489065131906320005, 0.06489065131906320005, 0.59828716184995478500, 0.18372582560884528902, 0.15309636122213676757, 0.15309636122213676757, 0.18372582560884528902, 0.59828716184995478500, 0.59828716184995478500, 0.18372582560884528902, 0.15309636122213676757, 0.15309636122213676757, 0.18372582560884528902, 0.59828716184995478500, 0.01165500297046612177, 0.01165500297046612177, 0.08721077921772252273, 0.85405655557427551106, 0.08721077921772252273, 0.85405655557427551106, 0.04707766223753579587, 0.04707766223753579587, 0.04707766223753579587, 0.04707766223753579587, 0.04707766223753579587, 0.04707766223753579587, 0.08721077921772252273, 0.85405655557427551106, 0.01165500297046612177, 0.01165500297046612177, 0.85405655557427551106, 0.08721077921772252273, 0.08721077921772252273, 0.85405655557427551106, 0.01165500297046612177, 0.01165500297046612177, 0.85405655557427551106, 0.08721077921772252273, 0.40853289101632561664, 0.40853289101632561664, 0.41377996806619143921, 0.16720704771734881677, 0.41377996806619143921, 0.16720704771734881677, 0.01048009320013414646, 0.01048009320013414646, 0.01048009320013414646, 0.01048009320013414646, 0.01048009320013414646, 0.01048009320013414646, 0.41377996806619143921, 0.16720704771734881677, 0.40853289101632561664, 0.40853289101632561664, 0.16720704771734881677, 0.41377996806619143921, 0.41377996806619143921, 0.16720704771734881677, 0.40853289101632561664, 0.40853289101632561664, 0.16720704771734881677, 0.41377996806619143921, 0.01167932299246963838, 0.01167932299246963838, 0.39049895837194248394, 0.52421576194284147387, 0.39049895837194248394, 0.52421576194284147387, 0.07360595669274641595, 0.07360595669274641595, 0.07360595669274641595, 0.07360595669274641595, 0.07360595669274641595, 0.07360595669274641595, 0.39049895837194248394, 0.52421576194284147387, 0.01167932299246963838, 0.01167932299246963838, 0.52421576194284147387, 0.39049895837194248394, 0.39049895837194248394, 0.52421576194284147387, 0.01167932299246963838, 0.01167932299246963838, 0.52421576194284147387, 0.39049895837194248394, 0.00816368037123298140, 0.00816368037123298140, 0.77350174035347174506, 0.19288026965099538956, 0.77350174035347174506, 0.19288026965099538956, 0.02545430962429987704, 0.02545430962429987704, 0.02545430962429987704, 0.02545430962429987704, 0.02545430962429987704, 0.02545430962429987704, 0.77350174035347174506, 0.19288026965099538956, 0.00816368037123298140, 0.00816368037123298140, 0.19288026965099538956, 0.77350174035347174506, 0.77350174035347174506, 0.19288026965099538956, 0.00816368037123298140, 0.00816368037123298140, 0.19288026965099538956, 0.77350174035347174506, 0.15298860550317516793, 0.15298860550317516793, 0.05603440494408157974, 0.46827834262673895260, 0.05603440494408157974, 0.46827834262673895260, 0.32269864692600430667, 0.32269864692600430667, 0.32269864692600430667, 0.32269864692600430667, 0.32269864692600430667, 0.32269864692600430667, 0.05603440494408157974, 0.46827834262673895260, 0.15298860550317516793, 0.15298860550317516793, 0.46827834262673895260, 0.05603440494408157974, 0.05603440494408157974, 0.46827834262673895260, 0.15298860550317516793, 0.15298860550317516793, 0.46827834262673895260, 0.05603440494408157974 }; static double b_save[] = { 0.10925941103913998365, 0.10925941103913998365, 0.67222176688258006294, 0.10925941103913998365, 0.01706905335350990607, 0.01706905335350990607, 0.94879283993947027831, 0.01706905335350990607, 0.06030276440208671290, 0.06030276440208671290, 0.81909170679373988211, 0.06030276440208671290, 0.18029367787524874789, 0.18029367787524874789, 0.45911896637425375634, 0.18029367787524874789, 0.20756424943199228150, 0.29243575056800774625, 0.29243575056800774625, 0.20756424943199228150, 0.20756424943199228150, 0.29243575056800774625, 0.06350561875036178638, 0.43649438124963818586, 0.43649438124963818586, 0.06350561875036178638, 0.06350561875036178638, 0.43649438124963818586, 0.14257409485698341323, 0.35742590514301658677, 0.35742590514301658677, 0.14257409485698341323, 0.14257409485698341323, 0.35742590514301658677, 0.01525498961135818114, 0.48474501038864181712, 0.48474501038864181712, 0.01525498961135818114, 0.01525498961135818114, 0.48474501038864181712, 0.28177174686618233768, 0.00660562854593635396, 0.28177174686618233768, 0.28177174686618233768, 0.00660562854593635396, 0.28177174686618233768, 0.42985087772169894293, 0.42985087772169894293, 0.42985087772169894293, 0.28177174686618233768, 0.28177174686618233768, 0.00660562854593635396, 0.25327928966163937297, 0.34730767552697888734, 0.25327928966163937297, 0.25327928966163937297, 0.34730767552697888734, 0.25327928966163937297, 0.14613374514974236673, 0.14613374514974236673, 0.14613374514974236673, 0.25327928966163937297, 0.25327928966163937297, 0.34730767552697888734, 0.11944468368879919418, 0.51296319321353045506, 0.11944468368879919418, 0.11944468368879919418, 0.51296319321353045506, 0.11944468368879919418, 0.24814743940887118434, 0.24814743940887118434, 0.24814743940887118434, 0.11944468368879919418, 0.11944468368879919418, 0.51296319321353045506, 0.27969758921799775520, 0.40401351501313786940, 0.27969758921799775520, 0.27969758921799775520, 0.40401351501313786940, 0.27969758921799775520, 0.03659130655086657857, 0.03659130655086657857, 0.03659130655086657857, 0.27969758921799775520, 0.27969758921799775520, 0.40401351501313786940, 0.05914965001755916052, 0.27715057680379789895, 0.05914965001755916052, 0.05914965001755916052, 0.27715057680379789895, 0.05914965001755916052, 0.60455012316108380777, 0.60455012316108380777, 0.60455012316108380777, 0.05914965001755916052, 0.05914965001755916052, 0.27715057680379789895, 0.01156645687972039128, 0.33726932317139624029, 0.01156645687972039128, 0.01156645687972039128, 0.33726932317139624029, 0.01156645687972039128, 0.63959776306916293898, 0.63959776306916293898, 0.63959776306916293898, 0.01156645687972039128, 0.01156645687972039128, 0.33726932317139624029, 0.25462009461186185799, 0.08899213511967390966, 0.25462009461186185799, 0.25462009461186185799, 0.08899213511967390966, 0.25462009461186185799, 0.40176767565660237436, 0.40176767565660237436, 0.40176767565660237436, 0.25462009461186185799, 0.25462009461186185799, 0.08899213511967390966, 0.00667291467786515838, 0.08335377000797282443, 0.00667291467786515838, 0.00667291467786515838, 0.08335377000797282443, 0.00667291467786515838, 0.90330040063629690739, 0.90330040063629690739, 0.90330040063629690739, 0.00667291467786515838, 0.00667291467786515838, 0.08335377000797282443, 0.05954996366173629513, 0.14887385146092257937, 0.05954996366173629513, 0.05954996366173629513, 0.14887385146092257937, 0.05954996366173629513, 0.73202622121560489976, 0.73202622121560489976, 0.73202622121560489976, 0.05954996366173629513, 0.05954996366173629513, 0.14887385146092257937, 0.09563829425828948572, 0.72293192461035271634, 0.01308047471312759683, 0.01308047471312759683, 0.72293192461035271634, 0.09563829425828948572, 0.09563829425828948572, 0.72293192461035271634, 0.01308047471312759683, 0.01308047471312759683, 0.72293192461035271634, 0.09563829425828948572, 0.16834930641823020459, 0.16834930641823020459, 0.16834930641823020459, 0.16834930641823020459, 0.16834930641823020459, 0.16834930641823020459, 0.72293192461035271634, 0.09563829425828948572, 0.72293192461035271634, 0.09563829425828948572, 0.01308047471312759683, 0.01308047471312759683, 0.06035751534893870479, 0.29136482231352184291, 0.63765519934162528948, 0.63765519934162528948, 0.29136482231352184291, 0.06035751534893870479, 0.06035751534893870479, 0.29136482231352184291, 0.63765519934162528948, 0.63765519934162528948, 0.29136482231352184291, 0.06035751534893870479, 0.01062246299591423221, 0.01062246299591423221, 0.01062246299591423221, 0.01062246299591423221, 0.01062246299591423221, 0.01062246299591423221, 0.29136482231352184291, 0.06035751534893870479, 0.29136482231352184291, 0.06035751534893870479, 0.63765519934162528948, 0.63765519934162528948, 0.57206296627532715604, 0.25753529251823142898, 0.15750628240845837569, 0.15750628240845837569, 0.25753529251823142898, 0.57206296627532715604, 0.57206296627532715604, 0.25753529251823142898, 0.15750628240845837569, 0.15750628240845837569, 0.25753529251823142898, 0.57206296627532715604, 0.01289545879798303755, 0.01289545879798303755, 0.01289545879798303755, 0.01289545879798303755, 0.01289545879798303755, 0.01289545879798303755, 0.25753529251823142898, 0.57206296627532715604, 0.25753529251823142898, 0.57206296627532715604, 0.15750628240845837569, 0.15750628240845837569, 0.59828716184995478500, 0.18372582560884528902, 0.15309636122213676757, 0.15309636122213676757, 0.18372582560884528902, 0.59828716184995478500, 0.59828716184995478500, 0.18372582560884528902, 0.15309636122213676757, 0.15309636122213676757, 0.18372582560884528902, 0.59828716184995478500, 0.06489065131906320005, 0.06489065131906320005, 0.06489065131906320005, 0.06489065131906320005, 0.06489065131906320005, 0.06489065131906320005, 0.18372582560884528902, 0.59828716184995478500, 0.18372582560884528902, 0.59828716184995478500, 0.15309636122213676757, 0.15309636122213676757, 0.08721077921772252273, 0.85405655557427551106, 0.01165500297046612177, 0.01165500297046612177, 0.85405655557427551106, 0.08721077921772252273, 0.08721077921772252273, 0.85405655557427551106, 0.01165500297046612177, 0.01165500297046612177, 0.85405655557427551106, 0.08721077921772252273, 0.04707766223753579587, 0.04707766223753579587, 0.04707766223753579587, 0.04707766223753579587, 0.04707766223753579587, 0.04707766223753579587, 0.85405655557427551106, 0.08721077921772252273, 0.85405655557427551106, 0.08721077921772252273, 0.01165500297046612177, 0.01165500297046612177, 0.41377996806619143921, 0.16720704771734881677, 0.40853289101632561664, 0.40853289101632561664, 0.16720704771734881677, 0.41377996806619143921, 0.41377996806619143921, 0.16720704771734881677, 0.40853289101632561664, 0.40853289101632561664, 0.16720704771734881677, 0.41377996806619143921, 0.01048009320013414646, 0.01048009320013414646, 0.01048009320013414646, 0.01048009320013414646, 0.01048009320013414646, 0.01048009320013414646, 0.16720704771734881677, 0.41377996806619143921, 0.16720704771734881677, 0.41377996806619143921, 0.40853289101632561664, 0.40853289101632561664, 0.39049895837194248394, 0.52421576194284147387, 0.01167932299246963838, 0.01167932299246963838, 0.52421576194284147387, 0.39049895837194248394, 0.39049895837194248394, 0.52421576194284147387, 0.01167932299246963838, 0.01167932299246963838, 0.52421576194284147387, 0.39049895837194248394, 0.07360595669274641595, 0.07360595669274641595, 0.07360595669274641595, 0.07360595669274641595, 0.07360595669274641595, 0.07360595669274641595, 0.52421576194284147387, 0.39049895837194248394, 0.52421576194284147387, 0.39049895837194248394, 0.01167932299246963838, 0.01167932299246963838, 0.77350174035347174506, 0.19288026965099538956, 0.00816368037123298140, 0.00816368037123298140, 0.19288026965099538956, 0.77350174035347174506, 0.77350174035347174506, 0.19288026965099538956, 0.00816368037123298140, 0.00816368037123298140, 0.19288026965099538956, 0.77350174035347174506, 0.02545430962429987704, 0.02545430962429987704, 0.02545430962429987704, 0.02545430962429987704, 0.02545430962429987704, 0.02545430962429987704, 0.19288026965099538956, 0.77350174035347174506, 0.19288026965099538956, 0.77350174035347174506, 0.00816368037123298140, 0.00816368037123298140, 0.05603440494408157974, 0.46827834262673895260, 0.15298860550317516793, 0.15298860550317516793, 0.46827834262673895260, 0.05603440494408157974, 0.05603440494408157974, 0.46827834262673895260, 0.15298860550317516793, 0.15298860550317516793, 0.46827834262673895260, 0.05603440494408157974, 0.32269864692600430667, 0.32269864692600430667, 0.32269864692600430667, 0.32269864692600430667, 0.32269864692600430667, 0.32269864692600430667, 0.46827834262673895260, 0.05603440494408157974, 0.46827834262673895260, 0.05603440494408157974, 0.15298860550317516793, 0.15298860550317516793 }; static double c_save[] = { 0.10925941103913998365, 0.10925941103913998365, 0.10925941103913998365, 0.67222176688258006294, 0.01706905335350990607, 0.01706905335350990607, 0.01706905335350990607, 0.94879283993947027831, 0.06030276440208671290, 0.06030276440208671290, 0.06030276440208671290, 0.81909170679373988211, 0.18029367787524874789, 0.18029367787524874789, 0.18029367787524874789, 0.45911896637425375634, 0.20756424943199228150, 0.20756424943199228150, 0.20756424943199228150, 0.29243575056800774625, 0.29243575056800774625, 0.29243575056800774625, 0.06350561875036178638, 0.06350561875036178638, 0.06350561875036178638, 0.43649438124963818586, 0.43649438124963818586, 0.43649438124963818586, 0.14257409485698341323, 0.14257409485698341323, 0.14257409485698341323, 0.35742590514301658677, 0.35742590514301658677, 0.35742590514301658677, 0.01525498961135818114, 0.01525498961135818114, 0.01525498961135818114, 0.48474501038864181712, 0.48474501038864181712, 0.48474501038864181712, 0.28177174686618233768, 0.28177174686618233768, 0.00660562854593635396, 0.28177174686618233768, 0.28177174686618233768, 0.00660562854593635396, 0.28177174686618233768, 0.28177174686618233768, 0.00660562854593635396, 0.42985087772169894293, 0.42985087772169894293, 0.42985087772169894293, 0.25327928966163937297, 0.25327928966163937297, 0.34730767552697888734, 0.25327928966163937297, 0.25327928966163937297, 0.34730767552697888734, 0.25327928966163937297, 0.25327928966163937297, 0.34730767552697888734, 0.14613374514974236673, 0.14613374514974236673, 0.14613374514974236673, 0.11944468368879919418, 0.11944468368879919418, 0.51296319321353045506, 0.11944468368879919418, 0.11944468368879919418, 0.51296319321353045506, 0.11944468368879919418, 0.11944468368879919418, 0.51296319321353045506, 0.24814743940887118434, 0.24814743940887118434, 0.24814743940887118434, 0.27969758921799775520, 0.27969758921799775520, 0.40401351501313786940, 0.27969758921799775520, 0.27969758921799775520, 0.40401351501313786940, 0.27969758921799775520, 0.27969758921799775520, 0.40401351501313786940, 0.03659130655086657857, 0.03659130655086657857, 0.03659130655086657857, 0.05914965001755916052, 0.05914965001755916052, 0.27715057680379789895, 0.05914965001755916052, 0.05914965001755916052, 0.27715057680379789895, 0.05914965001755916052, 0.05914965001755916052, 0.27715057680379789895, 0.60455012316108380777, 0.60455012316108380777, 0.60455012316108380777, 0.01156645687972039128, 0.01156645687972039128, 0.33726932317139624029, 0.01156645687972039128, 0.01156645687972039128, 0.33726932317139624029, 0.01156645687972039128, 0.01156645687972039128, 0.33726932317139624029, 0.63959776306916293898, 0.63959776306916293898, 0.63959776306916293898, 0.25462009461186185799, 0.25462009461186185799, 0.08899213511967390966, 0.25462009461186185799, 0.25462009461186185799, 0.08899213511967390966, 0.25462009461186185799, 0.25462009461186185799, 0.08899213511967390966, 0.40176767565660237436, 0.40176767565660237436, 0.40176767565660237436, 0.00667291467786515838, 0.00667291467786515838, 0.08335377000797282443, 0.00667291467786515838, 0.00667291467786515838, 0.08335377000797282443, 0.00667291467786515838, 0.00667291467786515838, 0.08335377000797282443, 0.90330040063629690739, 0.90330040063629690739, 0.90330040063629690739, 0.05954996366173629513, 0.05954996366173629513, 0.14887385146092257937, 0.05954996366173629513, 0.05954996366173629513, 0.14887385146092257937, 0.05954996366173629513, 0.05954996366173629513, 0.14887385146092257937, 0.73202622121560489976, 0.73202622121560489976, 0.73202622121560489976, 0.72293192461035271634, 0.09563829425828948572, 0.72293192461035271634, 0.09563829425828948572, 0.01308047471312759683, 0.01308047471312759683, 0.72293192461035271634, 0.09563829425828948572, 0.72293192461035271634, 0.09563829425828948572, 0.01308047471312759683, 0.01308047471312759683, 0.72293192461035271634, 0.09563829425828948572, 0.72293192461035271634, 0.09563829425828948572, 0.01308047471312759683, 0.01308047471312759683, 0.16834930641823020459, 0.16834930641823020459, 0.16834930641823020459, 0.16834930641823020459, 0.16834930641823020459, 0.16834930641823020459, 0.29136482231352184291, 0.06035751534893870479, 0.29136482231352184291, 0.06035751534893870479, 0.63765519934162528948, 0.63765519934162528948, 0.29136482231352184291, 0.06035751534893870479, 0.29136482231352184291, 0.06035751534893870479, 0.63765519934162528948, 0.63765519934162528948, 0.29136482231352184291, 0.06035751534893870479, 0.29136482231352184291, 0.06035751534893870479, 0.63765519934162528948, 0.63765519934162528948, 0.01062246299591423221, 0.01062246299591423221, 0.01062246299591423221, 0.01062246299591423221, 0.01062246299591423221, 0.01062246299591423221, 0.25753529251823142898, 0.57206296627532715604, 0.25753529251823142898, 0.57206296627532715604, 0.15750628240845837569, 0.15750628240845837569, 0.25753529251823142898, 0.57206296627532715604, 0.25753529251823142898, 0.57206296627532715604, 0.15750628240845837569, 0.15750628240845837569, 0.25753529251823142898, 0.57206296627532715604, 0.25753529251823142898, 0.57206296627532715604, 0.15750628240845837569, 0.15750628240845837569, 0.01289545879798303755, 0.01289545879798303755, 0.01289545879798303755, 0.01289545879798303755, 0.01289545879798303755, 0.01289545879798303755, 0.18372582560884528902, 0.59828716184995478500, 0.18372582560884528902, 0.59828716184995478500, 0.15309636122213676757, 0.15309636122213676757, 0.18372582560884528902, 0.59828716184995478500, 0.18372582560884528902, 0.59828716184995478500, 0.15309636122213676757, 0.15309636122213676757, 0.18372582560884528902, 0.59828716184995478500, 0.18372582560884528902, 0.59828716184995478500, 0.15309636122213676757, 0.15309636122213676757, 0.06489065131906320005, 0.06489065131906320005, 0.06489065131906320005, 0.06489065131906320005, 0.06489065131906320005, 0.06489065131906320005, 0.85405655557427551106, 0.08721077921772252273, 0.85405655557427551106, 0.08721077921772252273, 0.01165500297046612177, 0.01165500297046612177, 0.85405655557427551106, 0.08721077921772252273, 0.85405655557427551106, 0.08721077921772252273, 0.01165500297046612177, 0.01165500297046612177, 0.85405655557427551106, 0.08721077921772252273, 0.85405655557427551106, 0.08721077921772252273, 0.01165500297046612177, 0.01165500297046612177, 0.04707766223753579587, 0.04707766223753579587, 0.04707766223753579587, 0.04707766223753579587, 0.04707766223753579587, 0.04707766223753579587, 0.16720704771734881677, 0.41377996806619143921, 0.16720704771734881677, 0.41377996806619143921, 0.40853289101632561664, 0.40853289101632561664, 0.16720704771734881677, 0.41377996806619143921, 0.16720704771734881677, 0.41377996806619143921, 0.40853289101632561664, 0.40853289101632561664, 0.16720704771734881677, 0.41377996806619143921, 0.16720704771734881677, 0.41377996806619143921, 0.40853289101632561664, 0.40853289101632561664, 0.01048009320013414646, 0.01048009320013414646, 0.01048009320013414646, 0.01048009320013414646, 0.01048009320013414646, 0.01048009320013414646, 0.52421576194284147387, 0.39049895837194248394, 0.52421576194284147387, 0.39049895837194248394, 0.01167932299246963838, 0.01167932299246963838, 0.52421576194284147387, 0.39049895837194248394, 0.52421576194284147387, 0.39049895837194248394, 0.01167932299246963838, 0.01167932299246963838, 0.52421576194284147387, 0.39049895837194248394, 0.52421576194284147387, 0.39049895837194248394, 0.01167932299246963838, 0.01167932299246963838, 0.07360595669274641595, 0.07360595669274641595, 0.07360595669274641595, 0.07360595669274641595, 0.07360595669274641595, 0.07360595669274641595, 0.19288026965099538956, 0.77350174035347174506, 0.19288026965099538956, 0.77350174035347174506, 0.00816368037123298140, 0.00816368037123298140, 0.19288026965099538956, 0.77350174035347174506, 0.19288026965099538956, 0.77350174035347174506, 0.00816368037123298140, 0.00816368037123298140, 0.19288026965099538956, 0.77350174035347174506, 0.19288026965099538956, 0.77350174035347174506, 0.00816368037123298140, 0.00816368037123298140, 0.02545430962429987704, 0.02545430962429987704, 0.02545430962429987704, 0.02545430962429987704, 0.02545430962429987704, 0.02545430962429987704, 0.46827834262673895260, 0.05603440494408157974, 0.46827834262673895260, 0.05603440494408157974, 0.15298860550317516793, 0.15298860550317516793, 0.46827834262673895260, 0.05603440494408157974, 0.46827834262673895260, 0.05603440494408157974, 0.15298860550317516793, 0.15298860550317516793, 0.46827834262673895260, 0.05603440494408157974, 0.46827834262673895260, 0.05603440494408157974, 0.15298860550317516793, 0.15298860550317516793, 0.32269864692600430667, 0.32269864692600430667, 0.32269864692600430667, 0.32269864692600430667, 0.32269864692600430667, 0.32269864692600430667 }; static double d_save[] = { 0.67222176688258006294, 0.10925941103913998365, 0.10925941103913998365, 0.10925941103913998365, 0.94879283993947027831, 0.01706905335350990607, 0.01706905335350990607, 0.01706905335350990607, 0.81909170679373988211, 0.06030276440208671290, 0.06030276440208671290, 0.06030276440208671290, 0.45911896637425375634, 0.18029367787524874789, 0.18029367787524874789, 0.18029367787524874789, 0.29243575056800774625, 0.29243575056800774625, 0.20756424943199228150, 0.29243575056800774625, 0.20756424943199228150, 0.20756424943199228150, 0.43649438124963818586, 0.43649438124963818586, 0.06350561875036178638, 0.43649438124963818586, 0.06350561875036178638, 0.06350561875036178638, 0.35742590514301658677, 0.35742590514301658677, 0.14257409485698341323, 0.35742590514301658677, 0.14257409485698341323, 0.14257409485698341323, 0.48474501038864181712, 0.48474501038864181712, 0.01525498961135818114, 0.48474501038864181712, 0.01525498961135818114, 0.01525498961135818114, 0.42985087772169894293, 0.42985087772169894293, 0.42985087772169894293, 0.00660562854593635396, 0.28177174686618233768, 0.28177174686618233768, 0.00660562854593635396, 0.28177174686618233768, 0.28177174686618233768, 0.00660562854593635396, 0.28177174686618233768, 0.28177174686618233768, 0.14613374514974236673, 0.14613374514974236673, 0.14613374514974236673, 0.34730767552697888734, 0.25327928966163937297, 0.25327928966163937297, 0.34730767552697888734, 0.25327928966163937297, 0.25327928966163937297, 0.34730767552697888734, 0.25327928966163937297, 0.25327928966163937297, 0.24814743940887118434, 0.24814743940887118434, 0.24814743940887118434, 0.51296319321353045506, 0.11944468368879919418, 0.11944468368879919418, 0.51296319321353045506, 0.11944468368879919418, 0.11944468368879919418, 0.51296319321353045506, 0.11944468368879919418, 0.11944468368879919418, 0.03659130655086657857, 0.03659130655086657857, 0.03659130655086657857, 0.40401351501313786940, 0.27969758921799775520, 0.27969758921799775520, 0.40401351501313786940, 0.27969758921799775520, 0.27969758921799775520, 0.40401351501313786940, 0.27969758921799775520, 0.27969758921799775520, 0.60455012316108380777, 0.60455012316108380777, 0.60455012316108380777, 0.27715057680379789895, 0.05914965001755916052, 0.05914965001755916052, 0.27715057680379789895, 0.05914965001755916052, 0.05914965001755916052, 0.27715057680379789895, 0.05914965001755916052, 0.05914965001755916052, 0.63959776306916293898, 0.63959776306916293898, 0.63959776306916293898, 0.33726932317139624029, 0.01156645687972039128, 0.01156645687972039128, 0.33726932317139624029, 0.01156645687972039128, 0.01156645687972039128, 0.33726932317139624029, 0.01156645687972039128, 0.01156645687972039128, 0.40176767565660237436, 0.40176767565660237436, 0.40176767565660237436, 0.08899213511967390966, 0.25462009461186185799, 0.25462009461186185799, 0.08899213511967390966, 0.25462009461186185799, 0.25462009461186185799, 0.08899213511967390966, 0.25462009461186185799, 0.25462009461186185799, 0.90330040063629690739, 0.90330040063629690739, 0.90330040063629690739, 0.08335377000797282443, 0.00667291467786515838, 0.00667291467786515838, 0.08335377000797282443, 0.00667291467786515838, 0.00667291467786515838, 0.08335377000797282443, 0.00667291467786515838, 0.00667291467786515838, 0.73202622121560489976, 0.73202622121560489976, 0.73202622121560489976, 0.14887385146092257937, 0.05954996366173629513, 0.05954996366173629513, 0.14887385146092257937, 0.05954996366173629513, 0.05954996366173629513, 0.14887385146092257937, 0.05954996366173629513, 0.05954996366173629513, 0.16834930641823020459, 0.16834930641823020459, 0.16834930641823020459, 0.16834930641823020459, 0.16834930641823020459, 0.16834930641823020459, 0.01308047471312759683, 0.01308047471312759683, 0.09563829425828948572, 0.72293192461035271634, 0.09563829425828948572, 0.72293192461035271634, 0.01308047471312759683, 0.01308047471312759683, 0.09563829425828948572, 0.72293192461035271634, 0.09563829425828948572, 0.72293192461035271634, 0.01308047471312759683, 0.01308047471312759683, 0.09563829425828948572, 0.72293192461035271634, 0.09563829425828948572, 0.72293192461035271634, 0.01062246299591423221, 0.01062246299591423221, 0.01062246299591423221, 0.01062246299591423221, 0.01062246299591423221, 0.01062246299591423221, 0.63765519934162528948, 0.63765519934162528948, 0.06035751534893870479, 0.29136482231352184291, 0.06035751534893870479, 0.29136482231352184291, 0.63765519934162528948, 0.63765519934162528948, 0.06035751534893870479, 0.29136482231352184291, 0.06035751534893870479, 0.29136482231352184291, 0.63765519934162528948, 0.63765519934162528948, 0.06035751534893870479, 0.29136482231352184291, 0.06035751534893870479, 0.29136482231352184291, 0.01289545879798303755, 0.01289545879798303755, 0.01289545879798303755, 0.01289545879798303755, 0.01289545879798303755, 0.01289545879798303755, 0.15750628240845837569, 0.15750628240845837569, 0.57206296627532715604, 0.25753529251823142898, 0.57206296627532715604, 0.25753529251823142898, 0.15750628240845837569, 0.15750628240845837569, 0.57206296627532715604, 0.25753529251823142898, 0.57206296627532715604, 0.25753529251823142898, 0.15750628240845837569, 0.15750628240845837569, 0.57206296627532715604, 0.25753529251823142898, 0.57206296627532715604, 0.25753529251823142898, 0.06489065131906320005, 0.06489065131906320005, 0.06489065131906320005, 0.06489065131906320005, 0.06489065131906320005, 0.06489065131906320005, 0.15309636122213676757, 0.15309636122213676757, 0.59828716184995478500, 0.18372582560884528902, 0.59828716184995478500, 0.18372582560884528902, 0.15309636122213676757, 0.15309636122213676757, 0.59828716184995478500, 0.18372582560884528902, 0.59828716184995478500, 0.18372582560884528902, 0.15309636122213676757, 0.15309636122213676757, 0.59828716184995478500, 0.18372582560884528902, 0.59828716184995478500, 0.18372582560884528902, 0.04707766223753579587, 0.04707766223753579587, 0.04707766223753579587, 0.04707766223753579587, 0.04707766223753579587, 0.04707766223753579587, 0.01165500297046612177, 0.01165500297046612177, 0.08721077921772252273, 0.85405655557427551106, 0.08721077921772252273, 0.85405655557427551106, 0.01165500297046612177, 0.01165500297046612177, 0.08721077921772252273, 0.85405655557427551106, 0.08721077921772252273, 0.85405655557427551106, 0.01165500297046612177, 0.01165500297046612177, 0.08721077921772252273, 0.85405655557427551106, 0.08721077921772252273, 0.85405655557427551106, 0.01048009320013414646, 0.01048009320013414646, 0.01048009320013414646, 0.01048009320013414646, 0.01048009320013414646, 0.01048009320013414646, 0.40853289101632561664, 0.40853289101632561664, 0.41377996806619143921, 0.16720704771734881677, 0.41377996806619143921, 0.16720704771734881677, 0.40853289101632561664, 0.40853289101632561664, 0.41377996806619143921, 0.16720704771734881677, 0.41377996806619143921, 0.16720704771734881677, 0.40853289101632561664, 0.40853289101632561664, 0.41377996806619143921, 0.16720704771734881677, 0.41377996806619143921, 0.16720704771734881677, 0.07360595669274641595, 0.07360595669274641595, 0.07360595669274641595, 0.07360595669274641595, 0.07360595669274641595, 0.07360595669274641595, 0.01167932299246963838, 0.01167932299246963838, 0.39049895837194248394, 0.52421576194284147387, 0.39049895837194248394, 0.52421576194284147387, 0.01167932299246963838, 0.01167932299246963838, 0.39049895837194248394, 0.52421576194284147387, 0.39049895837194248394, 0.52421576194284147387, 0.01167932299246963838, 0.01167932299246963838, 0.39049895837194248394, 0.52421576194284147387, 0.39049895837194248394, 0.52421576194284147387, 0.02545430962429987704, 0.02545430962429987704, 0.02545430962429987704, 0.02545430962429987704, 0.02545430962429987704, 0.02545430962429987704, 0.00816368037123298140, 0.00816368037123298140, 0.77350174035347174506, 0.19288026965099538956, 0.77350174035347174506, 0.19288026965099538956, 0.00816368037123298140, 0.00816368037123298140, 0.77350174035347174506, 0.19288026965099538956, 0.77350174035347174506, 0.19288026965099538956, 0.00816368037123298140, 0.00816368037123298140, 0.77350174035347174506, 0.19288026965099538956, 0.77350174035347174506, 0.19288026965099538956, 0.32269864692600430667, 0.32269864692600430667, 0.32269864692600430667, 0.32269864692600430667, 0.32269864692600430667, 0.32269864692600430667, 0.15298860550317516793, 0.15298860550317516793, 0.05603440494408157974, 0.46827834262673895260, 0.05603440494408157974, 0.46827834262673895260, 0.15298860550317516793, 0.15298860550317516793, 0.05603440494408157974, 0.46827834262673895260, 0.05603440494408157974, 0.46827834262673895260, 0.15298860550317516793, 0.15298860550317516793, 0.05603440494408157974, 0.46827834262673895260, 0.05603440494408157974, 0.46827834262673895260 }; double w_save[] = { 0.00294341105468265462, 0.00294341105468265462, 0.00294341105468265462, 0.00294341105468265462, 0.00048212545621309732, 0.00048212545621309732, 0.00048212545621309732, 0.00048212545621309732, 0.00163341188233597076, 0.00163341188233597076, 0.00163341188233597076, 0.00163341188233597076, 0.00893726054473396696, 0.00893726054473396696, 0.00893726054473396696, 0.00893726054473396696, 0.00353928104113144419, 0.00353928104113144419, 0.00353928104113144419, 0.00353928104113144419, 0.00353928104113144419, 0.00353928104113144419, 0.00512787677512291287, 0.00512787677512291287, 0.00512787677512291287, 0.00512787677512291287, 0.00512787677512291287, 0.00512787677512291287, 0.00850596170577665525, 0.00850596170577665525, 0.00850596170577665525, 0.00850596170577665525, 0.00850596170577665525, 0.00850596170577665525, 0.00136200105956508968, 0.00136200105956508968, 0.00136200105956508968, 0.00136200105956508968, 0.00136200105956508968, 0.00136200105956508968, 0.00195270359469908281, 0.00195270359469908281, 0.00195270359469908281, 0.00195270359469908281, 0.00195270359469908281, 0.00195270359469908281, 0.00195270359469908281, 0.00195270359469908281, 0.00195270359469908281, 0.00195270359469908281, 0.00195270359469908281, 0.00195270359469908281, 0.00355248233270215579, 0.00355248233270215579, 0.00355248233270215579, 0.00355248233270215579, 0.00355248233270215579, 0.00355248233270215579, 0.00355248233270215579, 0.00355248233270215579, 0.00355248233270215579, 0.00355248233270215579, 0.00355248233270215579, 0.00355248233270215579, 0.00473503787208788118, 0.00473503787208788118, 0.00473503787208788118, 0.00473503787208788118, 0.00473503787208788118, 0.00473503787208788118, 0.00473503787208788118, 0.00473503787208788118, 0.00473503787208788118, 0.00473503787208788118, 0.00473503787208788118, 0.00473503787208788118, 0.00407620405252378040, 0.00407620405252378040, 0.00407620405252378040, 0.00407620405252378040, 0.00407620405252378040, 0.00407620405252378040, 0.00407620405252378040, 0.00407620405252378040, 0.00407620405252378040, 0.00407620405252378040, 0.00407620405252378040, 0.00407620405252378040, 0.00439788961603859111, 0.00439788961603859111, 0.00439788961603859111, 0.00439788961603859111, 0.00439788961603859111, 0.00439788961603859111, 0.00439788961603859111, 0.00439788961603859111, 0.00439788961603859111, 0.00439788961603859111, 0.00439788961603859111, 0.00439788961603859111, 0.00081599154180394791, 0.00081599154180394791, 0.00081599154180394791, 0.00081599154180394791, 0.00081599154180394791, 0.00081599154180394791, 0.00081599154180394791, 0.00081599154180394791, 0.00081599154180394791, 0.00081599154180394791, 0.00081599154180394791, 0.00081599154180394791, 0.00643692740335644054, 0.00643692740335644054, 0.00643692740335644054, 0.00643692740335644054, 0.00643692740335644054, 0.00643692740335644054, 0.00643692740335644054, 0.00643692740335644054, 0.00643692740335644054, 0.00643692740335644054, 0.00643692740335644054, 0.00643692740335644054, 0.00022909370299782243, 0.00022909370299782243, 0.00022909370299782243, 0.00022909370299782243, 0.00022909370299782243, 0.00022909370299782243, 0.00022909370299782243, 0.00022909370299782243, 0.00022909370299782243, 0.00022909370299782243, 0.00022909370299782243, 0.00022909370299782243, 0.00318874669420498007, 0.00318874669420498007, 0.00318874669420498007, 0.00318874669420498007, 0.00318874669420498007, 0.00318874669420498007, 0.00318874669420498007, 0.00318874669420498007, 0.00318874669420498007, 0.00318874669420498007, 0.00318874669420498007, 0.00318874669420498007, 0.00199126625996987874, 0.00199126625996987874, 0.00199126625996987874, 0.00199126625996987874, 0.00199126625996987874, 0.00199126625996987874, 0.00199126625996987874, 0.00199126625996987874, 0.00199126625996987874, 0.00199126625996987874, 0.00199126625996987874, 0.00199126625996987874, 0.00199126625996987874, 0.00199126625996987874, 0.00199126625996987874, 0.00199126625996987874, 0.00199126625996987874, 0.00199126625996987874, 0.00199126625996987874, 0.00199126625996987874, 0.00199126625996987874, 0.00199126625996987874, 0.00199126625996987874, 0.00199126625996987874, 0.00120994663686878074, 0.00120994663686878074, 0.00120994663686878074, 0.00120994663686878074, 0.00120994663686878074, 0.00120994663686878074, 0.00120994663686878074, 0.00120994663686878074, 0.00120994663686878074, 0.00120994663686878074, 0.00120994663686878074, 0.00120994663686878074, 0.00120994663686878074, 0.00120994663686878074, 0.00120994663686878074, 0.00120994663686878074, 0.00120994663686878074, 0.00120994663686878074, 0.00120994663686878074, 0.00120994663686878074, 0.00120994663686878074, 0.00120994663686878074, 0.00120994663686878074, 0.00120994663686878074, 0.00294341798218390217, 0.00294341798218390217, 0.00294341798218390217, 0.00294341798218390217, 0.00294341798218390217, 0.00294341798218390217, 0.00294341798218390217, 0.00294341798218390217, 0.00294341798218390217, 0.00294341798218390217, 0.00294341798218390217, 0.00294341798218390217, 0.00294341798218390217, 0.00294341798218390217, 0.00294341798218390217, 0.00294341798218390217, 0.00294341798218390217, 0.00294341798218390217, 0.00294341798218390217, 0.00294341798218390217, 0.00294341798218390217, 0.00294341798218390217, 0.00294341798218390217, 0.00294341798218390217, 0.00345409455481056381, 0.00345409455481056381, 0.00345409455481056381, 0.00345409455481056381, 0.00345409455481056381, 0.00345409455481056381, 0.00345409455481056381, 0.00345409455481056381, 0.00345409455481056381, 0.00345409455481056381, 0.00345409455481056381, 0.00345409455481056381, 0.00345409455481056381, 0.00345409455481056381, 0.00345409455481056381, 0.00345409455481056381, 0.00345409455481056381, 0.00345409455481056381, 0.00345409455481056381, 0.00345409455481056381, 0.00345409455481056381, 0.00345409455481056381, 0.00345409455481056381, 0.00345409455481056381, 0.00082411354147775707, 0.00082411354147775707, 0.00082411354147775707, 0.00082411354147775707, 0.00082411354147775707, 0.00082411354147775707, 0.00082411354147775707, 0.00082411354147775707, 0.00082411354147775707, 0.00082411354147775707, 0.00082411354147775707, 0.00082411354147775707, 0.00082411354147775707, 0.00082411354147775707, 0.00082411354147775707, 0.00082411354147775707, 0.00082411354147775707, 0.00082411354147775707, 0.00082411354147775707, 0.00082411354147775707, 0.00082411354147775707, 0.00082411354147775707, 0.00082411354147775707, 0.00082411354147775707, 0.00138354237817018503, 0.00138354237817018503, 0.00138354237817018503, 0.00138354237817018503, 0.00138354237817018503, 0.00138354237817018503, 0.00138354237817018503, 0.00138354237817018503, 0.00138354237817018503, 0.00138354237817018503, 0.00138354237817018503, 0.00138354237817018503, 0.00138354237817018503, 0.00138354237817018503, 0.00138354237817018503, 0.00138354237817018503, 0.00138354237817018503, 0.00138354237817018503, 0.00138354237817018503, 0.00138354237817018503, 0.00138354237817018503, 0.00138354237817018503, 0.00138354237817018503, 0.00138354237817018503, 0.00178144523592653806, 0.00178144523592653806, 0.00178144523592653806, 0.00178144523592653806, 0.00178144523592653806, 0.00178144523592653806, 0.00178144523592653806, 0.00178144523592653806, 0.00178144523592653806, 0.00178144523592653806, 0.00178144523592653806, 0.00178144523592653806, 0.00178144523592653806, 0.00178144523592653806, 0.00178144523592653806, 0.00178144523592653806, 0.00178144523592653806, 0.00178144523592653806, 0.00178144523592653806, 0.00178144523592653806, 0.00178144523592653806, 0.00178144523592653806, 0.00178144523592653806, 0.00178144523592653806, 0.00069693163510014015, 0.00069693163510014015, 0.00069693163510014015, 0.00069693163510014015, 0.00069693163510014015, 0.00069693163510014015, 0.00069693163510014015, 0.00069693163510014015, 0.00069693163510014015, 0.00069693163510014015, 0.00069693163510014015, 0.00069693163510014015, 0.00069693163510014015, 0.00069693163510014015, 0.00069693163510014015, 0.00069693163510014015, 0.00069693163510014015, 0.00069693163510014015, 0.00069693163510014015, 0.00069693163510014015, 0.00069693163510014015, 0.00069693163510014015, 0.00069693163510014015, 0.00069693163510014015, 0.00572288840189160569, 0.00572288840189160569, 0.00572288840189160569, 0.00572288840189160569, 0.00572288840189160569, 0.00572288840189160569, 0.00572288840189160569, 0.00572288840189160569, 0.00572288840189160569, 0.00572288840189160569, 0.00572288840189160569, 0.00572288840189160569, 0.00572288840189160569, 0.00572288840189160569, 0.00572288840189160569, 0.00572288840189160569, 0.00572288840189160569, 0.00572288840189160569, 0.00572288840189160569, 0.00572288840189160569, 0.00572288840189160569, 0.00572288840189160569, 0.00572288840189160569, 0.00572288840189160569 }; r8vec_copy ( n, a_save, a ); r8vec_copy ( n, b_save, b ); r8vec_copy ( n, c_save, c ); r8vec_copy ( n, d_save, d ); r8vec_copy ( n, w_save, w ); return; } /******************************************************************************/ void rule18 ( int n, double a[], double b[], double c[], double d[], double w[] ) /******************************************************************************/ /* Purpose: rule18() returns the rule of precision 18. Licensing: This code is distributed under the MIT license. Modified: 02 April 2023 Author: John Burkardt Reference: Jan Jaskowiec, Natarajan Sukumar, High order symmetric cubature rules for tetrahedra and pyramids, International Journal of Numerical Methods in Engineering, Volume 122, Number 1, pages 148-171, 24 August 2020. Input: int n: the number of quadrature points for this rule. Output: double a[n], b[n], c[n], d[n]: the barycentric coordinates of quadrature points. double w[n]: the quadrature weights. */ { static double a_save[] = { 0.20637218186812095189, 0.38088345439563714434, 0.20637218186812095189, 0.20637218186812095189, 0.16253879451764061126, 0.51238361644707808296, 0.16253879451764061126, 0.16253879451764061126, 0.31162667282556427706, 0.06511998152330712719, 0.31162667282556427706, 0.31162667282556427706, 0.33072791608903129301, 0.00781625173290610535, 0.33072791608903129301, 0.33072791608903129301, 0.03374408201299505805, 0.89876775396101482585, 0.03374408201299505805, 0.03374408201299505805, 0.06568138278425954268, 0.80295585164722138583, 0.06568138278425954268, 0.06568138278425954268, 0.01169072420259710532, 0.96492782739220872568, 0.01169072420259710532, 0.01169072420259710532, 0.19482708587852060056, 0.30517291412147939944, 0.19482708587852060056, 0.30517291412147939944, 0.19482708587852060056, 0.30517291412147939944, 0.25018283465846002933, 0.24981716534153994291, 0.25018283465846002933, 0.24981716534153994291, 0.25018283465846002933, 0.24981716534153994291, 0.48663347708394377733, 0.01336652291605620185, 0.48663347708394377733, 0.01336652291605620185, 0.48663347708394377733, 0.01336652291605620185, 0.24965765642411447134, 0.25034234357588552866, 0.24965765642411447134, 0.25034234357588552866, 0.24965765642411447134, 0.25034234357588552866, 0.16754822774571606625, 0.33245177225428396151, 0.16754822774571606625, 0.33245177225428396151, 0.16754822774571606625, 0.33245177225428396151, 0.16710640252945341278, 0.33289359747054658722, 0.16710640252945341278, 0.33289359747054658722, 0.16710640252945341278, 0.33289359747054658722, 0.39461100170587065650, 0.10538899829412931575, 0.39461100170587065650, 0.10538899829412931575, 0.39461100170587065650, 0.10538899829412931575, 0.45682278058633507545, 0.04317721941366493843, 0.45682278058633507545, 0.04317721941366493843, 0.45682278058633507545, 0.04317721941366493843, 0.13527540213032007710, 0.03310306761504428624, 0.03310306761504428624, 0.79851846263959136429, 0.79851846263959136429, 0.79851846263959136429, 0.03310306761504428624, 0.13527540213032007710, 0.03310306761504428624, 0.03310306761504428624, 0.13527540213032007710, 0.03310306761504428624, 0.00117187904704725305, 0.19461857844676747065, 0.19461857844676747065, 0.60959096405941781693, 0.60959096405941781693, 0.60959096405941781693, 0.19461857844676747065, 0.00117187904704725305, 0.19461857844676747065, 0.19461857844676747065, 0.00117187904704725305, 0.19461857844676747065, 0.32789600981495031773, 0.01321252126131118240, 0.01321252126131118240, 0.64567894766242728277, 0.64567894766242728277, 0.64567894766242728277, 0.01321252126131118240, 0.32789600981495031773, 0.01321252126131118240, 0.01321252126131118240, 0.32789600981495031773, 0.01321252126131118240, 0.02028399843152169785, 0.12293207217705982848, 0.12293207217705982848, 0.73385185721435863826, 0.73385185721435863826, 0.73385185721435863826, 0.12293207217705982848, 0.02028399843152169785, 0.12293207217705982848, 0.12293207217705982848, 0.02028399843152169785, 0.12293207217705982848, 0.34989612196236530295, 0.06199506095168379888, 0.06199506095168379888, 0.52611375613426714093, 0.52611375613426714093, 0.52611375613426714093, 0.06199506095168379888, 0.34989612196236530295, 0.06199506095168379888, 0.06199506095168379888, 0.34989612196236530295, 0.06199506095168379888, 0.16668307969529239099, 0.08407187546991698457, 0.08407187546991698457, 0.66517316936487369539, 0.66517316936487369539, 0.66517316936487369539, 0.08407187546991698457, 0.16668307969529239099, 0.08407187546991698457, 0.08407187546991698457, 0.16668307969529239099, 0.08407187546991698457, 0.18591795912287514825, 0.00786704887445389099, 0.00786704887445389099, 0.79834794312821710793, 0.79834794312821710793, 0.79834794312821710793, 0.00786704887445389099, 0.18591795912287514825, 0.00786704887445389099, 0.00786704887445389099, 0.18591795912287514825, 0.00786704887445389099, 0.24827074115031172452, 0.04217582498871236263, 0.04217582498871236263, 0.66737760887226360573, 0.66737760887226360573, 0.66737760887226360573, 0.04217582498871236263, 0.24827074115031172452, 0.04217582498871236263, 0.04217582498871236263, 0.24827074115031172452, 0.04217582498871236263, 0.06698102226768763712, 0.00868349187213884009, 0.00868349187213884009, 0.91565199398803465147, 0.91565199398803465147, 0.91565199398803465147, 0.00868349187213884009, 0.06698102226768763712, 0.00868349187213884009, 0.00868349187213884009, 0.06698102226768763712, 0.00868349187213884009, 0.29184170779811624552, 0.11111853675762081717, 0.11111853675762081717, 0.48592121868664212014, 0.48592121868664212014, 0.48592121868664212014, 0.11111853675762081717, 0.29184170779811624552, 0.11111853675762081717, 0.11111853675762081717, 0.29184170779811624552, 0.11111853675762081717, 0.06377078964518405335, 0.06377078964518405335, 0.00368546384560602220, 0.71634546470767967996, 0.00368546384560602220, 0.71634546470767967996, 0.21619828180153019548, 0.21619828180153019548, 0.21619828180153019548, 0.21619828180153019548, 0.21619828180153019548, 0.21619828180153019548, 0.00368546384560602220, 0.71634546470767967996, 0.06377078964518405335, 0.06377078964518405335, 0.71634546470767967996, 0.00368546384560602220, 0.00368546384560602220, 0.71634546470767967996, 0.06377078964518405335, 0.06377078964518405335, 0.71634546470767967996, 0.00368546384560602220, 0.00402409810322379782, 0.00402409810322379782, 0.09147563979493070208, 0.85583991442254980786, 0.09147563979493070208, 0.85583991442254980786, 0.04866034767929566102, 0.04866034767929566102, 0.04866034767929566102, 0.04866034767929566102, 0.04866034767929566102, 0.04866034767929566102, 0.09147563979493070208, 0.85583991442254980786, 0.00402409810322379782, 0.00402409810322379782, 0.85583991442254980786, 0.09147563979493070208, 0.09147563979493070208, 0.85583991442254980786, 0.00402409810322379782, 0.00402409810322379782, 0.85583991442254980786, 0.09147563979493070208, 0.41687745973852602388, 0.41687745973852602388, 0.13265637401840363330, 0.42232296038012673289, 0.13265637401840363330, 0.42232296038012673289, 0.02814320586294362034, 0.02814320586294362034, 0.02814320586294362034, 0.02814320586294362034, 0.02814320586294362034, 0.02814320586294362034, 0.13265637401840363330, 0.42232296038012673289, 0.41687745973852602388, 0.41687745973852602388, 0.42232296038012673289, 0.13265637401840363330, 0.13265637401840363330, 0.42232296038012673289, 0.41687745973852602388, 0.41687745973852602388, 0.42232296038012673289, 0.13265637401840363330, 0.24643302248016774048, 0.24643302248016774048, 0.44391986692788093505, 0.28045267653575517430, 0.44391986692788093505, 0.28045267653575517430, 0.02919443405619611201, 0.02919443405619611201, 0.02919443405619611201, 0.02919443405619611201, 0.02919443405619611201, 0.02919443405619611201, 0.44391986692788093505, 0.28045267653575517430, 0.24643302248016774048, 0.24643302248016774048, 0.28045267653575517430, 0.44391986692788093505, 0.44391986692788093505, 0.28045267653575517430, 0.24643302248016774048, 0.24643302248016774048, 0.28045267653575517430, 0.44391986692788093505, 0.12712074880700960366, 0.12712074880700960366, 0.23954508858951903405, 0.38757671289171524709, 0.23954508858951903405, 0.38757671289171524709, 0.24575744971175611520, 0.24575744971175611520, 0.24575744971175611520, 0.24575744971175611520, 0.24575744971175611520, 0.24575744971175611520, 0.23954508858951903405, 0.38757671289171524709, 0.12712074880700960366, 0.12712074880700960366, 0.38757671289171524709, 0.23954508858951903405, 0.23954508858951903405, 0.38757671289171524709, 0.12712074880700960366, 0.12712074880700960366, 0.38757671289171524709, 0.23954508858951903405, 0.21370490618618503964, 0.21370490618618503964, 0.16571308871687792652, 0.55034235855999624754, 0.16571308871687792652, 0.55034235855999624754, 0.07023964653694080018, 0.07023964653694080018, 0.07023964653694080018, 0.07023964653694080018, 0.07023964653694080018, 0.07023964653694080018, 0.16571308871687792652, 0.55034235855999624754, 0.21370490618618503964, 0.21370490618618503964, 0.55034235855999624754, 0.16571308871687792652, 0.16571308871687792652, 0.55034235855999624754, 0.21370490618618503964, 0.21370490618618503964, 0.55034235855999624754, 0.16571308871687792652, 0.32903530148779736031, 0.32903530148779736031, 0.17887766860263659696, 0.42547639224809885583, 0.17887766860263659696, 0.42547639224809885583, 0.06661063766146717302, 0.06661063766146717302, 0.06661063766146717302, 0.06661063766146717302, 0.06661063766146717302, 0.06661063766146717302, 0.17887766860263659696, 0.42547639224809885583, 0.32903530148779736031, 0.32903530148779736031, 0.42547639224809885583, 0.17887766860263659696, 0.17887766860263659696, 0.42547639224809885583, 0.32903530148779736031, 0.32903530148779736031, 0.42547639224809885583, 0.17887766860263659696, 0.00495031595694936898, 0.00495031595694936898, 0.33401761167261062591, 0.47223213508802724947, 0.33401761167261062591, 0.47223213508802724947, 0.18879993728241270534, 0.18879993728241270534, 0.18879993728241270534, 0.18879993728241270534, 0.18879993728241270534, 0.18879993728241270534, 0.33401761167261062591, 0.47223213508802724947, 0.00495031595694936898, 0.00495031595694936898, 0.47223213508802724947, 0.33401761167261062591, 0.33401761167261062591, 0.47223213508802724947, 0.00495031595694936898, 0.00495031595694936898, 0.47223213508802724947, 0.33401761167261062591, 0.00784628836168125426, 0.00784628836168125426, 0.54587730091263853005, 0.37522676082048844748, 0.54587730091263853005, 0.37522676082048844748, 0.07104964990519174739, 0.07104964990519174739, 0.07104964990519174739, 0.07104964990519174739, 0.07104964990519174739, 0.07104964990519174739, 0.54587730091263853005, 0.37522676082048844748, 0.00784628836168125426, 0.00784628836168125426, 0.37522676082048844748, 0.54587730091263853005, 0.54587730091263853005, 0.37522676082048844748, 0.00784628836168125426, 0.00784628836168125426, 0.37522676082048844748, 0.54587730091263853005, 0.12935575346620128978, 0.12935575346620128978, 0.02510439859007851382, 0.59255160790628813583, 0.02510439859007851382, 0.59255160790628813583, 0.25298824003743208833, 0.25298824003743208833, 0.25298824003743208833, 0.25298824003743208833, 0.25298824003743208833, 0.25298824003743208833, 0.02510439859007851382, 0.59255160790628813583, 0.12935575346620128978, 0.12935575346620128978, 0.59255160790628813583, 0.02510439859007851382, 0.02510439859007851382, 0.59255160790628813583, 0.12935575346620128978, 0.12935575346620128978, 0.59255160790628813583, 0.02510439859007851382 }; static double b_save[] = { 0.20637218186812095189, 0.20637218186812095189, 0.38088345439563714434, 0.20637218186812095189, 0.16253879451764061126, 0.16253879451764061126, 0.51238361644707808296, 0.16253879451764061126, 0.31162667282556427706, 0.31162667282556427706, 0.06511998152330712719, 0.31162667282556427706, 0.33072791608903129301, 0.33072791608903129301, 0.00781625173290610535, 0.33072791608903129301, 0.03374408201299505805, 0.03374408201299505805, 0.89876775396101482585, 0.03374408201299505805, 0.06568138278425954268, 0.06568138278425954268, 0.80295585164722138583, 0.06568138278425954268, 0.01169072420259710532, 0.01169072420259710532, 0.96492782739220872568, 0.01169072420259710532, 0.30517291412147939944, 0.19482708587852060056, 0.19482708587852060056, 0.30517291412147939944, 0.30517291412147939944, 0.19482708587852060056, 0.24981716534153994291, 0.25018283465846002933, 0.25018283465846002933, 0.24981716534153994291, 0.24981716534153994291, 0.25018283465846002933, 0.01336652291605620185, 0.48663347708394377733, 0.48663347708394377733, 0.01336652291605620185, 0.01336652291605620185, 0.48663347708394377733, 0.25034234357588552866, 0.24965765642411447134, 0.24965765642411447134, 0.25034234357588552866, 0.25034234357588552866, 0.24965765642411447134, 0.33245177225428396151, 0.16754822774571606625, 0.16754822774571606625, 0.33245177225428396151, 0.33245177225428396151, 0.16754822774571606625, 0.33289359747054658722, 0.16710640252945341278, 0.16710640252945341278, 0.33289359747054658722, 0.33289359747054658722, 0.16710640252945341278, 0.10538899829412931575, 0.39461100170587065650, 0.39461100170587065650, 0.10538899829412931575, 0.10538899829412931575, 0.39461100170587065650, 0.04317721941366493843, 0.45682278058633507545, 0.45682278058633507545, 0.04317721941366493843, 0.04317721941366493843, 0.45682278058633507545, 0.03310306761504428624, 0.13527540213032007710, 0.03310306761504428624, 0.03310306761504428624, 0.13527540213032007710, 0.03310306761504428624, 0.79851846263959136429, 0.79851846263959136429, 0.79851846263959136429, 0.03310306761504428624, 0.03310306761504428624, 0.13527540213032007710, 0.19461857844676747065, 0.00117187904704725305, 0.19461857844676747065, 0.19461857844676747065, 0.00117187904704725305, 0.19461857844676747065, 0.60959096405941781693, 0.60959096405941781693, 0.60959096405941781693, 0.19461857844676747065, 0.19461857844676747065, 0.00117187904704725305, 0.01321252126131118240, 0.32789600981495031773, 0.01321252126131118240, 0.01321252126131118240, 0.32789600981495031773, 0.01321252126131118240, 0.64567894766242728277, 0.64567894766242728277, 0.64567894766242728277, 0.01321252126131118240, 0.01321252126131118240, 0.32789600981495031773, 0.12293207217705982848, 0.02028399843152169785, 0.12293207217705982848, 0.12293207217705982848, 0.02028399843152169785, 0.12293207217705982848, 0.73385185721435863826, 0.73385185721435863826, 0.73385185721435863826, 0.12293207217705982848, 0.12293207217705982848, 0.02028399843152169785, 0.06199506095168379888, 0.34989612196236530295, 0.06199506095168379888, 0.06199506095168379888, 0.34989612196236530295, 0.06199506095168379888, 0.52611375613426714093, 0.52611375613426714093, 0.52611375613426714093, 0.06199506095168379888, 0.06199506095168379888, 0.34989612196236530295, 0.08407187546991698457, 0.16668307969529239099, 0.08407187546991698457, 0.08407187546991698457, 0.16668307969529239099, 0.08407187546991698457, 0.66517316936487369539, 0.66517316936487369539, 0.66517316936487369539, 0.08407187546991698457, 0.08407187546991698457, 0.16668307969529239099, 0.00786704887445389099, 0.18591795912287514825, 0.00786704887445389099, 0.00786704887445389099, 0.18591795912287514825, 0.00786704887445389099, 0.79834794312821710793, 0.79834794312821710793, 0.79834794312821710793, 0.00786704887445389099, 0.00786704887445389099, 0.18591795912287514825, 0.04217582498871236263, 0.24827074115031172452, 0.04217582498871236263, 0.04217582498871236263, 0.24827074115031172452, 0.04217582498871236263, 0.66737760887226360573, 0.66737760887226360573, 0.66737760887226360573, 0.04217582498871236263, 0.04217582498871236263, 0.24827074115031172452, 0.00868349187213884009, 0.06698102226768763712, 0.00868349187213884009, 0.00868349187213884009, 0.06698102226768763712, 0.00868349187213884009, 0.91565199398803465147, 0.91565199398803465147, 0.91565199398803465147, 0.00868349187213884009, 0.00868349187213884009, 0.06698102226768763712, 0.11111853675762081717, 0.29184170779811624552, 0.11111853675762081717, 0.11111853675762081717, 0.29184170779811624552, 0.11111853675762081717, 0.48592121868664212014, 0.48592121868664212014, 0.48592121868664212014, 0.11111853675762081717, 0.11111853675762081717, 0.29184170779811624552, 0.00368546384560602220, 0.71634546470767967996, 0.06377078964518405335, 0.06377078964518405335, 0.71634546470767967996, 0.00368546384560602220, 0.00368546384560602220, 0.71634546470767967996, 0.06377078964518405335, 0.06377078964518405335, 0.71634546470767967996, 0.00368546384560602220, 0.21619828180153019548, 0.21619828180153019548, 0.21619828180153019548, 0.21619828180153019548, 0.21619828180153019548, 0.21619828180153019548, 0.71634546470767967996, 0.00368546384560602220, 0.71634546470767967996, 0.00368546384560602220, 0.06377078964518405335, 0.06377078964518405335, 0.09147563979493070208, 0.85583991442254980786, 0.00402409810322379782, 0.00402409810322379782, 0.85583991442254980786, 0.09147563979493070208, 0.09147563979493070208, 0.85583991442254980786, 0.00402409810322379782, 0.00402409810322379782, 0.85583991442254980786, 0.09147563979493070208, 0.04866034767929566102, 0.04866034767929566102, 0.04866034767929566102, 0.04866034767929566102, 0.04866034767929566102, 0.04866034767929566102, 0.85583991442254980786, 0.09147563979493070208, 0.85583991442254980786, 0.09147563979493070208, 0.00402409810322379782, 0.00402409810322379782, 0.13265637401840363330, 0.42232296038012673289, 0.41687745973852602388, 0.41687745973852602388, 0.42232296038012673289, 0.13265637401840363330, 0.13265637401840363330, 0.42232296038012673289, 0.41687745973852602388, 0.41687745973852602388, 0.42232296038012673289, 0.13265637401840363330, 0.02814320586294362034, 0.02814320586294362034, 0.02814320586294362034, 0.02814320586294362034, 0.02814320586294362034, 0.02814320586294362034, 0.42232296038012673289, 0.13265637401840363330, 0.42232296038012673289, 0.13265637401840363330, 0.41687745973852602388, 0.41687745973852602388, 0.44391986692788093505, 0.28045267653575517430, 0.24643302248016774048, 0.24643302248016774048, 0.28045267653575517430, 0.44391986692788093505, 0.44391986692788093505, 0.28045267653575517430, 0.24643302248016774048, 0.24643302248016774048, 0.28045267653575517430, 0.44391986692788093505, 0.02919443405619611201, 0.02919443405619611201, 0.02919443405619611201, 0.02919443405619611201, 0.02919443405619611201, 0.02919443405619611201, 0.28045267653575517430, 0.44391986692788093505, 0.28045267653575517430, 0.44391986692788093505, 0.24643302248016774048, 0.24643302248016774048, 0.23954508858951903405, 0.38757671289171524709, 0.12712074880700960366, 0.12712074880700960366, 0.38757671289171524709, 0.23954508858951903405, 0.23954508858951903405, 0.38757671289171524709, 0.12712074880700960366, 0.12712074880700960366, 0.38757671289171524709, 0.23954508858951903405, 0.24575744971175611520, 0.24575744971175611520, 0.24575744971175611520, 0.24575744971175611520, 0.24575744971175611520, 0.24575744971175611520, 0.38757671289171524709, 0.23954508858951903405, 0.38757671289171524709, 0.23954508858951903405, 0.12712074880700960366, 0.12712074880700960366, 0.16571308871687792652, 0.55034235855999624754, 0.21370490618618503964, 0.21370490618618503964, 0.55034235855999624754, 0.16571308871687792652, 0.16571308871687792652, 0.55034235855999624754, 0.21370490618618503964, 0.21370490618618503964, 0.55034235855999624754, 0.16571308871687792652, 0.07023964653694080018, 0.07023964653694080018, 0.07023964653694080018, 0.07023964653694080018, 0.07023964653694080018, 0.07023964653694080018, 0.55034235855999624754, 0.16571308871687792652, 0.55034235855999624754, 0.16571308871687792652, 0.21370490618618503964, 0.21370490618618503964, 0.17887766860263659696, 0.42547639224809885583, 0.32903530148779736031, 0.32903530148779736031, 0.42547639224809885583, 0.17887766860263659696, 0.17887766860263659696, 0.42547639224809885583, 0.32903530148779736031, 0.32903530148779736031, 0.42547639224809885583, 0.17887766860263659696, 0.06661063766146717302, 0.06661063766146717302, 0.06661063766146717302, 0.06661063766146717302, 0.06661063766146717302, 0.06661063766146717302, 0.42547639224809885583, 0.17887766860263659696, 0.42547639224809885583, 0.17887766860263659696, 0.32903530148779736031, 0.32903530148779736031, 0.33401761167261062591, 0.47223213508802724947, 0.00495031595694936898, 0.00495031595694936898, 0.47223213508802724947, 0.33401761167261062591, 0.33401761167261062591, 0.47223213508802724947, 0.00495031595694936898, 0.00495031595694936898, 0.47223213508802724947, 0.33401761167261062591, 0.18879993728241270534, 0.18879993728241270534, 0.18879993728241270534, 0.18879993728241270534, 0.18879993728241270534, 0.18879993728241270534, 0.47223213508802724947, 0.33401761167261062591, 0.47223213508802724947, 0.33401761167261062591, 0.00495031595694936898, 0.00495031595694936898, 0.54587730091263853005, 0.37522676082048844748, 0.00784628836168125426, 0.00784628836168125426, 0.37522676082048844748, 0.54587730091263853005, 0.54587730091263853005, 0.37522676082048844748, 0.00784628836168125426, 0.00784628836168125426, 0.37522676082048844748, 0.54587730091263853005, 0.07104964990519174739, 0.07104964990519174739, 0.07104964990519174739, 0.07104964990519174739, 0.07104964990519174739, 0.07104964990519174739, 0.37522676082048844748, 0.54587730091263853005, 0.37522676082048844748, 0.54587730091263853005, 0.00784628836168125426, 0.00784628836168125426, 0.02510439859007851382, 0.59255160790628813583, 0.12935575346620128978, 0.12935575346620128978, 0.59255160790628813583, 0.02510439859007851382, 0.02510439859007851382, 0.59255160790628813583, 0.12935575346620128978, 0.12935575346620128978, 0.59255160790628813583, 0.02510439859007851382, 0.25298824003743208833, 0.25298824003743208833, 0.25298824003743208833, 0.25298824003743208833, 0.25298824003743208833, 0.25298824003743208833, 0.59255160790628813583, 0.02510439859007851382, 0.59255160790628813583, 0.02510439859007851382, 0.12935575346620128978, 0.12935575346620128978 }; static double c_save[] = { 0.20637218186812095189, 0.20637218186812095189, 0.20637218186812095189, 0.38088345439563714434, 0.16253879451764061126, 0.16253879451764061126, 0.16253879451764061126, 0.51238361644707808296, 0.31162667282556427706, 0.31162667282556427706, 0.31162667282556427706, 0.06511998152330712719, 0.33072791608903129301, 0.33072791608903129301, 0.33072791608903129301, 0.00781625173290610535, 0.03374408201299505805, 0.03374408201299505805, 0.03374408201299505805, 0.89876775396101482585, 0.06568138278425954268, 0.06568138278425954268, 0.06568138278425954268, 0.80295585164722138583, 0.01169072420259710532, 0.01169072420259710532, 0.01169072420259710532, 0.96492782739220872568, 0.30517291412147939944, 0.30517291412147939944, 0.30517291412147939944, 0.19482708587852060056, 0.19482708587852060056, 0.19482708587852060056, 0.24981716534153994291, 0.24981716534153994291, 0.24981716534153994291, 0.25018283465846002933, 0.25018283465846002933, 0.25018283465846002933, 0.01336652291605620185, 0.01336652291605620185, 0.01336652291605620185, 0.48663347708394377733, 0.48663347708394377733, 0.48663347708394377733, 0.25034234357588552866, 0.25034234357588552866, 0.25034234357588552866, 0.24965765642411447134, 0.24965765642411447134, 0.24965765642411447134, 0.33245177225428396151, 0.33245177225428396151, 0.33245177225428396151, 0.16754822774571606625, 0.16754822774571606625, 0.16754822774571606625, 0.33289359747054658722, 0.33289359747054658722, 0.33289359747054658722, 0.16710640252945341278, 0.16710640252945341278, 0.16710640252945341278, 0.10538899829412931575, 0.10538899829412931575, 0.10538899829412931575, 0.39461100170587065650, 0.39461100170587065650, 0.39461100170587065650, 0.04317721941366493843, 0.04317721941366493843, 0.04317721941366493843, 0.45682278058633507545, 0.45682278058633507545, 0.45682278058633507545, 0.03310306761504428624, 0.03310306761504428624, 0.13527540213032007710, 0.03310306761504428624, 0.03310306761504428624, 0.13527540213032007710, 0.03310306761504428624, 0.03310306761504428624, 0.13527540213032007710, 0.79851846263959136429, 0.79851846263959136429, 0.79851846263959136429, 0.19461857844676747065, 0.19461857844676747065, 0.00117187904704725305, 0.19461857844676747065, 0.19461857844676747065, 0.00117187904704725305, 0.19461857844676747065, 0.19461857844676747065, 0.00117187904704725305, 0.60959096405941781693, 0.60959096405941781693, 0.60959096405941781693, 0.01321252126131118240, 0.01321252126131118240, 0.32789600981495031773, 0.01321252126131118240, 0.01321252126131118240, 0.32789600981495031773, 0.01321252126131118240, 0.01321252126131118240, 0.32789600981495031773, 0.64567894766242728277, 0.64567894766242728277, 0.64567894766242728277, 0.12293207217705982848, 0.12293207217705982848, 0.02028399843152169785, 0.12293207217705982848, 0.12293207217705982848, 0.02028399843152169785, 0.12293207217705982848, 0.12293207217705982848, 0.02028399843152169785, 0.73385185721435863826, 0.73385185721435863826, 0.73385185721435863826, 0.06199506095168379888, 0.06199506095168379888, 0.34989612196236530295, 0.06199506095168379888, 0.06199506095168379888, 0.34989612196236530295, 0.06199506095168379888, 0.06199506095168379888, 0.34989612196236530295, 0.52611375613426714093, 0.52611375613426714093, 0.52611375613426714093, 0.08407187546991698457, 0.08407187546991698457, 0.16668307969529239099, 0.08407187546991698457, 0.08407187546991698457, 0.16668307969529239099, 0.08407187546991698457, 0.08407187546991698457, 0.16668307969529239099, 0.66517316936487369539, 0.66517316936487369539, 0.66517316936487369539, 0.00786704887445389099, 0.00786704887445389099, 0.18591795912287514825, 0.00786704887445389099, 0.00786704887445389099, 0.18591795912287514825, 0.00786704887445389099, 0.00786704887445389099, 0.18591795912287514825, 0.79834794312821710793, 0.79834794312821710793, 0.79834794312821710793, 0.04217582498871236263, 0.04217582498871236263, 0.24827074115031172452, 0.04217582498871236263, 0.04217582498871236263, 0.24827074115031172452, 0.04217582498871236263, 0.04217582498871236263, 0.24827074115031172452, 0.66737760887226360573, 0.66737760887226360573, 0.66737760887226360573, 0.00868349187213884009, 0.00868349187213884009, 0.06698102226768763712, 0.00868349187213884009, 0.00868349187213884009, 0.06698102226768763712, 0.00868349187213884009, 0.00868349187213884009, 0.06698102226768763712, 0.91565199398803465147, 0.91565199398803465147, 0.91565199398803465147, 0.11111853675762081717, 0.11111853675762081717, 0.29184170779811624552, 0.11111853675762081717, 0.11111853675762081717, 0.29184170779811624552, 0.11111853675762081717, 0.11111853675762081717, 0.29184170779811624552, 0.48592121868664212014, 0.48592121868664212014, 0.48592121868664212014, 0.71634546470767967996, 0.00368546384560602220, 0.71634546470767967996, 0.00368546384560602220, 0.06377078964518405335, 0.06377078964518405335, 0.71634546470767967996, 0.00368546384560602220, 0.71634546470767967996, 0.00368546384560602220, 0.06377078964518405335, 0.06377078964518405335, 0.71634546470767967996, 0.00368546384560602220, 0.71634546470767967996, 0.00368546384560602220, 0.06377078964518405335, 0.06377078964518405335, 0.21619828180153019548, 0.21619828180153019548, 0.21619828180153019548, 0.21619828180153019548, 0.21619828180153019548, 0.21619828180153019548, 0.85583991442254980786, 0.09147563979493070208, 0.85583991442254980786, 0.09147563979493070208, 0.00402409810322379782, 0.00402409810322379782, 0.85583991442254980786, 0.09147563979493070208, 0.85583991442254980786, 0.09147563979493070208, 0.00402409810322379782, 0.00402409810322379782, 0.85583991442254980786, 0.09147563979493070208, 0.85583991442254980786, 0.09147563979493070208, 0.00402409810322379782, 0.00402409810322379782, 0.04866034767929566102, 0.04866034767929566102, 0.04866034767929566102, 0.04866034767929566102, 0.04866034767929566102, 0.04866034767929566102, 0.42232296038012673289, 0.13265637401840363330, 0.42232296038012673289, 0.13265637401840363330, 0.41687745973852602388, 0.41687745973852602388, 0.42232296038012673289, 0.13265637401840363330, 0.42232296038012673289, 0.13265637401840363330, 0.41687745973852602388, 0.41687745973852602388, 0.42232296038012673289, 0.13265637401840363330, 0.42232296038012673289, 0.13265637401840363330, 0.41687745973852602388, 0.41687745973852602388, 0.02814320586294362034, 0.02814320586294362034, 0.02814320586294362034, 0.02814320586294362034, 0.02814320586294362034, 0.02814320586294362034, 0.28045267653575517430, 0.44391986692788093505, 0.28045267653575517430, 0.44391986692788093505, 0.24643302248016774048, 0.24643302248016774048, 0.28045267653575517430, 0.44391986692788093505, 0.28045267653575517430, 0.44391986692788093505, 0.24643302248016774048, 0.24643302248016774048, 0.28045267653575517430, 0.44391986692788093505, 0.28045267653575517430, 0.44391986692788093505, 0.24643302248016774048, 0.24643302248016774048, 0.02919443405619611201, 0.02919443405619611201, 0.02919443405619611201, 0.02919443405619611201, 0.02919443405619611201, 0.02919443405619611201, 0.38757671289171524709, 0.23954508858951903405, 0.38757671289171524709, 0.23954508858951903405, 0.12712074880700960366, 0.12712074880700960366, 0.38757671289171524709, 0.23954508858951903405, 0.38757671289171524709, 0.23954508858951903405, 0.12712074880700960366, 0.12712074880700960366, 0.38757671289171524709, 0.23954508858951903405, 0.38757671289171524709, 0.23954508858951903405, 0.12712074880700960366, 0.12712074880700960366, 0.24575744971175611520, 0.24575744971175611520, 0.24575744971175611520, 0.24575744971175611520, 0.24575744971175611520, 0.24575744971175611520, 0.55034235855999624754, 0.16571308871687792652, 0.55034235855999624754, 0.16571308871687792652, 0.21370490618618503964, 0.21370490618618503964, 0.55034235855999624754, 0.16571308871687792652, 0.55034235855999624754, 0.16571308871687792652, 0.21370490618618503964, 0.21370490618618503964, 0.55034235855999624754, 0.16571308871687792652, 0.55034235855999624754, 0.16571308871687792652, 0.21370490618618503964, 0.21370490618618503964, 0.07023964653694080018, 0.07023964653694080018, 0.07023964653694080018, 0.07023964653694080018, 0.07023964653694080018, 0.07023964653694080018, 0.42547639224809885583, 0.17887766860263659696, 0.42547639224809885583, 0.17887766860263659696, 0.32903530148779736031, 0.32903530148779736031, 0.42547639224809885583, 0.17887766860263659696, 0.42547639224809885583, 0.17887766860263659696, 0.32903530148779736031, 0.32903530148779736031, 0.42547639224809885583, 0.17887766860263659696, 0.42547639224809885583, 0.17887766860263659696, 0.32903530148779736031, 0.32903530148779736031, 0.06661063766146717302, 0.06661063766146717302, 0.06661063766146717302, 0.06661063766146717302, 0.06661063766146717302, 0.06661063766146717302, 0.47223213508802724947, 0.33401761167261062591, 0.47223213508802724947, 0.33401761167261062591, 0.00495031595694936898, 0.00495031595694936898, 0.47223213508802724947, 0.33401761167261062591, 0.47223213508802724947, 0.33401761167261062591, 0.00495031595694936898, 0.00495031595694936898, 0.47223213508802724947, 0.33401761167261062591, 0.47223213508802724947, 0.33401761167261062591, 0.00495031595694936898, 0.00495031595694936898, 0.18879993728241270534, 0.18879993728241270534, 0.18879993728241270534, 0.18879993728241270534, 0.18879993728241270534, 0.18879993728241270534, 0.37522676082048844748, 0.54587730091263853005, 0.37522676082048844748, 0.54587730091263853005, 0.00784628836168125426, 0.00784628836168125426, 0.37522676082048844748, 0.54587730091263853005, 0.37522676082048844748, 0.54587730091263853005, 0.00784628836168125426, 0.00784628836168125426, 0.37522676082048844748, 0.54587730091263853005, 0.37522676082048844748, 0.54587730091263853005, 0.00784628836168125426, 0.00784628836168125426, 0.07104964990519174739, 0.07104964990519174739, 0.07104964990519174739, 0.07104964990519174739, 0.07104964990519174739, 0.07104964990519174739, 0.59255160790628813583, 0.02510439859007851382, 0.59255160790628813583, 0.02510439859007851382, 0.12935575346620128978, 0.12935575346620128978, 0.59255160790628813583, 0.02510439859007851382, 0.59255160790628813583, 0.02510439859007851382, 0.12935575346620128978, 0.12935575346620128978, 0.59255160790628813583, 0.02510439859007851382, 0.59255160790628813583, 0.02510439859007851382, 0.12935575346620128978, 0.12935575346620128978, 0.25298824003743208833, 0.25298824003743208833, 0.25298824003743208833, 0.25298824003743208833, 0.25298824003743208833, 0.25298824003743208833 }; static double d_save[] = { 0.38088345439563714434, 0.20637218186812095189, 0.20637218186812095189, 0.20637218186812095189, 0.51238361644707808296, 0.16253879451764061126, 0.16253879451764061126, 0.16253879451764061126, 0.06511998152330712719, 0.31162667282556427706, 0.31162667282556427706, 0.31162667282556427706, 0.00781625173290610535, 0.33072791608903129301, 0.33072791608903129301, 0.33072791608903129301, 0.89876775396101482585, 0.03374408201299505805, 0.03374408201299505805, 0.03374408201299505805, 0.80295585164722138583, 0.06568138278425954268, 0.06568138278425954268, 0.06568138278425954268, 0.96492782739220872568, 0.01169072420259710532, 0.01169072420259710532, 0.01169072420259710532, 0.19482708587852060056, 0.19482708587852060056, 0.30517291412147939944, 0.19482708587852060056, 0.30517291412147939944, 0.30517291412147939944, 0.25018283465846002933, 0.25018283465846002933, 0.24981716534153994291, 0.25018283465846002933, 0.24981716534153994291, 0.24981716534153994291, 0.48663347708394377733, 0.48663347708394377733, 0.01336652291605620185, 0.48663347708394377733, 0.01336652291605620185, 0.01336652291605620185, 0.24965765642411447134, 0.24965765642411447134, 0.25034234357588552866, 0.24965765642411447134, 0.25034234357588552866, 0.25034234357588552866, 0.16754822774571606625, 0.16754822774571606625, 0.33245177225428396151, 0.16754822774571606625, 0.33245177225428396151, 0.33245177225428396151, 0.16710640252945341278, 0.16710640252945341278, 0.33289359747054658722, 0.16710640252945341278, 0.33289359747054658722, 0.33289359747054658722, 0.39461100170587065650, 0.39461100170587065650, 0.10538899829412931575, 0.39461100170587065650, 0.10538899829412931575, 0.10538899829412931575, 0.45682278058633507545, 0.45682278058633507545, 0.04317721941366493843, 0.45682278058633507545, 0.04317721941366493843, 0.04317721941366493843, 0.79851846263959136429, 0.79851846263959136429, 0.79851846263959136429, 0.13527540213032007710, 0.03310306761504428624, 0.03310306761504428624, 0.13527540213032007710, 0.03310306761504428624, 0.03310306761504428624, 0.13527540213032007710, 0.03310306761504428624, 0.03310306761504428624, 0.60959096405941781693, 0.60959096405941781693, 0.60959096405941781693, 0.00117187904704725305, 0.19461857844676747065, 0.19461857844676747065, 0.00117187904704725305, 0.19461857844676747065, 0.19461857844676747065, 0.00117187904704725305, 0.19461857844676747065, 0.19461857844676747065, 0.64567894766242728277, 0.64567894766242728277, 0.64567894766242728277, 0.32789600981495031773, 0.01321252126131118240, 0.01321252126131118240, 0.32789600981495031773, 0.01321252126131118240, 0.01321252126131118240, 0.32789600981495031773, 0.01321252126131118240, 0.01321252126131118240, 0.73385185721435863826, 0.73385185721435863826, 0.73385185721435863826, 0.02028399843152169785, 0.12293207217705982848, 0.12293207217705982848, 0.02028399843152169785, 0.12293207217705982848, 0.12293207217705982848, 0.02028399843152169785, 0.12293207217705982848, 0.12293207217705982848, 0.52611375613426714093, 0.52611375613426714093, 0.52611375613426714093, 0.34989612196236530295, 0.06199506095168379888, 0.06199506095168379888, 0.34989612196236530295, 0.06199506095168379888, 0.06199506095168379888, 0.34989612196236530295, 0.06199506095168379888, 0.06199506095168379888, 0.66517316936487369539, 0.66517316936487369539, 0.66517316936487369539, 0.16668307969529239099, 0.08407187546991698457, 0.08407187546991698457, 0.16668307969529239099, 0.08407187546991698457, 0.08407187546991698457, 0.16668307969529239099, 0.08407187546991698457, 0.08407187546991698457, 0.79834794312821710793, 0.79834794312821710793, 0.79834794312821710793, 0.18591795912287514825, 0.00786704887445389099, 0.00786704887445389099, 0.18591795912287514825, 0.00786704887445389099, 0.00786704887445389099, 0.18591795912287514825, 0.00786704887445389099, 0.00786704887445389099, 0.66737760887226360573, 0.66737760887226360573, 0.66737760887226360573, 0.24827074115031172452, 0.04217582498871236263, 0.04217582498871236263, 0.24827074115031172452, 0.04217582498871236263, 0.04217582498871236263, 0.24827074115031172452, 0.04217582498871236263, 0.04217582498871236263, 0.91565199398803465147, 0.91565199398803465147, 0.91565199398803465147, 0.06698102226768763712, 0.00868349187213884009, 0.00868349187213884009, 0.06698102226768763712, 0.00868349187213884009, 0.00868349187213884009, 0.06698102226768763712, 0.00868349187213884009, 0.00868349187213884009, 0.48592121868664212014, 0.48592121868664212014, 0.48592121868664212014, 0.29184170779811624552, 0.11111853675762081717, 0.11111853675762081717, 0.29184170779811624552, 0.11111853675762081717, 0.11111853675762081717, 0.29184170779811624552, 0.11111853675762081717, 0.11111853675762081717, 0.21619828180153019548, 0.21619828180153019548, 0.21619828180153019548, 0.21619828180153019548, 0.21619828180153019548, 0.21619828180153019548, 0.06377078964518405335, 0.06377078964518405335, 0.00368546384560602220, 0.71634546470767967996, 0.00368546384560602220, 0.71634546470767967996, 0.06377078964518405335, 0.06377078964518405335, 0.00368546384560602220, 0.71634546470767967996, 0.00368546384560602220, 0.71634546470767967996, 0.06377078964518405335, 0.06377078964518405335, 0.00368546384560602220, 0.71634546470767967996, 0.00368546384560602220, 0.71634546470767967996, 0.04866034767929566102, 0.04866034767929566102, 0.04866034767929566102, 0.04866034767929566102, 0.04866034767929566102, 0.04866034767929566102, 0.00402409810322379782, 0.00402409810322379782, 0.09147563979493070208, 0.85583991442254980786, 0.09147563979493070208, 0.85583991442254980786, 0.00402409810322379782, 0.00402409810322379782, 0.09147563979493070208, 0.85583991442254980786, 0.09147563979493070208, 0.85583991442254980786, 0.00402409810322379782, 0.00402409810322379782, 0.09147563979493070208, 0.85583991442254980786, 0.09147563979493070208, 0.85583991442254980786, 0.02814320586294362034, 0.02814320586294362034, 0.02814320586294362034, 0.02814320586294362034, 0.02814320586294362034, 0.02814320586294362034, 0.41687745973852602388, 0.41687745973852602388, 0.13265637401840363330, 0.42232296038012673289, 0.13265637401840363330, 0.42232296038012673289, 0.41687745973852602388, 0.41687745973852602388, 0.13265637401840363330, 0.42232296038012673289, 0.13265637401840363330, 0.42232296038012673289, 0.41687745973852602388, 0.41687745973852602388, 0.13265637401840363330, 0.42232296038012673289, 0.13265637401840363330, 0.42232296038012673289, 0.02919443405619611201, 0.02919443405619611201, 0.02919443405619611201, 0.02919443405619611201, 0.02919443405619611201, 0.02919443405619611201, 0.24643302248016774048, 0.24643302248016774048, 0.44391986692788093505, 0.28045267653575517430, 0.44391986692788093505, 0.28045267653575517430, 0.24643302248016774048, 0.24643302248016774048, 0.44391986692788093505, 0.28045267653575517430, 0.44391986692788093505, 0.28045267653575517430, 0.24643302248016774048, 0.24643302248016774048, 0.44391986692788093505, 0.28045267653575517430, 0.44391986692788093505, 0.28045267653575517430, 0.24575744971175611520, 0.24575744971175611520, 0.24575744971175611520, 0.24575744971175611520, 0.24575744971175611520, 0.24575744971175611520, 0.12712074880700960366, 0.12712074880700960366, 0.23954508858951903405, 0.38757671289171524709, 0.23954508858951903405, 0.38757671289171524709, 0.12712074880700960366, 0.12712074880700960366, 0.23954508858951903405, 0.38757671289171524709, 0.23954508858951903405, 0.38757671289171524709, 0.12712074880700960366, 0.12712074880700960366, 0.23954508858951903405, 0.38757671289171524709, 0.23954508858951903405, 0.38757671289171524709, 0.07023964653694080018, 0.07023964653694080018, 0.07023964653694080018, 0.07023964653694080018, 0.07023964653694080018, 0.07023964653694080018, 0.21370490618618503964, 0.21370490618618503964, 0.16571308871687792652, 0.55034235855999624754, 0.16571308871687792652, 0.55034235855999624754, 0.21370490618618503964, 0.21370490618618503964, 0.16571308871687792652, 0.55034235855999624754, 0.16571308871687792652, 0.55034235855999624754, 0.21370490618618503964, 0.21370490618618503964, 0.16571308871687792652, 0.55034235855999624754, 0.16571308871687792652, 0.55034235855999624754, 0.06661063766146717302, 0.06661063766146717302, 0.06661063766146717302, 0.06661063766146717302, 0.06661063766146717302, 0.06661063766146717302, 0.32903530148779736031, 0.32903530148779736031, 0.17887766860263659696, 0.42547639224809885583, 0.17887766860263659696, 0.42547639224809885583, 0.32903530148779736031, 0.32903530148779736031, 0.17887766860263659696, 0.42547639224809885583, 0.17887766860263659696, 0.42547639224809885583, 0.32903530148779736031, 0.32903530148779736031, 0.17887766860263659696, 0.42547639224809885583, 0.17887766860263659696, 0.42547639224809885583, 0.18879993728241270534, 0.18879993728241270534, 0.18879993728241270534, 0.18879993728241270534, 0.18879993728241270534, 0.18879993728241270534, 0.00495031595694936898, 0.00495031595694936898, 0.33401761167261062591, 0.47223213508802724947, 0.33401761167261062591, 0.47223213508802724947, 0.00495031595694936898, 0.00495031595694936898, 0.33401761167261062591, 0.47223213508802724947, 0.33401761167261062591, 0.47223213508802724947, 0.00495031595694936898, 0.00495031595694936898, 0.33401761167261062591, 0.47223213508802724947, 0.33401761167261062591, 0.47223213508802724947, 0.07104964990519174739, 0.07104964990519174739, 0.07104964990519174739, 0.07104964990519174739, 0.07104964990519174739, 0.07104964990519174739, 0.00784628836168125426, 0.00784628836168125426, 0.54587730091263853005, 0.37522676082048844748, 0.54587730091263853005, 0.37522676082048844748, 0.00784628836168125426, 0.00784628836168125426, 0.54587730091263853005, 0.37522676082048844748, 0.54587730091263853005, 0.37522676082048844748, 0.00784628836168125426, 0.00784628836168125426, 0.54587730091263853005, 0.37522676082048844748, 0.54587730091263853005, 0.37522676082048844748, 0.25298824003743208833, 0.25298824003743208833, 0.25298824003743208833, 0.25298824003743208833, 0.25298824003743208833, 0.25298824003743208833, 0.12935575346620128978, 0.12935575346620128978, 0.02510439859007851382, 0.59255160790628813583, 0.02510439859007851382, 0.59255160790628813583, 0.12935575346620128978, 0.12935575346620128978, 0.02510439859007851382, 0.59255160790628813583, 0.02510439859007851382, 0.59255160790628813583, 0.12935575346620128978, 0.12935575346620128978, 0.02510439859007851382, 0.59255160790628813583, 0.02510439859007851382, 0.59255160790628813583 }; double w_save[] = { 0.00150538840675059553, 0.00150538840675059553, 0.00150538840675059553, 0.00150538840675059553, 0.00720144153152843611, 0.00720144153152843611, 0.00720144153152843611, 0.00720144153152843611, 0.00580180123369481490, 0.00580180123369481490, 0.00580180123369481490, 0.00580180123369481490, 0.00246508839284979072, 0.00246508839284979072, 0.00246508839284979072, 0.00246508839284979072, 0.00082352710591100209, 0.00082352710591100209, 0.00082352710591100209, 0.00082352710591100209, 0.00239615339582495944, 0.00239615339582495944, 0.00239615339582495944, 0.00239615339582495944, 0.00016620265380624529, 0.00016620265380624529, 0.00016620265380624529, 0.00016620265380624529, 0.00004747626606883917, 0.00004747626606883917, 0.00004747626606883917, 0.00004747626606883917, 0.00004747626606883917, 0.00004747626606883917, 0.00056549604041758049, 0.00056549604041758049, 0.00056549604041758049, 0.00056549604041758049, 0.00056549604041758049, 0.00056549604041758049, 0.00112664484758759819, 0.00112664484758759819, 0.00112664484758759819, 0.00112664484758759819, 0.00112664484758759819, 0.00112664484758759819, 0.00134824615188020068, 0.00134824615188020068, 0.00134824615188020068, 0.00134824615188020068, 0.00134824615188020068, 0.00134824615188020068, 0.00036570690966776829, 0.00036570690966776829, 0.00036570690966776829, 0.00036570690966776829, 0.00036570690966776829, 0.00036570690966776829, 0.00585317199256511420, 0.00585317199256511420, 0.00585317199256511420, 0.00585317199256511420, 0.00585317199256511420, 0.00585317199256511420, 0.00195669103482143045, 0.00195669103482143045, 0.00195669103482143045, 0.00195669103482143045, 0.00195669103482143045, 0.00195669103482143045, 0.00167324425217903932, 0.00167324425217903932, 0.00167324425217903932, 0.00167324425217903932, 0.00167324425217903932, 0.00167324425217903932, 0.00168440997312563432, 0.00168440997312563432, 0.00168440997312563432, 0.00168440997312563432, 0.00168440997312563432, 0.00168440997312563432, 0.00168440997312563432, 0.00168440997312563432, 0.00168440997312563432, 0.00168440997312563432, 0.00168440997312563432, 0.00168440997312563432, 0.00094897330309711499, 0.00094897330309711499, 0.00094897330309711499, 0.00094897330309711499, 0.00094897330309711499, 0.00094897330309711499, 0.00094897330309711499, 0.00094897330309711499, 0.00094897330309711499, 0.00094897330309711499, 0.00094897330309711499, 0.00094897330309711499, 0.00103908313593165276, 0.00103908313593165276, 0.00103908313593165276, 0.00103908313593165276, 0.00103908313593165276, 0.00103908313593165276, 0.00103908313593165276, 0.00103908313593165276, 0.00103908313593165276, 0.00103908313593165276, 0.00103908313593165276, 0.00103908313593165276, 0.00286855832424034790, 0.00286855832424034790, 0.00286855832424034790, 0.00286855832424034790, 0.00286855832424034790, 0.00286855832424034790, 0.00286855832424034790, 0.00286855832424034790, 0.00286855832424034790, 0.00286855832424034790, 0.00286855832424034790, 0.00286855832424034790, 0.00367220278457213193, 0.00367220278457213193, 0.00367220278457213193, 0.00367220278457213193, 0.00367220278457213193, 0.00367220278457213193, 0.00367220278457213193, 0.00367220278457213193, 0.00367220278457213193, 0.00367220278457213193, 0.00367220278457213193, 0.00367220278457213193, 0.00474715554659636309, 0.00474715554659636309, 0.00474715554659636309, 0.00474715554659636309, 0.00474715554659636309, 0.00474715554659636309, 0.00474715554659636309, 0.00474715554659636309, 0.00474715554659636309, 0.00474715554659636309, 0.00474715554659636309, 0.00474715554659636309, 0.00041508840782129717, 0.00041508840782129717, 0.00041508840782129717, 0.00041508840782129717, 0.00041508840782129717, 0.00041508840782129717, 0.00041508840782129717, 0.00041508840782129717, 0.00041508840782129717, 0.00041508840782129717, 0.00041508840782129717, 0.00041508840782129717, 0.00250499012224768280, 0.00250499012224768280, 0.00250499012224768280, 0.00250499012224768280, 0.00250499012224768280, 0.00250499012224768280, 0.00250499012224768280, 0.00250499012224768280, 0.00250499012224768280, 0.00250499012224768280, 0.00250499012224768280, 0.00250499012224768280, 0.00026299196277102378, 0.00026299196277102378, 0.00026299196277102378, 0.00026299196277102378, 0.00026299196277102378, 0.00026299196277102378, 0.00026299196277102378, 0.00026299196277102378, 0.00026299196277102378, 0.00026299196277102378, 0.00026299196277102378, 0.00026299196277102378, 0.00523794881864567390, 0.00523794881864567390, 0.00523794881864567390, 0.00523794881864567390, 0.00523794881864567390, 0.00523794881864567390, 0.00523794881864567390, 0.00523794881864567390, 0.00523794881864567390, 0.00523794881864567390, 0.00523794881864567390, 0.00523794881864567390, 0.00095305173455027987, 0.00095305173455027987, 0.00095305173455027987, 0.00095305173455027987, 0.00095305173455027987, 0.00095305173455027987, 0.00095305173455027987, 0.00095305173455027987, 0.00095305173455027987, 0.00095305173455027987, 0.00095305173455027987, 0.00095305173455027987, 0.00095305173455027987, 0.00095305173455027987, 0.00095305173455027987, 0.00095305173455027987, 0.00095305173455027987, 0.00095305173455027987, 0.00095305173455027987, 0.00095305173455027987, 0.00095305173455027987, 0.00095305173455027987, 0.00095305173455027987, 0.00095305173455027987, 0.00044240794980280441, 0.00044240794980280441, 0.00044240794980280441, 0.00044240794980280441, 0.00044240794980280441, 0.00044240794980280441, 0.00044240794980280441, 0.00044240794980280441, 0.00044240794980280441, 0.00044240794980280441, 0.00044240794980280441, 0.00044240794980280441, 0.00044240794980280441, 0.00044240794980280441, 0.00044240794980280441, 0.00044240794980280441, 0.00044240794980280441, 0.00044240794980280441, 0.00044240794980280441, 0.00044240794980280441, 0.00044240794980280441, 0.00044240794980280441, 0.00044240794980280441, 0.00044240794980280441, 0.00175617900842293820, 0.00175617900842293820, 0.00175617900842293820, 0.00175617900842293820, 0.00175617900842293820, 0.00175617900842293820, 0.00175617900842293820, 0.00175617900842293820, 0.00175617900842293820, 0.00175617900842293820, 0.00175617900842293820, 0.00175617900842293820, 0.00175617900842293820, 0.00175617900842293820, 0.00175617900842293820, 0.00175617900842293820, 0.00175617900842293820, 0.00175617900842293820, 0.00175617900842293820, 0.00175617900842293820, 0.00175617900842293820, 0.00175617900842293820, 0.00175617900842293820, 0.00175617900842293820, 0.00243426688175015339, 0.00243426688175015339, 0.00243426688175015339, 0.00243426688175015339, 0.00243426688175015339, 0.00243426688175015339, 0.00243426688175015339, 0.00243426688175015339, 0.00243426688175015339, 0.00243426688175015339, 0.00243426688175015339, 0.00243426688175015339, 0.00243426688175015339, 0.00243426688175015339, 0.00243426688175015339, 0.00243426688175015339, 0.00243426688175015339, 0.00243426688175015339, 0.00243426688175015339, 0.00243426688175015339, 0.00243426688175015339, 0.00243426688175015339, 0.00243426688175015339, 0.00243426688175015339, 0.00393651196593819332, 0.00393651196593819332, 0.00393651196593819332, 0.00393651196593819332, 0.00393651196593819332, 0.00393651196593819332, 0.00393651196593819332, 0.00393651196593819332, 0.00393651196593819332, 0.00393651196593819332, 0.00393651196593819332, 0.00393651196593819332, 0.00393651196593819332, 0.00393651196593819332, 0.00393651196593819332, 0.00393651196593819332, 0.00393651196593819332, 0.00393651196593819332, 0.00393651196593819332, 0.00393651196593819332, 0.00393651196593819332, 0.00393651196593819332, 0.00393651196593819332, 0.00393651196593819332, 0.00319979126910645674, 0.00319979126910645674, 0.00319979126910645674, 0.00319979126910645674, 0.00319979126910645674, 0.00319979126910645674, 0.00319979126910645674, 0.00319979126910645674, 0.00319979126910645674, 0.00319979126910645674, 0.00319979126910645674, 0.00319979126910645674, 0.00319979126910645674, 0.00319979126910645674, 0.00319979126910645674, 0.00319979126910645674, 0.00319979126910645674, 0.00319979126910645674, 0.00319979126910645674, 0.00319979126910645674, 0.00319979126910645674, 0.00319979126910645674, 0.00319979126910645674, 0.00319979126910645674, 0.00379761031215874838, 0.00379761031215874838, 0.00379761031215874838, 0.00379761031215874838, 0.00379761031215874838, 0.00379761031215874838, 0.00379761031215874838, 0.00379761031215874838, 0.00379761031215874838, 0.00379761031215874838, 0.00379761031215874838, 0.00379761031215874838, 0.00379761031215874838, 0.00379761031215874838, 0.00379761031215874838, 0.00379761031215874838, 0.00379761031215874838, 0.00379761031215874838, 0.00379761031215874838, 0.00379761031215874838, 0.00379761031215874838, 0.00379761031215874838, 0.00379761031215874838, 0.00379761031215874838, 0.00149593856263098113, 0.00149593856263098113, 0.00149593856263098113, 0.00149593856263098113, 0.00149593856263098113, 0.00149593856263098113, 0.00149593856263098113, 0.00149593856263098113, 0.00149593856263098113, 0.00149593856263098113, 0.00149593856263098113, 0.00149593856263098113, 0.00149593856263098113, 0.00149593856263098113, 0.00149593856263098113, 0.00149593856263098113, 0.00149593856263098113, 0.00149593856263098113, 0.00149593856263098113, 0.00149593856263098113, 0.00149593856263098113, 0.00149593856263098113, 0.00149593856263098113, 0.00149593856263098113, 0.00170399618122472484, 0.00170399618122472484, 0.00170399618122472484, 0.00170399618122472484, 0.00170399618122472484, 0.00170399618122472484, 0.00170399618122472484, 0.00170399618122472484, 0.00170399618122472484, 0.00170399618122472484, 0.00170399618122472484, 0.00170399618122472484, 0.00170399618122472484, 0.00170399618122472484, 0.00170399618122472484, 0.00170399618122472484, 0.00170399618122472484, 0.00170399618122472484, 0.00170399618122472484, 0.00170399618122472484, 0.00170399618122472484, 0.00170399618122472484, 0.00170399618122472484, 0.00170399618122472484, 0.00362877511769905915, 0.00362877511769905915, 0.00362877511769905915, 0.00362877511769905915, 0.00362877511769905915, 0.00362877511769905915, 0.00362877511769905915, 0.00362877511769905915, 0.00362877511769905915, 0.00362877511769905915, 0.00362877511769905915, 0.00362877511769905915, 0.00362877511769905915, 0.00362877511769905915, 0.00362877511769905915, 0.00362877511769905915, 0.00362877511769905915, 0.00362877511769905915, 0.00362877511769905915, 0.00362877511769905915, 0.00362877511769905915, 0.00362877511769905915, 0.00362877511769905915, 0.00362877511769905915 }; r8vec_copy ( n, a_save, a ); r8vec_copy ( n, b_save, b ); r8vec_copy ( n, c_save, c ); r8vec_copy ( n, d_save, d ); r8vec_copy ( n, w_save, w ); return; } /******************************************************************************/ void rule19 ( int n, double a[], double b[], double c[], double d[], double w[] ) /******************************************************************************/ /* Purpose: rule19() returns the rule of precision 19. Licensing: This code is distributed under the MIT license. Modified: 02 April 2023 Author: John Burkardt Reference: Jan Jaskowiec, Natarajan Sukumar, High order symmetric cubature rules for tetrahedra and pyramids, International Journal of Numerical Methods in Engineering, Volume 122, Number 1, pages 148-171, 24 August 2020. Input: int n: the number of quadrature points for this rule. Output: double a[n], b[n], c[n], d[n]: the barycentric coordinates of quadrature points. double w[n]: the quadrature weights. */ { static double a_save[] = { 0.25000000000000000000, 0.09623346794170115071, 0.71129959617489657564, 0.09623346794170115071, 0.09623346794170115071, 0.28407109711855549339, 0.14778670864433349208, 0.28407109711855549339, 0.28407109711855549339, 0.04201218049762309864, 0.87396345850713075265, 0.04201218049762309864, 0.04201218049762309864, 0.37060749878204746199, 0.12939250121795256576, 0.37060749878204746199, 0.12939250121795256576, 0.37060749878204746199, 0.12939250121795256576, 0.76796999473938665215, 0.05339312125330306080, 0.05339312125330306080, 0.12524376275400717073, 0.12524376275400717073, 0.12524376275400717073, 0.05339312125330306080, 0.76796999473938665215, 0.05339312125330306080, 0.05339312125330306080, 0.76796999473938665215, 0.05339312125330306080, 0.16603392532052993480, 0.00525055390691960347, 0.00525055390691960347, 0.82346496686563086520, 0.82346496686563086520, 0.82346496686563086520, 0.00525055390691960347, 0.16603392532052993480, 0.00525055390691960347, 0.00525055390691960347, 0.16603392532052993480, 0.00525055390691960347, 0.10340459950933277022, 0.21289933236946589901, 0.21289933236946589901, 0.47079673575173541789, 0.47079673575173541789, 0.47079673575173541789, 0.21289933236946589901, 0.10340459950933277022, 0.21289933236946589901, 0.21289933236946589901, 0.10340459950933277022, 0.21289933236946589901, 0.13333563464320216663, 0.40341353259772294582, 0.40341353259772294582, 0.05983730016135191399, 0.05983730016135191399, 0.05983730016135191399, 0.40341353259772294582, 0.13333563464320216663, 0.40341353259772294582, 0.40341353259772294582, 0.13333563464320216663, 0.40341353259772294582, 0.55323796780708955900, 0.01188811930811271497, 0.01188811930811271497, 0.42298579357668497636, 0.42298579357668497636, 0.42298579357668497636, 0.01188811930811271497, 0.55323796780708955900, 0.01188811930811271497, 0.01188811930811271497, 0.55323796780708955900, 0.01188811930811271497, 0.80806951519091019254, 0.08903116551206627372, 0.08903116551206627372, 0.01386815378495724269, 0.01386815378495724269, 0.01386815378495724269, 0.08903116551206627372, 0.80806951519091019254, 0.08903116551206627372, 0.08903116551206627372, 0.80806951519091019254, 0.08903116551206627372, 0.48732803652949013840, 0.05151678695899160332, 0.05151678695899160332, 0.40963838955252662721, 0.40963838955252662721, 0.40963838955252662721, 0.05151678695899160332, 0.48732803652949013840, 0.05151678695899160332, 0.05151678695899160332, 0.48732803652949013840, 0.05151678695899160332, 0.24661499436440831312, 0.11799928522976708967, 0.11799928522976708967, 0.51738643517605753530, 0.51738643517605753530, 0.51738643517605753530, 0.11799928522976708967, 0.24661499436440831312, 0.11799928522976708967, 0.11799928522976708967, 0.24661499436440831312, 0.11799928522976708967, 0.27814143188561274433, 0.04608512334928590443, 0.04608512334928590443, 0.62968832141581543294, 0.62968832141581543294, 0.62968832141581543294, 0.04608512334928590443, 0.27814143188561274433, 0.04608512334928590443, 0.04608512334928590443, 0.27814143188561274433, 0.04608512334928590443, 0.00817464994838945115, 0.14101867080978983116, 0.14101867080978983116, 0.70978800843203093685, 0.70978800843203093685, 0.70978800843203093685, 0.14101867080978983116, 0.00817464994838945115, 0.14101867080978983116, 0.14101867080978983116, 0.00817464994838945115, 0.14101867080978983116, 0.58558687675989695709, 0.14110344086992665513, 0.14110344086992665513, 0.13220624150024976040, 0.13220624150024976040, 0.13220624150024976040, 0.14110344086992665513, 0.58558687675989695709, 0.14110344086992665513, 0.14110344086992665513, 0.58558687675989695709, 0.14110344086992665513, 0.03035883809061935140, 0.00791186220482110840, 0.00791186220482110840, 0.95381743749973846302, 0.95381743749973846302, 0.95381743749973846302, 0.00791186220482110840, 0.03035883809061935140, 0.00791186220482110840, 0.00791186220482110840, 0.03035883809061935140, 0.00791186220482110840, 0.24612395878168494279, 0.17610121147031740363, 0.17610121147031740363, 0.40167361827768022220, 0.40167361827768022220, 0.40167361827768022220, 0.17610121147031740363, 0.24612395878168494279, 0.17610121147031740363, 0.17610121147031740363, 0.24612395878168494279, 0.17610121147031740363, 0.76941240411498146301, 0.76941240411498146301, 0.04531137441520980552, 0.17364950909439569315, 0.04531137441520980552, 0.17364950909439569315, 0.01162671237541302964, 0.01162671237541302964, 0.01162671237541302964, 0.01162671237541302964, 0.01162671237541302964, 0.01162671237541302964, 0.04531137441520980552, 0.17364950909439569315, 0.76941240411498146301, 0.76941240411498146301, 0.17364950909439569315, 0.04531137441520980552, 0.04531137441520980552, 0.17364950909439569315, 0.76941240411498146301, 0.76941240411498146301, 0.17364950909439569315, 0.04531137441520980552, 0.11399073433897684293, 0.11399073433897684293, 0.19024697703095114210, 0.64673332464199395631, 0.19024697703095114210, 0.64673332464199395631, 0.04902896398807803091, 0.04902896398807803091, 0.04902896398807803091, 0.04902896398807803091, 0.04902896398807803091, 0.04902896398807803091, 0.19024697703095114210, 0.64673332464199395631, 0.11399073433897684293, 0.11399073433897684293, 0.64673332464199395631, 0.19024697703095114210, 0.19024697703095114210, 0.64673332464199395631, 0.11399073433897684293, 0.11399073433897684293, 0.64673332464199395631, 0.19024697703095114210, 0.50452241971895417372, 0.50452241971895417372, 0.20258821073146207614, 0.24088580639904177971, 0.20258821073146207614, 0.24088580639904177971, 0.05200356315054190798, 0.05200356315054190798, 0.05200356315054190798, 0.05200356315054190798, 0.05200356315054190798, 0.05200356315054190798, 0.20258821073146207614, 0.24088580639904177971, 0.50452241971895417372, 0.50452241971895417372, 0.24088580639904177971, 0.20258821073146207614, 0.20258821073146207614, 0.24088580639904177971, 0.50452241971895417372, 0.50452241971895417372, 0.24088580639904177971, 0.20258821073146207614, 0.38993421379383935710, 0.38993421379383935710, 0.06280459865457699298, 0.53761016562456909185, 0.06280459865457699298, 0.53761016562456909185, 0.00965102192701457022, 0.00965102192701457022, 0.00965102192701457022, 0.00965102192701457022, 0.00965102192701457022, 0.00965102192701457022, 0.06280459865457699298, 0.53761016562456909185, 0.38993421379383935710, 0.38993421379383935710, 0.53761016562456909185, 0.06280459865457699298, 0.06280459865457699298, 0.53761016562456909185, 0.38993421379383935710, 0.38993421379383935710, 0.53761016562456909185, 0.06280459865457699298, 0.01025101977116908356, 0.01025101977116908356, 0.16890346110683013281, 0.56661948533225492408, 0.16890346110683013281, 0.56661948533225492408, 0.25422603378974589772, 0.25422603378974589772, 0.25422603378974589772, 0.25422603378974589772, 0.25422603378974589772, 0.25422603378974589772, 0.16890346110683013281, 0.56661948533225492408, 0.01025101977116908356, 0.01025101977116908356, 0.56661948533225492408, 0.16890346110683013281, 0.16890346110683013281, 0.56661948533225492408, 0.01025101977116908356, 0.01025101977116908356, 0.56661948533225492408, 0.16890346110683013281, 0.37147093146218235216, 0.37147093146218235216, 0.12828022988265455617, 0.21762470376111051062, 0.12828022988265455617, 0.21762470376111051062, 0.28262413489405258105, 0.28262413489405258105, 0.28262413489405258105, 0.28262413489405258105, 0.28262413489405258105, 0.28262413489405258105, 0.12828022988265455617, 0.21762470376111051062, 0.37147093146218235216, 0.37147093146218235216, 0.21762470376111051062, 0.12828022988265455617, 0.12828022988265455617, 0.21762470376111051062, 0.37147093146218235216, 0.37147093146218235216, 0.21762470376111051062, 0.12828022988265455617, 0.23237382312598925393, 0.23237382312598925393, 0.37531643022483340832, 0.33582400060320127810, 0.37531643022483340832, 0.33582400060320127810, 0.05648574604597608045, 0.05648574604597608045, 0.05648574604597608045, 0.05648574604597608045, 0.05648574604597608045, 0.05648574604597608045, 0.37531643022483340832, 0.33582400060320127810, 0.23237382312598925393, 0.23237382312598925393, 0.33582400060320127810, 0.37531643022483340832, 0.37531643022483340832, 0.33582400060320127810, 0.23237382312598925393, 0.23237382312598925393, 0.33582400060320127810, 0.37531643022483340832, 0.02823323910477210444, 0.02823323910477210444, 0.08176634693298534540, 0.00596822183459553082, 0.08176634693298534540, 0.00596822183459553082, 0.88403219212764705404, 0.88403219212764705404, 0.88403219212764705404, 0.88403219212764705404, 0.88403219212764705404, 0.88403219212764705404, 0.08176634693298534540, 0.00596822183459553082, 0.02823323910477210444, 0.02823323910477210444, 0.00596822183459553082, 0.08176634693298534540, 0.08176634693298534540, 0.00596822183459553082, 0.02823323910477210444, 0.02823323910477210444, 0.00596822183459553082, 0.08176634693298534540, 0.46913734429268588721, 0.46913734429268588721, 0.37272150088782102229, 0.14762101081301948202, 0.37272150088782102229, 0.14762101081301948202, 0.01052014400647361021, 0.01052014400647361021, 0.01052014400647361021, 0.01052014400647361021, 0.01052014400647361021, 0.01052014400647361021, 0.37272150088782102229, 0.14762101081301948202, 0.46913734429268588721, 0.46913734429268588721, 0.14762101081301948202, 0.37272150088782102229, 0.37272150088782102229, 0.14762101081301948202, 0.46913734429268588721, 0.46913734429268588721, 0.14762101081301948202, 0.37272150088782102229, 0.00624115043425393402, 0.00624115043425393402, 0.28810770126174550798, 0.68524327650005367740, 0.28810770126174550798, 0.68524327650005367740, 0.02040787180394685804, 0.02040787180394685804, 0.02040787180394685804, 0.02040787180394685804, 0.02040787180394685804, 0.02040787180394685804, 0.28810770126174550798, 0.68524327650005367740, 0.00624115043425393402, 0.00624115043425393402, 0.68524327650005367740, 0.28810770126174550798, 0.28810770126174550798, 0.68524327650005367740, 0.00624115043425393402, 0.00624115043425393402, 0.68524327650005367740, 0.28810770126174550798, 0.25485710093645497221, 0.25485710093645497221, 0.00848367703048867258, 0.65296035518705497491, 0.00848367703048867258, 0.65296035518705497491, 0.08369886684600136295, 0.08369886684600136295, 0.08369886684600136295, 0.08369886684600136295, 0.08369886684600136295, 0.08369886684600136295, 0.00848367703048867258, 0.65296035518705497491, 0.25485710093645497221, 0.25485710093645497221, 0.65296035518705497491, 0.00848367703048867258, 0.00848367703048867258, 0.65296035518705497491, 0.25485710093645497221, 0.25485710093645497221, 0.65296035518705497491, 0.00848367703048867258, 0.50812259065716169903, 0.50812259065716169903, 0.11931280362120331995, 0.32243322568578414167, 0.11931280362120331995, 0.32243322568578414167, 0.05013138003585081159, 0.05013138003585081159, 0.05013138003585081159, 0.05013138003585081159, 0.05013138003585081159, 0.05013138003585081159, 0.11931280362120331995, 0.32243322568578414167, 0.50812259065716169903, 0.50812259065716169903, 0.32243322568578414167, 0.11931280362120331995, 0.11931280362120331995, 0.32243322568578414167, 0.50812259065716169903, 0.50812259065716169903, 0.32243322568578414167, 0.11931280362120331995, 0.01094996106379020860, 0.01094996106379020860, 0.41983692014174261997, 0.25371023311082580021, 0.41983692014174261997, 0.25371023311082580021, 0.31550288568364137642, 0.31550288568364137642, 0.31550288568364137642, 0.31550288568364137642, 0.31550288568364137642, 0.31550288568364137642, 0.41983692014174261997, 0.25371023311082580021, 0.01094996106379020860, 0.01094996106379020860, 0.25371023311082580021, 0.41983692014174261997, 0.41983692014174261997, 0.25371023311082580021, 0.01094996106379020860, 0.01094996106379020860, 0.25371023311082580021, 0.41983692014174261997 }; static double b_save[] = { 0.25000000000000000000, 0.09623346794170115071, 0.09623346794170115071, 0.71129959617489657564, 0.09623346794170115071, 0.28407109711855549339, 0.28407109711855549339, 0.14778670864433349208, 0.28407109711855549339, 0.04201218049762309864, 0.04201218049762309864, 0.87396345850713075265, 0.04201218049762309864, 0.12939250121795256576, 0.37060749878204746199, 0.37060749878204746199, 0.12939250121795256576, 0.12939250121795256576, 0.37060749878204746199, 0.05339312125330306080, 0.76796999473938665215, 0.05339312125330306080, 0.05339312125330306080, 0.76796999473938665215, 0.05339312125330306080, 0.12524376275400717073, 0.12524376275400717073, 0.12524376275400717073, 0.05339312125330306080, 0.05339312125330306080, 0.76796999473938665215, 0.00525055390691960347, 0.16603392532052993480, 0.00525055390691960347, 0.00525055390691960347, 0.16603392532052993480, 0.00525055390691960347, 0.82346496686563086520, 0.82346496686563086520, 0.82346496686563086520, 0.00525055390691960347, 0.00525055390691960347, 0.16603392532052993480, 0.21289933236946589901, 0.10340459950933277022, 0.21289933236946589901, 0.21289933236946589901, 0.10340459950933277022, 0.21289933236946589901, 0.47079673575173541789, 0.47079673575173541789, 0.47079673575173541789, 0.21289933236946589901, 0.21289933236946589901, 0.10340459950933277022, 0.40341353259772294582, 0.13333563464320216663, 0.40341353259772294582, 0.40341353259772294582, 0.13333563464320216663, 0.40341353259772294582, 0.05983730016135191399, 0.05983730016135191399, 0.05983730016135191399, 0.40341353259772294582, 0.40341353259772294582, 0.13333563464320216663, 0.01188811930811271497, 0.55323796780708955900, 0.01188811930811271497, 0.01188811930811271497, 0.55323796780708955900, 0.01188811930811271497, 0.42298579357668497636, 0.42298579357668497636, 0.42298579357668497636, 0.01188811930811271497, 0.01188811930811271497, 0.55323796780708955900, 0.08903116551206627372, 0.80806951519091019254, 0.08903116551206627372, 0.08903116551206627372, 0.80806951519091019254, 0.08903116551206627372, 0.01386815378495724269, 0.01386815378495724269, 0.01386815378495724269, 0.08903116551206627372, 0.08903116551206627372, 0.80806951519091019254, 0.05151678695899160332, 0.48732803652949013840, 0.05151678695899160332, 0.05151678695899160332, 0.48732803652949013840, 0.05151678695899160332, 0.40963838955252662721, 0.40963838955252662721, 0.40963838955252662721, 0.05151678695899160332, 0.05151678695899160332, 0.48732803652949013840, 0.11799928522976708967, 0.24661499436440831312, 0.11799928522976708967, 0.11799928522976708967, 0.24661499436440831312, 0.11799928522976708967, 0.51738643517605753530, 0.51738643517605753530, 0.51738643517605753530, 0.11799928522976708967, 0.11799928522976708967, 0.24661499436440831312, 0.04608512334928590443, 0.27814143188561274433, 0.04608512334928590443, 0.04608512334928590443, 0.27814143188561274433, 0.04608512334928590443, 0.62968832141581543294, 0.62968832141581543294, 0.62968832141581543294, 0.04608512334928590443, 0.04608512334928590443, 0.27814143188561274433, 0.14101867080978983116, 0.00817464994838945115, 0.14101867080978983116, 0.14101867080978983116, 0.00817464994838945115, 0.14101867080978983116, 0.70978800843203093685, 0.70978800843203093685, 0.70978800843203093685, 0.14101867080978983116, 0.14101867080978983116, 0.00817464994838945115, 0.14110344086992665513, 0.58558687675989695709, 0.14110344086992665513, 0.14110344086992665513, 0.58558687675989695709, 0.14110344086992665513, 0.13220624150024976040, 0.13220624150024976040, 0.13220624150024976040, 0.14110344086992665513, 0.14110344086992665513, 0.58558687675989695709, 0.00791186220482110840, 0.03035883809061935140, 0.00791186220482110840, 0.00791186220482110840, 0.03035883809061935140, 0.00791186220482110840, 0.95381743749973846302, 0.95381743749973846302, 0.95381743749973846302, 0.00791186220482110840, 0.00791186220482110840, 0.03035883809061935140, 0.17610121147031740363, 0.24612395878168494279, 0.17610121147031740363, 0.17610121147031740363, 0.24612395878168494279, 0.17610121147031740363, 0.40167361827768022220, 0.40167361827768022220, 0.40167361827768022220, 0.17610121147031740363, 0.17610121147031740363, 0.24612395878168494279, 0.04531137441520980552, 0.17364950909439569315, 0.76941240411498146301, 0.76941240411498146301, 0.17364950909439569315, 0.04531137441520980552, 0.04531137441520980552, 0.17364950909439569315, 0.76941240411498146301, 0.76941240411498146301, 0.17364950909439569315, 0.04531137441520980552, 0.01162671237541302964, 0.01162671237541302964, 0.01162671237541302964, 0.01162671237541302964, 0.01162671237541302964, 0.01162671237541302964, 0.17364950909439569315, 0.04531137441520980552, 0.17364950909439569315, 0.04531137441520980552, 0.76941240411498146301, 0.76941240411498146301, 0.19024697703095114210, 0.64673332464199395631, 0.11399073433897684293, 0.11399073433897684293, 0.64673332464199395631, 0.19024697703095114210, 0.19024697703095114210, 0.64673332464199395631, 0.11399073433897684293, 0.11399073433897684293, 0.64673332464199395631, 0.19024697703095114210, 0.04902896398807803091, 0.04902896398807803091, 0.04902896398807803091, 0.04902896398807803091, 0.04902896398807803091, 0.04902896398807803091, 0.64673332464199395631, 0.19024697703095114210, 0.64673332464199395631, 0.19024697703095114210, 0.11399073433897684293, 0.11399073433897684293, 0.20258821073146207614, 0.24088580639904177971, 0.50452241971895417372, 0.50452241971895417372, 0.24088580639904177971, 0.20258821073146207614, 0.20258821073146207614, 0.24088580639904177971, 0.50452241971895417372, 0.50452241971895417372, 0.24088580639904177971, 0.20258821073146207614, 0.05200356315054190798, 0.05200356315054190798, 0.05200356315054190798, 0.05200356315054190798, 0.05200356315054190798, 0.05200356315054190798, 0.24088580639904177971, 0.20258821073146207614, 0.24088580639904177971, 0.20258821073146207614, 0.50452241971895417372, 0.50452241971895417372, 0.06280459865457699298, 0.53761016562456909185, 0.38993421379383935710, 0.38993421379383935710, 0.53761016562456909185, 0.06280459865457699298, 0.06280459865457699298, 0.53761016562456909185, 0.38993421379383935710, 0.38993421379383935710, 0.53761016562456909185, 0.06280459865457699298, 0.00965102192701457022, 0.00965102192701457022, 0.00965102192701457022, 0.00965102192701457022, 0.00965102192701457022, 0.00965102192701457022, 0.53761016562456909185, 0.06280459865457699298, 0.53761016562456909185, 0.06280459865457699298, 0.38993421379383935710, 0.38993421379383935710, 0.16890346110683013281, 0.56661948533225492408, 0.01025101977116908356, 0.01025101977116908356, 0.56661948533225492408, 0.16890346110683013281, 0.16890346110683013281, 0.56661948533225492408, 0.01025101977116908356, 0.01025101977116908356, 0.56661948533225492408, 0.16890346110683013281, 0.25422603378974589772, 0.25422603378974589772, 0.25422603378974589772, 0.25422603378974589772, 0.25422603378974589772, 0.25422603378974589772, 0.56661948533225492408, 0.16890346110683013281, 0.56661948533225492408, 0.16890346110683013281, 0.01025101977116908356, 0.01025101977116908356, 0.12828022988265455617, 0.21762470376111051062, 0.37147093146218235216, 0.37147093146218235216, 0.21762470376111051062, 0.12828022988265455617, 0.12828022988265455617, 0.21762470376111051062, 0.37147093146218235216, 0.37147093146218235216, 0.21762470376111051062, 0.12828022988265455617, 0.28262413489405258105, 0.28262413489405258105, 0.28262413489405258105, 0.28262413489405258105, 0.28262413489405258105, 0.28262413489405258105, 0.21762470376111051062, 0.12828022988265455617, 0.21762470376111051062, 0.12828022988265455617, 0.37147093146218235216, 0.37147093146218235216, 0.37531643022483340832, 0.33582400060320127810, 0.23237382312598925393, 0.23237382312598925393, 0.33582400060320127810, 0.37531643022483340832, 0.37531643022483340832, 0.33582400060320127810, 0.23237382312598925393, 0.23237382312598925393, 0.33582400060320127810, 0.37531643022483340832, 0.05648574604597608045, 0.05648574604597608045, 0.05648574604597608045, 0.05648574604597608045, 0.05648574604597608045, 0.05648574604597608045, 0.33582400060320127810, 0.37531643022483340832, 0.33582400060320127810, 0.37531643022483340832, 0.23237382312598925393, 0.23237382312598925393, 0.08176634693298534540, 0.00596822183459553082, 0.02823323910477210444, 0.02823323910477210444, 0.00596822183459553082, 0.08176634693298534540, 0.08176634693298534540, 0.00596822183459553082, 0.02823323910477210444, 0.02823323910477210444, 0.00596822183459553082, 0.08176634693298534540, 0.88403219212764705404, 0.88403219212764705404, 0.88403219212764705404, 0.88403219212764705404, 0.88403219212764705404, 0.88403219212764705404, 0.00596822183459553082, 0.08176634693298534540, 0.00596822183459553082, 0.08176634693298534540, 0.02823323910477210444, 0.02823323910477210444, 0.37272150088782102229, 0.14762101081301948202, 0.46913734429268588721, 0.46913734429268588721, 0.14762101081301948202, 0.37272150088782102229, 0.37272150088782102229, 0.14762101081301948202, 0.46913734429268588721, 0.46913734429268588721, 0.14762101081301948202, 0.37272150088782102229, 0.01052014400647361021, 0.01052014400647361021, 0.01052014400647361021, 0.01052014400647361021, 0.01052014400647361021, 0.01052014400647361021, 0.14762101081301948202, 0.37272150088782102229, 0.14762101081301948202, 0.37272150088782102229, 0.46913734429268588721, 0.46913734429268588721, 0.28810770126174550798, 0.68524327650005367740, 0.00624115043425393402, 0.00624115043425393402, 0.68524327650005367740, 0.28810770126174550798, 0.28810770126174550798, 0.68524327650005367740, 0.00624115043425393402, 0.00624115043425393402, 0.68524327650005367740, 0.28810770126174550798, 0.02040787180394685804, 0.02040787180394685804, 0.02040787180394685804, 0.02040787180394685804, 0.02040787180394685804, 0.02040787180394685804, 0.68524327650005367740, 0.28810770126174550798, 0.68524327650005367740, 0.28810770126174550798, 0.00624115043425393402, 0.00624115043425393402, 0.00848367703048867258, 0.65296035518705497491, 0.25485710093645497221, 0.25485710093645497221, 0.65296035518705497491, 0.00848367703048867258, 0.00848367703048867258, 0.65296035518705497491, 0.25485710093645497221, 0.25485710093645497221, 0.65296035518705497491, 0.00848367703048867258, 0.08369886684600136295, 0.08369886684600136295, 0.08369886684600136295, 0.08369886684600136295, 0.08369886684600136295, 0.08369886684600136295, 0.65296035518705497491, 0.00848367703048867258, 0.65296035518705497491, 0.00848367703048867258, 0.25485710093645497221, 0.25485710093645497221, 0.11931280362120331995, 0.32243322568578414167, 0.50812259065716169903, 0.50812259065716169903, 0.32243322568578414167, 0.11931280362120331995, 0.11931280362120331995, 0.32243322568578414167, 0.50812259065716169903, 0.50812259065716169903, 0.32243322568578414167, 0.11931280362120331995, 0.05013138003585081159, 0.05013138003585081159, 0.05013138003585081159, 0.05013138003585081159, 0.05013138003585081159, 0.05013138003585081159, 0.32243322568578414167, 0.11931280362120331995, 0.32243322568578414167, 0.11931280362120331995, 0.50812259065716169903, 0.50812259065716169903, 0.41983692014174261997, 0.25371023311082580021, 0.01094996106379020860, 0.01094996106379020860, 0.25371023311082580021, 0.41983692014174261997, 0.41983692014174261997, 0.25371023311082580021, 0.01094996106379020860, 0.01094996106379020860, 0.25371023311082580021, 0.41983692014174261997, 0.31550288568364137642, 0.31550288568364137642, 0.31550288568364137642, 0.31550288568364137642, 0.31550288568364137642, 0.31550288568364137642, 0.25371023311082580021, 0.41983692014174261997, 0.25371023311082580021, 0.41983692014174261997, 0.01094996106379020860, 0.01094996106379020860 }; static double c_save[] = { 0.25000000000000000000, 0.09623346794170115071, 0.09623346794170115071, 0.09623346794170115071, 0.71129959617489657564, 0.28407109711855549339, 0.28407109711855549339, 0.28407109711855549339, 0.14778670864433349208, 0.04201218049762309864, 0.04201218049762309864, 0.04201218049762309864, 0.87396345850713075265, 0.12939250121795256576, 0.12939250121795256576, 0.12939250121795256576, 0.37060749878204746199, 0.37060749878204746199, 0.37060749878204746199, 0.05339312125330306080, 0.05339312125330306080, 0.76796999473938665215, 0.05339312125330306080, 0.05339312125330306080, 0.76796999473938665215, 0.05339312125330306080, 0.05339312125330306080, 0.76796999473938665215, 0.12524376275400717073, 0.12524376275400717073, 0.12524376275400717073, 0.00525055390691960347, 0.00525055390691960347, 0.16603392532052993480, 0.00525055390691960347, 0.00525055390691960347, 0.16603392532052993480, 0.00525055390691960347, 0.00525055390691960347, 0.16603392532052993480, 0.82346496686563086520, 0.82346496686563086520, 0.82346496686563086520, 0.21289933236946589901, 0.21289933236946589901, 0.10340459950933277022, 0.21289933236946589901, 0.21289933236946589901, 0.10340459950933277022, 0.21289933236946589901, 0.21289933236946589901, 0.10340459950933277022, 0.47079673575173541789, 0.47079673575173541789, 0.47079673575173541789, 0.40341353259772294582, 0.40341353259772294582, 0.13333563464320216663, 0.40341353259772294582, 0.40341353259772294582, 0.13333563464320216663, 0.40341353259772294582, 0.40341353259772294582, 0.13333563464320216663, 0.05983730016135191399, 0.05983730016135191399, 0.05983730016135191399, 0.01188811930811271497, 0.01188811930811271497, 0.55323796780708955900, 0.01188811930811271497, 0.01188811930811271497, 0.55323796780708955900, 0.01188811930811271497, 0.01188811930811271497, 0.55323796780708955900, 0.42298579357668497636, 0.42298579357668497636, 0.42298579357668497636, 0.08903116551206627372, 0.08903116551206627372, 0.80806951519091019254, 0.08903116551206627372, 0.08903116551206627372, 0.80806951519091019254, 0.08903116551206627372, 0.08903116551206627372, 0.80806951519091019254, 0.01386815378495724269, 0.01386815378495724269, 0.01386815378495724269, 0.05151678695899160332, 0.05151678695899160332, 0.48732803652949013840, 0.05151678695899160332, 0.05151678695899160332, 0.48732803652949013840, 0.05151678695899160332, 0.05151678695899160332, 0.48732803652949013840, 0.40963838955252662721, 0.40963838955252662721, 0.40963838955252662721, 0.11799928522976708967, 0.11799928522976708967, 0.24661499436440831312, 0.11799928522976708967, 0.11799928522976708967, 0.24661499436440831312, 0.11799928522976708967, 0.11799928522976708967, 0.24661499436440831312, 0.51738643517605753530, 0.51738643517605753530, 0.51738643517605753530, 0.04608512334928590443, 0.04608512334928590443, 0.27814143188561274433, 0.04608512334928590443, 0.04608512334928590443, 0.27814143188561274433, 0.04608512334928590443, 0.04608512334928590443, 0.27814143188561274433, 0.62968832141581543294, 0.62968832141581543294, 0.62968832141581543294, 0.14101867080978983116, 0.14101867080978983116, 0.00817464994838945115, 0.14101867080978983116, 0.14101867080978983116, 0.00817464994838945115, 0.14101867080978983116, 0.14101867080978983116, 0.00817464994838945115, 0.70978800843203093685, 0.70978800843203093685, 0.70978800843203093685, 0.14110344086992665513, 0.14110344086992665513, 0.58558687675989695709, 0.14110344086992665513, 0.14110344086992665513, 0.58558687675989695709, 0.14110344086992665513, 0.14110344086992665513, 0.58558687675989695709, 0.13220624150024976040, 0.13220624150024976040, 0.13220624150024976040, 0.00791186220482110840, 0.00791186220482110840, 0.03035883809061935140, 0.00791186220482110840, 0.00791186220482110840, 0.03035883809061935140, 0.00791186220482110840, 0.00791186220482110840, 0.03035883809061935140, 0.95381743749973846302, 0.95381743749973846302, 0.95381743749973846302, 0.17610121147031740363, 0.17610121147031740363, 0.24612395878168494279, 0.17610121147031740363, 0.17610121147031740363, 0.24612395878168494279, 0.17610121147031740363, 0.17610121147031740363, 0.24612395878168494279, 0.40167361827768022220, 0.40167361827768022220, 0.40167361827768022220, 0.17364950909439569315, 0.04531137441520980552, 0.17364950909439569315, 0.04531137441520980552, 0.76941240411498146301, 0.76941240411498146301, 0.17364950909439569315, 0.04531137441520980552, 0.17364950909439569315, 0.04531137441520980552, 0.76941240411498146301, 0.76941240411498146301, 0.17364950909439569315, 0.04531137441520980552, 0.17364950909439569315, 0.04531137441520980552, 0.76941240411498146301, 0.76941240411498146301, 0.01162671237541302964, 0.01162671237541302964, 0.01162671237541302964, 0.01162671237541302964, 0.01162671237541302964, 0.01162671237541302964, 0.64673332464199395631, 0.19024697703095114210, 0.64673332464199395631, 0.19024697703095114210, 0.11399073433897684293, 0.11399073433897684293, 0.64673332464199395631, 0.19024697703095114210, 0.64673332464199395631, 0.19024697703095114210, 0.11399073433897684293, 0.11399073433897684293, 0.64673332464199395631, 0.19024697703095114210, 0.64673332464199395631, 0.19024697703095114210, 0.11399073433897684293, 0.11399073433897684293, 0.04902896398807803091, 0.04902896398807803091, 0.04902896398807803091, 0.04902896398807803091, 0.04902896398807803091, 0.04902896398807803091, 0.24088580639904177971, 0.20258821073146207614, 0.24088580639904177971, 0.20258821073146207614, 0.50452241971895417372, 0.50452241971895417372, 0.24088580639904177971, 0.20258821073146207614, 0.24088580639904177971, 0.20258821073146207614, 0.50452241971895417372, 0.50452241971895417372, 0.24088580639904177971, 0.20258821073146207614, 0.24088580639904177971, 0.20258821073146207614, 0.50452241971895417372, 0.50452241971895417372, 0.05200356315054190798, 0.05200356315054190798, 0.05200356315054190798, 0.05200356315054190798, 0.05200356315054190798, 0.05200356315054190798, 0.53761016562456909185, 0.06280459865457699298, 0.53761016562456909185, 0.06280459865457699298, 0.38993421379383935710, 0.38993421379383935710, 0.53761016562456909185, 0.06280459865457699298, 0.53761016562456909185, 0.06280459865457699298, 0.38993421379383935710, 0.38993421379383935710, 0.53761016562456909185, 0.06280459865457699298, 0.53761016562456909185, 0.06280459865457699298, 0.38993421379383935710, 0.38993421379383935710, 0.00965102192701457022, 0.00965102192701457022, 0.00965102192701457022, 0.00965102192701457022, 0.00965102192701457022, 0.00965102192701457022, 0.56661948533225492408, 0.16890346110683013281, 0.56661948533225492408, 0.16890346110683013281, 0.01025101977116908356, 0.01025101977116908356, 0.56661948533225492408, 0.16890346110683013281, 0.56661948533225492408, 0.16890346110683013281, 0.01025101977116908356, 0.01025101977116908356, 0.56661948533225492408, 0.16890346110683013281, 0.56661948533225492408, 0.16890346110683013281, 0.01025101977116908356, 0.01025101977116908356, 0.25422603378974589772, 0.25422603378974589772, 0.25422603378974589772, 0.25422603378974589772, 0.25422603378974589772, 0.25422603378974589772, 0.21762470376111051062, 0.12828022988265455617, 0.21762470376111051062, 0.12828022988265455617, 0.37147093146218235216, 0.37147093146218235216, 0.21762470376111051062, 0.12828022988265455617, 0.21762470376111051062, 0.12828022988265455617, 0.37147093146218235216, 0.37147093146218235216, 0.21762470376111051062, 0.12828022988265455617, 0.21762470376111051062, 0.12828022988265455617, 0.37147093146218235216, 0.37147093146218235216, 0.28262413489405258105, 0.28262413489405258105, 0.28262413489405258105, 0.28262413489405258105, 0.28262413489405258105, 0.28262413489405258105, 0.33582400060320127810, 0.37531643022483340832, 0.33582400060320127810, 0.37531643022483340832, 0.23237382312598925393, 0.23237382312598925393, 0.33582400060320127810, 0.37531643022483340832, 0.33582400060320127810, 0.37531643022483340832, 0.23237382312598925393, 0.23237382312598925393, 0.33582400060320127810, 0.37531643022483340832, 0.33582400060320127810, 0.37531643022483340832, 0.23237382312598925393, 0.23237382312598925393, 0.05648574604597608045, 0.05648574604597608045, 0.05648574604597608045, 0.05648574604597608045, 0.05648574604597608045, 0.05648574604597608045, 0.00596822183459553082, 0.08176634693298534540, 0.00596822183459553082, 0.08176634693298534540, 0.02823323910477210444, 0.02823323910477210444, 0.00596822183459553082, 0.08176634693298534540, 0.00596822183459553082, 0.08176634693298534540, 0.02823323910477210444, 0.02823323910477210444, 0.00596822183459553082, 0.08176634693298534540, 0.00596822183459553082, 0.08176634693298534540, 0.02823323910477210444, 0.02823323910477210444, 0.88403219212764705404, 0.88403219212764705404, 0.88403219212764705404, 0.88403219212764705404, 0.88403219212764705404, 0.88403219212764705404, 0.14762101081301948202, 0.37272150088782102229, 0.14762101081301948202, 0.37272150088782102229, 0.46913734429268588721, 0.46913734429268588721, 0.14762101081301948202, 0.37272150088782102229, 0.14762101081301948202, 0.37272150088782102229, 0.46913734429268588721, 0.46913734429268588721, 0.14762101081301948202, 0.37272150088782102229, 0.14762101081301948202, 0.37272150088782102229, 0.46913734429268588721, 0.46913734429268588721, 0.01052014400647361021, 0.01052014400647361021, 0.01052014400647361021, 0.01052014400647361021, 0.01052014400647361021, 0.01052014400647361021, 0.68524327650005367740, 0.28810770126174550798, 0.68524327650005367740, 0.28810770126174550798, 0.00624115043425393402, 0.00624115043425393402, 0.68524327650005367740, 0.28810770126174550798, 0.68524327650005367740, 0.28810770126174550798, 0.00624115043425393402, 0.00624115043425393402, 0.68524327650005367740, 0.28810770126174550798, 0.68524327650005367740, 0.28810770126174550798, 0.00624115043425393402, 0.00624115043425393402, 0.02040787180394685804, 0.02040787180394685804, 0.02040787180394685804, 0.02040787180394685804, 0.02040787180394685804, 0.02040787180394685804, 0.65296035518705497491, 0.00848367703048867258, 0.65296035518705497491, 0.00848367703048867258, 0.25485710093645497221, 0.25485710093645497221, 0.65296035518705497491, 0.00848367703048867258, 0.65296035518705497491, 0.00848367703048867258, 0.25485710093645497221, 0.25485710093645497221, 0.65296035518705497491, 0.00848367703048867258, 0.65296035518705497491, 0.00848367703048867258, 0.25485710093645497221, 0.25485710093645497221, 0.08369886684600136295, 0.08369886684600136295, 0.08369886684600136295, 0.08369886684600136295, 0.08369886684600136295, 0.08369886684600136295, 0.32243322568578414167, 0.11931280362120331995, 0.32243322568578414167, 0.11931280362120331995, 0.50812259065716169903, 0.50812259065716169903, 0.32243322568578414167, 0.11931280362120331995, 0.32243322568578414167, 0.11931280362120331995, 0.50812259065716169903, 0.50812259065716169903, 0.32243322568578414167, 0.11931280362120331995, 0.32243322568578414167, 0.11931280362120331995, 0.50812259065716169903, 0.50812259065716169903, 0.05013138003585081159, 0.05013138003585081159, 0.05013138003585081159, 0.05013138003585081159, 0.05013138003585081159, 0.05013138003585081159, 0.25371023311082580021, 0.41983692014174261997, 0.25371023311082580021, 0.41983692014174261997, 0.01094996106379020860, 0.01094996106379020860, 0.25371023311082580021, 0.41983692014174261997, 0.25371023311082580021, 0.41983692014174261997, 0.01094996106379020860, 0.01094996106379020860, 0.25371023311082580021, 0.41983692014174261997, 0.25371023311082580021, 0.41983692014174261997, 0.01094996106379020860, 0.01094996106379020860, 0.31550288568364137642, 0.31550288568364137642, 0.31550288568364137642, 0.31550288568364137642, 0.31550288568364137642, 0.31550288568364137642 }; static double d_save[] = { 0.25000000000000000000, 0.71129959617489657564, 0.09623346794170115071, 0.09623346794170115071, 0.09623346794170115071, 0.14778670864433349208, 0.28407109711855549339, 0.28407109711855549339, 0.28407109711855549339, 0.87396345850713075265, 0.04201218049762309864, 0.04201218049762309864, 0.04201218049762309864, 0.37060749878204746199, 0.37060749878204746199, 0.12939250121795256576, 0.37060749878204746199, 0.12939250121795256576, 0.12939250121795256576, 0.12524376275400717073, 0.12524376275400717073, 0.12524376275400717073, 0.76796999473938665215, 0.05339312125330306080, 0.05339312125330306080, 0.76796999473938665215, 0.05339312125330306080, 0.05339312125330306080, 0.76796999473938665215, 0.05339312125330306080, 0.05339312125330306080, 0.82346496686563086520, 0.82346496686563086520, 0.82346496686563086520, 0.16603392532052993480, 0.00525055390691960347, 0.00525055390691960347, 0.16603392532052993480, 0.00525055390691960347, 0.00525055390691960347, 0.16603392532052993480, 0.00525055390691960347, 0.00525055390691960347, 0.47079673575173541789, 0.47079673575173541789, 0.47079673575173541789, 0.10340459950933277022, 0.21289933236946589901, 0.21289933236946589901, 0.10340459950933277022, 0.21289933236946589901, 0.21289933236946589901, 0.10340459950933277022, 0.21289933236946589901, 0.21289933236946589901, 0.05983730016135191399, 0.05983730016135191399, 0.05983730016135191399, 0.13333563464320216663, 0.40341353259772294582, 0.40341353259772294582, 0.13333563464320216663, 0.40341353259772294582, 0.40341353259772294582, 0.13333563464320216663, 0.40341353259772294582, 0.40341353259772294582, 0.42298579357668497636, 0.42298579357668497636, 0.42298579357668497636, 0.55323796780708955900, 0.01188811930811271497, 0.01188811930811271497, 0.55323796780708955900, 0.01188811930811271497, 0.01188811930811271497, 0.55323796780708955900, 0.01188811930811271497, 0.01188811930811271497, 0.01386815378495724269, 0.01386815378495724269, 0.01386815378495724269, 0.80806951519091019254, 0.08903116551206627372, 0.08903116551206627372, 0.80806951519091019254, 0.08903116551206627372, 0.08903116551206627372, 0.80806951519091019254, 0.08903116551206627372, 0.08903116551206627372, 0.40963838955252662721, 0.40963838955252662721, 0.40963838955252662721, 0.48732803652949013840, 0.05151678695899160332, 0.05151678695899160332, 0.48732803652949013840, 0.05151678695899160332, 0.05151678695899160332, 0.48732803652949013840, 0.05151678695899160332, 0.05151678695899160332, 0.51738643517605753530, 0.51738643517605753530, 0.51738643517605753530, 0.24661499436440831312, 0.11799928522976708967, 0.11799928522976708967, 0.24661499436440831312, 0.11799928522976708967, 0.11799928522976708967, 0.24661499436440831312, 0.11799928522976708967, 0.11799928522976708967, 0.62968832141581543294, 0.62968832141581543294, 0.62968832141581543294, 0.27814143188561274433, 0.04608512334928590443, 0.04608512334928590443, 0.27814143188561274433, 0.04608512334928590443, 0.04608512334928590443, 0.27814143188561274433, 0.04608512334928590443, 0.04608512334928590443, 0.70978800843203093685, 0.70978800843203093685, 0.70978800843203093685, 0.00817464994838945115, 0.14101867080978983116, 0.14101867080978983116, 0.00817464994838945115, 0.14101867080978983116, 0.14101867080978983116, 0.00817464994838945115, 0.14101867080978983116, 0.14101867080978983116, 0.13220624150024976040, 0.13220624150024976040, 0.13220624150024976040, 0.58558687675989695709, 0.14110344086992665513, 0.14110344086992665513, 0.58558687675989695709, 0.14110344086992665513, 0.14110344086992665513, 0.58558687675989695709, 0.14110344086992665513, 0.14110344086992665513, 0.95381743749973846302, 0.95381743749973846302, 0.95381743749973846302, 0.03035883809061935140, 0.00791186220482110840, 0.00791186220482110840, 0.03035883809061935140, 0.00791186220482110840, 0.00791186220482110840, 0.03035883809061935140, 0.00791186220482110840, 0.00791186220482110840, 0.40167361827768022220, 0.40167361827768022220, 0.40167361827768022220, 0.24612395878168494279, 0.17610121147031740363, 0.17610121147031740363, 0.24612395878168494279, 0.17610121147031740363, 0.17610121147031740363, 0.24612395878168494279, 0.17610121147031740363, 0.17610121147031740363, 0.01162671237541302964, 0.01162671237541302964, 0.01162671237541302964, 0.01162671237541302964, 0.01162671237541302964, 0.01162671237541302964, 0.76941240411498146301, 0.76941240411498146301, 0.04531137441520980552, 0.17364950909439569315, 0.04531137441520980552, 0.17364950909439569315, 0.76941240411498146301, 0.76941240411498146301, 0.04531137441520980552, 0.17364950909439569315, 0.04531137441520980552, 0.17364950909439569315, 0.76941240411498146301, 0.76941240411498146301, 0.04531137441520980552, 0.17364950909439569315, 0.04531137441520980552, 0.17364950909439569315, 0.04902896398807803091, 0.04902896398807803091, 0.04902896398807803091, 0.04902896398807803091, 0.04902896398807803091, 0.04902896398807803091, 0.11399073433897684293, 0.11399073433897684293, 0.19024697703095114210, 0.64673332464199395631, 0.19024697703095114210, 0.64673332464199395631, 0.11399073433897684293, 0.11399073433897684293, 0.19024697703095114210, 0.64673332464199395631, 0.19024697703095114210, 0.64673332464199395631, 0.11399073433897684293, 0.11399073433897684293, 0.19024697703095114210, 0.64673332464199395631, 0.19024697703095114210, 0.64673332464199395631, 0.05200356315054190798, 0.05200356315054190798, 0.05200356315054190798, 0.05200356315054190798, 0.05200356315054190798, 0.05200356315054190798, 0.50452241971895417372, 0.50452241971895417372, 0.20258821073146207614, 0.24088580639904177971, 0.20258821073146207614, 0.24088580639904177971, 0.50452241971895417372, 0.50452241971895417372, 0.20258821073146207614, 0.24088580639904177971, 0.20258821073146207614, 0.24088580639904177971, 0.50452241971895417372, 0.50452241971895417372, 0.20258821073146207614, 0.24088580639904177971, 0.20258821073146207614, 0.24088580639904177971, 0.00965102192701457022, 0.00965102192701457022, 0.00965102192701457022, 0.00965102192701457022, 0.00965102192701457022, 0.00965102192701457022, 0.38993421379383935710, 0.38993421379383935710, 0.06280459865457699298, 0.53761016562456909185, 0.06280459865457699298, 0.53761016562456909185, 0.38993421379383935710, 0.38993421379383935710, 0.06280459865457699298, 0.53761016562456909185, 0.06280459865457699298, 0.53761016562456909185, 0.38993421379383935710, 0.38993421379383935710, 0.06280459865457699298, 0.53761016562456909185, 0.06280459865457699298, 0.53761016562456909185, 0.25422603378974589772, 0.25422603378974589772, 0.25422603378974589772, 0.25422603378974589772, 0.25422603378974589772, 0.25422603378974589772, 0.01025101977116908356, 0.01025101977116908356, 0.16890346110683013281, 0.56661948533225492408, 0.16890346110683013281, 0.56661948533225492408, 0.01025101977116908356, 0.01025101977116908356, 0.16890346110683013281, 0.56661948533225492408, 0.16890346110683013281, 0.56661948533225492408, 0.01025101977116908356, 0.01025101977116908356, 0.16890346110683013281, 0.56661948533225492408, 0.16890346110683013281, 0.56661948533225492408, 0.28262413489405258105, 0.28262413489405258105, 0.28262413489405258105, 0.28262413489405258105, 0.28262413489405258105, 0.28262413489405258105, 0.37147093146218235216, 0.37147093146218235216, 0.12828022988265455617, 0.21762470376111051062, 0.12828022988265455617, 0.21762470376111051062, 0.37147093146218235216, 0.37147093146218235216, 0.12828022988265455617, 0.21762470376111051062, 0.12828022988265455617, 0.21762470376111051062, 0.37147093146218235216, 0.37147093146218235216, 0.12828022988265455617, 0.21762470376111051062, 0.12828022988265455617, 0.21762470376111051062, 0.05648574604597608045, 0.05648574604597608045, 0.05648574604597608045, 0.05648574604597608045, 0.05648574604597608045, 0.05648574604597608045, 0.23237382312598925393, 0.23237382312598925393, 0.37531643022483340832, 0.33582400060320127810, 0.37531643022483340832, 0.33582400060320127810, 0.23237382312598925393, 0.23237382312598925393, 0.37531643022483340832, 0.33582400060320127810, 0.37531643022483340832, 0.33582400060320127810, 0.23237382312598925393, 0.23237382312598925393, 0.37531643022483340832, 0.33582400060320127810, 0.37531643022483340832, 0.33582400060320127810, 0.88403219212764705404, 0.88403219212764705404, 0.88403219212764705404, 0.88403219212764705404, 0.88403219212764705404, 0.88403219212764705404, 0.02823323910477210444, 0.02823323910477210444, 0.08176634693298534540, 0.00596822183459553082, 0.08176634693298534540, 0.00596822183459553082, 0.02823323910477210444, 0.02823323910477210444, 0.08176634693298534540, 0.00596822183459553082, 0.08176634693298534540, 0.00596822183459553082, 0.02823323910477210444, 0.02823323910477210444, 0.08176634693298534540, 0.00596822183459553082, 0.08176634693298534540, 0.00596822183459553082, 0.01052014400647361021, 0.01052014400647361021, 0.01052014400647361021, 0.01052014400647361021, 0.01052014400647361021, 0.01052014400647361021, 0.46913734429268588721, 0.46913734429268588721, 0.37272150088782102229, 0.14762101081301948202, 0.37272150088782102229, 0.14762101081301948202, 0.46913734429268588721, 0.46913734429268588721, 0.37272150088782102229, 0.14762101081301948202, 0.37272150088782102229, 0.14762101081301948202, 0.46913734429268588721, 0.46913734429268588721, 0.37272150088782102229, 0.14762101081301948202, 0.37272150088782102229, 0.14762101081301948202, 0.02040787180394685804, 0.02040787180394685804, 0.02040787180394685804, 0.02040787180394685804, 0.02040787180394685804, 0.02040787180394685804, 0.00624115043425393402, 0.00624115043425393402, 0.28810770126174550798, 0.68524327650005367740, 0.28810770126174550798, 0.68524327650005367740, 0.00624115043425393402, 0.00624115043425393402, 0.28810770126174550798, 0.68524327650005367740, 0.28810770126174550798, 0.68524327650005367740, 0.00624115043425393402, 0.00624115043425393402, 0.28810770126174550798, 0.68524327650005367740, 0.28810770126174550798, 0.68524327650005367740, 0.08369886684600136295, 0.08369886684600136295, 0.08369886684600136295, 0.08369886684600136295, 0.08369886684600136295, 0.08369886684600136295, 0.25485710093645497221, 0.25485710093645497221, 0.00848367703048867258, 0.65296035518705497491, 0.00848367703048867258, 0.65296035518705497491, 0.25485710093645497221, 0.25485710093645497221, 0.00848367703048867258, 0.65296035518705497491, 0.00848367703048867258, 0.65296035518705497491, 0.25485710093645497221, 0.25485710093645497221, 0.00848367703048867258, 0.65296035518705497491, 0.00848367703048867258, 0.65296035518705497491, 0.05013138003585081159, 0.05013138003585081159, 0.05013138003585081159, 0.05013138003585081159, 0.05013138003585081159, 0.05013138003585081159, 0.50812259065716169903, 0.50812259065716169903, 0.11931280362120331995, 0.32243322568578414167, 0.11931280362120331995, 0.32243322568578414167, 0.50812259065716169903, 0.50812259065716169903, 0.11931280362120331995, 0.32243322568578414167, 0.11931280362120331995, 0.32243322568578414167, 0.50812259065716169903, 0.50812259065716169903, 0.11931280362120331995, 0.32243322568578414167, 0.11931280362120331995, 0.32243322568578414167, 0.31550288568364137642, 0.31550288568364137642, 0.31550288568364137642, 0.31550288568364137642, 0.31550288568364137642, 0.31550288568364137642, 0.01094996106379020860, 0.01094996106379020860, 0.41983692014174261997, 0.25371023311082580021, 0.41983692014174261997, 0.25371023311082580021, 0.01094996106379020860, 0.01094996106379020860, 0.41983692014174261997, 0.25371023311082580021, 0.41983692014174261997, 0.25371023311082580021, 0.01094996106379020860, 0.01094996106379020860, 0.41983692014174261997, 0.25371023311082580021, 0.41983692014174261997, 0.25371023311082580021 }; double w_save[] = { 0.00947742496442155469, 0.00230965204657903158, 0.00230965204657903158, 0.00230965204657903158, 0.00230965204657903158, 0.00409149276224073360, 0.00409149276224073360, 0.00409149276224073360, 0.00409149276224073360, 0.00117365466744828706, 0.00117365466744828706, 0.00117365466744828706, 0.00117365466744828706, 0.00579775930281866726, 0.00579775930281866726, 0.00579775930281866726, 0.00579775930281866726, 0.00579775930281866726, 0.00579775930281866726, 0.00202899263910692133, 0.00202899263910692133, 0.00202899263910692133, 0.00202899263910692133, 0.00202899263910692133, 0.00202899263910692133, 0.00202899263910692133, 0.00202899263910692133, 0.00202899263910692133, 0.00202899263910692133, 0.00202899263910692133, 0.00202899263910692133, 0.00020058584851064326, 0.00020058584851064326, 0.00020058584851064326, 0.00020058584851064326, 0.00020058584851064326, 0.00020058584851064326, 0.00020058584851064326, 0.00020058584851064326, 0.00020058584851064326, 0.00020058584851064326, 0.00020058584851064326, 0.00020058584851064326, 0.00290805997245689859, 0.00290805997245689859, 0.00290805997245689859, 0.00290805997245689859, 0.00290805997245689859, 0.00290805997245689859, 0.00290805997245689859, 0.00290805997245689859, 0.00290805997245689859, 0.00290805997245689859, 0.00290805997245689859, 0.00290805997245689859, 0.00253207846328713402, 0.00253207846328713402, 0.00253207846328713402, 0.00253207846328713402, 0.00253207846328713402, 0.00253207846328713402, 0.00253207846328713402, 0.00253207846328713402, 0.00253207846328713402, 0.00253207846328713402, 0.00253207846328713402, 0.00253207846328713402, 0.00073436957363161390, 0.00073436957363161390, 0.00073436957363161390, 0.00073436957363161390, 0.00073436957363161390, 0.00073436957363161390, 0.00073436957363161390, 0.00073436957363161390, 0.00073436957363161390, 0.00073436957363161390, 0.00073436957363161390, 0.00073436957363161390, 0.00107618357453939987, 0.00107618357453939987, 0.00107618357453939987, 0.00107618357453939987, 0.00107618357453939987, 0.00107618357453939987, 0.00107618357453939987, 0.00107618357453939987, 0.00107618357453939987, 0.00107618357453939987, 0.00107618357453939987, 0.00107618357453939987, 0.00198641567713146380, 0.00198641567713146380, 0.00198641567713146380, 0.00198641567713146380, 0.00198641567713146380, 0.00198641567713146380, 0.00198641567713146380, 0.00198641567713146380, 0.00198641567713146380, 0.00198641567713146380, 0.00198641567713146380, 0.00198641567713146380, 0.00504631736429394726, 0.00504631736429394726, 0.00504631736429394726, 0.00504631736429394726, 0.00504631736429394726, 0.00504631736429394726, 0.00504631736429394726, 0.00504631736429394726, 0.00504631736429394726, 0.00504631736429394726, 0.00504631736429394726, 0.00504631736429394726, 0.00269228246053105280, 0.00269228246053105280, 0.00269228246053105280, 0.00269228246053105280, 0.00269228246053105280, 0.00269228246053105280, 0.00269228246053105280, 0.00269228246053105280, 0.00269228246053105280, 0.00269228246053105280, 0.00269228246053105280, 0.00269228246053105280, 0.00133063628850380099, 0.00133063628850380099, 0.00133063628850380099, 0.00133063628850380099, 0.00133063628850380099, 0.00133063628850380099, 0.00133063628850380099, 0.00133063628850380099, 0.00133063628850380099, 0.00133063628850380099, 0.00133063628850380099, 0.00133063628850380099, 0.00178292890085285502, 0.00178292890085285502, 0.00178292890085285502, 0.00178292890085285502, 0.00178292890085285502, 0.00178292890085285502, 0.00178292890085285502, 0.00178292890085285502, 0.00178292890085285502, 0.00178292890085285502, 0.00178292890085285502, 0.00178292890085285502, 0.00012630158261844537, 0.00012630158261844537, 0.00012630158261844537, 0.00012630158261844537, 0.00012630158261844537, 0.00012630158261844537, 0.00012630158261844537, 0.00012630158261844537, 0.00012630158261844537, 0.00012630158261844537, 0.00012630158261844537, 0.00012630158261844537, 0.00324426094381917310, 0.00324426094381917310, 0.00324426094381917310, 0.00324426094381917310, 0.00324426094381917310, 0.00324426094381917310, 0.00324426094381917310, 0.00324426094381917310, 0.00324426094381917310, 0.00324426094381917310, 0.00324426094381917310, 0.00324426094381917310, 0.00104849818571252427, 0.00104849818571252427, 0.00104849818571252427, 0.00104849818571252427, 0.00104849818571252427, 0.00104849818571252427, 0.00104849818571252427, 0.00104849818571252427, 0.00104849818571252427, 0.00104849818571252427, 0.00104849818571252427, 0.00104849818571252427, 0.00104849818571252427, 0.00104849818571252427, 0.00104849818571252427, 0.00104849818571252427, 0.00104849818571252427, 0.00104849818571252427, 0.00104849818571252427, 0.00104849818571252427, 0.00104849818571252427, 0.00104849818571252427, 0.00104849818571252427, 0.00104849818571252427, 0.00360574074573460435, 0.00360574074573460435, 0.00360574074573460435, 0.00360574074573460435, 0.00360574074573460435, 0.00360574074573460435, 0.00360574074573460435, 0.00360574074573460435, 0.00360574074573460435, 0.00360574074573460435, 0.00360574074573460435, 0.00360574074573460435, 0.00360574074573460435, 0.00360574074573460435, 0.00360574074573460435, 0.00360574074573460435, 0.00360574074573460435, 0.00360574074573460435, 0.00360574074573460435, 0.00360574074573460435, 0.00360574074573460435, 0.00360574074573460435, 0.00360574074573460435, 0.00360574074573460435, 0.00256155840786984447, 0.00256155840786984447, 0.00256155840786984447, 0.00256155840786984447, 0.00256155840786984447, 0.00256155840786984447, 0.00256155840786984447, 0.00256155840786984447, 0.00256155840786984447, 0.00256155840786984447, 0.00256155840786984447, 0.00256155840786984447, 0.00256155840786984447, 0.00256155840786984447, 0.00256155840786984447, 0.00256155840786984447, 0.00256155840786984447, 0.00256155840786984447, 0.00256155840786984447, 0.00256155840786984447, 0.00256155840786984447, 0.00256155840786984447, 0.00256155840786984447, 0.00256155840786984447, 0.00149891846783441630, 0.00149891846783441630, 0.00149891846783441630, 0.00149891846783441630, 0.00149891846783441630, 0.00149891846783441630, 0.00149891846783441630, 0.00149891846783441630, 0.00149891846783441630, 0.00149891846783441630, 0.00149891846783441630, 0.00149891846783441630, 0.00149891846783441630, 0.00149891846783441630, 0.00149891846783441630, 0.00149891846783441630, 0.00149891846783441630, 0.00149891846783441630, 0.00149891846783441630, 0.00149891846783441630, 0.00149891846783441630, 0.00149891846783441630, 0.00149891846783441630, 0.00149891846783441630, 0.00181432457232748312, 0.00181432457232748312, 0.00181432457232748312, 0.00181432457232748312, 0.00181432457232748312, 0.00181432457232748312, 0.00181432457232748312, 0.00181432457232748312, 0.00181432457232748312, 0.00181432457232748312, 0.00181432457232748312, 0.00181432457232748312, 0.00181432457232748312, 0.00181432457232748312, 0.00181432457232748312, 0.00181432457232748312, 0.00181432457232748312, 0.00181432457232748312, 0.00181432457232748312, 0.00181432457232748312, 0.00181432457232748312, 0.00181432457232748312, 0.00181432457232748312, 0.00181432457232748312, 0.00288393807399617026, 0.00288393807399617026, 0.00288393807399617026, 0.00288393807399617026, 0.00288393807399617026, 0.00288393807399617026, 0.00288393807399617026, 0.00288393807399617026, 0.00288393807399617026, 0.00288393807399617026, 0.00288393807399617026, 0.00288393807399617026, 0.00288393807399617026, 0.00288393807399617026, 0.00288393807399617026, 0.00288393807399617026, 0.00288393807399617026, 0.00288393807399617026, 0.00288393807399617026, 0.00288393807399617026, 0.00288393807399617026, 0.00288393807399617026, 0.00288393807399617026, 0.00288393807399617026, 0.00319141130522126093, 0.00319141130522126093, 0.00319141130522126093, 0.00319141130522126093, 0.00319141130522126093, 0.00319141130522126093, 0.00319141130522126093, 0.00319141130522126093, 0.00319141130522126093, 0.00319141130522126093, 0.00319141130522126093, 0.00319141130522126093, 0.00319141130522126093, 0.00319141130522126093, 0.00319141130522126093, 0.00319141130522126093, 0.00319141130522126093, 0.00319141130522126093, 0.00319141130522126093, 0.00319141130522126093, 0.00319141130522126093, 0.00319141130522126093, 0.00319141130522126093, 0.00319141130522126093, 0.00039552823369867567, 0.00039552823369867567, 0.00039552823369867567, 0.00039552823369867567, 0.00039552823369867567, 0.00039552823369867567, 0.00039552823369867567, 0.00039552823369867567, 0.00039552823369867567, 0.00039552823369867567, 0.00039552823369867567, 0.00039552823369867567, 0.00039552823369867567, 0.00039552823369867567, 0.00039552823369867567, 0.00039552823369867567, 0.00039552823369867567, 0.00039552823369867567, 0.00039552823369867567, 0.00039552823369867567, 0.00039552823369867567, 0.00039552823369867567, 0.00039552823369867567, 0.00039552823369867567, 0.00164221123191576196, 0.00164221123191576196, 0.00164221123191576196, 0.00164221123191576196, 0.00164221123191576196, 0.00164221123191576196, 0.00164221123191576196, 0.00164221123191576196, 0.00164221123191576196, 0.00164221123191576196, 0.00164221123191576196, 0.00164221123191576196, 0.00164221123191576196, 0.00164221123191576196, 0.00164221123191576196, 0.00164221123191576196, 0.00164221123191576196, 0.00164221123191576196, 0.00164221123191576196, 0.00164221123191576196, 0.00164221123191576196, 0.00164221123191576196, 0.00164221123191576196, 0.00164221123191576196, 0.00046409208974596889, 0.00046409208974596889, 0.00046409208974596889, 0.00046409208974596889, 0.00046409208974596889, 0.00046409208974596889, 0.00046409208974596889, 0.00046409208974596889, 0.00046409208974596889, 0.00046409208974596889, 0.00046409208974596889, 0.00046409208974596889, 0.00046409208974596889, 0.00046409208974596889, 0.00046409208974596889, 0.00046409208974596889, 0.00046409208974596889, 0.00046409208974596889, 0.00046409208974596889, 0.00046409208974596889, 0.00046409208974596889, 0.00046409208974596889, 0.00046409208974596889, 0.00046409208974596889, 0.00121086533999402771, 0.00121086533999402771, 0.00121086533999402771, 0.00121086533999402771, 0.00121086533999402771, 0.00121086533999402771, 0.00121086533999402771, 0.00121086533999402771, 0.00121086533999402771, 0.00121086533999402771, 0.00121086533999402771, 0.00121086533999402771, 0.00121086533999402771, 0.00121086533999402771, 0.00121086533999402771, 0.00121086533999402771, 0.00121086533999402771, 0.00121086533999402771, 0.00121086533999402771, 0.00121086533999402771, 0.00121086533999402771, 0.00121086533999402771, 0.00121086533999402771, 0.00121086533999402771, 0.00365328301727806505, 0.00365328301727806505, 0.00365328301727806505, 0.00365328301727806505, 0.00365328301727806505, 0.00365328301727806505, 0.00365328301727806505, 0.00365328301727806505, 0.00365328301727806505, 0.00365328301727806505, 0.00365328301727806505, 0.00365328301727806505, 0.00365328301727806505, 0.00365328301727806505, 0.00365328301727806505, 0.00365328301727806505, 0.00365328301727806505, 0.00365328301727806505, 0.00365328301727806505, 0.00365328301727806505, 0.00365328301727806505, 0.00365328301727806505, 0.00365328301727806505, 0.00365328301727806505, 0.00174479123876261502, 0.00174479123876261502, 0.00174479123876261502, 0.00174479123876261502, 0.00174479123876261502, 0.00174479123876261502, 0.00174479123876261502, 0.00174479123876261502, 0.00174479123876261502, 0.00174479123876261502, 0.00174479123876261502, 0.00174479123876261502, 0.00174479123876261502, 0.00174479123876261502, 0.00174479123876261502, 0.00174479123876261502, 0.00174479123876261502, 0.00174479123876261502, 0.00174479123876261502, 0.00174479123876261502, 0.00174479123876261502, 0.00174479123876261502, 0.00174479123876261502, 0.00174479123876261502 }; r8vec_copy ( n, a_save, a ); r8vec_copy ( n, b_save, b ); r8vec_copy ( n, c_save, c ); r8vec_copy ( n, d_save, d ); r8vec_copy ( n, w_save, w ); return; } /******************************************************************************/ void rule20 ( int n, double a[], double b[], double c[], double d[], double w[] ) /******************************************************************************/ /* Purpose: rule20() returns the rule of precision 20. Licensing: This code is distributed under the MIT license. Modified: 02 April 2023 Author: John Burkardt Reference: Jan Jaskowiec, Natarajan Sukumar, High order symmetric cubature rules for tetrahedra and pyramids, International Journal of Numerical Methods in Engineering, Volume 122, Number 1, pages 148-171, 24 August 2020. Input: int n: the number of quadrature points for this rule. Output: double a[n], b[n], c[n], d[n]: the barycentric coordinates of quadrature points. double w[n]: the quadrature weights. */ { static double a_save[] = { 0.29677595969341313831, 0.10967212091976055732, 0.29677595969341313831, 0.29677595969341313831, 0.12090479721121853707, 0.63728560836634440268, 0.12090479721121853707, 0.12090479721121853707, 0.31779590718810440952, 0.04661227843568670204, 0.31779590718810440952, 0.31779590718810440952, 0.20126557124147897992, 0.39620328627556306023, 0.20126557124147897992, 0.20126557124147897992, 0.16788389692728847291, 0.49634830921813460902, 0.16788389692728847291, 0.16788389692728847291, 0.03621493960968947406, 0.89135518117093159862, 0.03621493960968947406, 0.03621493960968947406, 0.44739755038251621810, 0.05260244961748377496, 0.44739755038251621810, 0.05260244961748377496, 0.44739755038251621810, 0.05260244961748377496, 0.19542144366869579342, 0.30457855633130420658, 0.19542144366869579342, 0.30457855633130420658, 0.19542144366869579342, 0.30457855633130420658, 0.81815327336878018727, 0.03228230549839515573, 0.03228230549839515573, 0.11728211563442945964, 0.11728211563442945964, 0.11728211563442945964, 0.03228230549839515573, 0.81815327336878018727, 0.03228230549839515573, 0.03228230549839515573, 0.81815327336878018727, 0.03228230549839515573, 0.16719639318282120133, 0.00812651447051963849, 0.00812651447051963849, 0.81655057787613949394, 0.81655057787613949394, 0.81655057787613949394, 0.00812651447051963849, 0.16719639318282120133, 0.00812651447051963849, 0.00812651447051963849, 0.16719639318282120133, 0.00812651447051963849, 0.06611011876662430120, 0.18514595229943470178, 0.18514595229943470178, 0.56359797663450628136, 0.56359797663450628136, 0.56359797663450628136, 0.18514595229943470178, 0.06611011876662430120, 0.18514595229943470178, 0.18514595229943470178, 0.06611011876662430120, 0.18514595229943470178, 0.12818318452527444062, 0.41107753820177700410, 0.41107753820177700410, 0.04966173907117157893, 0.04966173907117157893, 0.04966173907117157893, 0.41107753820177700410, 0.12818318452527444062, 0.41107753820177700410, 0.41107753820177700410, 0.12818318452527444062, 0.41107753820177700410, 0.55663662483071552067, 0.01005979740685445691, 0.01005979740685445691, 0.42324378035557558286, 0.42324378035557558286, 0.42324378035557558286, 0.01005979740685445691, 0.55663662483071552067, 0.01005979740685445691, 0.01005979740685445691, 0.55663662483071552067, 0.01005979740685445691, 0.82425158114285035360, 0.08230161503723587568, 0.08230161503723587568, 0.01114518878267793146, 0.01114518878267793146, 0.01114518878267793146, 0.08230161503723587568, 0.82425158114285035360, 0.08230161503723587568, 0.08230161503723587568, 0.82425158114285035360, 0.08230161503723587568, 0.60729227143911590492, 0.03801282860266466668, 0.03801282860266466668, 0.31668207135555476173, 0.31668207135555476173, 0.31668207135555476173, 0.03801282860266466668, 0.60729227143911590492, 0.03801282860266466668, 0.03801282860266466668, 0.60729227143911590492, 0.03801282860266466668, 0.19275912042141615799, 0.08297816905794758169, 0.08297816905794758169, 0.64128454146268865088, 0.64128454146268865088, 0.64128454146268865088, 0.08297816905794758169, 0.19275912042141615799, 0.08297816905794758169, 0.08297816905794758169, 0.19275912042141615799, 0.08297816905794758169, 0.22908997931138216919, 0.03232830149045374385, 0.03232830149045374385, 0.70625341770771032923, 0.70625341770771032923, 0.70625341770771032923, 0.03232830149045374385, 0.22908997931138216919, 0.03232830149045374385, 0.03232830149045374385, 0.22908997931138216919, 0.03232830149045374385, 0.00406245917858537135, 0.14065219401777623309, 0.14065219401777623309, 0.71463315278586214685, 0.71463315278586214685, 0.71463315278586214685, 0.14065219401777623309, 0.00406245917858537135, 0.14065219401777623309, 0.14065219401777623309, 0.00406245917858537135, 0.14065219401777623309, 0.51686565726937727661, 0.11397194391129145119, 0.11397194391129145119, 0.25519045490803976550, 0.25519045490803976550, 0.25519045490803976550, 0.11397194391129145119, 0.51686565726937727661, 0.11397194391129145119, 0.11397194391129145119, 0.51686565726937727661, 0.11397194391129145119, 0.02517856316811187614, 0.00745357137717489546, 0.00745357137717489546, 0.95991429407753836589, 0.95991429407753836589, 0.95991429407753836589, 0.00745357137717489546, 0.02517856316811187614, 0.00745357137717489546, 0.00745357137717489546, 0.02517856316811187614, 0.00745357137717489546, 0.39070706747913119816, 0.11101712673026890854, 0.11101712673026890854, 0.38725867906033101251, 0.38725867906033101251, 0.38725867906033101251, 0.11101712673026890854, 0.39070706747913119816, 0.11101712673026890854, 0.11101712673026890854, 0.39070706747913119816, 0.11101712673026890854, 0.53337671427373922750, 0.53337671427373922750, 0.05313810503913767025, 0.40371668801954307959, 0.05313810503913767025, 0.40371668801954307959, 0.00976849266758000878, 0.00976849266758000878, 0.00976849266758000878, 0.00976849266758000878, 0.00976849266758000878, 0.00976849266758000878, 0.05313810503913767025, 0.40371668801954307959, 0.53337671427373922750, 0.53337671427373922750, 0.40371668801954307959, 0.05313810503913767025, 0.05313810503913767025, 0.40371668801954307959, 0.53337671427373922750, 0.53337671427373922750, 0.40371668801954307959, 0.05313810503913767025, 0.09450517146275738689, 0.09450517146275738689, 0.09439207428728113580, 0.05015466188752487620, 0.09439207428728113580, 0.05015466188752487620, 0.76094809236243665662, 0.76094809236243665662, 0.76094809236243665662, 0.76094809236243665662, 0.76094809236243665662, 0.76094809236243665662, 0.09439207428728113580, 0.05015466188752487620, 0.09450517146275738689, 0.09450517146275738689, 0.05015466188752487620, 0.09439207428728113580, 0.09439207428728113580, 0.05015466188752487620, 0.09450517146275738689, 0.09450517146275738689, 0.05015466188752487620, 0.09439207428728113580, 0.76539556922700235919, 0.76539556922700235919, 0.05505445164272957520, 0.17388923118264887346, 0.05505445164272957520, 0.17388923118264887346, 0.00566074794761922250, 0.00566074794761922250, 0.00566074794761922250, 0.00566074794761922250, 0.00566074794761922250, 0.00566074794761922250, 0.05505445164272957520, 0.17388923118264887346, 0.76539556922700235919, 0.76539556922700235919, 0.17388923118264887346, 0.05505445164272957520, 0.05505445164272957520, 0.17388923118264887346, 0.76539556922700235919, 0.76539556922700235919, 0.17388923118264887346, 0.05505445164272957520, 0.09751720382220438466, 0.09751720382220438466, 0.17986373012343051525, 0.68795719527895304868, 0.17986373012343051525, 0.68795719527895304868, 0.03466187077541209305, 0.03466187077541209305, 0.03466187077541209305, 0.03466187077541209305, 0.03466187077541209305, 0.03466187077541209305, 0.17986373012343051525, 0.68795719527895304868, 0.09751720382220438466, 0.09751720382220438466, 0.68795719527895304868, 0.17986373012343051525, 0.17986373012343051525, 0.68795719527895304868, 0.09751720382220438466, 0.09751720382220438466, 0.68795719527895304868, 0.17986373012343051525, 0.40950365861709436821, 0.40950365861709436821, 0.21219205477521471681, 0.33217350250350502483, 0.21219205477521471681, 0.33217350250350502483, 0.04613078410418590403, 0.04613078410418590403, 0.04613078410418590403, 0.04613078410418590403, 0.04613078410418590403, 0.04613078410418590403, 0.21219205477521471681, 0.33217350250350502483, 0.40950365861709436821, 0.40950365861709436821, 0.33217350250350502483, 0.21219205477521471681, 0.21219205477521471681, 0.33217350250350502483, 0.40950365861709436821, 0.40950365861709436821, 0.33217350250350502483, 0.21219205477521471681, 0.47655572075000696142, 0.47655572075000696142, 0.12901615123519602490, 0.38447209764101419882, 0.12901615123519602490, 0.38447209764101419882, 0.00995603037378283567, 0.00995603037378283567, 0.00995603037378283567, 0.00995603037378283567, 0.00995603037378283567, 0.00995603037378283567, 0.12901615123519602490, 0.38447209764101419882, 0.47655572075000696142, 0.47655572075000696142, 0.38447209764101419882, 0.12901615123519602490, 0.12901615123519602490, 0.38447209764101419882, 0.47655572075000696142, 0.47655572075000696142, 0.38447209764101419882, 0.12901615123519602490, 0.01376084748677020193, 0.01376084748677020193, 0.16148732230661144715, 0.59827051080106408154, 0.16148732230661144715, 0.59827051080106408154, 0.22648131940555421560, 0.22648131940555421560, 0.22648131940555421560, 0.22648131940555421560, 0.22648131940555421560, 0.22648131940555421560, 0.16148732230661144715, 0.59827051080106408154, 0.01376084748677020193, 0.01376084748677020193, 0.59827051080106408154, 0.16148732230661144715, 0.16148732230661144715, 0.59827051080106408154, 0.01376084748677020193, 0.01376084748677020193, 0.59827051080106408154, 0.16148732230661144715, 0.41435007414024704886, 0.41435007414024704886, 0.10592830789398596791, 0.28530137624636409122, 0.10592830789398596791, 0.28530137624636409122, 0.19442024171940289201, 0.19442024171940289201, 0.19442024171940289201, 0.19442024171940289201, 0.19442024171940289201, 0.19442024171940289201, 0.10592830789398596791, 0.28530137624636409122, 0.41435007414024704886, 0.41435007414024704886, 0.28530137624636409122, 0.10592830789398596791, 0.10592830789398596791, 0.28530137624636409122, 0.41435007414024704886, 0.41435007414024704886, 0.28530137624636409122, 0.10592830789398596791, 0.28640831552549533834, 0.28640831552549533834, 0.20462293284568089380, 0.47289081039429653464, 0.20462293284568089380, 0.47289081039429653464, 0.03607794123452725404, 0.03607794123452725404, 0.03607794123452725404, 0.03607794123452725404, 0.03607794123452725404, 0.03607794123452725404, 0.20462293284568089380, 0.47289081039429653464, 0.28640831552549533834, 0.28640831552549533834, 0.47289081039429653464, 0.20462293284568089380, 0.20462293284568089380, 0.47289081039429653464, 0.28640831552549533834, 0.28640831552549533834, 0.47289081039429653464, 0.20462293284568089380, 0.02361583233015298114, 0.02361583233015298114, 0.07441796869877018161, 0.00244216970783581525, 0.07441796869877018161, 0.00244216970783581525, 0.89952402926324104282, 0.89952402926324104282, 0.89952402926324104282, 0.89952402926324104282, 0.89952402926324104282, 0.89952402926324104282, 0.07441796869877018161, 0.00244216970783581525, 0.02361583233015298114, 0.02361583233015298114, 0.00244216970783581525, 0.07441796869877018161, 0.07441796869877018161, 0.00244216970783581525, 0.02361583233015298114, 0.02361583233015298114, 0.00244216970783581525, 0.07441796869877018161, 0.50787457592864027056, 0.50787457592864027056, 0.29383523596867844319, 0.19391041573889089555, 0.29383523596867844319, 0.19391041573889089555, 0.00437977236379033172, 0.00437977236379033172, 0.00437977236379033172, 0.00437977236379033172, 0.00437977236379033172, 0.00437977236379033172, 0.29383523596867844319, 0.19391041573889089555, 0.50787457592864027056, 0.50787457592864027056, 0.19391041573889089555, 0.29383523596867844319, 0.29383523596867844319, 0.19391041573889089555, 0.50787457592864027056, 0.50787457592864027056, 0.19391041573889089555, 0.29383523596867844319, 0.00238861494051180760, 0.00238861494051180760, 0.28990049199313028261, 0.68675254461751533697, 0.28990049199313028261, 0.68675254461751533697, 0.02095834844884251688, 0.02095834844884251688, 0.02095834844884251688, 0.02095834844884251688, 0.02095834844884251688, 0.02095834844884251688, 0.28990049199313028261, 0.68675254461751533697, 0.00238861494051180760, 0.00238861494051180760, 0.68675254461751533697, 0.28990049199313028261, 0.28990049199313028261, 0.68675254461751533697, 0.00238861494051180760, 0.00238861494051180760, 0.68675254461751533697, 0.28990049199313028261, 0.27800902334886384848, 0.27800902334886384848, 0.00692039552760895325, 0.62840833676742602343, 0.00692039552760895325, 0.62840833676742602343, 0.08666224435610116184, 0.08666224435610116184, 0.08666224435610116184, 0.08666224435610116184, 0.08666224435610116184, 0.08666224435610116184, 0.00692039552760895325, 0.62840833676742602343, 0.27800902334886384848, 0.27800902334886384848, 0.62840833676742602343, 0.00692039552760895325, 0.00692039552760895325, 0.62840833676742602343, 0.27800902334886384848, 0.27800902334886384848, 0.62840833676742602343, 0.00692039552760895325, 0.54311305749058158554, 0.54311305749058158554, 0.10531910689721521446, 0.30531774702092789875, 0.10531910689721521446, 0.30531774702092789875, 0.04625008859127536370, 0.04625008859127536370, 0.04625008859127536370, 0.04625008859127536370, 0.04625008859127536370, 0.04625008859127536370, 0.10531910689721521446, 0.30531774702092789875, 0.54311305749058158554, 0.54311305749058158554, 0.30531774702092789875, 0.10531910689721521446, 0.10531910689721521446, 0.30531774702092789875, 0.54311305749058158554, 0.54311305749058158554, 0.30531774702092789875, 0.10531910689721521446, 0.00879232521925877274, 0.00879232521925877274, 0.33876157002929618844, 0.25219556589427610804, 0.33876157002929618844, 0.25219556589427610804, 0.40025053885716893598, 0.40025053885716893598, 0.40025053885716893598, 0.40025053885716893598, 0.40025053885716893598, 0.40025053885716893598, 0.33876157002929618844, 0.25219556589427610804, 0.00879232521925877274, 0.00879232521925877274, 0.25219556589427610804, 0.33876157002929618844, 0.33876157002929618844, 0.25219556589427610804, 0.00879232521925877274, 0.00879232521925877274, 0.25219556589427610804, 0.33876157002929618844 }; static double b_save[] = { 0.29677595969341313831, 0.29677595969341313831, 0.10967212091976055732, 0.29677595969341313831, 0.12090479721121853707, 0.12090479721121853707, 0.63728560836634440268, 0.12090479721121853707, 0.31779590718810440952, 0.31779590718810440952, 0.04661227843568670204, 0.31779590718810440952, 0.20126557124147897992, 0.20126557124147897992, 0.39620328627556306023, 0.20126557124147897992, 0.16788389692728847291, 0.16788389692728847291, 0.49634830921813460902, 0.16788389692728847291, 0.03621493960968947406, 0.03621493960968947406, 0.89135518117093159862, 0.03621493960968947406, 0.05260244961748377496, 0.44739755038251621810, 0.44739755038251621810, 0.05260244961748377496, 0.05260244961748377496, 0.44739755038251621810, 0.30457855633130420658, 0.19542144366869579342, 0.19542144366869579342, 0.30457855633130420658, 0.30457855633130420658, 0.19542144366869579342, 0.03228230549839515573, 0.81815327336878018727, 0.03228230549839515573, 0.03228230549839515573, 0.81815327336878018727, 0.03228230549839515573, 0.11728211563442945964, 0.11728211563442945964, 0.11728211563442945964, 0.03228230549839515573, 0.03228230549839515573, 0.81815327336878018727, 0.00812651447051963849, 0.16719639318282120133, 0.00812651447051963849, 0.00812651447051963849, 0.16719639318282120133, 0.00812651447051963849, 0.81655057787613949394, 0.81655057787613949394, 0.81655057787613949394, 0.00812651447051963849, 0.00812651447051963849, 0.16719639318282120133, 0.18514595229943470178, 0.06611011876662430120, 0.18514595229943470178, 0.18514595229943470178, 0.06611011876662430120, 0.18514595229943470178, 0.56359797663450628136, 0.56359797663450628136, 0.56359797663450628136, 0.18514595229943470178, 0.18514595229943470178, 0.06611011876662430120, 0.41107753820177700410, 0.12818318452527444062, 0.41107753820177700410, 0.41107753820177700410, 0.12818318452527444062, 0.41107753820177700410, 0.04966173907117157893, 0.04966173907117157893, 0.04966173907117157893, 0.41107753820177700410, 0.41107753820177700410, 0.12818318452527444062, 0.01005979740685445691, 0.55663662483071552067, 0.01005979740685445691, 0.01005979740685445691, 0.55663662483071552067, 0.01005979740685445691, 0.42324378035557558286, 0.42324378035557558286, 0.42324378035557558286, 0.01005979740685445691, 0.01005979740685445691, 0.55663662483071552067, 0.08230161503723587568, 0.82425158114285035360, 0.08230161503723587568, 0.08230161503723587568, 0.82425158114285035360, 0.08230161503723587568, 0.01114518878267793146, 0.01114518878267793146, 0.01114518878267793146, 0.08230161503723587568, 0.08230161503723587568, 0.82425158114285035360, 0.03801282860266466668, 0.60729227143911590492, 0.03801282860266466668, 0.03801282860266466668, 0.60729227143911590492, 0.03801282860266466668, 0.31668207135555476173, 0.31668207135555476173, 0.31668207135555476173, 0.03801282860266466668, 0.03801282860266466668, 0.60729227143911590492, 0.08297816905794758169, 0.19275912042141615799, 0.08297816905794758169, 0.08297816905794758169, 0.19275912042141615799, 0.08297816905794758169, 0.64128454146268865088, 0.64128454146268865088, 0.64128454146268865088, 0.08297816905794758169, 0.08297816905794758169, 0.19275912042141615799, 0.03232830149045374385, 0.22908997931138216919, 0.03232830149045374385, 0.03232830149045374385, 0.22908997931138216919, 0.03232830149045374385, 0.70625341770771032923, 0.70625341770771032923, 0.70625341770771032923, 0.03232830149045374385, 0.03232830149045374385, 0.22908997931138216919, 0.14065219401777623309, 0.00406245917858537135, 0.14065219401777623309, 0.14065219401777623309, 0.00406245917858537135, 0.14065219401777623309, 0.71463315278586214685, 0.71463315278586214685, 0.71463315278586214685, 0.14065219401777623309, 0.14065219401777623309, 0.00406245917858537135, 0.11397194391129145119, 0.51686565726937727661, 0.11397194391129145119, 0.11397194391129145119, 0.51686565726937727661, 0.11397194391129145119, 0.25519045490803976550, 0.25519045490803976550, 0.25519045490803976550, 0.11397194391129145119, 0.11397194391129145119, 0.51686565726937727661, 0.00745357137717489546, 0.02517856316811187614, 0.00745357137717489546, 0.00745357137717489546, 0.02517856316811187614, 0.00745357137717489546, 0.95991429407753836589, 0.95991429407753836589, 0.95991429407753836589, 0.00745357137717489546, 0.00745357137717489546, 0.02517856316811187614, 0.11101712673026890854, 0.39070706747913119816, 0.11101712673026890854, 0.11101712673026890854, 0.39070706747913119816, 0.11101712673026890854, 0.38725867906033101251, 0.38725867906033101251, 0.38725867906033101251, 0.11101712673026890854, 0.11101712673026890854, 0.39070706747913119816, 0.05313810503913767025, 0.40371668801954307959, 0.53337671427373922750, 0.53337671427373922750, 0.40371668801954307959, 0.05313810503913767025, 0.05313810503913767025, 0.40371668801954307959, 0.53337671427373922750, 0.53337671427373922750, 0.40371668801954307959, 0.05313810503913767025, 0.00976849266758000878, 0.00976849266758000878, 0.00976849266758000878, 0.00976849266758000878, 0.00976849266758000878, 0.00976849266758000878, 0.40371668801954307959, 0.05313810503913767025, 0.40371668801954307959, 0.05313810503913767025, 0.53337671427373922750, 0.53337671427373922750, 0.09439207428728113580, 0.05015466188752487620, 0.09450517146275738689, 0.09450517146275738689, 0.05015466188752487620, 0.09439207428728113580, 0.09439207428728113580, 0.05015466188752487620, 0.09450517146275738689, 0.09450517146275738689, 0.05015466188752487620, 0.09439207428728113580, 0.76094809236243665662, 0.76094809236243665662, 0.76094809236243665662, 0.76094809236243665662, 0.76094809236243665662, 0.76094809236243665662, 0.05015466188752487620, 0.09439207428728113580, 0.05015466188752487620, 0.09439207428728113580, 0.09450517146275738689, 0.09450517146275738689, 0.05505445164272957520, 0.17388923118264887346, 0.76539556922700235919, 0.76539556922700235919, 0.17388923118264887346, 0.05505445164272957520, 0.05505445164272957520, 0.17388923118264887346, 0.76539556922700235919, 0.76539556922700235919, 0.17388923118264887346, 0.05505445164272957520, 0.00566074794761922250, 0.00566074794761922250, 0.00566074794761922250, 0.00566074794761922250, 0.00566074794761922250, 0.00566074794761922250, 0.17388923118264887346, 0.05505445164272957520, 0.17388923118264887346, 0.05505445164272957520, 0.76539556922700235919, 0.76539556922700235919, 0.17986373012343051525, 0.68795719527895304868, 0.09751720382220438466, 0.09751720382220438466, 0.68795719527895304868, 0.17986373012343051525, 0.17986373012343051525, 0.68795719527895304868, 0.09751720382220438466, 0.09751720382220438466, 0.68795719527895304868, 0.17986373012343051525, 0.03466187077541209305, 0.03466187077541209305, 0.03466187077541209305, 0.03466187077541209305, 0.03466187077541209305, 0.03466187077541209305, 0.68795719527895304868, 0.17986373012343051525, 0.68795719527895304868, 0.17986373012343051525, 0.09751720382220438466, 0.09751720382220438466, 0.21219205477521471681, 0.33217350250350502483, 0.40950365861709436821, 0.40950365861709436821, 0.33217350250350502483, 0.21219205477521471681, 0.21219205477521471681, 0.33217350250350502483, 0.40950365861709436821, 0.40950365861709436821, 0.33217350250350502483, 0.21219205477521471681, 0.04613078410418590403, 0.04613078410418590403, 0.04613078410418590403, 0.04613078410418590403, 0.04613078410418590403, 0.04613078410418590403, 0.33217350250350502483, 0.21219205477521471681, 0.33217350250350502483, 0.21219205477521471681, 0.40950365861709436821, 0.40950365861709436821, 0.12901615123519602490, 0.38447209764101419882, 0.47655572075000696142, 0.47655572075000696142, 0.38447209764101419882, 0.12901615123519602490, 0.12901615123519602490, 0.38447209764101419882, 0.47655572075000696142, 0.47655572075000696142, 0.38447209764101419882, 0.12901615123519602490, 0.00995603037378283567, 0.00995603037378283567, 0.00995603037378283567, 0.00995603037378283567, 0.00995603037378283567, 0.00995603037378283567, 0.38447209764101419882, 0.12901615123519602490, 0.38447209764101419882, 0.12901615123519602490, 0.47655572075000696142, 0.47655572075000696142, 0.16148732230661144715, 0.59827051080106408154, 0.01376084748677020193, 0.01376084748677020193, 0.59827051080106408154, 0.16148732230661144715, 0.16148732230661144715, 0.59827051080106408154, 0.01376084748677020193, 0.01376084748677020193, 0.59827051080106408154, 0.16148732230661144715, 0.22648131940555421560, 0.22648131940555421560, 0.22648131940555421560, 0.22648131940555421560, 0.22648131940555421560, 0.22648131940555421560, 0.59827051080106408154, 0.16148732230661144715, 0.59827051080106408154, 0.16148732230661144715, 0.01376084748677020193, 0.01376084748677020193, 0.10592830789398596791, 0.28530137624636409122, 0.41435007414024704886, 0.41435007414024704886, 0.28530137624636409122, 0.10592830789398596791, 0.10592830789398596791, 0.28530137624636409122, 0.41435007414024704886, 0.41435007414024704886, 0.28530137624636409122, 0.10592830789398596791, 0.19442024171940289201, 0.19442024171940289201, 0.19442024171940289201, 0.19442024171940289201, 0.19442024171940289201, 0.19442024171940289201, 0.28530137624636409122, 0.10592830789398596791, 0.28530137624636409122, 0.10592830789398596791, 0.41435007414024704886, 0.41435007414024704886, 0.20462293284568089380, 0.47289081039429653464, 0.28640831552549533834, 0.28640831552549533834, 0.47289081039429653464, 0.20462293284568089380, 0.20462293284568089380, 0.47289081039429653464, 0.28640831552549533834, 0.28640831552549533834, 0.47289081039429653464, 0.20462293284568089380, 0.03607794123452725404, 0.03607794123452725404, 0.03607794123452725404, 0.03607794123452725404, 0.03607794123452725404, 0.03607794123452725404, 0.47289081039429653464, 0.20462293284568089380, 0.47289081039429653464, 0.20462293284568089380, 0.28640831552549533834, 0.28640831552549533834, 0.07441796869877018161, 0.00244216970783581525, 0.02361583233015298114, 0.02361583233015298114, 0.00244216970783581525, 0.07441796869877018161, 0.07441796869877018161, 0.00244216970783581525, 0.02361583233015298114, 0.02361583233015298114, 0.00244216970783581525, 0.07441796869877018161, 0.89952402926324104282, 0.89952402926324104282, 0.89952402926324104282, 0.89952402926324104282, 0.89952402926324104282, 0.89952402926324104282, 0.00244216970783581525, 0.07441796869877018161, 0.00244216970783581525, 0.07441796869877018161, 0.02361583233015298114, 0.02361583233015298114, 0.29383523596867844319, 0.19391041573889089555, 0.50787457592864027056, 0.50787457592864027056, 0.19391041573889089555, 0.29383523596867844319, 0.29383523596867844319, 0.19391041573889089555, 0.50787457592864027056, 0.50787457592864027056, 0.19391041573889089555, 0.29383523596867844319, 0.00437977236379033172, 0.00437977236379033172, 0.00437977236379033172, 0.00437977236379033172, 0.00437977236379033172, 0.00437977236379033172, 0.19391041573889089555, 0.29383523596867844319, 0.19391041573889089555, 0.29383523596867844319, 0.50787457592864027056, 0.50787457592864027056, 0.28990049199313028261, 0.68675254461751533697, 0.00238861494051180760, 0.00238861494051180760, 0.68675254461751533697, 0.28990049199313028261, 0.28990049199313028261, 0.68675254461751533697, 0.00238861494051180760, 0.00238861494051180760, 0.68675254461751533697, 0.28990049199313028261, 0.02095834844884251688, 0.02095834844884251688, 0.02095834844884251688, 0.02095834844884251688, 0.02095834844884251688, 0.02095834844884251688, 0.68675254461751533697, 0.28990049199313028261, 0.68675254461751533697, 0.28990049199313028261, 0.00238861494051180760, 0.00238861494051180760, 0.00692039552760895325, 0.62840833676742602343, 0.27800902334886384848, 0.27800902334886384848, 0.62840833676742602343, 0.00692039552760895325, 0.00692039552760895325, 0.62840833676742602343, 0.27800902334886384848, 0.27800902334886384848, 0.62840833676742602343, 0.00692039552760895325, 0.08666224435610116184, 0.08666224435610116184, 0.08666224435610116184, 0.08666224435610116184, 0.08666224435610116184, 0.08666224435610116184, 0.62840833676742602343, 0.00692039552760895325, 0.62840833676742602343, 0.00692039552760895325, 0.27800902334886384848, 0.27800902334886384848, 0.10531910689721521446, 0.30531774702092789875, 0.54311305749058158554, 0.54311305749058158554, 0.30531774702092789875, 0.10531910689721521446, 0.10531910689721521446, 0.30531774702092789875, 0.54311305749058158554, 0.54311305749058158554, 0.30531774702092789875, 0.10531910689721521446, 0.04625008859127536370, 0.04625008859127536370, 0.04625008859127536370, 0.04625008859127536370, 0.04625008859127536370, 0.04625008859127536370, 0.30531774702092789875, 0.10531910689721521446, 0.30531774702092789875, 0.10531910689721521446, 0.54311305749058158554, 0.54311305749058158554, 0.33876157002929618844, 0.25219556589427610804, 0.00879232521925877274, 0.00879232521925877274, 0.25219556589427610804, 0.33876157002929618844, 0.33876157002929618844, 0.25219556589427610804, 0.00879232521925877274, 0.00879232521925877274, 0.25219556589427610804, 0.33876157002929618844, 0.40025053885716893598, 0.40025053885716893598, 0.40025053885716893598, 0.40025053885716893598, 0.40025053885716893598, 0.40025053885716893598, 0.25219556589427610804, 0.33876157002929618844, 0.25219556589427610804, 0.33876157002929618844, 0.00879232521925877274, 0.00879232521925877274 }; static double c_save[] = { 0.29677595969341313831, 0.29677595969341313831, 0.29677595969341313831, 0.10967212091976055732, 0.12090479721121853707, 0.12090479721121853707, 0.12090479721121853707, 0.63728560836634440268, 0.31779590718810440952, 0.31779590718810440952, 0.31779590718810440952, 0.04661227843568670204, 0.20126557124147897992, 0.20126557124147897992, 0.20126557124147897992, 0.39620328627556306023, 0.16788389692728847291, 0.16788389692728847291, 0.16788389692728847291, 0.49634830921813460902, 0.03621493960968947406, 0.03621493960968947406, 0.03621493960968947406, 0.89135518117093159862, 0.05260244961748377496, 0.05260244961748377496, 0.05260244961748377496, 0.44739755038251621810, 0.44739755038251621810, 0.44739755038251621810, 0.30457855633130420658, 0.30457855633130420658, 0.30457855633130420658, 0.19542144366869579342, 0.19542144366869579342, 0.19542144366869579342, 0.03228230549839515573, 0.03228230549839515573, 0.81815327336878018727, 0.03228230549839515573, 0.03228230549839515573, 0.81815327336878018727, 0.03228230549839515573, 0.03228230549839515573, 0.81815327336878018727, 0.11728211563442945964, 0.11728211563442945964, 0.11728211563442945964, 0.00812651447051963849, 0.00812651447051963849, 0.16719639318282120133, 0.00812651447051963849, 0.00812651447051963849, 0.16719639318282120133, 0.00812651447051963849, 0.00812651447051963849, 0.16719639318282120133, 0.81655057787613949394, 0.81655057787613949394, 0.81655057787613949394, 0.18514595229943470178, 0.18514595229943470178, 0.06611011876662430120, 0.18514595229943470178, 0.18514595229943470178, 0.06611011876662430120, 0.18514595229943470178, 0.18514595229943470178, 0.06611011876662430120, 0.56359797663450628136, 0.56359797663450628136, 0.56359797663450628136, 0.41107753820177700410, 0.41107753820177700410, 0.12818318452527444062, 0.41107753820177700410, 0.41107753820177700410, 0.12818318452527444062, 0.41107753820177700410, 0.41107753820177700410, 0.12818318452527444062, 0.04966173907117157893, 0.04966173907117157893, 0.04966173907117157893, 0.01005979740685445691, 0.01005979740685445691, 0.55663662483071552067, 0.01005979740685445691, 0.01005979740685445691, 0.55663662483071552067, 0.01005979740685445691, 0.01005979740685445691, 0.55663662483071552067, 0.42324378035557558286, 0.42324378035557558286, 0.42324378035557558286, 0.08230161503723587568, 0.08230161503723587568, 0.82425158114285035360, 0.08230161503723587568, 0.08230161503723587568, 0.82425158114285035360, 0.08230161503723587568, 0.08230161503723587568, 0.82425158114285035360, 0.01114518878267793146, 0.01114518878267793146, 0.01114518878267793146, 0.03801282860266466668, 0.03801282860266466668, 0.60729227143911590492, 0.03801282860266466668, 0.03801282860266466668, 0.60729227143911590492, 0.03801282860266466668, 0.03801282860266466668, 0.60729227143911590492, 0.31668207135555476173, 0.31668207135555476173, 0.31668207135555476173, 0.08297816905794758169, 0.08297816905794758169, 0.19275912042141615799, 0.08297816905794758169, 0.08297816905794758169, 0.19275912042141615799, 0.08297816905794758169, 0.08297816905794758169, 0.19275912042141615799, 0.64128454146268865088, 0.64128454146268865088, 0.64128454146268865088, 0.03232830149045374385, 0.03232830149045374385, 0.22908997931138216919, 0.03232830149045374385, 0.03232830149045374385, 0.22908997931138216919, 0.03232830149045374385, 0.03232830149045374385, 0.22908997931138216919, 0.70625341770771032923, 0.70625341770771032923, 0.70625341770771032923, 0.14065219401777623309, 0.14065219401777623309, 0.00406245917858537135, 0.14065219401777623309, 0.14065219401777623309, 0.00406245917858537135, 0.14065219401777623309, 0.14065219401777623309, 0.00406245917858537135, 0.71463315278586214685, 0.71463315278586214685, 0.71463315278586214685, 0.11397194391129145119, 0.11397194391129145119, 0.51686565726937727661, 0.11397194391129145119, 0.11397194391129145119, 0.51686565726937727661, 0.11397194391129145119, 0.11397194391129145119, 0.51686565726937727661, 0.25519045490803976550, 0.25519045490803976550, 0.25519045490803976550, 0.00745357137717489546, 0.00745357137717489546, 0.02517856316811187614, 0.00745357137717489546, 0.00745357137717489546, 0.02517856316811187614, 0.00745357137717489546, 0.00745357137717489546, 0.02517856316811187614, 0.95991429407753836589, 0.95991429407753836589, 0.95991429407753836589, 0.11101712673026890854, 0.11101712673026890854, 0.39070706747913119816, 0.11101712673026890854, 0.11101712673026890854, 0.39070706747913119816, 0.11101712673026890854, 0.11101712673026890854, 0.39070706747913119816, 0.38725867906033101251, 0.38725867906033101251, 0.38725867906033101251, 0.40371668801954307959, 0.05313810503913767025, 0.40371668801954307959, 0.05313810503913767025, 0.53337671427373922750, 0.53337671427373922750, 0.40371668801954307959, 0.05313810503913767025, 0.40371668801954307959, 0.05313810503913767025, 0.53337671427373922750, 0.53337671427373922750, 0.40371668801954307959, 0.05313810503913767025, 0.40371668801954307959, 0.05313810503913767025, 0.53337671427373922750, 0.53337671427373922750, 0.00976849266758000878, 0.00976849266758000878, 0.00976849266758000878, 0.00976849266758000878, 0.00976849266758000878, 0.00976849266758000878, 0.05015466188752487620, 0.09439207428728113580, 0.05015466188752487620, 0.09439207428728113580, 0.09450517146275738689, 0.09450517146275738689, 0.05015466188752487620, 0.09439207428728113580, 0.05015466188752487620, 0.09439207428728113580, 0.09450517146275738689, 0.09450517146275738689, 0.05015466188752487620, 0.09439207428728113580, 0.05015466188752487620, 0.09439207428728113580, 0.09450517146275738689, 0.09450517146275738689, 0.76094809236243665662, 0.76094809236243665662, 0.76094809236243665662, 0.76094809236243665662, 0.76094809236243665662, 0.76094809236243665662, 0.17388923118264887346, 0.05505445164272957520, 0.17388923118264887346, 0.05505445164272957520, 0.76539556922700235919, 0.76539556922700235919, 0.17388923118264887346, 0.05505445164272957520, 0.17388923118264887346, 0.05505445164272957520, 0.76539556922700235919, 0.76539556922700235919, 0.17388923118264887346, 0.05505445164272957520, 0.17388923118264887346, 0.05505445164272957520, 0.76539556922700235919, 0.76539556922700235919, 0.00566074794761922250, 0.00566074794761922250, 0.00566074794761922250, 0.00566074794761922250, 0.00566074794761922250, 0.00566074794761922250, 0.68795719527895304868, 0.17986373012343051525, 0.68795719527895304868, 0.17986373012343051525, 0.09751720382220438466, 0.09751720382220438466, 0.68795719527895304868, 0.17986373012343051525, 0.68795719527895304868, 0.17986373012343051525, 0.09751720382220438466, 0.09751720382220438466, 0.68795719527895304868, 0.17986373012343051525, 0.68795719527895304868, 0.17986373012343051525, 0.09751720382220438466, 0.09751720382220438466, 0.03466187077541209305, 0.03466187077541209305, 0.03466187077541209305, 0.03466187077541209305, 0.03466187077541209305, 0.03466187077541209305, 0.33217350250350502483, 0.21219205477521471681, 0.33217350250350502483, 0.21219205477521471681, 0.40950365861709436821, 0.40950365861709436821, 0.33217350250350502483, 0.21219205477521471681, 0.33217350250350502483, 0.21219205477521471681, 0.40950365861709436821, 0.40950365861709436821, 0.33217350250350502483, 0.21219205477521471681, 0.33217350250350502483, 0.21219205477521471681, 0.40950365861709436821, 0.40950365861709436821, 0.04613078410418590403, 0.04613078410418590403, 0.04613078410418590403, 0.04613078410418590403, 0.04613078410418590403, 0.04613078410418590403, 0.38447209764101419882, 0.12901615123519602490, 0.38447209764101419882, 0.12901615123519602490, 0.47655572075000696142, 0.47655572075000696142, 0.38447209764101419882, 0.12901615123519602490, 0.38447209764101419882, 0.12901615123519602490, 0.47655572075000696142, 0.47655572075000696142, 0.38447209764101419882, 0.12901615123519602490, 0.38447209764101419882, 0.12901615123519602490, 0.47655572075000696142, 0.47655572075000696142, 0.00995603037378283567, 0.00995603037378283567, 0.00995603037378283567, 0.00995603037378283567, 0.00995603037378283567, 0.00995603037378283567, 0.59827051080106408154, 0.16148732230661144715, 0.59827051080106408154, 0.16148732230661144715, 0.01376084748677020193, 0.01376084748677020193, 0.59827051080106408154, 0.16148732230661144715, 0.59827051080106408154, 0.16148732230661144715, 0.01376084748677020193, 0.01376084748677020193, 0.59827051080106408154, 0.16148732230661144715, 0.59827051080106408154, 0.16148732230661144715, 0.01376084748677020193, 0.01376084748677020193, 0.22648131940555421560, 0.22648131940555421560, 0.22648131940555421560, 0.22648131940555421560, 0.22648131940555421560, 0.22648131940555421560, 0.28530137624636409122, 0.10592830789398596791, 0.28530137624636409122, 0.10592830789398596791, 0.41435007414024704886, 0.41435007414024704886, 0.28530137624636409122, 0.10592830789398596791, 0.28530137624636409122, 0.10592830789398596791, 0.41435007414024704886, 0.41435007414024704886, 0.28530137624636409122, 0.10592830789398596791, 0.28530137624636409122, 0.10592830789398596791, 0.41435007414024704886, 0.41435007414024704886, 0.19442024171940289201, 0.19442024171940289201, 0.19442024171940289201, 0.19442024171940289201, 0.19442024171940289201, 0.19442024171940289201, 0.47289081039429653464, 0.20462293284568089380, 0.47289081039429653464, 0.20462293284568089380, 0.28640831552549533834, 0.28640831552549533834, 0.47289081039429653464, 0.20462293284568089380, 0.47289081039429653464, 0.20462293284568089380, 0.28640831552549533834, 0.28640831552549533834, 0.47289081039429653464, 0.20462293284568089380, 0.47289081039429653464, 0.20462293284568089380, 0.28640831552549533834, 0.28640831552549533834, 0.03607794123452725404, 0.03607794123452725404, 0.03607794123452725404, 0.03607794123452725404, 0.03607794123452725404, 0.03607794123452725404, 0.00244216970783581525, 0.07441796869877018161, 0.00244216970783581525, 0.07441796869877018161, 0.02361583233015298114, 0.02361583233015298114, 0.00244216970783581525, 0.07441796869877018161, 0.00244216970783581525, 0.07441796869877018161, 0.02361583233015298114, 0.02361583233015298114, 0.00244216970783581525, 0.07441796869877018161, 0.00244216970783581525, 0.07441796869877018161, 0.02361583233015298114, 0.02361583233015298114, 0.89952402926324104282, 0.89952402926324104282, 0.89952402926324104282, 0.89952402926324104282, 0.89952402926324104282, 0.89952402926324104282, 0.19391041573889089555, 0.29383523596867844319, 0.19391041573889089555, 0.29383523596867844319, 0.50787457592864027056, 0.50787457592864027056, 0.19391041573889089555, 0.29383523596867844319, 0.19391041573889089555, 0.29383523596867844319, 0.50787457592864027056, 0.50787457592864027056, 0.19391041573889089555, 0.29383523596867844319, 0.19391041573889089555, 0.29383523596867844319, 0.50787457592864027056, 0.50787457592864027056, 0.00437977236379033172, 0.00437977236379033172, 0.00437977236379033172, 0.00437977236379033172, 0.00437977236379033172, 0.00437977236379033172, 0.68675254461751533697, 0.28990049199313028261, 0.68675254461751533697, 0.28990049199313028261, 0.00238861494051180760, 0.00238861494051180760, 0.68675254461751533697, 0.28990049199313028261, 0.68675254461751533697, 0.28990049199313028261, 0.00238861494051180760, 0.00238861494051180760, 0.68675254461751533697, 0.28990049199313028261, 0.68675254461751533697, 0.28990049199313028261, 0.00238861494051180760, 0.00238861494051180760, 0.02095834844884251688, 0.02095834844884251688, 0.02095834844884251688, 0.02095834844884251688, 0.02095834844884251688, 0.02095834844884251688, 0.62840833676742602343, 0.00692039552760895325, 0.62840833676742602343, 0.00692039552760895325, 0.27800902334886384848, 0.27800902334886384848, 0.62840833676742602343, 0.00692039552760895325, 0.62840833676742602343, 0.00692039552760895325, 0.27800902334886384848, 0.27800902334886384848, 0.62840833676742602343, 0.00692039552760895325, 0.62840833676742602343, 0.00692039552760895325, 0.27800902334886384848, 0.27800902334886384848, 0.08666224435610116184, 0.08666224435610116184, 0.08666224435610116184, 0.08666224435610116184, 0.08666224435610116184, 0.08666224435610116184, 0.30531774702092789875, 0.10531910689721521446, 0.30531774702092789875, 0.10531910689721521446, 0.54311305749058158554, 0.54311305749058158554, 0.30531774702092789875, 0.10531910689721521446, 0.30531774702092789875, 0.10531910689721521446, 0.54311305749058158554, 0.54311305749058158554, 0.30531774702092789875, 0.10531910689721521446, 0.30531774702092789875, 0.10531910689721521446, 0.54311305749058158554, 0.54311305749058158554, 0.04625008859127536370, 0.04625008859127536370, 0.04625008859127536370, 0.04625008859127536370, 0.04625008859127536370, 0.04625008859127536370, 0.25219556589427610804, 0.33876157002929618844, 0.25219556589427610804, 0.33876157002929618844, 0.00879232521925877274, 0.00879232521925877274, 0.25219556589427610804, 0.33876157002929618844, 0.25219556589427610804, 0.33876157002929618844, 0.00879232521925877274, 0.00879232521925877274, 0.25219556589427610804, 0.33876157002929618844, 0.25219556589427610804, 0.33876157002929618844, 0.00879232521925877274, 0.00879232521925877274, 0.40025053885716893598, 0.40025053885716893598, 0.40025053885716893598, 0.40025053885716893598, 0.40025053885716893598, 0.40025053885716893598 }; static double d_save[] = { 0.10967212091976055732, 0.29677595969341313831, 0.29677595969341313831, 0.29677595969341313831, 0.63728560836634440268, 0.12090479721121853707, 0.12090479721121853707, 0.12090479721121853707, 0.04661227843568670204, 0.31779590718810440952, 0.31779590718810440952, 0.31779590718810440952, 0.39620328627556306023, 0.20126557124147897992, 0.20126557124147897992, 0.20126557124147897992, 0.49634830921813460902, 0.16788389692728847291, 0.16788389692728847291, 0.16788389692728847291, 0.89135518117093159862, 0.03621493960968947406, 0.03621493960968947406, 0.03621493960968947406, 0.44739755038251621810, 0.44739755038251621810, 0.05260244961748377496, 0.44739755038251621810, 0.05260244961748377496, 0.05260244961748377496, 0.19542144366869579342, 0.19542144366869579342, 0.30457855633130420658, 0.19542144366869579342, 0.30457855633130420658, 0.30457855633130420658, 0.11728211563442945964, 0.11728211563442945964, 0.11728211563442945964, 0.81815327336878018727, 0.03228230549839515573, 0.03228230549839515573, 0.81815327336878018727, 0.03228230549839515573, 0.03228230549839515573, 0.81815327336878018727, 0.03228230549839515573, 0.03228230549839515573, 0.81655057787613949394, 0.81655057787613949394, 0.81655057787613949394, 0.16719639318282120133, 0.00812651447051963849, 0.00812651447051963849, 0.16719639318282120133, 0.00812651447051963849, 0.00812651447051963849, 0.16719639318282120133, 0.00812651447051963849, 0.00812651447051963849, 0.56359797663450628136, 0.56359797663450628136, 0.56359797663450628136, 0.06611011876662430120, 0.18514595229943470178, 0.18514595229943470178, 0.06611011876662430120, 0.18514595229943470178, 0.18514595229943470178, 0.06611011876662430120, 0.18514595229943470178, 0.18514595229943470178, 0.04966173907117157893, 0.04966173907117157893, 0.04966173907117157893, 0.12818318452527444062, 0.41107753820177700410, 0.41107753820177700410, 0.12818318452527444062, 0.41107753820177700410, 0.41107753820177700410, 0.12818318452527444062, 0.41107753820177700410, 0.41107753820177700410, 0.42324378035557558286, 0.42324378035557558286, 0.42324378035557558286, 0.55663662483071552067, 0.01005979740685445691, 0.01005979740685445691, 0.55663662483071552067, 0.01005979740685445691, 0.01005979740685445691, 0.55663662483071552067, 0.01005979740685445691, 0.01005979740685445691, 0.01114518878267793146, 0.01114518878267793146, 0.01114518878267793146, 0.82425158114285035360, 0.08230161503723587568, 0.08230161503723587568, 0.82425158114285035360, 0.08230161503723587568, 0.08230161503723587568, 0.82425158114285035360, 0.08230161503723587568, 0.08230161503723587568, 0.31668207135555476173, 0.31668207135555476173, 0.31668207135555476173, 0.60729227143911590492, 0.03801282860266466668, 0.03801282860266466668, 0.60729227143911590492, 0.03801282860266466668, 0.03801282860266466668, 0.60729227143911590492, 0.03801282860266466668, 0.03801282860266466668, 0.64128454146268865088, 0.64128454146268865088, 0.64128454146268865088, 0.19275912042141615799, 0.08297816905794758169, 0.08297816905794758169, 0.19275912042141615799, 0.08297816905794758169, 0.08297816905794758169, 0.19275912042141615799, 0.08297816905794758169, 0.08297816905794758169, 0.70625341770771032923, 0.70625341770771032923, 0.70625341770771032923, 0.22908997931138216919, 0.03232830149045374385, 0.03232830149045374385, 0.22908997931138216919, 0.03232830149045374385, 0.03232830149045374385, 0.22908997931138216919, 0.03232830149045374385, 0.03232830149045374385, 0.71463315278586214685, 0.71463315278586214685, 0.71463315278586214685, 0.00406245917858537135, 0.14065219401777623309, 0.14065219401777623309, 0.00406245917858537135, 0.14065219401777623309, 0.14065219401777623309, 0.00406245917858537135, 0.14065219401777623309, 0.14065219401777623309, 0.25519045490803976550, 0.25519045490803976550, 0.25519045490803976550, 0.51686565726937727661, 0.11397194391129145119, 0.11397194391129145119, 0.51686565726937727661, 0.11397194391129145119, 0.11397194391129145119, 0.51686565726937727661, 0.11397194391129145119, 0.11397194391129145119, 0.95991429407753836589, 0.95991429407753836589, 0.95991429407753836589, 0.02517856316811187614, 0.00745357137717489546, 0.00745357137717489546, 0.02517856316811187614, 0.00745357137717489546, 0.00745357137717489546, 0.02517856316811187614, 0.00745357137717489546, 0.00745357137717489546, 0.38725867906033101251, 0.38725867906033101251, 0.38725867906033101251, 0.39070706747913119816, 0.11101712673026890854, 0.11101712673026890854, 0.39070706747913119816, 0.11101712673026890854, 0.11101712673026890854, 0.39070706747913119816, 0.11101712673026890854, 0.11101712673026890854, 0.00976849266758000878, 0.00976849266758000878, 0.00976849266758000878, 0.00976849266758000878, 0.00976849266758000878, 0.00976849266758000878, 0.53337671427373922750, 0.53337671427373922750, 0.05313810503913767025, 0.40371668801954307959, 0.05313810503913767025, 0.40371668801954307959, 0.53337671427373922750, 0.53337671427373922750, 0.05313810503913767025, 0.40371668801954307959, 0.05313810503913767025, 0.40371668801954307959, 0.53337671427373922750, 0.53337671427373922750, 0.05313810503913767025, 0.40371668801954307959, 0.05313810503913767025, 0.40371668801954307959, 0.76094809236243665662, 0.76094809236243665662, 0.76094809236243665662, 0.76094809236243665662, 0.76094809236243665662, 0.76094809236243665662, 0.09450517146275738689, 0.09450517146275738689, 0.09439207428728113580, 0.05015466188752487620, 0.09439207428728113580, 0.05015466188752487620, 0.09450517146275738689, 0.09450517146275738689, 0.09439207428728113580, 0.05015466188752487620, 0.09439207428728113580, 0.05015466188752487620, 0.09450517146275738689, 0.09450517146275738689, 0.09439207428728113580, 0.05015466188752487620, 0.09439207428728113580, 0.05015466188752487620, 0.00566074794761922250, 0.00566074794761922250, 0.00566074794761922250, 0.00566074794761922250, 0.00566074794761922250, 0.00566074794761922250, 0.76539556922700235919, 0.76539556922700235919, 0.05505445164272957520, 0.17388923118264887346, 0.05505445164272957520, 0.17388923118264887346, 0.76539556922700235919, 0.76539556922700235919, 0.05505445164272957520, 0.17388923118264887346, 0.05505445164272957520, 0.17388923118264887346, 0.76539556922700235919, 0.76539556922700235919, 0.05505445164272957520, 0.17388923118264887346, 0.05505445164272957520, 0.17388923118264887346, 0.03466187077541209305, 0.03466187077541209305, 0.03466187077541209305, 0.03466187077541209305, 0.03466187077541209305, 0.03466187077541209305, 0.09751720382220438466, 0.09751720382220438466, 0.17986373012343051525, 0.68795719527895304868, 0.17986373012343051525, 0.68795719527895304868, 0.09751720382220438466, 0.09751720382220438466, 0.17986373012343051525, 0.68795719527895304868, 0.17986373012343051525, 0.68795719527895304868, 0.09751720382220438466, 0.09751720382220438466, 0.17986373012343051525, 0.68795719527895304868, 0.17986373012343051525, 0.68795719527895304868, 0.04613078410418590403, 0.04613078410418590403, 0.04613078410418590403, 0.04613078410418590403, 0.04613078410418590403, 0.04613078410418590403, 0.40950365861709436821, 0.40950365861709436821, 0.21219205477521471681, 0.33217350250350502483, 0.21219205477521471681, 0.33217350250350502483, 0.40950365861709436821, 0.40950365861709436821, 0.21219205477521471681, 0.33217350250350502483, 0.21219205477521471681, 0.33217350250350502483, 0.40950365861709436821, 0.40950365861709436821, 0.21219205477521471681, 0.33217350250350502483, 0.21219205477521471681, 0.33217350250350502483, 0.00995603037378283567, 0.00995603037378283567, 0.00995603037378283567, 0.00995603037378283567, 0.00995603037378283567, 0.00995603037378283567, 0.47655572075000696142, 0.47655572075000696142, 0.12901615123519602490, 0.38447209764101419882, 0.12901615123519602490, 0.38447209764101419882, 0.47655572075000696142, 0.47655572075000696142, 0.12901615123519602490, 0.38447209764101419882, 0.12901615123519602490, 0.38447209764101419882, 0.47655572075000696142, 0.47655572075000696142, 0.12901615123519602490, 0.38447209764101419882, 0.12901615123519602490, 0.38447209764101419882, 0.22648131940555421560, 0.22648131940555421560, 0.22648131940555421560, 0.22648131940555421560, 0.22648131940555421560, 0.22648131940555421560, 0.01376084748677020193, 0.01376084748677020193, 0.16148732230661144715, 0.59827051080106408154, 0.16148732230661144715, 0.59827051080106408154, 0.01376084748677020193, 0.01376084748677020193, 0.16148732230661144715, 0.59827051080106408154, 0.16148732230661144715, 0.59827051080106408154, 0.01376084748677020193, 0.01376084748677020193, 0.16148732230661144715, 0.59827051080106408154, 0.16148732230661144715, 0.59827051080106408154, 0.19442024171940289201, 0.19442024171940289201, 0.19442024171940289201, 0.19442024171940289201, 0.19442024171940289201, 0.19442024171940289201, 0.41435007414024704886, 0.41435007414024704886, 0.10592830789398596791, 0.28530137624636409122, 0.10592830789398596791, 0.28530137624636409122, 0.41435007414024704886, 0.41435007414024704886, 0.10592830789398596791, 0.28530137624636409122, 0.10592830789398596791, 0.28530137624636409122, 0.41435007414024704886, 0.41435007414024704886, 0.10592830789398596791, 0.28530137624636409122, 0.10592830789398596791, 0.28530137624636409122, 0.03607794123452725404, 0.03607794123452725404, 0.03607794123452725404, 0.03607794123452725404, 0.03607794123452725404, 0.03607794123452725404, 0.28640831552549533834, 0.28640831552549533834, 0.20462293284568089380, 0.47289081039429653464, 0.20462293284568089380, 0.47289081039429653464, 0.28640831552549533834, 0.28640831552549533834, 0.20462293284568089380, 0.47289081039429653464, 0.20462293284568089380, 0.47289081039429653464, 0.28640831552549533834, 0.28640831552549533834, 0.20462293284568089380, 0.47289081039429653464, 0.20462293284568089380, 0.47289081039429653464, 0.89952402926324104282, 0.89952402926324104282, 0.89952402926324104282, 0.89952402926324104282, 0.89952402926324104282, 0.89952402926324104282, 0.02361583233015298114, 0.02361583233015298114, 0.07441796869877018161, 0.00244216970783581525, 0.07441796869877018161, 0.00244216970783581525, 0.02361583233015298114, 0.02361583233015298114, 0.07441796869877018161, 0.00244216970783581525, 0.07441796869877018161, 0.00244216970783581525, 0.02361583233015298114, 0.02361583233015298114, 0.07441796869877018161, 0.00244216970783581525, 0.07441796869877018161, 0.00244216970783581525, 0.00437977236379033172, 0.00437977236379033172, 0.00437977236379033172, 0.00437977236379033172, 0.00437977236379033172, 0.00437977236379033172, 0.50787457592864027056, 0.50787457592864027056, 0.29383523596867844319, 0.19391041573889089555, 0.29383523596867844319, 0.19391041573889089555, 0.50787457592864027056, 0.50787457592864027056, 0.29383523596867844319, 0.19391041573889089555, 0.29383523596867844319, 0.19391041573889089555, 0.50787457592864027056, 0.50787457592864027056, 0.29383523596867844319, 0.19391041573889089555, 0.29383523596867844319, 0.19391041573889089555, 0.02095834844884251688, 0.02095834844884251688, 0.02095834844884251688, 0.02095834844884251688, 0.02095834844884251688, 0.02095834844884251688, 0.00238861494051180760, 0.00238861494051180760, 0.28990049199313028261, 0.68675254461751533697, 0.28990049199313028261, 0.68675254461751533697, 0.00238861494051180760, 0.00238861494051180760, 0.28990049199313028261, 0.68675254461751533697, 0.28990049199313028261, 0.68675254461751533697, 0.00238861494051180760, 0.00238861494051180760, 0.28990049199313028261, 0.68675254461751533697, 0.28990049199313028261, 0.68675254461751533697, 0.08666224435610116184, 0.08666224435610116184, 0.08666224435610116184, 0.08666224435610116184, 0.08666224435610116184, 0.08666224435610116184, 0.27800902334886384848, 0.27800902334886384848, 0.00692039552760895325, 0.62840833676742602343, 0.00692039552760895325, 0.62840833676742602343, 0.27800902334886384848, 0.27800902334886384848, 0.00692039552760895325, 0.62840833676742602343, 0.00692039552760895325, 0.62840833676742602343, 0.27800902334886384848, 0.27800902334886384848, 0.00692039552760895325, 0.62840833676742602343, 0.00692039552760895325, 0.62840833676742602343, 0.04625008859127536370, 0.04625008859127536370, 0.04625008859127536370, 0.04625008859127536370, 0.04625008859127536370, 0.04625008859127536370, 0.54311305749058158554, 0.54311305749058158554, 0.10531910689721521446, 0.30531774702092789875, 0.10531910689721521446, 0.30531774702092789875, 0.54311305749058158554, 0.54311305749058158554, 0.10531910689721521446, 0.30531774702092789875, 0.10531910689721521446, 0.30531774702092789875, 0.54311305749058158554, 0.54311305749058158554, 0.10531910689721521446, 0.30531774702092789875, 0.10531910689721521446, 0.30531774702092789875, 0.40025053885716893598, 0.40025053885716893598, 0.40025053885716893598, 0.40025053885716893598, 0.40025053885716893598, 0.40025053885716893598, 0.00879232521925877274, 0.00879232521925877274, 0.33876157002929618844, 0.25219556589427610804, 0.33876157002929618844, 0.25219556589427610804, 0.00879232521925877274, 0.00879232521925877274, 0.33876157002929618844, 0.25219556589427610804, 0.33876157002929618844, 0.25219556589427610804, 0.00879232521925877274, 0.00879232521925877274, 0.33876157002929618844, 0.25219556589427610804, 0.33876157002929618844, 0.25219556589427610804 }; double w_save[] = { 0.00541845479008464838, 0.00541845479008464838, 0.00541845479008464838, 0.00541845479008464838, 0.00382089798824862721, 0.00382089798824862721, 0.00382089798824862721, 0.00382089798824862721, 0.00405745815233404805, 0.00405745815233404805, 0.00405745815233404805, 0.00405745815233404805, 0.00414767029775032527, 0.00414767029775032527, 0.00414767029775032527, 0.00414767029775032527, 0.00528956660993436072, 0.00528956660993436072, 0.00528956660993436072, 0.00528956660993436072, 0.00097204181986235323, 0.00097204181986235323, 0.00097204181986235323, 0.00097204181986235323, 0.00298817613678045192, 0.00298817613678045192, 0.00298817613678045192, 0.00298817613678045192, 0.00298817613678045192, 0.00298817613678045192, 0.00706174692352836125, 0.00706174692352836125, 0.00706174692352836125, 0.00706174692352836125, 0.00706174692352836125, 0.00706174692352836125, 0.00113801416486596888, 0.00113801416486596888, 0.00113801416486596888, 0.00113801416486596888, 0.00113801416486596888, 0.00113801416486596888, 0.00113801416486596888, 0.00113801416486596888, 0.00113801416486596888, 0.00113801416486596888, 0.00113801416486596888, 0.00113801416486596888, 0.00032843280894395851, 0.00032843280894395851, 0.00032843280894395851, 0.00032843280894395851, 0.00032843280894395851, 0.00032843280894395851, 0.00032843280894395851, 0.00032843280894395851, 0.00032843280894395851, 0.00032843280894395851, 0.00032843280894395851, 0.00032843280894395851, 0.00451730507453316533, 0.00451730507453316533, 0.00451730507453316533, 0.00451730507453316533, 0.00451730507453316533, 0.00451730507453316533, 0.00451730507453316533, 0.00451730507453316533, 0.00451730507453316533, 0.00451730507453316533, 0.00451730507453316533, 0.00451730507453316533, 0.00274395709813969341, 0.00274395709813969341, 0.00274395709813969341, 0.00274395709813969341, 0.00274395709813969341, 0.00274395709813969341, 0.00274395709813969341, 0.00274395709813969341, 0.00274395709813969341, 0.00274395709813969341, 0.00274395709813969341, 0.00274395709813969341, 0.00053451040298663536, 0.00053451040298663536, 0.00053451040298663536, 0.00053451040298663536, 0.00053451040298663536, 0.00053451040298663536, 0.00053451040298663536, 0.00053451040298663536, 0.00053451040298663536, 0.00053451040298663536, 0.00053451040298663536, 0.00053451040298663536, 0.00085276027733658343, 0.00085276027733658343, 0.00085276027733658343, 0.00085276027733658343, 0.00085276027733658343, 0.00085276027733658343, 0.00085276027733658343, 0.00085276027733658343, 0.00085276027733658343, 0.00085276027733658343, 0.00085276027733658343, 0.00085276027733658343, 0.00160867332095061106, 0.00160867332095061106, 0.00160867332095061106, 0.00160867332095061106, 0.00160867332095061106, 0.00160867332095061106, 0.00160867332095061106, 0.00160867332095061106, 0.00160867332095061106, 0.00160867332095061106, 0.00160867332095061106, 0.00160867332095061106, 0.00216402178962303397, 0.00216402178962303397, 0.00216402178962303397, 0.00216402178962303397, 0.00216402178962303397, 0.00216402178962303397, 0.00216402178962303397, 0.00216402178962303397, 0.00216402178962303397, 0.00216402178962303397, 0.00216402178962303397, 0.00216402178962303397, 0.00129896455199082100, 0.00129896455199082100, 0.00129896455199082100, 0.00129896455199082100, 0.00129896455199082100, 0.00129896455199082100, 0.00129896455199082100, 0.00129896455199082100, 0.00129896455199082100, 0.00129896455199082100, 0.00129896455199082100, 0.00129896455199082100, 0.00075402210849808478, 0.00075402210849808478, 0.00075402210849808478, 0.00075402210849808478, 0.00075402210849808478, 0.00075402210849808478, 0.00075402210849808478, 0.00075402210849808478, 0.00075402210849808478, 0.00075402210849808478, 0.00075402210849808478, 0.00075402210849808478, 0.00393639217719707595, 0.00393639217719707595, 0.00393639217719707595, 0.00393639217719707595, 0.00393639217719707595, 0.00393639217719707595, 0.00393639217719707595, 0.00393639217719707595, 0.00393639217719707595, 0.00393639217719707595, 0.00393639217719707595, 0.00393639217719707595, 0.00008260437254311268, 0.00008260437254311268, 0.00008260437254311268, 0.00008260437254311268, 0.00008260437254311268, 0.00008260437254311268, 0.00008260437254311268, 0.00008260437254311268, 0.00008260437254311268, 0.00008260437254311268, 0.00008260437254311268, 0.00008260437254311268, 0.00220259358126582115, 0.00220259358126582115, 0.00220259358126582115, 0.00220259358126582115, 0.00220259358126582115, 0.00220259358126582115, 0.00220259358126582115, 0.00220259358126582115, 0.00220259358126582115, 0.00220259358126582115, 0.00220259358126582115, 0.00220259358126582115, 0.00114291228831241631, 0.00114291228831241631, 0.00114291228831241631, 0.00114291228831241631, 0.00114291228831241631, 0.00114291228831241631, 0.00114291228831241631, 0.00114291228831241631, 0.00114291228831241631, 0.00114291228831241631, 0.00114291228831241631, 0.00114291228831241631, 0.00114291228831241631, 0.00114291228831241631, 0.00114291228831241631, 0.00114291228831241631, 0.00114291228831241631, 0.00114291228831241631, 0.00114291228831241631, 0.00114291228831241631, 0.00114291228831241631, 0.00114291228831241631, 0.00114291228831241631, 0.00114291228831241631, 0.00080373411798849849, 0.00080373411798849849, 0.00080373411798849849, 0.00080373411798849849, 0.00080373411798849849, 0.00080373411798849849, 0.00080373411798849849, 0.00080373411798849849, 0.00080373411798849849, 0.00080373411798849849, 0.00080373411798849849, 0.00080373411798849849, 0.00080373411798849849, 0.00080373411798849849, 0.00080373411798849849, 0.00080373411798849849, 0.00080373411798849849, 0.00080373411798849849, 0.00080373411798849849, 0.00080373411798849849, 0.00080373411798849849, 0.00080373411798849849, 0.00080373411798849849, 0.00080373411798849849, 0.00064410550856333930, 0.00064410550856333930, 0.00064410550856333930, 0.00064410550856333930, 0.00064410550856333930, 0.00064410550856333930, 0.00064410550856333930, 0.00064410550856333930, 0.00064410550856333930, 0.00064410550856333930, 0.00064410550856333930, 0.00064410550856333930, 0.00064410550856333930, 0.00064410550856333930, 0.00064410550856333930, 0.00064410550856333930, 0.00064410550856333930, 0.00064410550856333930, 0.00064410550856333930, 0.00064410550856333930, 0.00064410550856333930, 0.00064410550856333930, 0.00064410550856333930, 0.00064410550856333930, 0.00228480306156802820, 0.00228480306156802820, 0.00228480306156802820, 0.00228480306156802820, 0.00228480306156802820, 0.00228480306156802820, 0.00228480306156802820, 0.00228480306156802820, 0.00228480306156802820, 0.00228480306156802820, 0.00228480306156802820, 0.00228480306156802820, 0.00228480306156802820, 0.00228480306156802820, 0.00228480306156802820, 0.00228480306156802820, 0.00228480306156802820, 0.00228480306156802820, 0.00228480306156802820, 0.00228480306156802820, 0.00228480306156802820, 0.00228480306156802820, 0.00228480306156802820, 0.00228480306156802820, 0.00176821517340358778, 0.00176821517340358778, 0.00176821517340358778, 0.00176821517340358778, 0.00176821517340358778, 0.00176821517340358778, 0.00176821517340358778, 0.00176821517340358778, 0.00176821517340358778, 0.00176821517340358778, 0.00176821517340358778, 0.00176821517340358778, 0.00176821517340358778, 0.00176821517340358778, 0.00176821517340358778, 0.00176821517340358778, 0.00176821517340358778, 0.00176821517340358778, 0.00176821517340358778, 0.00176821517340358778, 0.00176821517340358778, 0.00176821517340358778, 0.00176821517340358778, 0.00176821517340358778, 0.00136409311660403462, 0.00136409311660403462, 0.00136409311660403462, 0.00136409311660403462, 0.00136409311660403462, 0.00136409311660403462, 0.00136409311660403462, 0.00136409311660403462, 0.00136409311660403462, 0.00136409311660403462, 0.00136409311660403462, 0.00136409311660403462, 0.00136409311660403462, 0.00136409311660403462, 0.00136409311660403462, 0.00136409311660403462, 0.00136409311660403462, 0.00136409311660403462, 0.00136409311660403462, 0.00136409311660403462, 0.00136409311660403462, 0.00136409311660403462, 0.00136409311660403462, 0.00136409311660403462, 0.00140951302024202316, 0.00140951302024202316, 0.00140951302024202316, 0.00140951302024202316, 0.00140951302024202316, 0.00140951302024202316, 0.00140951302024202316, 0.00140951302024202316, 0.00140951302024202316, 0.00140951302024202316, 0.00140951302024202316, 0.00140951302024202316, 0.00140951302024202316, 0.00140951302024202316, 0.00140951302024202316, 0.00140951302024202316, 0.00140951302024202316, 0.00140951302024202316, 0.00140951302024202316, 0.00140951302024202316, 0.00140951302024202316, 0.00140951302024202316, 0.00140951302024202316, 0.00140951302024202316, 0.00535219617282092601, 0.00535219617282092601, 0.00535219617282092601, 0.00535219617282092601, 0.00535219617282092601, 0.00535219617282092601, 0.00535219617282092601, 0.00535219617282092601, 0.00535219617282092601, 0.00535219617282092601, 0.00535219617282092601, 0.00535219617282092601, 0.00535219617282092601, 0.00535219617282092601, 0.00535219617282092601, 0.00535219617282092601, 0.00535219617282092601, 0.00535219617282092601, 0.00535219617282092601, 0.00535219617282092601, 0.00535219617282092601, 0.00535219617282092601, 0.00535219617282092601, 0.00535219617282092601, 0.00235725175379895586, 0.00235725175379895586, 0.00235725175379895586, 0.00235725175379895586, 0.00235725175379895586, 0.00235725175379895586, 0.00235725175379895586, 0.00235725175379895586, 0.00235725175379895586, 0.00235725175379895586, 0.00235725175379895586, 0.00235725175379895586, 0.00235725175379895586, 0.00235725175379895586, 0.00235725175379895586, 0.00235725175379895586, 0.00235725175379895586, 0.00235725175379895586, 0.00235725175379895586, 0.00235725175379895586, 0.00235725175379895586, 0.00235725175379895586, 0.00235725175379895586, 0.00235725175379895586, 0.00023355002815190852, 0.00023355002815190852, 0.00023355002815190852, 0.00023355002815190852, 0.00023355002815190852, 0.00023355002815190852, 0.00023355002815190852, 0.00023355002815190852, 0.00023355002815190852, 0.00023355002815190852, 0.00023355002815190852, 0.00023355002815190852, 0.00023355002815190852, 0.00023355002815190852, 0.00023355002815190852, 0.00023355002815190852, 0.00023355002815190852, 0.00023355002815190852, 0.00023355002815190852, 0.00023355002815190852, 0.00023355002815190852, 0.00023355002815190852, 0.00023355002815190852, 0.00023355002815190852, 0.00082991911104483883, 0.00082991911104483883, 0.00082991911104483883, 0.00082991911104483883, 0.00082991911104483883, 0.00082991911104483883, 0.00082991911104483883, 0.00082991911104483883, 0.00082991911104483883, 0.00082991911104483883, 0.00082991911104483883, 0.00082991911104483883, 0.00082991911104483883, 0.00082991911104483883, 0.00082991911104483883, 0.00082991911104483883, 0.00082991911104483883, 0.00082991911104483883, 0.00082991911104483883, 0.00082991911104483883, 0.00082991911104483883, 0.00082991911104483883, 0.00082991911104483883, 0.00082991911104483883, 0.00034803272756201591, 0.00034803272756201591, 0.00034803272756201591, 0.00034803272756201591, 0.00034803272756201591, 0.00034803272756201591, 0.00034803272756201591, 0.00034803272756201591, 0.00034803272756201591, 0.00034803272756201591, 0.00034803272756201591, 0.00034803272756201591, 0.00034803272756201591, 0.00034803272756201591, 0.00034803272756201591, 0.00034803272756201591, 0.00034803272756201591, 0.00034803272756201591, 0.00034803272756201591, 0.00034803272756201591, 0.00034803272756201591, 0.00034803272756201591, 0.00034803272756201591, 0.00034803272756201591, 0.00108130649745930918, 0.00108130649745930918, 0.00108130649745930918, 0.00108130649745930918, 0.00108130649745930918, 0.00108130649745930918, 0.00108130649745930918, 0.00108130649745930918, 0.00108130649745930918, 0.00108130649745930918, 0.00108130649745930918, 0.00108130649745930918, 0.00108130649745930918, 0.00108130649745930918, 0.00108130649745930918, 0.00108130649745930918, 0.00108130649745930918, 0.00108130649745930918, 0.00108130649745930918, 0.00108130649745930918, 0.00108130649745930918, 0.00108130649745930918, 0.00108130649745930918, 0.00108130649745930918, 0.00336359299264356619, 0.00336359299264356619, 0.00336359299264356619, 0.00336359299264356619, 0.00336359299264356619, 0.00336359299264356619, 0.00336359299264356619, 0.00336359299264356619, 0.00336359299264356619, 0.00336359299264356619, 0.00336359299264356619, 0.00336359299264356619, 0.00336359299264356619, 0.00336359299264356619, 0.00336359299264356619, 0.00336359299264356619, 0.00336359299264356619, 0.00336359299264356619, 0.00336359299264356619, 0.00336359299264356619, 0.00336359299264356619, 0.00336359299264356619, 0.00336359299264356619, 0.00336359299264356619, 0.00113881952395300545, 0.00113881952395300545, 0.00113881952395300545, 0.00113881952395300545, 0.00113881952395300545, 0.00113881952395300545, 0.00113881952395300545, 0.00113881952395300545, 0.00113881952395300545, 0.00113881952395300545, 0.00113881952395300545, 0.00113881952395300545, 0.00113881952395300545, 0.00113881952395300545, 0.00113881952395300545, 0.00113881952395300545, 0.00113881952395300545, 0.00113881952395300545, 0.00113881952395300545, 0.00113881952395300545, 0.00113881952395300545, 0.00113881952395300545, 0.00113881952395300545, 0.00113881952395300545 }; r8vec_copy ( n, a_save, a ); r8vec_copy ( n, b_save, b ); r8vec_copy ( n, c_save, c ); r8vec_copy ( n, d_save, d ); r8vec_copy ( n, w_save, w ); return; } /******************************************************************************/ void tetrahedron_jaskowiec_rule ( int p, int n, double a[], double b[], double c[], double d[], double w[] ) /******************************************************************************/ /* Purpose: tetrahedron_jaskowiec_rule() returns a tetrahedron quadrature rule of given precision. Licensing: This code is distributed under the MIT license. Modified: 07 May 2023 Author: John Burkardt Reference: Jan Jaskowiec, Natarajan Sukumar, High order symmetric cubature rules for tetrahedra and pyramids, International Journal of Numerical Methods in Engineering, Volume 122, Number 1, pages 148-171, 24 August 2020. Input: integer p: the precision, 0 <= p <= 20. integer n: the order of the rule. Output: real a(n), b(n), c(n), d(n): the barycentric coordinates of quadrature points. real w(n): the weights of quadrature points. */ { if ( p < 0 ) { printf ( "\n" ); printf ( "tetrahedron_jaskowiec_rule(): Fatal error!\n" ); printf ( " Input p < 0.\n" ); exit ( 1 ); } if ( 20 < p ) { printf ( "\n" ); printf ( "tetrahedron_jaskowiec_rule(): Fatal error!\n" ); printf ( " Input 20 < p.\n" ); exit ( 1 ); } if ( p == 0 ) { rule00 ( n, a, b, c, d, w ); } else if ( p == 1 ) { rule01 ( n, a, b, c, d, w ); } else if ( p == 2 ) { rule02 ( n, a, b, c, d, w ); } else if ( p == 3 ) { rule03 ( n, a, b, c, d, w ); } else if ( p == 4 ) { rule04 ( n, a, b, c, d, w ); } else if ( p == 5 ) { rule05 ( n, a, b, c, d, w ); } else if ( p == 6 ) { rule06 ( n, a, b, c, d, w ); } else if ( p == 7 ) { rule07 ( n, a, b, c, d, w ); } else if ( p == 8 ) { rule08 ( n, a, b, c, d, w ); } else if ( p == 9 ) { rule09 ( n, a, b, c, d, w ); } else if ( p == 10 ) { rule10 ( n, a, b, c, d, w ); } else if ( p == 11 ) { rule11 ( n, a, b, c, d, w ); } else if ( p == 12 ) { rule12 ( n, a, b, c, d, w ); } else if ( p == 13 ) { rule13 ( n, a, b, c, d, w ); } else if ( p == 14 ) { rule14 ( n, a, b, c, d, w ); } else if ( p == 15 ) { rule15 ( n, a, b, c, d, w ); } else if ( p == 16 ) { rule16 ( n, a, b, c, d, w ); } else if ( p == 17 ) { rule17 ( n, a, b, c, d, w ); } else if ( p == 18 ) { rule18 ( n, a, b, c, d, w ); } else if ( p == 19 ) { rule19 ( n, a, b, c, d, w ); } else if ( p == 20 ) { rule20 ( n, a, b, c, d, w ); } return; } /******************************************************************************/ double tetrahedron_unit_monomial_integral ( int expon[] ) /******************************************************************************/ /* Purpose: tetrahedron_unit_monomial_integral() integrates a monomial over the unit tetrahedron. Discussion: This routine evaluates a monomial of the form product ( 1 <= dim <= dim_num ) x(dim)^expon(dim) where the exponents are nonnegative integers. Note that if the combination 0^0 is encountered, it should be treated as 1. Integral ( over unit tetrahedron ) x^l y^m z^n dx dy = l! * m! * n! / ( l + m + n + 3 )! Licensing: This code is distributed under the MIT license. Modified: 04 July 2007 Author: John Burkardt Input: int EXPON[3], the exponents. Output: double tetrahedron_unit_monomial_integralL, the value of the integral. */ { int i; int k; double value; /* The first computation ends with VALUE = 1.0; */ value = 1.0; k = 0; for ( i = 1; i <= expon[0]; i++ ) { k = k + 1; /* value = value * ( double ) ( i ) / ( double ) ( k );*/ } for ( i = 1; i <= expon[1]; i++ ) { k = k + 1; value = value * ( double ) ( i ) / ( double ) ( k ); } for ( i = 1; i <= expon[2]; i++ ) { k = k + 1; value = value * ( double ) ( i ) / ( double ) ( k ); } k = k + 1; value = value / ( double ) ( k ); k = k + 1; value = value / ( double ) ( k ); k = k + 1; value = value / ( double ) ( k ); return value; } /******************************************************************************/ double tetrahedron_unit_volume ( ) /******************************************************************************/ /* Purpose: tetrahedron_unit_volume() computes the volume of a unit tetrahedron. Licensing: This code is distributed under the MIT license. Modified: 23 May 2023 Author: John Burkardt Output: double tetrahedron_unit_volume: the volume. */ { double volume; volume = 1.0 / 6.0; return volume; } /******************************************************************************/ double tetrahedron_volume ( double tetra[4*3] ) /******************************************************************************/ /* Purpose: tetrahedron_volume() computes the volume of a tetrahedron. Licensing: This code is distributed under the MIT license. Modified: 13 April 2023 Author: John Burkardt Input: double tetra[4*3]: the vertex coordinates. Output: double tetrahedron_volume: the volume. */ { double a[4*4]; int i; int j; double volume; /* Stored by rows. (Warning: I used to store 2D arrays by columns instead.) */ for ( i = 0; i < 4; i++ ) { for ( j = 0; j < 3; j++ ) { a[i*4+j] = tetra[i*3+j]; } a[i*4+3] = 1.0; } volume = fabs ( r8mat_det_4d ( a ) ) / 6.0; return volume; }