function [ a, b, c, d, w ] = rule10 ( )

%*****************************************************************************80
%
%% rule10() returns the rule of precision 10.
%
%  Discussion:
%
%    The data is given for the reference tetrahedron
%    with vertices (0,0,0), (1,0,0), (0,1,0), (0,0,1).
%
%    We suppose we are given a tetrahedron T with vertices A, B, C, D.
%    We call a rule with n points, returning barycentric coordinates
%    a, b, c, d, and weights w.  Then the integral I of f(x,y,z) over T is 
%    approximated by Q as follows:
%
%    (x,y,z) = a(1:n) * A + b(1:n) * B + c(1:n) * C + d(1:n * D
%    Q = area(T) * sum ( 1 <= i <= n ) w(i) * f(x(i),y(i),z(i)) 
%
%  Licensing:
%
%    This code is distributed under the MIT license.
%
%  Modified:
%
%    24 April 2023
%
%  Author:
%
%    John Burkardt
%
%  Reference:
%
%    Freddie Witherden, Peter Vincent,
%    On the identification of symmetric quadrature rules for finite element methods,
%    Computers and Mathematics with Applications,
%    Volume 69, pages 1232-1241, 2015.
%
%  Output:
%
%    a(n), b(n), c(n), d(n): the barycentric coordinates of quadrature points.
%
%    w(n): the quadrature weights, which sum to 1.
%
  a = [ ...
      0.25000000000000000000, ...
      0.31225006869518867614, ...
      0.31225006869518867614, ...
      0.06324979391443408261, ...
      0.31225006869518867614, ...
      0.11430965385734614959, ...
      0.11430965385734614959, ...
      0.65707103842796155124, ...
      0.11430965385734614959, ...
      0.16548602561961106572, ...
      0.16548602561961106572, ...
      0.41043073921896550127, ...
      0.01365249594245798725, ...
      0.41043073921896550127, ...
      0.41043073921896550127, ...
      0.01365249594245798725, ...
      0.41043073921896550127, ...
      0.41043073921896550127, ...
      0.41043073921896550127, ...
      0.01365249594245798725, ...
      0.16548602561961106572, ...
      0.94298876734520487020, ...
      0.94298876734520487020, ...
      0.00613800882479076382, ...
      0.04473521500521365768, ...
      0.00613800882479076382, ...
      0.00613800882479076382, ...
      0.04473521500521365768, ...
      0.00613800882479076382, ...
      0.00613800882479076382, ...
      0.00613800882479076382, ...
      0.04473521500521365768, ...
      0.94298876734520487020, ...
      0.47719037990428037066, ...
      0.47719037990428037066, ...
      0.12105018114558940834, ...
      0.28070925780454081266, ...
      0.12105018114558940834, ...
      0.12105018114558940834, ...
      0.28070925780454081266, ...
      0.12105018114558940834, ...
      0.12105018114558940834, ...
      0.12105018114558940834, ...
      0.28070925780454081266, ...
      0.47719037990428037066, ...
      0.59425626948000698224, ...
      0.59425626948000698224, ...
      0.03277946821644267539, ...
      0.34018479408710766698, ...
      0.03277946821644267539, ...
      0.03277946821644267539, ...
      0.34018479408710766698, ...
      0.03277946821644267539, ...
      0.03277946821644267539, ...
      0.03277946821644267539, ...
      0.34018479408710766698, ...
      0.59425626948000698224, ...
      0.80117728465834436857, ...
      0.80117728465834436857, ...
      0.03248528156482305418, ...
      0.13385215221200952307, ...
      0.03248528156482305418, ...
      0.03248528156482305418, ...
      0.13385215221200952307, ...
      0.03248528156482305418, ...
      0.03248528156482305418, ...
      0.03248528156482305418, ...
      0.13385215221200952307, ...
      0.80117728465834436857, ...
      0.62807184547536598629, ...
      0.62807184547536598629, ...
      0.17497934218393901284, ...
      0.02196947015675593251, ...
      0.17497934218393901284, ...
      0.17497934218393901284, ...
      0.02196947015675593251, ...
      0.17497934218393901284, ...
      0.17497934218393901284, ...
      0.17497934218393901284, ...
      0.02196947015675593251, ...
      0.62807184547536598629 ];

  b = [ ...
      0.25000000000000000000, ...
      0.31225006869518867614, ...
      0.06324979391443408261, ...
      0.31225006869518867614, ...
      0.31225006869518867614, ...
      0.11430965385734614959, ...
      0.65707103842796155124, ...
      0.11430965385734614959, ...
      0.11430965385734614959, ...
      0.41043073921896550127, ...
      0.41043073921896550127, ...
      0.41043073921896550127, ...
      0.16548602561961106572, ...
      0.01365249594245798725, ...
      0.16548602561961106572, ...
      0.41043073921896550127, ...
      0.01365249594245798725, ...
      0.41043073921896550127, ...
      0.16548602561961106572, ...
      0.41043073921896550127, ...
      0.01365249594245798725, ...
      0.00613800882479076382, ...
      0.00613800882479076382, ...
      0.00613800882479076382, ...
      0.94298876734520487020, ...
      0.04473521500521365768, ...
      0.94298876734520487020, ...
      0.00613800882479076382, ...
      0.04473521500521365768, ...
      0.00613800882479076382, ...
      0.94298876734520487020, ...
      0.00613800882479076382, ...
      0.04473521500521365768, ...
      0.12105018114558940834, ...
      0.12105018114558940834, ...
      0.12105018114558940834, ...
      0.47719037990428037066, ...
      0.28070925780454081266, ...
      0.47719037990428037066, ...
      0.12105018114558940834, ...
      0.28070925780454081266, ...
      0.12105018114558940834, ...
      0.47719037990428037066, ...
      0.12105018114558940834, ...
      0.28070925780454081266, ...
      0.03277946821644267539, ...
      0.03277946821644267539, ...
      0.03277946821644267539, ...
      0.59425626948000698224, ...
      0.34018479408710766698, ...
      0.59425626948000698224, ...
      0.03277946821644267539, ...
      0.34018479408710766698, ...
      0.03277946821644267539, ...
      0.59425626948000698224, ...
      0.03277946821644267539, ...
      0.34018479408710766698, ...
      0.03248528156482305418, ...
      0.03248528156482305418, ...
      0.03248528156482305418, ...
      0.80117728465834436857, ...
      0.13385215221200952307, ...
      0.80117728465834436857, ...
      0.03248528156482305418, ...
      0.13385215221200952307, ...
      0.03248528156482305418, ...
      0.80117728465834436857, ...
      0.03248528156482305418, ...
      0.13385215221200952307, ...
      0.17497934218393901284, ...
      0.17497934218393901284, ...
      0.17497934218393901284, ...
      0.62807184547536598629, ...
      0.02196947015675593251, ...
      0.62807184547536598629, ...
      0.17497934218393901284, ...
      0.02196947015675593251, ...
      0.17497934218393901284, ...
      0.62807184547536598629, ...
      0.17497934218393901284, ...
      0.02196947015675593251 ];

  c = [ ...
      0.25000000000000000000, ...
      0.06324979391443408261, ...
      0.31225006869518867614, ...
      0.31225006869518867614, ...
      0.31225006869518867614, ...
      0.65707103842796155124, ...
      0.11430965385734614959, ...
      0.11430965385734614959, ...
      0.11430965385734614959, ...
      0.01365249594245798725, ...
      0.41043073921896550127, ...
      0.16548602561961106572, ...
      0.41043073921896550127, ...
      0.16548602561961106572, ...
      0.41043073921896550127, ...
      0.16548602561961106572, ...
      0.41043073921896550127, ...
      0.01365249594245798725, ...
      0.01365249594245798725, ...
      0.41043073921896550127, ...
      0.41043073921896550127, ...
      0.04473521500521365768, ...
      0.00613800882479076382, ...
      0.94298876734520487020, ...
      0.00613800882479076382, ...
      0.94298876734520487020, ...
      0.00613800882479076382, ...
      0.94298876734520487020, ...
      0.00613800882479076382, ...
      0.04473521500521365768, ...
      0.04473521500521365768, ...
      0.00613800882479076382, ...
      0.00613800882479076382, ...
      0.28070925780454081266, ...
      0.12105018114558940834, ...
      0.47719037990428037066, ...
      0.12105018114558940834, ...
      0.47719037990428037066, ...
      0.12105018114558940834, ...
      0.47719037990428037066, ...
      0.12105018114558940834, ...
      0.28070925780454081266, ...
      0.28070925780454081266, ...
      0.12105018114558940834, ...
      0.12105018114558940834, ...
      0.34018479408710766698, ...
      0.03277946821644267539, ...
      0.59425626948000698224, ...
      0.03277946821644267539, ...
      0.59425626948000698224, ...
      0.03277946821644267539, ...
      0.59425626948000698224, ...
      0.03277946821644267539, ...
      0.34018479408710766698, ...
      0.34018479408710766698, ...
      0.03277946821644267539, ...
      0.03277946821644267539, ...
      0.13385215221200952307, ...
      0.03248528156482305418, ...
      0.80117728465834436857, ...
      0.03248528156482305418, ...
      0.80117728465834436857, ...
      0.03248528156482305418, ...
      0.80117728465834436857, ...
      0.03248528156482305418, ...
      0.13385215221200952307, ...
      0.13385215221200952307, ...
      0.03248528156482305418, ...
      0.03248528156482305418, ...
      0.02196947015675593251, ...
      0.17497934218393901284, ...
      0.62807184547536598629, ...
      0.17497934218393901284, ...
      0.62807184547536598629, ...
      0.17497934218393901284, ...
      0.62807184547536598629, ...
      0.17497934218393901284, ...
      0.02196947015675593251, ...
      0.02196947015675593251, ...
      0.17497934218393901284, ...
      0.17497934218393901284 ];

  d = [ ...
      0.25000000000000000000, ...
      0.31225006869518856512, ...
      0.31225006869518856512, ...
      0.31225006869518856512, ...
      0.06324979391443397159, ...
      0.11430965385734614959, ...
      0.11430965385734614959, ...
      0.11430965385734614959, ...
      0.65707103842796155124, ...
      0.41043073921896539025, ...
      0.01365249594245787623, ...
      0.01365249594245798725, ...
      0.41043073921896539025, ...
      0.41043073921896550127, ...
      0.01365249594245798725, ...
      0.41043073921896550127, ...
      0.16548602561961106572, ...
      0.16548602561961106572, ...
      0.41043073921896550127, ...
      0.16548602561961106572, ...
      0.41043073921896539025, ...
      0.00613800882479070831, ...
      0.04473521500521360217, ...
      0.04473521500521360217, ...
      0.00613800882479076382, ...
      0.00613800882479065280, ...
      0.04473521500521360217, ...
      0.00613800882479076382, ...
      0.94298876734520475917, ...
      0.94298876734520487020, ...
      0.00613800882479070831, ...
      0.94298876734520487020, ...
      0.00613800882479070831, ...
      0.12105018114558940834, ...
      0.28070925780454081266, ...
      0.28070925780454081266, ...
      0.12105018114558940834, ...
      0.12105018114558940834, ...
      0.28070925780454081266, ...
      0.12105018114558940834, ...
      0.47719037990428037066, ...
      0.47719037990428037066, ...
      0.12105018114558940834, ...
      0.47719037990428037066, ...
      0.12105018114558940834, ...
      0.03277946821644267539, ...
      0.34018479408710766698, ...
      0.34018479408710777800, ...
      0.03277946821644267539, ...
      0.03277946821644273090, ...
      0.34018479408710772249, ...
      0.03277946821644273090, ...
      0.59425626948000709326, ...
      0.59425626948000709326, ...
      0.03277946821644273090, ...
      0.59425626948000709326, ...
      0.03277946821644267539, ...
      0.03248528156482305418, ...
      0.13385215221200952307, ...
      0.13385215221200941205, ...
      0.03248528156482305418, ...
      0.03248528156482299867, ...
      0.13385215221200946756, ...
      0.03248528156482299867, ...
      0.80117728465834425755, ...
      0.80117728465834425755, ...
      0.03248528156482299867, ...
      0.80117728465834425755, ...
      0.03248528156482305418, ...
      0.17497934218393906836, ...
      0.02196947015675598802, ...
      0.02196947015675609904, ...
      0.17497934218393912387, ...
      0.17497934218393917938, ...
      0.02196947015675604353, ...
      0.17497934218393917938, ...
      0.62807184547536620833, ...
      0.62807184547536620833, ...
      0.17497934218393912387, ...
      0.62807184547536620833, ...
      0.17497934218393906836 ];

  w = [ ...
      0.04739977355602073561, ...
      0.02693705999226870401, ...
      0.02693705999226870401, ...
      0.02693705999226870401, ...
      0.02693705999226870401, ...
      0.00986915971679338221, ...
      0.00986915971679338221, ...
      0.00986915971679338221, ...
      0.00986915971679338221, ...
      0.01139388122019523164, ...
      0.01139388122019523164, ...
      0.01139388122019523164, ...
      0.01139388122019523164, ...
      0.01139388122019523164, ...
      0.01139388122019523164, ...
      0.01139388122019523164, ...
      0.01139388122019523164, ...
      0.01139388122019523164, ...
      0.01139388122019523164, ...
      0.01139388122019523164, ...
      0.01139388122019523164, ...
      0.00036194434433925362, ...
      0.00036194434433925362, ...
      0.00036194434433925362, ...
      0.00036194434433925362, ...
      0.00036194434433925362, ...
      0.00036194434433925362, ...
      0.00036194434433925362, ...
      0.00036194434433925362, ...
      0.00036194434433925362, ...
      0.00036194434433925362, ...
      0.00036194434433925362, ...
      0.00036194434433925362, ...
      0.02573973198045606883, ...
      0.02573973198045606883, ...
      0.02573973198045606883, ...
      0.02573973198045606883, ...
      0.02573973198045606883, ...
      0.02573973198045606883, ...
      0.02573973198045606883, ...
      0.02573973198045606883, ...
      0.02573973198045606883, ...
      0.02573973198045606883, ...
      0.02573973198045606883, ...
      0.02573973198045606883, ...
      0.01013587167975579274, ...
      0.01013587167975579274, ...
      0.01013587167975579274, ...
      0.01013587167975579274, ...
      0.01013587167975579274, ...
      0.01013587167975579274, ...
      0.01013587167975579274, ...
      0.01013587167975579274, ...
      0.01013587167975579274, ...
      0.01013587167975579274, ...
      0.01013587167975579274, ...
      0.01013587167975579274, ...
      0.00657614727703590383, ...
      0.00657614727703590383, ...
      0.00657614727703590383, ...
      0.00657614727703590383, ...
      0.00657614727703590383, ...
      0.00657614727703590383, ...
      0.00657614727703590383, ...
      0.00657614727703590383, ...
      0.00657614727703590383, ...
      0.00657614727703590383, ...
      0.00657614727703590383, ...
      0.00657614727703590383, ...
      0.01290703579886198944, ...
      0.01290703579886198944, ...
      0.01290703579886198944, ...
      0.01290703579886198944, ...
      0.01290703579886198944, ...
      0.01290703579886198944, ...
      0.01290703579886198944, ...
      0.01290703579886198944, ...
      0.01290703579886198944, ...
      0.01290703579886198944, ...
      0.01290703579886198944, ...
      0.01290703579886198944 ];

  return
end
