function [ x, y, z, w ] = rule19 ( )

%*****************************************************************************80
%
%% rule19() returns the rule of precision 19.
%
%  Discussion:
%
%    The data is given for the following triangle:
%
%     (0,1) 
%       |   \ 
%       |    \ 
%       |     \ 
%       |      \ 
%     (0,0)----(1,0)
%
%  Licensing:
%
%    This code is distributed under the MIT license.
%
%  Modified:
%
%    23 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:
%
%    real x(n), y(n), z(n): the barycentric coordinates of quadrature points.
%
%    real w(n): the quadrature weights.
%
  x = [ ...
      0.3333333333333334, ...
      0.0525238903512090, ...
      0.8949522192975821, ...
      0.0525238903512090, ...
      0.4925126750413369, ...
      0.0149746499173263, ...
      0.4925126750413369, ...
      0.1114488733230214, ...
      0.7771022533539573, ...
      0.1114488733230214, ...
      0.4591942010395437, ...
      0.0816115979209127, ...
      0.4591942010395437, ...
      0.4039697225519012, ...
      0.1920605548961976, ...
      0.4039697225519012, ...
      0.1781701047817643, ...
      0.6436597904364714, ...
      0.1781701047817643, ...
      0.0116394611837894, ...
      0.9767210776324211, ...
      0.0116394611837894, ...
      0.2551616329136077, ...
      0.4896767341727846, ...
      0.2551616329136077, ...
      0.1306976762680324, ...
      0.8301564644002754, ...
      0.0391458593316922, ...
      0.8301564644002754, ...
      0.0391458593316922, ...
      0.1306976762680324, ...
      0.3113176298095413, ...
      0.5593698057203009, ...
      0.1293125644701578, ...
      0.5593698057203009, ...
      0.1293125644701578, ...
      0.3113176298095413, ...
      0.0020689258966048, ...
      0.6333132931287841, ...
      0.3646177809746111, ...
      0.6333132931287841, ...
      0.3646177809746111, ...
      0.0020689258966048, ...
      0.0745602946016267, ...
      0.7040048199660421, ...
      0.2214348854323312, ...
      0.7040048199660421, ...
      0.2214348854323312, ...
      0.0745602946016267, ...
      0.0050072882573545, ...
      0.8525669543768892, ...
      0.1424257573657563, ...
      0.8525669543768892, ...
      0.1424257573657563, ...
      0.0050072882573545, ...
      0.0408880111960169, ...
      0.6050839790687079, ...
      0.3540280097352752, ...
      0.6050839790687079, ...
      0.3540280097352752, ...
      0.0408880111960169, ...
      0.2418945789605796, ...
      0.7431813689574364, ...
      0.0149240520819841, ...
      0.7431813689574364, ...
      0.0149240520819841, ...
      0.2418945789605796, ...
      0.0600862753223067, ...
      0.9301376988768051, ...
      0.0097760258008882, ...
      0.9301376988768051, ...
      0.0097760258008882, ...
      0.0600862753223067 ];

  y = [ ...
      0.3333333333333334, ...
      0.8949522192975821, ...
      0.0525238903512090, ...
      0.0525238903512090, ...
      0.0149746499173263, ...
      0.4925126750413369, ...
      0.4925126750413369, ...
      0.7771022533539573, ...
      0.1114488733230214, ...
      0.1114488733230214, ...
      0.0816115979209127, ...
      0.4591942010395437, ...
      0.4591942010395437, ...
      0.1920605548961976, ...
      0.4039697225519012, ...
      0.4039697225519012, ...
      0.6436597904364714, ...
      0.1781701047817643, ...
      0.1781701047817643, ...
      0.9767210776324211, ...
      0.0116394611837894, ...
      0.0116394611837894, ...
      0.4896767341727846, ...
      0.2551616329136077, ...
      0.2551616329136077, ...
      0.8301564644002754, ...
      0.1306976762680324, ...
      0.8301564644002754, ...
      0.0391458593316922, ...
      0.1306976762680324, ...
      0.0391458593316922, ...
      0.5593698057203009, ...
      0.3113176298095413, ...
      0.5593698057203009, ...
      0.1293125644701578, ...
      0.3113176298095413, ...
      0.1293125644701578, ...
      0.6333132931287841, ...
      0.0020689258966048, ...
      0.6333132931287841, ...
      0.3646177809746111, ...
      0.0020689258966048, ...
      0.3646177809746111, ...
      0.7040048199660421, ...
      0.0745602946016267, ...
      0.7040048199660421, ...
      0.2214348854323312, ...
      0.0745602946016267, ...
      0.2214348854323312, ...
      0.8525669543768892, ...
      0.0050072882573545, ...
      0.8525669543768892, ...
      0.1424257573657563, ...
      0.0050072882573545, ...
      0.1424257573657563, ...
      0.6050839790687079, ...
      0.0408880111960169, ...
      0.6050839790687079, ...
      0.3540280097352752, ...
      0.0408880111960169, ...
      0.3540280097352752, ...
      0.7431813689574364, ...
      0.2418945789605796, ...
      0.7431813689574364, ...
      0.0149240520819841, ...
      0.2418945789605796, ...
      0.0149240520819841, ...
      0.9301376988768051, ...
      0.0600862753223067, ...
      0.9301376988768051, ...
      0.0097760258008882, ...
      0.0600862753223067, ...
      0.0097760258008882 ];

  z = [ ...
      0.3333333333333333, ...
      0.0525238903512090, ...
      0.0525238903512090, ...
      0.8949522192975821, ...
      0.4925126750413368, ...
      0.4925126750413369, ...
      0.0149746499173262, ...
      0.1114488733230212, ...
      0.1114488733230213, ...
      0.7771022533539571, ...
      0.4591942010395437, ...
      0.4591942010395437, ...
      0.0816115979209127, ...
      0.4039697225519012, ...
      0.4039697225519012, ...
      0.1920605548961976, ...
      0.1781701047817643, ...
      0.1781701047817643, ...
      0.6436597904364714, ...
      0.0116394611837894, ...
      0.0116394611837894, ...
      0.9767210776324211, ...
      0.2551616329136077, ...
      0.2551616329136077, ...
      0.4896767341727846, ...
      0.0391458593316922, ...
      0.0391458593316922, ...
      0.1306976762680324, ...
      0.1306976762680324, ...
      0.8301564644002754, ...
      0.8301564644002754, ...
      0.1293125644701578, ...
      0.1293125644701578, ...
      0.3113176298095413, ...
      0.3113176298095413, ...
      0.5593698057203009, ...
      0.5593698057203009, ...
      0.3646177809746111, ...
      0.3646177809746111, ...
      0.0020689258966048, ...
      0.0020689258966048, ...
      0.6333132931287841, ...
      0.6333132931287841, ...
      0.2214348854323313, ...
      0.2214348854323312, ...
      0.0745602946016267, ...
      0.0745602946016267, ...
      0.7040048199660423, ...
      0.7040048199660423, ...
      0.1424257573657564, ...
      0.1424257573657563, ...
      0.0050072882573544, ...
      0.0050072882573545, ...
      0.8525669543768892, ...
      0.8525669543768892, ...
      0.3540280097352753, ...
      0.3540280097352752, ...
      0.0408880111960169, ...
      0.0408880111960169, ...
      0.6050839790687079, ...
      0.6050839790687080, ...
      0.0149240520819841, ...
      0.0149240520819841, ...
      0.2418945789605796, ...
      0.2418945789605796, ...
      0.7431813689574365, ...
      0.7431813689574365, ...
      0.0097760258008882, ...
      0.0097760258008882, ...
      0.0600862753223068, ...
      0.0600862753223068, ...
      0.9301376988768052, ...
      0.9301376988768051 ];

  w = [ ...
      0.0172346988520062, ...
      0.0035546282988991, ...
      0.0035546282988991, ...
      0.0035546282988991, ...
      0.0051608775714721, ...
      0.0051608775714721, ...
      0.0051608775714721, ...
      0.0076171755465091, ...
      0.0076171755465091, ...
      0.0076171755465091, ...
      0.0114917950133708, ...
      0.0114917950133708, ...
      0.0114917950133708, ...
      0.0157687674465775, ...
      0.0157687674465775, ...
      0.0157687674465775, ...
      0.0123259574240954, ...
      0.0123259574240954, ...
      0.0123259574240954, ...
      0.0008826613882214, ...
      0.0008826613882214, ...
      0.0008826613882214, ...
      0.0158765096830015, ...
      0.0158765096830015, ...
      0.0158765096830015, ...
      0.0048477422434275, ...
      0.0048477422434275, ...
      0.0048477422434275, ...
      0.0048477422434275, ...
      0.0048477422434275, ...
      0.0048477422434275, ...
      0.0131731609886954, ...
      0.0131731609886954, ...
      0.0131731609886954, ...
      0.0131731609886954, ...
      0.0131731609886954, ...
      0.0131731609886954, ...
      0.0016410382759179, ...
      0.0016410382759179, ...
      0.0016410382759179, ...
      0.0016410382759179, ...
      0.0016410382759179, ...
      0.0016410382759179, ...
      0.0090539724656062, ...
      0.0090539724656062, ...
      0.0090539724656062, ...
      0.0090539724656062, ...
      0.0090539724656062, ...
      0.0090539724656062, ...
      0.0014631575517351, ...
      0.0014631575517351, ...
      0.0014631575517351, ...
      0.0014631575517351, ...
      0.0014631575517351, ...
      0.0014631575517351, ...
      0.0080510813820121, ...
      0.0080510813820121, ...
      0.0080510813820121, ...
      0.0080510813820121, ...
      0.0080510813820121, ...
      0.0080510813820121, ...
      0.0042279437497682, ...
      0.0042279437497682, ...
      0.0042279437497682, ...
      0.0042279437497682, ...
      0.0042279437497682, ...
      0.0042279437497682, ...
      0.0016636006814297, ...
      0.0016636006814297, ...
      0.0016636006814297, ...
      0.0016636006814297, ...
      0.0016636006814297, ...
      0.0016636006814297 ];
%
%  The weights should sum to 1, not 1/2!
%
  w = w * 2.0;

  return
end
