Skip to content

Instantly share code, notes, and snippets.

@bradhowes
Last active November 18, 2021 15:55
Show Gist options
  • Save bradhowes/553bdb6938ee933554a2ffc20737d4e5 to your computer and use it in GitHub Desktop.
Save bradhowes/553bdb6938ee933554a2ffc20737d4e5 to your computer and use it in GitHub Desktop.
Swift Expression Parsing
// Demo using https://github.com/nicklockwood/Expression to parse
// https://www.wolframalpha.com/input/?i=Sawsbuck+Winter+Form%E2%80%90like+curve
import Foundation
import Expression
let Xt = "((-2/9 * sin(11/7 - 4 * t) + 78/11 * sin(t + 11/7) + 2/7 * sin(2 * t + 8/5) + 5/16 * sin(3 * t + 11/7) + 641/20) * θ(107 * π - t) * θ(t - 103 * π) + (-1/40 * sin(10/7 - 48 * t) - 1/20 * sin(32/21 - 47 * t) - 1/75 * sin(9/7 - 44 * t) - 1/10 * sin(35/23 - 41 * t) - 1/8 * sin(23/15 - 33 * t) - 1/13 * sin(38/25 - 30 * t) - 2/11 * sin(23/15 - 27 * t) - 1/7 * sin(14/9 - 23 * t) - 3/14 * sin(20/13 - 22 * t) - 1/5 * sin(17/11 - 19 * t) - 1/9 * sin(38/25 - 18 * t) - 1/13 * sin(14/9 - 13 * t) - 9/8 * sin(17/11 - 12 * t) - 3/10 * sin(11/7 - 11 * t) - 5/7 * sin(14/9 - 9 * t) - 6/7 * sin(17/11 - 6 * t) - 5/7 * sin(11/7 - 5 * t) - 131/15 * sin(11/7 - 3 * t) + 166/11 * sin(t + 11/7) + 82/13 * sin(2 * t + 11/7) + 5/4 * sin(4 * t + 11/7) + 7/15 * sin(7 * t + 33/7) + 23/22 * sin(8 * t + 11/7) + 7/5 * sin(10 * t + 19/12) + 1/2 * sin(14 * t + 8/5) + 1/11 * sin(15 * t + 47/10) + 3/8 * sin(16 * t + 8/5) + 1/9 * sin(17 * t + 33/7) + 2/9 * sin(20 * t + 8/5) + 1/34 * sin(21 * t + 28/17) + 2/7 * sin(24 * t + 8/5) + 1/9 * sin(25 * t + 13/8) + 1/19 * sin(28 * t + 8/5) + 1/30 * sin(29 * t + 75/16) + 1/9 * sin(31 * t + 18/11) + 1/7 * sin(32 * t + 21/13) + 1/17 * sin(37 * t + 47/10) + 1/16 * sin(38 * t + 13/8) + 1/13 * sin(39 * t + 23/14) + 1/20 * sin(42 * t + 13/8) + 1/86 * sin(43 * t + 23/5) + 1/26 * sin(46 * t + 21/13) + 451/15) * θ(103 * π - t) * θ(t - 99 * π) + (-1/49 * sin(14/9 - 6 * t) - 7/13 * sin(11/7 - 5 * t) - 3/11 * sin(11/7 - 4 * t) - 3/5 * sin(11/7 - 3 * t) - 1/2 * sin(11/7 - 2 * t) + 91/11 * sin(t + 11/7) - 8/5) * θ(99 * π - t) * θ(t - 95 * π) + (-1/31 * sin(31/21 - 26 * t) - 1/30 * sin(22/15 - 23 * t) - 1/17 * sin(32/21 - 20 * t) - 1/57 * sin(32/21 - 19 * t) - 1/22 * sin(26/17 - 17 * t) - 1/19 * sin(32/21 - 16 * t) - 1/10 * sin(20/13 - 11 * t) - 1/5 * sin(14/9 - 8 * t) - 2/11 * sin(17/11 - 7 * t) - 7/9 * sin(11/7 - 4 * t) - 27/5 * sin(11/7 - 2 * t) - 50/9 * sin(11/7 - t) + 22/21 * sin(3 * t + 11/7) + 1/9 * sin(5 * t + 11/7) + 3/4 * sin(6 * t + 8/5) + 10/21 * sin(9 * t + 19/12) + 1/6 * sin(10 * t + 8/5) + 1/20 * sin(12 * t + 13/8) + 1/23 * sin(13 * t + 8/5) + 1/20 * sin(15 * t + 13/8) + 1/21 * sin(18 * t + 13/8) + 1/21 * sin(21 * t + 13/8) + 1/95 * sin(22 * t + 61/13) + 1/24 * sin(24 * t + 28/17) + 1/26 * sin(25 * t + 13/8) + 1/72 * sin(27 * t + 18/11) + 1/51 * sin(28 * t + 18/11) + 1/78 * sin(30 * t + 5/3) - 309/8) * θ(95 * π - t) * θ(t - 91 * π) + (-1/52 * sin(11/8 - 30 * t) - 1/17 * sin(3/2 - 27 * t) - 1/11 * sin(16/11 - 24 * t) - 1/29 * sin(10/7 - 23 * t) - 1/64 * sin(6/5 - 20 * t) - 1/13 * sin(37/25 - 15 * t) - 1/13 * sin(7/5 - 12 * t) - 1/7 * sin(23/15 - 11 * t) - 2/3 * sin(17/11 - 8 * t) - 11/16 * sin(38/25 - 4 * t) - 5/9 * sin(14/9 - 3 * t) + 35/11 * sin(t + 11/7) + 73/8 * sin(2 * t + 11/7) + 2/11 * sin(5 * t + 17/11) + 67/33 * sin(6 * t + 19/12) + 3/11 * sin(7 * t + 11/7) + 1/5 * sin(9 * t + 13/8) + 9/11 * sin(10 * t + 8/5) + 6/17 * sin(13 * t + 19/12) + 2/11 * sin(14 * t + 11/7) + 1/6 * sin(16 * t + 19/12) + 1/14 * sin(17 * t + 13/8) + 1/55 * sin(18 * t + 5/3) + 1/14 * sin(19 * t + 8/5) + 1/6 * sin(22 * t + 13/8) + 1/12 * sin(25 * t + 13/8) + 1/16 * sin(26 * t + 18/11) + 1/26 * sin(28 * t + 18/11) + 1/18 * sin(29 * t + 5/3) + 1/22 * sin(32 * t + 8/5) - 159/4) * θ(91 * π - t) * θ(t - 87 * π) + (-1/82 * sin(16/13 - 36 * t) - 1/37 * sin(13/9 - 33 * t) - 1/13 * sin(14/9 - 26 * t) - 1/10 * sin(14/9 - 25 * t) - 1/10 * sin(20/13 - 21 * t) - 1/8 * sin(14/9 - 16 * t) - 5/11 * sin(11/7 - 15 * t) - 1/11 * sin(25/17 - 14 * t) - 5/16 * sin(11/7 - 13 * t) - 7/11 * sin(14/9 - 8 * t) - 25/26 * sin(11/7 - 5 * t) - 9/17 * sin(11/7 - 3 * t) - 17/8 * sin(11/7 - t) + 36/5 * sin(2 * t + 11/7) + 78/11 * sin(4 * t + 11/7) + 25/8 * sin(6 * t + 11/7) + 3/8 * sin(7 * t + 33/7) + 2/5 * sin(9 * t + 11/7) + 3/11 * sin(10 * t + 8/5) + 1/25 * sin(11 * t + 13/9) + 94/93 * sin(12 * t + 8/5) + 1/25 * sin(17 * t + 14/3) + 1/8 * sin(18 * t + 11/7) + 1/3 * sin(19 * t + 8/5) + 1/3 * sin(20 * t + 11/7) + 2/11 * sin(22 * t + 19/12) + 1/8 * sin(23 * t + 33/7) + 1/14 * sin(24 * t + 33/7) + 1/10 * sin(28 * t + 11/7) + 1/6 * sin(30 * t + 8/5) + 1/31 * sin(31 * t + 11/7) + 1/19 * sin(32 * t + 11/7) + 1/41 * sin(34 * t + 11/7) + 1/72 * sin(35 * t + 113/56) + 1/19 * sin(37 * t + 23/5) + 1/60 * sin(38 * t + 19/13) - 523/10) * θ(87 * π - t) * θ(t - 83 * π) + (-1/28 * sin(23/15 - 36 * t) - 1/28 * sin(3/2 - 32 * t) - 1/16 * sin(17/11 - 28 * t) - 1/23 * sin(20/13 - 24 * t) - 1/11 * sin(14/9 - 20 * t) - 1/43 * sin(3/2 - 11 * t) - 1/3 * sin(14/9 - 10 * t) - 11/9 * sin(11/7 - 6 * t) - 75/8 * sin(11/7 - 2 * t) + 2/7 * sin(t + 8/5) + 2/11 * sin(3 * t + 37/8) + 1/6 * sin(4 * t + 68/15) + 1/9 * sin(5 * t + 12/7) + 1/31 * sin(7 * t + 41/9) + 1/15 * sin(8 * t + 23/5) + 1/13 * sin(9 * t + 19/12) + 1/9 * sin(12 * t + 14/3) + 1/31 * sin(13 * t + 18/11) + 1/7 * sin(14 * t + 47/10) + 1/88 * sin(15 * t + 65/14) + 1/15 * sin(16 * t + 14/3) + 1/40 * sin(17 * t + 32/19) + 1/23 * sin(18 * t + 14/3) + 1/64 * sin(21 * t + 8/5) + 1/55 * sin(22 * t + 23/5) - 677/16) * θ(83 * π - t) * θ(t - 79 * π) + (-3/7 * sin(14/9 - 5 * t) - 31/32 * sin(11/7 - 3 * t) - 13/27 * sin(11/7 - 2 * t) + 42/5 * sin(t + 11/7) + 1/9 * sin(4 * t + 33/7) + 1/10 * sin(6 * t + 11/7) - 1479/14) * θ(79 * π - t) * θ(t - 75 * π) + (-1/29 * sin(19/13 - 33 * t) - 1/10 * sin(11/8 - 32 * t) - 1/11 * sin(13/9 - 31 * t) - 1/92 * sin(29/19 - 28 * t) - 1/10 * sin(10/7 - 26 * t) - 2/9 * sin(25/17 - 25 * t) - 1/49 * sin(10/7 - 22 * t) - 1/12 * sin(31/21 - 21 * t) - 3/10 * sin(34/23 - 19 * t) - 1/3 * sin(28/19 - 18 * t) - 1/6 * sin(17/11 - 15 * t) - 5/6 * sin(32/21 - 12 * t) - 3/7 * sin(3/2 - 11 * t) - 1/8 * sin(10/7 - 10 * t) - 5/7 * sin(14/9 - 9 * t) - 13/12 * sin(23/15 - 4 * t) - 109/12 * sin(14/9 - 3 * t) + 44/3 * sin(t + 11/7) + 41/7 * sin(2 * t + 11/7) + 10/13 * sin(5 * t + 21/13) + 5/11 * sin(6 * t + 8/5) + 2/7 * sin(7 * t + 23/14) + 13/8 * sin(8 * t + 8/5) + 1/7 * sin(13 * t + 5/3) + 4/7 * sin(14 * t + 13/8) + 1/3 * sin(16 * t + 23/14) + 3/10 * sin(17 * t + 23/14) + 1/19 * sin(20 * t + 17/11) + 3/13 * sin(23 * t + 17/10) + 1/5 * sin(24 * t + 5/3) + 1/12 * sin(27 * t + 27/16) + 1/8 * sin(30 * t + 22/13) + 1/12 * sin(34 * t + 19/11) + 1/20 * sin(35 * t + 11/6) - 758/7) * θ(75 * π - t) * θ(t - 71 * π) + (-1/62 * sin(17/12 - 29 * t) - 1/25 * sin(14/9 - 24 * t) - 1/14 * sin(17/11 - 20 * t) - 1/8 * sin(14/9 - 16 * t) - 1/13 * sin(13/9 - 15 * t) - 3/7 * sin(20/13 - 7 * t) - 8/11 * sin(11/7 - 6 * t) - 27/5 * sin(11/7 - 2 * t) + 103/8 * sin(t + 11/7) + 43/11 * sin(3 * t + 19/12) + 31/11 * sin(4 * t + 8/5) + 15/7 * sin(5 * t + 8/5) + 1/5 * sin(8 * t + 47/10) + 5/9 * sin(9 * t + 8/5) + 1/9 * sin(10 * t + 32/19) + 1/6 * sin(11 * t + 19/12) + 1/22 * sin(12 * t + 16/9) + 3/11 * sin(13 * t + 8/5) + 1/37 * sin(14 * t + 32/7) + 1/6 * sin(17 * t + 23/14) + 1/8 * sin(18 * t + 17/10) + 1/10 * sin(19 * t + 5/3) + 1/43 * sin(21 * t + 13/8) + 1/60 * sin(22 * t + 27/14) + 1/22 * sin(23 * t + 21/13) + 1/29 * sin(25 * t + 8/5) + 1/23 * sin(26 * t + 16/9) + 1/14 * sin(27 * t + 5/3) + 1/42 * sin(28 * t + 47/10) + 1/98 * sin(30 * t + 50/11) - 47) * θ(71 * π - t) * θ(t - 67 * π) + (-76/75 * sin(14/9 - 16 * t) - 8/9 * sin(14/9 - 13 * t) - 2/7 * sin(17/11 - 12 * t) - 22/13 * sin(14/9 - 10 * t) - 1/38 * sin(3/2 - 9 * t) - 119/8 * sin(11/7 - 3 * t) - 70/9 * sin(11/7 - t) + 41/5 * sin(2 * t + 11/7) + 13/12 * sin(4 * t + 14/9) + 7/6 * sin(5 * t + 8/5) + 13/6 * sin(6 * t + 11/7) + 201/50 * sin(7 * t + 11/7) + 19/7 * sin(8 * t + 19/12) + 2/13 * sin(11 * t + 75/16) + 5/14 * sin(14 * t + 13/8) + 3/13 * sin(15 * t + 8/5) + 3/8 * sin(17 * t + 14/3) + 1/91 * sin(18 * t + 19/6) + 1/46 * sin(19 * t + 17/11) + 8/13 * sin(20 * t + 13/8) + 3/5 * sin(21 * t + 13/8) + 8/17 * sin(22 * t + 13/8) + 12/23 * sin(23 * t + 18/11) + 1/5 * sin(24 * t + 19/11) + 1/3 * sin(25 * t + 18/11) + 5/11 * sin(26 * t + 18/11) + 4/9 * sin(27 * t + 18/11) + 4/11 * sin(28 * t + 23/14) + 4/15 * sin(29 * t + 5/3) + 1/10 * sin(30 * t + 23/13) + 1/10 * sin(31 * t + 19/11) + 1/46 * sin(32 * t + 61/15) + 1/8 * sin(33 * t + 5/3) + 2/11 * sin(34 * t + 13/8) - 683/8) * θ(67 * π - t) * θ(t - 63 * π) + (56/9 * sin(t + 11/7) + 2/9 * sin(2 * t + 11/7) + 5/7 * sin(3 * t + 11/7) - 75/4) * θ(63 * π - t) * θ(t - 59 * π) + (-1/16 * sin(3/2 - 39 * t) - 1/10 * sin(25/24 - 38 * t) - 1/10 * sin(7/5 - 37 * t) - 1/10 * sin(18/17 - 30 * t) - 1/7 * sin(9/7 - 29 * t) - 3/7 * sin(14/11 - 24 * t) - 4/7 * sin(11/8 - 23 * t) - 7/15 * sin(17/12 - 19 * t) - 1/7 * sin(3/2 - 17 * t) - 2/11 * sin(11/9 - 16 * t) - 4/7 * sin(28/19 - 13 * t) - 1/27 * sin(2/3 - 12 * t) - 5/7 * sin(22/15 - 11 * t) - 5/8 * sin(14/9 - 8 * t) - 3 * sin(37/25 - 6 * t) - 57/10 * sin(26/17 - 5 * t) - 47/7 * sin(17/11 - 2 * t) - 239/15 * sin(14/9 - t) + 19/8 * sin(3 * t + 13/8) + 87/13 * sin(4 * t + 13/8) + 14/9 * sin(7 * t + 28/17) + 1/14 * sin(9 * t + 35/8) + 1/15 * sin(10 * t + 9/7) + 12/13 * sin(14 * t + 17/10) + 8/13 * sin(15 * t + 7/4) + 4/9 * sin(18 * t + 5/3) + 3/11 * sin(20 * t + 18/11) + 2/7 * sin(21 * t + 37/19) + 1/8 * sin(22 * t + 5/3) + 1/9 * sin(25 * t + 65/14) + 2/7 * sin(26 * t + 11/6) + 1/8 * sin(27 * t + 47/10) + 1/10 * sin(28 * t + 11/7) + 1/7 * sin(31 * t + 79/39) + 4/11 * sin(32 * t + 13/7) + 1/29 * sin(34 * t + 1/3) + 1/36 * sin(35 * t + 38/9) + 1/7 * sin(36 * t + 11/6) - 72/7) * θ(59 * π - t) * θ(t - 55 * π) + (-1/7 * sin(34/23 - 28 * t) - 1/8 * sin(13/9 - 27 * t) - 1/16 * sin(29/19 - 20 * t) - 3/14 * sin(10/7 - 19 * t) - 1/9 * sin(31/21 - 18 * t) - 1/4 * sin(14/9 - 15 * t) - 3/5 * sin(17/11 - 11 * t) - 1/6 * sin(10/7 - 10 * t) - 1/9 * sin(19/13 - 9 * t) - 22/15 * sin(14/9 - 7 * t) - 197/49 * sin(14/9 - 2 * t) - 103/6 * sin(11/7 - t) + 251/28 * sin(3 * t + 19/12) + 18/7 * sin(4 * t + 13/8) + 35/6 * sin(5 * t + 19/12) + 12/23 * sin(6 * t + 11/7) + 1/5 * sin(8 * t + 8/5) + 2/5 * sin(12 * t + 18/11) + 12/13 * sin(13 * t + 13/8) + 2/9 * sin(14 * t + 22/13) + 3/11 * sin(16 * t + 14/9) + 1/10 * sin(17 * t + 47/10) + 2/9 * sin(21 * t + 22/13) + 2/13 * sin(22 * t + 17/10) + 1/13 * sin(23 * t + 13/8) + 1/48 * sin(24 * t + 32/7) + 1/43 * sin(25 * t + 11/6) + 1/27 * sin(26 * t + 3/2) + 1/8 * sin(29 * t + 18/11) + 1/14 * sin(30 * t + 20/11) + 328/11) * θ(55 * π - t) * θ(t - 51 * π) + (-1/19 * sin(23/15 - 32 * t) - 1/46 * sin(20/13 - 30 * t) - 1/23 * sin(23/15 - 28 * t) - 1/27 * sin(22/15 - 27 * t) - 1/23 * sin(20/13 - 26 * t) - 1/15 * sin(14/9 - 24 * t) - 1/8 * sin(17/11 - 22 * t) - 1/14 * sin(20/13 - 20 * t) - 1/12 * sin(17/11 - 18 * t) - 1/12 * sin(3/2 - 17 * t) - 1/5 * sin(17/11 - 16 * t) - 1/38 * sin(13/9 - 15 * t) - 1/6 * sin(14/9 - 14 * t) - 4/11 * sin(14/9 - 12 * t) - 10/21 * sin(14/9 - 10 * t) - 2/11 * sin(14/9 - 8 * t) - 6/11 * sin(14/9 - 7 * t) - 2/3 * sin(14/9 - 6 * t) - 2/3 * sin(11/7 - 5 * t) - 20/13 * sin(11/7 - 4 * t) - 1/3 * sin(14/9 - 3 * t) - 59/7 * sin(11/7 - 2 * t) - 34/7 * sin(11/7 - t) + 1/22 * sin(9 * t + 23/15) + 1/31 * sin(11 * t + 10/7) + 1/7 * sin(13 * t + 11/7) + 1/19 * sin(19 * t + 14/9) + 1/80 * sin(21 * t + 19/14) + 1/44 * sin(23 * t + 16/11) + 1/82 * sin(25 * t + 17/12) + 1/46 * sin(31 * t + 20/13) + 486/11) * θ(51 * π - t) * θ(t - 47 * π) + (-1/22 * sin(15/11 - 35 * t) - 3/10 * sin(24/23 - 32 * t) - 1/19 * sin(1/8 - 31 * t) - 1/5 * sin(9/10 - 26 * t) - 2/7 * sin(31/32 - 25 * t) - 1/6 * sin(18/13 - 19 * t) - 1/5 * sin(2/3 - 18 * t) - 6/13 * sin(13/11 - 17 * t) - 5/14 * sin(13/11 - 13 * t) - 9/5 * sin(4/3 - 12 * t) - 3/4 * sin(17/13 - 8 * t) - 3/13 * sin(13/10 - 7 * t) - 175/6 * sin(14/9 - t) + 239/9 * sin(2 * t + 8/5) + 142/15 * sin(3 * t + 5/3) + 181/36 * sin(4 * t + 5/3) + 23/7 * sin(5 * t + 18/11) + 2/5 * sin(6 * t + 19/11) + 10/11 * sin(9 * t + 26/15) + 19/9 * sin(10 * t + 13/7) + 16/9 * sin(11 * t + 19/11) + 5/3 * sin(14 * t + 13/7) + 9/7 * sin(15 * t + 25/13) + 6/17 * sin(16 * t + 11/6) + 4/11 * sin(20 * t + 23/12) + 2/9 * sin(21 * t + 16/9) + 1/5 * sin(22 * t + 41/9) + 9/14 * sin(23 * t + 39/20) + 2/9 * sin(24 * t + 75/38) + 2/11 * sin(27 * t + 63/32) + 2/7 * sin(28 * t + 9/4) + 2/9 * sin(29 * t + 37/16) + 1/4 * sin(30 * t + 17/8) + 1/8 * sin(33 * t + 13/8) + 1/6 * sin(36 * t + 30/13) + 1/7 * sin(37 * t + 26/11) - 55/6) * θ(47 * π - t) * θ(t - 43 * π) + (-1/42 * sin(3/2 - 26 * t) - 1/25 * sin(21/16 - 25 * t) - 1/12 * sin(16/11 - 24 * t) - 1/9 * sin(16/11 - 20 * t) - 1/51 * sin(6/5 - 19 * t) - 2/9 * sin(3/2 - 16 * t) - 1/17 * sin(15/11 - 15 * t) - 1/7 * sin(26/17 - 14 * t) - 2/7 * sin(20/13 - 12 * t) - 1/8 * sin(10/7 - 11 * t) - 3/10 * sin(17/11 - 10 * t) - 2/5 * sin(14/9 - 8 * t) - 6/13 * sin(3/2 - 7 * t) - 7/6 * sin(20/13 - 6 * t) - 1/14 * sin(9/7 - 5 * t) - 2/7 * sin(20/13 - 4 * t) - 19/7 * sin(17/11 - 3 * t) - 101/9 * sin(14/9 - 2 * t) + 96/13 * sin(t + 11/7) + 2/5 * sin(9 * t + 11/7) + 2/13 * sin(13 * t + 11/7) + 1/19 * sin(17 * t + 7/5) + 1/35 * sin(18 * t + 23/5) + 1/81 * sin(27 * t + 13/9) + 652/15) * θ(43 * π - t) * θ(t - 39 * π) + (-1/34 * sin(7/5 - 33 * t) - 1/17 * sin(3/2 - 25 * t) - 1/33 * sin(11/7 - 23 * t) - 2/9 * sin(3/2 - 9 * t) - 1/11 * sin(7/5 - 8 * t) - 21/10 * sin(11/7 - t) + 11/6 * sin(2 * t + 11/7) + 16/7 * sin(3 * t + 13/8) + 37/8 * sin(4 * t + 8/5) + 23/22 * sin(5 * t + 33/7) + 7/6 * sin(6 * t + 8/5) + 1/8 * sin(7 * t + 7/4) + 2/9 * sin(10 * t + 23/14) + 2/7 * sin(11 * t + 5/3) + 1/12 * sin(12 * t + 18/11) + 1/18 * sin(13 * t + 13/7) + 3/8 * sin(14 * t + 23/14) + 1/8 * sin(15 * t + 47/10) + 1/17 * sin(16 * t + 34/23) + 1/36 * sin(17 * t + 41/9) + 1/26 * sin(18 * t + 19/12) + 1/34 * sin(19 * t + 51/11) + 1/17 * sin(20 * t + 17/10) + 1/8 * sin(21 * t + 23/13) + 1/18 * sin(22 * t + 19/11) + 1/14 * sin(24 * t + 13/8) + 1/57 * sin(26 * t + 15/11) + 1/25 * sin(28 * t + 23/13) + 1/50 * sin(29 * t + 2) + 1/28 * sin(30 * t + 9/5) + 1/29 * sin(31 * t + 15/8) + 1/71 * sin(32 * t + 18/11) + 1/43 * sin(34 * t + 19/12) - 64/21) * θ(39 * π - t) * θ(t - 35 * π) + (-67/34 * sin(11/7 - 3 * t) + 173/14 * sin(t + 19/12) + 25/4 * sin(2 * t + 19/12) + 28/13 * sin(4 * t + 19/12) + 1/8 * sin(5 * t + 55/12) + 1/17 * sin(6 * t + 14/9) + 4/11 * sin(7 * t + 21/13) + 1/8 * sin(8 * t + 8/5) + 1/9 * sin(9 * t + 47/10) + 2/7 * sin(10 * t + 8/5) + 1/10 * sin(11 * t + 33/7) + 1/11 * sin(12 * t + 13/8) + 1/10 * sin(13 * t + 12/7) + 1/61 * sin(14 * t + 23/15) + 1/8 * sin(16 * t + 5/3) + 1/20 * sin(17 * t + 61/13) + 1/14 * sin(18 * t + 13/8) + 1/34 * sin(19 * t + 13/7) + 1/82 * sin(20 * t + 12/7) + 1/38 * sin(21 * t + 20/11) + 1/16 * sin(22 * t + 17/10) + 1/36 * sin(23 * t + 33/7) + 1/19 * sin(24 * t + 5/3) + 1/87 * sin(25 * t + 87/44) + 67/11) * θ(35 * π - t) * θ(t - 31 * π) + (-1/15 * sin(14/9 - 10 * t) - 1/16 * sin(14/9 - 7 * t) - 1/24 * sin(17/11 - 4 * t) - 7/3 * sin(11/7 - t) + 1/3 * sin(2 * t + 33/7) + 10/9 * sin(3 * t + 11/7) + 1/7 * sin(5 * t + 11/7) + 1/12 * sin(6 * t + 33/7) + 1/19 * sin(8 * t + 47/10) + 1/51 * sin(9 * t + 75/16) + 1/22 * sin(12 * t + 47/10) + 1/32 * sin(15 * t + 11/7) + 224/13) * θ(31 * π - t) * θ(t - 27 * π) + (-1/13 * sin(4/3 - 37 * t) - 1/25 * sin(16/13 - 36 * t) - 1/9 * sin(18/13 - 34 * t) - 1/85 * sin(8/15 - 33 * t) - 1/52 * sin(7/5 - 32 * t) - 1/29 * sin(10/7 - 28 * t) - 1/8 * sin(16/11 - 26 * t) - 1/36 * sin(3/4 - 25 * t) - 1/6 * sin(7/5 - 24 * t) - 2/11 * sin(7/5 - 23 * t) - 1/7 * sin(20/13 - 20 * t) - 1/13 * sin(13/9 - 15 * t) - 1/5 * sin(16/11 - 14 * t) - 2/9 * sin(7/5 - 13 * t) - 5/8 * sin(34/23 - 12 * t) - 1/18 * sin(5/11 - 11 * t) - 40/27 * sin(26/17 - 10 * t) - 2/11 * sin(7/5 - 9 * t) - 42/11 * sin(11/7 - 4 * t) - 17/5 * sin(11/7 - 2 * t) + 71/8 * sin(t + 11/7) + 1/4 * sin(3 * t + 8/5) + 36/7 * sin(5 * t + 8/5) + 5/6 * sin(6 * t + 23/14) + 3/13 * sin(7 * t + 61/13) + 23/22 * sin(8 * t + 8/5) + 1/6 * sin(16 * t + 17/10) + 3/11 * sin(17 * t + 27/16) + 1/46 * sin(18 * t + 191/48) + 1/5 * sin(19 * t + 18/11) + 1/46 * sin(21 * t + 9/7) + 1/30 * sin(22 * t + 13/9) + 1/12 * sin(27 * t + 19/12) + 1/18 * sin(30 * t + 16/9) + 1/69 * sin(31 * t + 14/9) + 1/66 * sin(35 * t + 7/8) + 181/10) * θ(27 * π - t) * θ(t - 23 * π) + (-1/33 * sin(17/11 - 29 * t) - 1/91 * sin(3/2 - 25 * t) - 1/18 * sin(17/11 - 19 * t) + 210/19 * sin(t + 33/7) + 11/4 * sin(2 * t + 11/7) + 24/7 * sin(3 * t + 33/7) + 19/10 * sin(4 * t + 11/7) + 43/17 * sin(5 * t + 47/10) + 18/13 * sin(6 * t + 61/13) + 5/13 * sin(7 * t + 33/7) + 19/18 * sin(8 * t + 14/9) + 4/9 * sin(9 * t + 3/2) + 11/12 * sin(10 * t + 17/11) + 2/7 * sin(11 * t + 23/15) + 2/11 * sin(12 * t + 51/11) + 5/14 * sin(13 * t + 47/10) + 3/7 * sin(14 * t + 14/9) + 2/7 * sin(15 * t + 3/2) + 1/5 * sin(16 * t + 35/23) + 1/9 * sin(17 * t + 22/15) + 2/9 * sin(18 * t + 23/15) + 1/40 * sin(20 * t + 34/23) + 1/19 * sin(21 * t + 23/15) + 1/12 * sin(22 * t + 3/2) + 1/9 * sin(24 * t + 29/19) + 1/11 * sin(27 * t + 19/13) + 1/7 * sin(28 * t + 3/2) + 1/36 * sin(30 * t + 9/2) + 1/29 * sin(31 * t + 37/8) + 1/61 * sin(32 * t + 11/7) + 1/41 * sin(33 * t + 21/16) + 1/14 * sin(34 * t + 22/15) + 1/27 * sin(35 * t + 18/13) + 1/48 * sin(36 * t + 3/2) - 3/5) * θ(23 * π - t) * θ(t - 19 * π) + (-1/9 * sin(7/5 - 41 * t) - 1/11 * sin(7/5 - 39 * t) - 1/8 * sin(4/3 - 38 * t) - 1/45 * sin(5/4 - 36 * t) - 1/16 * sin(7/5 - 34 * t) - 1/7 * sin(18/13 - 33 * t) - 1/8 * sin(13/9 - 31 * t) - 1/6 * sin(16/11 - 29 * t) - 3/11 * sin(7/5 - 28 * t) - 1/3 * sin(3/2 - 25 * t) - 1/11 * sin(5/4 - 24 * t) - 5/13 * sin(25/17 - 23 * t) - 1/78 * sin(2/5 - 22 * t) - 2/7 * sin(3/2 - 21 * t) - 3/11 * sin(16/11 - 19 * t) - 3/7 * sin(34/23 - 18 * t) - 1/3 * sin(3/2 - 16 * t) - 1/33 * sin(32/33 - 14 * t) - 5/6 * sin(20/13 - 13 * t) - 22/7 * sin(17/11 - 9 * t) - 9/7 * sin(11/7 - 7 * t) - 1/10 * sin(13/10 - 6 * t) + 274/25 * sin(t + 11/7) + 46/7 * sin(2 * t + 11/7) + 1/9 * sin(3 * t + 22/13) + 17/10 * sin(4 * t + 11/7) + 7/5 * sin(5 * t + 21/13) + 7/3 * sin(8 * t + 19/12) + 2/3 * sin(10 * t + 14/9) + 2/7 * sin(11 * t + 14/3) + 4/11 * sin(12 * t + 17/11) + 1/9 * sin(15 * t + 8/5) + 2/13 * sin(17 * t + 21/13) + 1/66 * sin(26 * t + 3/10) + 1/26 * sin(27 * t + 51/11) + 1/9 * sin(30 * t + 13/8) + 1/28 * sin(32 * t + 7/4) + 1/79 * sin(37 * t + 37/16) + 1/30 * sin(40 * t + 18/11) + 1/16 * sin(42 * t + 12/7) - 13/2) * θ(19 * π - t) * θ(t - 15 * π) + (-1/45 * sin(11/7 - 31 * t) - 1/14 * sin(11/7 - 9 * t) - 69/14 * sin(11/7 - t) + 53/9 * sin(2 * t + 11/7) + 10/13 * sin(3 * t + 14/9) + 10/11 * sin(4 * t + 11/7) + 5/4 * sin(5 * t + 14/9) + 7/8 * sin(6 * t + 14/9) + 3/8 * sin(7 * t + 33/7) + 7/12 * sin(8 * t + 33/7) + 8/15 * sin(10 * t + 14/9) + 4/13 * sin(11 * t + 17/11) + 1/11 * sin(12 * t + 14/9) + 1/7 * sin(13 * t + 33/7) + 1/6 * sin(14 * t + 14/9) + 1/23 * sin(15 * t + 32/21) + 1/46 * sin(16 * t + 19/12) + 1/16 * sin(19 * t + 20/13) + 1/18 * sin(20 * t + 3/2) + 1/34 * sin(21 * t + 3/2) + 1/18 * sin(22 * t + 17/11) + 1/91 * sin(23 * t + 11/8) + 1/62 * sin(24 * t + 13/8) + 1/19 * sin(25 * t + 61/13) + 1/47 * sin(26 * t + 14/3) + 1/27 * sin(27 * t + 14/9) + 1/14 * sin(28 * t + 3/2) + 1/35 * sin(29 * t + 22/15) - 22/7) * θ(15 * π - t) * θ(t - 11 * π) + (-1/41 * sin(9/7 - 53 * t) - 1/21 * sin(6/5 - 51 * t) - 1/23 * sin(7/6 - 50 * t) - 1/6 * sin(14/11 - 46 * t) - 1/68 * sin(7/8 - 44 * t) - 1/11 * sin(9/7 - 43 * t) - 1/31 * sin(4/11 - 42 * t) - 1/8 * sin(16/11 - 41 * t) - 1/23 * sin(6/7 - 37 * t) - 6/13 * sin(13/10 - 36 * t) - 1/8 * sin(9/11 - 35 * t) - 3/13 * sin(7/5 - 34 * t) - 1/6 * sin(10/7 - 29 * t) - 4/11 * sin(6/5 - 28 * t) - 9/13 * sin(4/3 - 27 * t) - 1/3 * sin(9/7 - 26 * t) - 1/10 * sin(17/16 - 25 * t) - 1/12 * sin(9/19 - 21 * t) - 5/7 * sin(10/7 - 20 * t) - 4/11 * sin(17/12 - 18 * t) - sin(18/13 - 17 * t) - 5/11 * sin(11/8 - 16 * t) - 6/13 * sin(17/12 - 14 * t) - 9/8 * sin(10/7 - 13 * t) - 7/9 * sin(34/23 - 12 * t) - 22/9 * sin(3/2 - 8 * t) - 59/29 * sin(3/2 - 7 * t) - 8/3 * sin(38/25 - 6 * t) - 20/7 * sin(3/2 - 5 * t) - 5/3 * sin(23/15 - 4 * t) - 43/7 * sin(20/13 - 3 * t) - 178/11 * sin(14/9 - 2 * t) + 157/15 * sin(t + 11/7) + 9/7 * sin(9 * t + 23/14) + 39/20 * sin(10 * t + 5/3) + 9/13 * sin(11 * t + 5/3) + 8/13 * sin(15 * t + 5/3) + 1/9 * sin(19 * t + 8/7) + 4/13 * sin(22 * t + 61/13) + 7/10 * sin(23 * t + 12/7) + 1/15 * sin(24 * t + 47/11) + 5/14 * sin(30 * t + 9/5) + 3/10 * sin(31 * t + 15/8) + 1/27 * sin(32 * t + 38/9) + 1/13 * sin(33 * t + 5/4) + 1/8 * sin(38 * t + 19/10) + 1/14 * sin(39 * t + 9/4) + 1/5 * sin(40 * t + 20/11) + 1/52 * sin(45 * t + 21/20) + 1/27 * sin(47 * t + 11/8) + 1/21 * sin(48 * t + 23/10) + 1/31 * sin(49 * t + 17/10) + 1/28 * sin(52 * t + 7/4) + 483/10) * θ(11 * π - t) * θ(t - 7 * π) + (31/9 * sin(t + 19/14) + 4/11 * sin(2 * t + 109/27) + 3/7 * sin(3 * t + 21/20) + 2/13 * sin(4 * t + 26/7) - 704/15) * θ(7 * π - t) * θ(t - 3 * π) + (71/9 * sin(t + 6/5) + 1/3 * sin(2 * t + 19/6) + 3/4 * sin(3 * t + 9/8) + 1/13 * sin(4 * t + 2) + 4/11 * sin(5 * t + 5/7) + 1/10 * sin(6 * t + 24/7) + 2/9 * sin(7 * t + 9/13) + 1/12 * sin(8 * t + 24/7) + 1/6 * sin(9 * t + 4/9) + 1/13 * sin(10 * t + 19/6) + 1/7 * sin(11 * t + 4/11) + 1/15 * sin(12 * t + 32/9) + 1/10 * sin(13 * t + 2/5) + 1/15 * sin(14 * t + 59/17) + 1/12 * sin(15 * t + 4/11) + 1/16 * sin(16 * t + 46/13) + 1/16 * sin(17 * t + 8/15) + 1/19 * sin(18 * t + 24/7) + 1/17 * sin(19 * t + 5/9) + 1/28 * sin(20 * t + 73/21) + 1/21 * sin(21 * t + 3/5) + 1/27 * sin(22 * t + 59/17) + 296/7) * θ(3 * π - t) * θ(t + π)) * θ(sqrt(sgn(sin(t/2))))"
let Yt = "((-32/11 * sin(11/7 - t) + 23/9 * sin(2 * t + 11/7) + 5/12 * sin(3 * t + 19/12) + 7/10 * sin(4 * t + 11/7) - 624/5) * θ(107 * π - t) * θ(t - 103 * π) + (-1/6 * sin(32/21 - 37 * t) - 1/13 * sin(14/9 - 31 * t) - 1/13 * sin(32/21 - 30 * t) - 1/10 * sin(11/7 - 29 * t) - 6/17 * sin(14/9 - 23 * t) - 1/12 * sin(3/2 - 22 * t) - 1/10 * sin(14/9 - 19 * t) - 2/5 * sin(14/9 - 16 * t) - 17/12 * sin(11/7 - 7 * t) + 72/7 * sin(t + 33/7) + 194/11 * sin(2 * t + 11/7) + 1/15 * sin(3 * t + 27/10) + 311/39 * sin(4 * t + 11/7) + 16/5 * sin(5 * t + 8/5) + 7/10 * sin(6 * t + 8/5) + 2/11 * sin(8 * t + 5/3) + 2/3 * sin(9 * t + 8/5) + 40/41 * sin(10 * t + 8/5) + 1/12 * sin(11 * t + 9/5) + 1/5 * sin(12 * t + 47/10) + 4/11 * sin(13 * t + 18/11) + 6/5 * sin(14 * t + 8/5) + 1/4 * sin(15 * t + 61/13) + 1/5 * sin(17 * t + 13/8) + 1/39 * sin(18 * t + 19/11) + 7/12 * sin(20 * t + 21/13) + 2/5 * sin(21 * t + 13/8) + 1/36 * sin(24 * t + 23/5) + 1/14 * sin(25 * t + 12/7) + 1/7 * sin(26 * t + 22/13) + 2/9 * sin(27 * t + 28/17) + 1/5 * sin(28 * t + 13/8) + 1/13 * sin(32 * t + 13/8) + 1/14 * sin(33 * t + 22/13) + 1/9 * sin(34 * t + 5/3) + 1/8 * sin(35 * t + 5/3) + 1/26 * sin(38 * t + 13/8) + 1/8 * sin(39 * t + 5/3) + 1/16 * sin(40 * t + 5/3) + 1/27 * sin(41 * t + 65/14) + 1/70 * sin(42 * t + 9/2) + 1/41 * sin(43 * t + 12/7) + 1/31 * sin(44 * t + 23/13) + 1/32 * sin(45 * t + 15/8) + 1/20 * sin(46 * t + 12/7) + 1/40 * sin(47 * t + 65/14) - 743/7) * θ(103 * π - t) * θ(t - 99 * π) + (-4/5 * sin(11/7 - t) + 31/12 * sin(2 * t + 11/7) + 2/7 * sin(3 * t + 19/12) + 8/7 * sin(4 * t + 11/7) + 1/29 * sin(5 * t + 37/8) + 5/13 * sin(6 * t + 11/7) - 1625/12) * θ(99 * π - t) * θ(t - 95 * π) + (-1/29 * sin(3/2 - 29 * t) - 1/35 * sin(11/7 - 19 * t) - 1/9 * sin(14/9 - 13 * t) - 16/33 * sin(11/7 - 5 * t) - 106/35 * sin(11/7 - t) + 33/16 * sin(2 * t + 11/7) + 1/3 * sin(3 * t + 11/7) + 23/12 * sin(4 * t + 11/7) + 1/5 * sin(6 * t + 14/9) + 4/9 * sin(7 * t + 8/5) + 7/11 * sin(8 * t + 11/7) + 1/10 * sin(9 * t + 47/10) + 1/9 * sin(10 * t + 14/9) + 1/7 * sin(11 * t + 21/13) + 1/6 * sin(12 * t + 11/7) + 1/22 * sin(14 * t + 11/7) + 1/58 * sin(15 * t + 33/7) + 1/14 * sin(16 * t + 8/5) + 1/64 * sin(17 * t + 17/10) + 1/17 * sin(18 * t + 21/13) + 1/67 * sin(21 * t + 14/3) + 1/16 * sin(22 * t + 8/5) + 1/24 * sin(23 * t + 5/3) + 1/26 * sin(24 * t + 8/5) + 1/28 * sin(26 * t + 8/5) + 1/45 * sin(27 * t + 18/11) + 1/90 * sin(28 * t + 20/13) + 1/51 * sin(30 * t + 8/5) - 893/7) * θ(95 * π - t) * θ(t - 91 * π) + (-1/20 * sin(17/11 - 33 * t) - 1/9 * sin(37/25 - 29 * t) - 1/37 * sin(19/14 - 28 * t) - 1/8 * sin(20/13 - 25 * t) - 1/11 * sin(11/8 - 18 * t) - 1/5 * sin(3/2 - 17 * t) - 8/15 * sin(14/9 - 13 * t) - 1/32 * sin(10/9 - 10 * t) - 8/11 * sin(20/13 - 9 * t) - 3/4 * sin(11/7 - 7 * t) - 38/5 * sin(11/7 - 3 * t) - 43/2 * sin(11/7 - t) + 1/30 * sin(2 * t + 5/7) + 1/14 * sin(4 * t + 16/9) + 1/23 * sin(5 * t + 15/4) + 1/8 * sin(6 * t + 7/4) + 1/5 * sin(8 * t + 38/25) + 1/5 * sin(11 * t + 13/8) + 2/13 * sin(12 * t + 18/11) + 1/23 * sin(14 * t + 14/3) + 1/8 * sin(15 * t + 12/7) + 1/6 * sin(16 * t + 8/5) + 1/13 * sin(19 * t + 47/10) + 1/9 * sin(20 * t + 13/8) + 1/11 * sin(21 * t + 47/10) + 1/21 * sin(22 * t + 89/19) + 1/40 * sin(23 * t + 85/19) + 1/70 * sin(24 * t + 17/10) + 1/28 * sin(26 * t + 11/7) + 1/38 * sin(27 * t + 5/3) + 1/36 * sin(30 * t + 5/3) - 271/3) * θ(91 * π - t) * θ(t - 87 * π) + (-1/33 * sin(3/2 - 37 * t) - 1/9 * sin(14/9 - 26 * t) - 1/7 * sin(14/9 - 25 * t) - 2/11 * sin(17/11 - 24 * t) - 2/9 * sin(11/7 - 16 * t) - 79/2 * sin(11/7 - t) + 8/5 * sin(2 * t + 11/7) + 37/6 * sin(3 * t + 11/7) + 9/13 * sin(4 * t + 11/7) + 35/13 * sin(5 * t + 11/7) + 3/10 * sin(6 * t + 19/12) + 1/3 * sin(7 * t + 20/13) + 3/4 * sin(8 * t + 11/7) + 1/7 * sin(9 * t + 13/8) + 3/4 * sin(10 * t + 11/7) + 5/13 * sin(11 * t + 19/12) + 3/14 * sin(12 * t + 11/7) + 4/13 * sin(13 * t + 19/12) + 1/4 * sin(14 * t + 47/10) + 1/27 * sin(15 * t + 31/21) + 1/32 * sin(17 * t + 14/3) + 1/5 * sin(18 * t + 11/7) + 2/9 * sin(19 * t + 8/5) + 2/5 * sin(20 * t + 11/7) + 5/14 * sin(21 * t + 11/7) + 1/10 * sin(22 * t + 18/11) + 1/16 * sin(23 * t + 18/11) + 1/14 * sin(27 * t + 47/10) + 1/8 * sin(28 * t + 8/5) + 1/11 * sin(29 * t + 19/12) + 1/8 * sin(30 * t + 19/12) + 1/8 * sin(31 * t + 11/7) + 1/54 * sin(32 * t + 23/15) + 1/20 * sin(33 * t + 13/8) + 1/23 * sin(35 * t + 47/10) + 1/69 * sin(36 * t + 19/11) + 1/39 * sin(38 * t + 7/4) - 1009/11) * θ(87 * π - t) * θ(t - 83 * π) + (-1/67 * sin(3/2 - 35 * t) - 1/48 * sin(29/19 - 32 * t) - 1/79 * sin(35/23 - 31 * t) - 1/38 * sin(11/7 - 30 * t) - 1/43 * sin(17/11 - 28 * t) - 1/10 * sin(17/11 - 22 * t) - 1/50 * sin(14/9 - 21 * t) - 1/19 * sin(14/9 - 20 * t) - 1/13 * sin(14/9 - 17 * t) - 1/6 * sin(14/9 - 14 * t) - 1/7 * sin(14/9 - 13 * t) - 1/6 * sin(14/9 - 12 * t) - 2/7 * sin(14/9 - 9 * t) - 6/11 * sin(11/7 - 5 * t) - 12/5 * sin(11/7 - 4 * t) - 62/21 * sin(11/7 - t) + 12/13 * sin(2 * t + 19/12) + 9/10 * sin(3 * t + 19/12) + 4/11 * sin(6 * t + 33/7) + 3/11 * sin(7 * t + 8/5) + 2/5 * sin(8 * t + 8/5) + 1/11 * sin(10 * t + 8/5) + 1/8 * sin(11 * t + 8/5) + 1/13 * sin(15 * t + 18/11) + 1/12 * sin(16 * t + 18/11) + 1/29 * sin(18 * t + 18/11) + 1/46 * sin(19 * t + 18/11) + 1/68 * sin(24 * t + 7/4) + 1/84 * sin(27 * t + 47/10) + 1/44 * sin(34 * t + 22/13) - 387/11) * θ(83 * π - t) * θ(t - 79 * π) + (1/7 * sin(t + 19/12) + 32/9 * sin(2 * t + 11/7) + 2/13 * sin(3 * t + 8/5) + 5/4 * sin(4 * t + 11/7) + 1/12 * sin(5 * t + 14/3) + 2/7 * sin(6 * t + 11/7) - 3169/24) * θ(79 * π - t) * θ(t - 75 * π) + (-1/23 * sin(29/19 - 35 * t) - 1/11 * sin(20/13 - 29 * t) - 7/20 * sin(16/11 - 22 * t) - 3/11 * sin(38/25 - 21 * t) - 1/16 * sin(13/9 - 16 * t) - 1/3 * sin(17/11 - 11 * t) - 11/12 * sin(11/7 - 7 * t) + 53/10 * sin(t + 33/7) + 215/11 * sin(2 * t + 11/7) + 3/4 * sin(3 * t + 65/14) + 43/7 * sin(4 * t + 19/12) + 29/14 * sin(5 * t + 13/8) + 11/10 * sin(6 * t + 19/12) + 6/11 * sin(8 * t + 8/5) + 2/3 * sin(9 * t + 18/11) + 14/15 * sin(10 * t + 21/13) + 1/18 * sin(12 * t + 3/2) + 2/11 * sin(13 * t + 12/7) + 9/13 * sin(14 * t + 13/8) + 2/13 * sin(15 * t + 75/16) + 1/7 * sin(17 * t + 17/10) + 5/16 * sin(18 * t + 5/3) + 1/13 * sin(19 * t + 65/33) + 3/8 * sin(20 * t + 5/3) + 1/6 * sin(23 * t + 7/4) + 10/21 * sin(24 * t + 27/16) + 1/63 * sin(25 * t + 10/3) + 1/40 * sin(26 * t + 14/9) + 1/92 * sin(27 * t + 9/5) + 1/8 * sin(30 * t + 12/7) + 1/10 * sin(31 * t + 20/11) + 1/28 * sin(32 * t + 16/9) + 1/99 * sin(33 * t + 15/4) + 1/15 * sin(34 * t + 5/3) + 1/33 * sin(36 * t + 12/7) - 338/3) * θ(75 * π - t) * θ(t - 71 * π) + (-1/24 * sin(20/13 - 18 * t) - 1/39 * sin(19/13 - 17 * t) - 1/7 * sin(14/9 - 3 * t) - 3/2 * sin(11/7 - 2 * t) - 75/37 * sin(11/7 - t) + 6/17 * sin(4 * t + 8/5) + 4/5 * sin(5 * t + 8/5) + 4/9 * sin(6 * t + 8/5) + 2/11 * sin(7 * t + 13/8) + 1/5 * sin(8 * t + 13/8) + 1/60 * sin(9 * t + 12/7) + 1/40 * sin(10 * t + 14/3) + 1/16 * sin(11 * t + 13/8) + 1/18 * sin(12 * t + 32/19) + 1/8 * sin(13 * t + 13/8) + 1/51 * sin(14 * t + 16/9) + 1/11 * sin(15 * t + 13/8) + 1/49 * sin(16 * t + 61/13) + 1/15 * sin(19 * t + 28/17) + 1/15 * sin(20 * t + 17/10) + 1/18 * sin(21 * t + 27/16) + 1/93 * sin(23 * t + 47/10) + 1/44 * sin(24 * t + 12/7) + 1/41 * sin(27 * t + 19/11) + 1/30 * sin(28 * t + 17/10) - 84/11) * θ(71 * π - t) * θ(t - 67 * π) + (-1/65 * sin(14/9 - 33 * t) - 1/19 * sin(14/9 - 29 * t) - 1/7 * sin(38/25 - 23 * t) - 1/21 * sin(11/8 - 21 * t) - 1/20 * sin(13/9 - 20 * t) - 3/11 * sin(3/2 - 18 * t) - 5/8 * sin(17/11 - 17 * t) - 8/9 * sin(17/11 - 15 * t) - 4/11 * sin(37/25 - 12 * t) - 5/7 * sin(14/9 - 11 * t) - 19/10 * sin(14/9 - 9 * t) - 41/27 * sin(14/9 - 5 * t) - 417/19 * sin(11/7 - 3 * t) + 377/14 * sin(t + 11/7) + 67/9 * sin(2 * t + 11/7) + 5/11 * sin(4 * t + 19/12) + 4/9 * sin(6 * t + 3/2) + 5/11 * sin(7 * t + 13/8) + 8/5 * sin(8 * t + 11/7) + 11/8 * sin(10 * t + 19/12) + 4/9 * sin(13 * t + 8/5) + 1/60 * sin(14 * t + 20/19) + 5/12 * sin(16 * t + 21/13) + 1/82 * sin(19 * t + 19/8) + 2/7 * sin(22 * t + 23/14) + 3/11 * sin(24 * t + 8/5) + 1/11 * sin(25 * t + 16/9) + 1/7 * sin(26 * t + 13/8) + 1/7 * sin(27 * t + 8/5) + 1/4 * sin(28 * t + 5/3) + 1/9 * sin(30 * t + 18/11) + 1/29 * sin(31 * t + 31/7) + 1/13 * sin(34 * t + 5/3) - 353/8) * θ(67 * π - t) * θ(t - 63 * π) + (-68/23 * sin(11/7 - t) + 1/2 * sin(2 * t + 11/7) + 3/11 * sin(3 * t + 33/7) - 503/6) * θ(63 * π - t) * θ(t - 59 * π) + (-1/5 * sin(9/7 - 39 * t) - 1/3 * sin(7/5 - 33 * t) - 5/16 * sin(22/15 - 29 * t) - 1/9 * sin(4/11 - 28 * t) - 2/7 * sin(26/17 - 27 * t) - 1/3 * sin(10/7 - 23 * t) - 1/21 * sin(14/13 - 19 * t) - 1/11 * sin(9/7 - 18 * t) - 1/9 * sin(1/6 - 11 * t) - 3/10 * sin(22/15 - 10 * t) - 81/7 * sin(14/9 - t) + 520/11 * sin(2 * t + 19/12) + 11/2 * sin(3 * t + 8/5) + 36/7 * sin(4 * t + 19/12) + 7/5 * sin(5 * t + 21/13) + 2/9 * sin(6 * t + 14/9) + 1/17 * sin(7 * t + 41/9) + 7/6 * sin(8 * t + 22/13) + 29/9 * sin(9 * t + 5/3) + 1/13 * sin(12 * t + 33/8) + 20/13 * sin(13 * t + 5/3) + 1/7 * sin(14 * t + 30/7) + 5/8 * sin(15 * t + 8/5) + 1/10 * sin(16 * t + 56/13) + 7/11 * sin(17 * t + 17/10) + 3/11 * sin(20 * t + 16/9) + 5/13 * sin(21 * t + 25/13) + 3/13 * sin(22 * t + 26/15) + 1/11 * sin(24 * t + 3/7) + 1/12 * sin(25 * t + 37/12) + 5/6 * sin(26 * t + 25/14) + 9/13 * sin(30 * t + 11/6) + 1/13 * sin(31 * t + 29/9) + 1/7 * sin(32 * t + 9/7) + 2/5 * sin(34 * t + 23/13) + 1/6 * sin(35 * t + 14/3) + 1/9 * sin(36 * t + 11/7) + 1/13 * sin(37 * t + 20/7) + 3/11 * sin(38 * t + 20/11) - 614/7) * θ(59 * π - t) * θ(t - 55 * π) + (-1/10 * sin(3/2 - 27 * t) - 3/14 * sin(23/15 - 19 * t) - 1/4 * sin(26/17 - 11 * t) + 20/9 * sin(t + 8/5) + 209/12 * sin(2 * t + 11/7) + 83/14 * sin(3 * t + 33/7) + 29/7 * sin(4 * t + 19/12) + 22/7 * sin(5 * t + 11/7) + 4/9 * sin(6 * t + 27/16) + 30/31 * sin(7 * t + 61/13) + 57/23 * sin(8 * t + 11/7) + 1/8 * sin(9 * t + 20/11) + 2/11 * sin(10 * t + 37/8) + 7/10 * sin(12 * t + 11/7) + 2/9 * sin(13 * t + 65/14) + 3/8 * sin(14 * t + 18/11) + 3/11 * sin(15 * t + 13/8) + 1/3 * sin(16 * t + 18/11) + 1/17 * sin(17 * t + 40/9) + 1/4 * sin(18 * t + 19/12) + 1/90 * sin(20 * t + 13/8) + 1/8 * sin(21 * t + 28/17) + 1/5 * sin(22 * t + 28/17) + 1/39 * sin(23 * t + 5/2) + 2/9 * sin(24 * t + 5/3) + 1/9 * sin(25 * t + 17/10) + 1/49 * sin(26 * t + 37/8) + 1/13 * sin(28 * t + 23/15) + 1/35 * sin(29 * t + 67/15) + 1/18 * sin(30 * t + 23/13) - 457/8) * θ(55 * π - t) * θ(t - 51 * π) + (-1/42 * sin(13/9 - 32 * t) - 1/11 * sin(3/2 - 31 * t) - 1/7 * sin(20/13 - 26 * t) - 1/25 * sin(20/13 - 24 * t) - 1/12 * sin(26/17 - 21 * t) - 1/9 * sin(26/17 - 20 * t) - 1/14 * sin(14/9 - 19 * t) - 1/5 * sin(20/13 - 15 * t) - 1/33 * sin(14/9 - 14 * t) - 6/13 * sin(14/9 - 11 * t) - 11/10 * sin(14/9 - 9 * t) - 28/9 * sin(11/7 - 4 * t) - 29/12 * sin(11/7 - 2 * t) - 625/26 * sin(11/7 - t) + 14/11 * sin(3 * t + 11/7) + 2/3 * sin(5 * t + 11/7) + 1/36 * sin(6 * t + 50/11) + 1/14 * sin(7 * t + 5/3) + 3/5 * sin(8 * t + 11/7) + 5/12 * sin(10 * t + 11/7) + 5/9 * sin(12 * t + 19/12) + 1/11 * sin(13 * t + 47/10) + 1/9 * sin(17 * t + 13/8) + 2/11 * sin(18 * t + 19/12) + 2/11 * sin(23 * t + 13/8) + 1/42 * sin(25 * t + 37/25) + 1/43 * sin(27 * t + 18/11) + 1/20 * sin(28 * t + 8/5) + 1/20 * sin(29 * t + 13/8) - 47/12) * θ(51 * π - t) * θ(t - 47 * π) + (-1/6 * sin(13/11 - 35 * t) - 1/3 * sin(12/11 - 33 * t) - 3/11 * sin(8/7 - 27 * t) - 12/25 * sin(11/8 - 23 * t) - 5/6 * sin(7/6 - 20 * t) - 6/11 * sin(10/9 - 19 * t) - 1/12 * sin(1/3 - 18 * t) - 1/4 * sin(5/7 - 14 * t) - 5/4 * sin(7/5 - 13 * t) - 11/6 * sin(11/8 - 10 * t) - 4/7 * sin(11/8 - 9 * t) - 45/14 * sin(26/17 - 7 * t) - 398/57 * sin(20/13 - 5 * t) - 17/2 * sin(20/13 - 3 * t) - 46/5 * sin(3/2 - 2 * t) - 146/9 * sin(14/9 - t) + 52/11 * sin(4 * t + 19/12) + 19/7 * sin(6 * t + 14/9) + sin(8 * t + 8/5) + 1/2 * sin(11 * t + 27/14) + 16/11 * sin(12 * t + 19/11) + 1/6 * sin(15 * t + 21/8) + 16/13 * sin(16 * t + 13/7) + 1/5 * sin(17 * t + 21/8) + 1/23 * sin(21 * t + 29/14) + 1/3 * sin(22 * t + 20/11) + 4/13 * sin(24 * t + 20/11) + 1/8 * sin(25 * t + 8/3) + 1/9 * sin(26 * t + 12/7) + 1/13 * sin(28 * t + 19/13) + 1/8 * sin(29 * t + 20/9) + 1/13 * sin(30 * t + 37/8) + 1/5 * sin(31 * t + 19/9) + 1/22 * sin(32 * t + 15/8) + 1/9 * sin(34 * t + 1/4) + 1/11 * sin(36 * t + 79/39) + 1/9 * sin(37 * t + 19/7) + 87/13) * θ(47 * π - t) * θ(t - 43 * π) + (-1/26 * sin(17/11 - 27 * t) - 1/24 * sin(25/17 - 25 * t) - 1/71 * sin(17/13 - 24 * t) - 1/39 * sin(19/13 - 22 * t) - 1/11 * sin(37/25 - 20 * t) - 1/21 * sin(14/9 - 18 * t) - 7/20 * sin(20/13 - 11 * t) - 3/8 * sin(14/9 - 9 * t) - 5/7 * sin(14/9 - 7 * t) - 36/5 * sin(14/9 - 2 * t) - 39/8 * sin(11/7 - t) + 14/15 * sin(3 * t + 11/7) + 10/11 * sin(4 * t + 8/5) + 11/15 * sin(5 * t + 21/13) + 3/8 * sin(6 * t + 8/5) + 7/9 * sin(8 * t + 8/5) + 1/9 * sin(10 * t + 31/21) + 1/9 * sin(12 * t + 11/7) + 1/15 * sin(13 * t + 14/3) + 1/11 * sin(14 * t + 8/5) + 1/20 * sin(15 * t + 47/10) + 1/10 * sin(17 * t + 23/14) + 1/20 * sin(19 * t + 13/8) + 1/41 * sin(21 * t + 14/9) + 1/19 * sin(26 * t + 5/3) + 164/3) * θ(43 * π - t) * θ(t - 39 * π) + (-1/46 * sin(11/8 - 34 * t) - 1/27 * sin(11/8 - 31 * t) - 1/31 * sin(9/7 - 29 * t) - 1/63 * sin(38/25 - 28 * t) - 1/23 * sin(32/21 - 26 * t) - 1/48 * sin(11/10 - 23 * t) - 1/14 * sin(11/8 - 22 * t) - 1/18 * sin(10/7 - 21 * t) - 1/7 * sin(7/5 - 19 * t) - 1/27 * sin(14/9 - 16 * t) - 1/10 * sin(17/11 - 14 * t) - 1/6 * sin(16/11 - 12 * t) - 1/4 * sin(25/17 - 11 * t) - 1/12 * sin(32/21 - 8 * t) - 1/49 * sin(7/5 - 7 * t) - 1/4 * sin(14/9 - 6 * t) - 19/6 * sin(17/11 - 4 * t) - 4/5 * sin(17/11 - 3 * t) + 35/17 * sin(t + 19/12) + 73/12 * sin(2 * t + 19/12) + 5/11 * sin(5 * t + 14/9) + 1/6 * sin(9 * t + 5/3) + 3/10 * sin(10 * t + 28/17) + 1/10 * sin(13 * t + 21/13) + 1/33 * sin(15 * t + 13/9) + 1/8 * sin(17 * t + 12/7) + 1/36 * sin(24 * t + 14/3) + 1/13 * sin(25 * t + 17/10) + 1/29 * sin(27 * t + 28/17) + 1/81 * sin(32 * t + 13/7) + 1/82 * sin(33 * t + 7/4) + 405/7) * θ(39 * π - t) * θ(t - 35 * π) + (-1/20 * sin(26/17 - 19 * t) - 1/48 * sin(16/11 - 15 * t) - 8/15 * sin(11/7 - 5 * t) + 8/7 * sin(t + 11/7) + 4/7 * sin(2 * t + 33/7) + 12/11 * sin(3 * t + 8/5) + 22/21 * sin(4 * t + 8/5) + 3/5 * sin(6 * t + 11/7) + 1/11 * sin(7 * t + 41/9) + 3/8 * sin(8 * t + 21/13) + 1/24 * sin(9 * t + 12/7) + 1/9 * sin(10 * t + 18/11) + 1/11 * sin(11 * t + 17/10) + 1/7 * sin(12 * t + 13/8) + 1/66 * sin(13 * t + 30/7) + 1/27 * sin(14 * t + 32/21) + 1/15 * sin(17 * t + 27/16) + 1/16 * sin(20 * t + 13/8) + 1/32 * sin(21 * t + 33/7) + 1/67 * sin(24 * t + 12/7) + 1/37 * sin(26 * t + 12/7) + 23) * θ(35 * π - t) * θ(t - 31 * π) + (-1/4 * sin(11/7 - 7 * t) - 2/11 * sin(11/7 - 4 * t) - 1/4 * sin(11/7 - 3 * t) - 8/5 * sin(11/7 - t) + 13/7 * sin(2 * t + 11/7) + 3/7 * sin(5 * t + 33/7) + 3/11 * sin(6 * t + 33/7) + 1/27 * sin(8 * t + 75/16) + 1/15 * sin(9 * t + 47/10) + 1/15 * sin(11 * t + 47/10) + 1/66 * sin(12 * t + 8/5) + 1/42 * sin(13 * t + 11/7) + 1/47 * sin(14 * t + 11/7) + 1/41 * sin(15 * t + 33/7) + 262/7) * θ(31 * π - t) * θ(t - 27 * π) + (-1/27 * sin(23/15 - 36 * t) - 1/26 * sin(14/9 - 32 * t) - 1/7 * sin(23/15 - 17 * t) - 4 * sin(11/7 - 2 * t) - 5 * sin(11/7 - t) + 53/18 * sin(3 * t + 19/12) + 2/7 * sin(4 * t + 9/5) + 33/8 * sin(5 * t + 8/5) + 7/3 * sin(6 * t + 21/13) + 2/5 * sin(7 * t + 79/17) + 11/16 * sin(8 * t + 61/13) + 12/11 * sin(9 * t + 13/8) + 11/16 * sin(10 * t + 5/3) + 1/6 * sin(11 * t + 12/7) + 1/14 * sin(12 * t + 60/13) + 2/9 * sin(13 * t + 23/14) + 1/7 * sin(14 * t + 7/4) + 2/9 * sin(15 * t + 5/3) + 1/25 * sin(18 * t + 37/8) + 2/9 * sin(19 * t + 18/11) + 1/94 * sin(20 * t + 29/11) + 1/29 * sin(22 * t + 32/7) + 1/12 * sin(23 * t + 19/11) + 1/12 * sin(24 * t + 11/6) + 1/8 * sin(25 * t + 12/7) + 1/23 * sin(26 * t + 32/7) + 1/70 * sin(27 * t + 15/7) + 1/11 * sin(28 * t + 16/9) + 1/14 * sin(29 * t + 7/4) + 1/31 * sin(30 * t + 32/7) + 1/99 * sin(31 * t + 13/8) + 1/19 * sin(33 * t + 17/10) + 1/40 * sin(34 * t + 19/10) + 1/64 * sin(35 * t + 17/10) + 1/32 * sin(37 * t + 19/11) + 1/54 * sin(38 * t + 28/13) + 1/17 * sin(39 * t + 23/13) + 1/26 * sin(40 * t + 33/7) + 604/17) * θ(27 * π - t) * θ(t - 23 * π) + (-1/85 * sin(16/11 - 22 * t) - 1/38 * sin(20/13 - 17 * t) - 2/5 * sin(11/7 - 10 * t) - 8/11 * sin(11/7 - 6 * t) + 27/2 * sin(t + 33/7) + 11/12 * sin(2 * t + 19/12) + 23/17 * sin(3 * t + 33/7) + 17/14 * sin(4 * t + 14/9) + 19/10 * sin(5 * t + 14/9) + sin(7 * t + 14/9) + 17/10 * sin(8 * t + 14/9) + 4/9 * sin(9 * t + 20/13) + 5/12 * sin(11 * t + 14/9) + 1/4 * sin(12 * t + 14/9) + 3/8 * sin(13 * t + 61/13) + 2/11 * sin(14 * t + 75/16) + 3/11 * sin(15 * t + 17/11) + 1/8 * sin(16 * t + 35/23) + 1/69 * sin(18 * t + 22/15) + 1/64 * sin(19 * t + 3/2) + 1/31 * sin(21 * t + 11/7) + 1/19 * sin(23 * t + 20/13) + 1/53 * sin(24 * t + 14/3) + 1/23 * sin(25 * t + 23/5) + 1/11 * sin(26 * t + 14/3) + 1/14 * sin(27 * t + 11/7) + 1/22 * sin(28 * t + 61/13) + 1/19 * sin(29 * t + 37/8) + 1/30 * sin(30 * t + 51/11) + 1/18 * sin(31 * t + 11/7) + 1/19 * sin(32 * t + 75/16) + 1/48 * sin(33 * t + 47/10) + 1/12 * sin(34 * t + 25/17) + 1/21 * sin(35 * t + 22/15) + 1/46 * sin(36 * t + 61/13) + 371/9) * θ(23 * π - t) * θ(t - 19 * π) + (-1/14 * sin(13/9 - 42 * t) - 1/19 * sin(19/13 - 40 * t) - 1/9 * sin(22/15 - 38 * t) - 1/26 * sin(13/9 - 34 * t) - 1/18 * sin(11/7 - 31 * t) - 1/20 * sin(19/14 - 28 * t) - 1/5 * sin(19/13 - 27 * t) - 1/8 * sin(20/13 - 24 * t) - 1/23 * sin(14/11 - 23 * t) - 1/7 * sin(14/9 - 22 * t) - 1/19 * sin(26/17 - 20 * t) - 2/7 * sin(3/2 - 18 * t) - 1/29 * sin(19/13 - 17 * t) - 2/5 * sin(20/13 - 15 * t) - 1/67 * sin(13/10 - 13 * t) - 6/7 * sin(29/19 - 12 * t) - 7/10 * sin(14/9 - 11 * t) - 31/9 * sin(17/11 - 8 * t) - 16/9 * sin(20/13 - 7 * t) - 52/15 * sin(14/9 - 4 * t) - 33/7 * sin(14/9 - 3 * t) - 615/28 * sin(14/9 - 2 * t) - 39/11 * sin(14/9 - t) + 1/12 * sin(5 * t + 6/5) + 14/5 * sin(6 * t + 8/5) + 9/11 * sin(9 * t + 19/12) + 9/8 * sin(10 * t + 8/5) + 11/21 * sin(14 * t + 21/13) + 5/13 * sin(16 * t + 28/17) + 3/13 * sin(19 * t + 23/14) + 1/4 * sin(21 * t + 21/13) + 3/13 * sin(25 * t + 18/11) + 1/10 * sin(26 * t + 7/4) + 2/9 * sin(29 * t + 5/3) + 1/75 * sin(30 * t + 43/17) + 1/9 * sin(32 * t + 27/16) + 1/21 * sin(33 * t + 13/8) + 1/24 * sin(35 * t + 20/11) + 1/13 * sin(36 * t + 9/5) + 1/44 * sin(37 * t + 13/11) + 1/17 * sin(39 * t + 13/8) + 1/14 * sin(41 * t + 17/10) + 179/2) * θ(19 * π - t) * θ(t - 15 * π) + (-15/14 * sin(11/7 - 4 * t) + 21/2 * sin(t + 11/7) + 59/8 * sin(2 * t + 33/7) + 8/17 * sin(3 * t + 8/5) + 10/21 * sin(5 * t + 75/16) + 17/8 * sin(6 * t + 47/10) + 7/13 * sin(7 * t + 47/10) + 1/4 * sin(8 * t + 11/7) + 43/44 * sin(9 * t + 14/9) + 1/3 * sin(11 * t + 47/10) + 1/2 * sin(12 * t + 47/10) + 1/15 * sin(13 * t + 61/13) + 1/52 * sin(15 * t + 13/8) + 1/10 * sin(16 * t + 33/7) + 1/9 * sin(17 * t + 11/7) + 1/22 * sin(18 * t + 47/10) + 1/10 * sin(20 * t + 14/3) + 1/51 * sin(21 * t + 5/3) + 1/24 * sin(22 * t + 79/17) + 1/22 * sin(23 * t + 51/11) + 1/11 * sin(24 * t + 47/10) + 1/42 * sin(26 * t + 3/2) + 1/17 * sin(27 * t + 17/11) + 1/22 * sin(28 * t + 65/14) + 1/31 * sin(29 * t + 23/5) + 1/19 * sin(30 * t + 14/3) + 1/41 * sin(32 * t + 14/3) + 1/84 * sin(33 * t + 17/11) + 917/12) * θ(15 * π - t) * θ(t - 11 * π) + (-1/43 * sin(4/11 - 53 * t) - 1/13 * sin(13/9 - 50 * t) - 1/13 * sin(14/11 - 46 * t) - 1/11 * sin(17/13 - 45 * t) - 1/6 * sin(11/8 - 43 * t) - 1/10 * sin(14/11 - 41 * t) - 1/5 * sin(14/9 - 36 * t) - 1/7 * sin(18/17 - 35 * t) - 1/7 * sin(8/7 - 34 * t) - 2/9 * sin(11/8 - 33 * t) - 3/8 * sin(26/17 - 26 * t) - 9/11 * sin(19/13 - 24 * t) - 3/11 * sin(13/9 - 21 * t) - 10/19 * sin(13/9 - 17 * t) - 25/19 * sin(13/9 - 16 * t) - 9/11 * sin(17/12 - 13 * t) - 9/8 * sin(19/13 - 12 * t) - 3/7 * sin(11/9 - 9 * t) - 192/35 * sin(23/15 - 8 * t) - 50/7 * sin(17/11 - 6 * t) - 16/5 * sin(23/15 - 3 * t) - 144/7 * sin(14/9 - 2 * t) - 24/7 * sin(14/9 - t) + 59/20 * sin(4 * t + 13/8) + 7/11 * sin(5 * t + 4/3) + 26/9 * sin(7 * t + 14/9) + 21/20 * sin(10 * t + 17/10) + 5/7 * sin(11 * t + 5/3) + 2/7 * sin(14 * t + 11/6) + 15/11 * sin(15 * t + 5/3) + 5/4 * sin(18 * t + 17/10) + 1/4 * sin(19 * t + 2) + 1/3 * sin(20 * t + 13/8) + 1/8 * sin(22 * t + 15/7) + 9/11 * sin(23 * t + 27/16) + 2/11 * sin(25 * t + 7/6) + 1/8 * sin(27 * t + 32/21) + 1/6 * sin(28 * t + 19/10) + 3/11 * sin(29 * t + 69/35) + 6/13 * sin(30 * t + 16/9) + 1/16 * sin(31 * t + 38/11) + 3/13 * sin(32 * t + 5/3) + 5/11 * sin(37 * t + 7/4) + 1/7 * sin(38 * t + 30/7) + 5/11 * sin(39 * t + 20/11) + 1/10 * sin(40 * t + 42/17) + 1/35 * sin(42 * t + 8/13) + 1/12 * sin(44 * t + 11/7) + 1/5 * sin(47 * t + 27/14) + 1/14 * sin(48 * t + 37/15) + 1/36 * sin(49 * t + 16/11) + 1/9 * sin(51 * t + 17/9) + 1/25 * sin(52 * t + 12/5) + 944/11) * θ(11 * π - t) * θ(t - 7 * π) + (-3/13 * sin(3/10 - 2 * t) + 21/10 * sin(t + 11/4) + 1/6 * sin(3 * t + 53/18) + 1/13 * sin(4 * t + 4/9) - 176/9) * θ(7 * π - t) * θ(t - 3 * π) + (-1/94 * sin(11/10 - 22 * t) - 1/75 * sin(2/3 - 20 * t) - 1/87 * sin(21/16 - 18 * t) - 1/58 * sin(1/6 - 14 * t) - 1/24 * sin(1/5 - 12 * t) - 1/20 * sin(9/7 - 10 * t) - 1/54 * sin(19/18 - 8 * t) - 1/7 * sin(21/20 - 6 * t) - 7/11 * sin(1/8 - 2 * t) + 38/7 * sin(t + 17/8) + 3/7 * sin(3 * t + 14/11) + 1/11 * sin(4 * t + 53/13) + 2/9 * sin(5 * t + 10/7) + 1/15 * sin(7 * t + 5/6) + 1/10 * sin(9 * t + 7/6) + 1/22 * sin(11 * t + 7/9) + 1/35 * sin(13 * t + 7/10) + 1/51 * sin(15 * t + 18/13) + 1/74 * sin(21 * t + 33/13) + 269/5) * θ(3 * π - t) * θ(t + π)) * θ(sqrt(sgn(sin(t/2))))"
let theta = { (value: Double) in value < 0.0 ? 0.0 : (value == 0.0 ? 0.5 : 1.0) }
let sign = { (value: Double) in value < 0.0 ? -1.0 : (value == 0.0 ? 0.0 : 1.0) }
var t: Double = 0.0
let constants: [String : Double] = ["π": Double.pi]
let symbols: [Expression.Symbol: Expression.SymbolEvaluator] = [
.variable("t"): { _ in t },
.function("θ", arity: 1): { args in theta(args[0]) },
.function("sgn", arity: 1): { args in sign(args[0]) },
.function("sqrt", arity: 1): { args in args[0].squareRoot() },
.function("sin", arity: 1): { args in sin(args[0]) }
]
let xt = Expression(Xt, constants: constants, symbols: symbols)
let yt = Expression(Yt, constants: constants, symbols: symbols)
for v in stride(from: 0.0, to: 108.0 * .pi, by: 1) {
t = v
let x = try! xt.evaluate()
let y = try! yt.evaluate()
print(x, y)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment