#-------------------------------------------------------------------------------
# Copyright 2012 Yuriy Lagodiuk
# 
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
# 
#   http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#-------------------------------------------------------------------------------
Target function is (x * 5) + (y * (y - 4)) + (x * y)
Training set - are values of target function on interval
x: [-10, -8, -6, .. 8, 10]
y: [-10, -8, -6, .. 8, 10]

Func = (y * (-7.797663204431727))
0 	 316935.9250942633
1 	 316935.9250942633
2 	 316935.9250942633
Func = (y * y)
3 	 244200.0
Func = (y * (y * 1.1588316015482345))
4 	 239097.63073108892
Func = (y * (y * 1.1535039350712921))
5 	 239094.35462510298
Func = (y * (y - 4.844935049184743))
6 	 164126.68852168738
7 	 164126.68852168738
8 	 164126.68852168738
Func = (y * (y - 4.854000668373054))
9 	 164126.47440481372
10 	 164126.47440481372
11 	 164126.47440481372
12 	 164126.47440481372
13 	 164126.47440481372
14 	 164126.47440481372
Func = (1.1406209980442297 * (((y - 5.404230764281359) * (y * 0.010830292198093616)) * 74.98684939119586))
15 	 162849.98692642726
16 	 162849.98692642726
Func = ((y - 6.059334515647925) * (y - (-0.9460534341946336)))
17 	 161780.6851297442
18 	 161780.6851297442
19 	 161780.6851297442
20 	 161780.6851297442
Func = ((y - 5.933326267694056) * (y - (-0.8422862298159024)))
21 	 161728.2252222542
Func = (((y - 1.8643898665601233) - 4.041516473484696) * (y - (-0.8874246408074549)))
22 	 161706.08071454434
23 	 161706.08071454434
Func = ((y - 5.814816977332237) * ((((y - (-0.05193325712269248)) - 0.11955642251682885) - (-0.35553147593617673)) - (-0.5540581158629498)))
24 	 161703.02484177813
Func = ((y - 5.853509411398285) * (y - (-0.8396639629390799)))
25 	 161701.61001796887
Func = ((y - 5.838305707724376) * (y - (-0.8396639629390799)))
26 	 161700.9359015257
Func = ((y - 5.853509411398285) * (y - (-0.8486175514608183)))
27 	 161700.2196027375
28 	 161700.2196027375
29 	 161700.2196027375
30 	 161700.2196027375
31 	 161700.2196027375
Func = (y * (y - (((((38.665496366184456 - x) - 2.7218422201956414) - 4.01166057371064) - 13.858224476645937) - 14.218651012959798)))
32 	 84926.48670056542
33 	 84926.48670056542
34 	 84926.48670056542
35 	 84926.48670056542
36 	 84926.48670056542
37 	 84926.48670056542
38 	 84926.48670056542
39 	 84926.48670056542
40 	 84926.48670056542
Func = ((((x + (-6.558675061974266)) - ((-2.236446433364211) * y)) - y) * (y - (-2.744276672121867)))
41 	 29236.231080703677
42 	 29236.231080703677
43 	 29236.231080703677
Func = ((((x + (-6.553265120566566)) - ((-2.236446433364211) * y)) - y) * (y - (-2.6617437168137466)))
44 	 29086.709222210222
Func = ((((x + (-6.425100534954163)) - ((-2.236446433364211) * y)) - y) * (y - (-2.633398474704462)))
45 	 29023.694576202535
46 	 29023.694576202535
47 	 29023.694576202535
48 	 29023.694576202535
49 	 29023.694576202535
50 	 29023.694576202535
Func = ((((x + (-3.8468562304577194)) - ((-1.25404572733936) * y)) - 2.6132505331233618) * (y - (-2.637169104721732)))
51 	 28992.776155854852
Func = ((((x + (-5.814456055363133)) - ((-1.2715082810253864) * y)) - 0.5209644421837818) * (((1.4037643227631404 - ((-1.055289153449131) * y)) + (-2.7826986196993966)) - (-4.386106231302403)))
52 	 28822.290929639745
53 	 28822.290929639745
54 	 28822.290929639745
55 	 28822.290929639745
56 	 28822.290929639745
57 	 28822.290929639745
58 	 28822.290929639745
Func = (((((x + (x + (-9.250237260973588))) + ((x + (-6.9599065422420905)) - ((-0.10675437443886482) * y))) - ((-3.3772840098795354) * y)) - 1.1862379260474807) * (((1.179773309712701 * y) - (0.8199697009488547 * y)) - (-0.8887262519604184)))
59 	 28313.90014650802
60 	 28313.90014650802
Func = (((((x + (x + (-8.944576457931369))) + ((x + (-5.75643687456531)) - (1.2693738660911449 * y))) - ((-4.696920146553347) * y)) - 2.7154799627605346) * (((1.179773309712701 * y) - (0.8199697009488547 * y)) - (-0.9052695492464689)))
61 	 27977.301546661893
Func = (((((x + (x + (-8.944576457931369))) + ((x + (-5.75643687456531)) - (1.2693738660911449 * y))) - ((-4.696920146553347) * y)) - 2.7154799627605346) * (((1.179773309712701 * y) - (0.8199697009488547 * y)) - (-0.941113036824428)))
62 	 27774.774272530754
63 	 27774.774272530754
64 	 27774.774272530754
65 	 27774.774272530754
66 	 27774.774272530754
67 	 27774.774272530754
68 	 27774.774272530754
69 	 27774.774272530754
70 	 27774.774272530754
71 	 27774.774272530754
72 	 27774.774272530754
73 	 27774.774272530754
74 	 27774.774272530754
Func = (((((x + (x + (-10.258618951954915))) + ((x + (-6.730214841238924)) - ((-3.4656673551152544) * y))) - (-5.12742286456708)) - 5.77100379177667) * (((1.179773309712701 * y) - (0.8199697009488547 * y)) - (-0.941113036824428)))
75 	 27730.52145934399
76 	 27730.52145934399
77 	 27730.52145934399
78 	 27730.52145934399
79 	 27730.52145934399
80 	 27730.52145934399
81 	 27730.52145934399
82 	 27730.52145934399
83 	 27730.52145934399
84 	 27730.52145934399
85 	 27730.52145934399
Func = ((((((-1.3068409391377402) * y) + (-19.363233768504184)) + (x + 13.742683640200518)) - (((-0.5369739254909405) * y) - (2.013678038133908 * y))) * (((0.19848962775153067 * ((5.389090057061919 * y) - (x + (-7.154592659558217)))) - (-5.916837428268062)) - 5.256932680690337))
86 	 24779.540995405958
87 	 24779.540995405958
Func = ((((((-0.1965031652370648) * y) + (-19.23664545455447)) + (x + 14.14149175607692)) - ((-1.3883001232978325) * y)) * (((0.19848962775153067 * ((5.617176155304239 * y) - (x + (-10.668378555717169)))) - (-8.351070309110678)) - 8.387584143973147))
88 	 23357.22307462563
89 	 23357.22307462563
90 	 23357.22307462563
91 	 23357.22307462563
Func = (((((0.9880750339856554 * y) + (-21.179721979919442)) + (x + 9.166131340058978)) - (-7.859443010055858)) * (((0.19848962775153067 * ((6.453358977699475 * y) - (x + (-6.26926401732272)))) - (-7.718201139854796)) - 6.488611491611115))
92 	 22665.827092008163
93 	 22665.827092008163
Func = (((y + ((x + 0.5833645589331189) - 11.451983735383383)) - (-6.475453656645088)) * (((0.19848962775153067 * ((6.453358977699475 * y) - (x + (-7.285799606467457)))) - (-7.496433021063102)) - 6.488611491611115))
94 	 21911.851218003983
95 	 21911.851218003983
Func = (((y + ((x + 1.4438565997699415) - 12.610736202988022)) - (-6.475453656645088)) * (((0.19848962775153067 * ((6.166742428465788 * y) - (x + (-12.929117780997922)))) - (-3.7501563947090935)) - 4.128187287521685))
96 	 21457.55289186243
97 	 21457.55289186243
98 	 21457.55289186243
99 	 21457.55289186243
100 	 21457.55289186243
Func = (((y + ((x + 3.305784617683181) - 16.206862486074563)) - (-8.26285402019634)) * (((0.17571943697714376 * ((7.042792631812955 * y) - (x + 9.848446509743557))) - (-7.585109335627475)) - 3.5302235435981126))
101 	 21332.445536463445
102 	 21332.445536463445
103 	 21332.445536463445
104 	 21332.445536463445
105 	 21332.445536463445
106 	 21332.445536463445
107 	 21332.445536463445
108 	 21332.445536463445
109 	 21332.445536463445
110 	 21332.445536463445
111 	 21332.445536463445
112 	 21332.445536463445
113 	 21332.445536463445
Func = (((y + ((x + 3.305784617683181) - 16.206862486074563)) - (-8.26285402019634)) * (((0.17571943697714376 * ((7.042751215625639 * y) - (x + 9.064548013679033))) - (-7.585109335627475)) - 3.6525522215690125))
114 	 21330.24483597116
Func = (((y + ((x + 3.305784617683181) - 16.206862486074563)) - (-8.210138301710218)) * (((0.17571943697714376 * ((7.042792631812955 * y) - (x + 9.848446509743557))) - (-7.585109335627475)) - 3.5302235435981126))
115 	 21328.49530108118
116 	 21328.49530108118
117 	 21328.49530108118
118 	 21328.49530108118
119 	 21328.49530108118
120 	 21328.49530108118
121 	 21328.49530108118
122 	 21328.49530108118
123 	 21328.49530108118
124 	 21328.49530108118
125 	 21328.49530108118
126 	 21328.49530108118
127 	 21328.49530108118
Func = ((((0.17694281632791142 * (5.7764695065374205 * y)) + ((x + 3.305784617683181) - 16.206862486074563)) - (-8.210138301710218)) * (((0.17571943697714376 * ((7.042792631812955 * y) - (x + 9.848446509743557))) - (-7.680980709136224)) - 3.5302235435981126))
128 	 21126.800113005098
129 	 21126.800113005098
130 	 21126.800113005098
131 	 21126.800113005098
132 	 21126.800113005098
133 	 21126.800113005098
134 	 21126.800113005098
135 	 21126.800113005098
136 	 21126.800113005098
137 	 21126.800113005098
138 	 21126.800113005098
139 	 21126.800113005098
140 	 21126.800113005098
141 	 21126.800113005098
142 	 21126.800113005098
143 	 21126.800113005098
144 	 21126.800113005098
145 	 21126.800113005098
146 	 21126.800113005098
147 	 21126.800113005098
148 	 21126.800113005098
149 	 21126.800113005098
150 	 21126.800113005098
Func = ((((0.17694281632791142 * (5.7764695065374205 * y)) + ((x + 3.849895324393888) - 16.79216391315846)) - (-8.210138301710218)) * (((0.17571943697714376 * ((7.042792631812955 * y) - (x + 9.848446509743557))) - (-7.680980709136224)) - 3.5302235435981126))
151 	 21119.190436463025
152 	 21119.190436463025
153 	 21119.190436463025
154 	 21119.190436463025
155 	 21119.190436463025
156 	 21119.190436463025
157 	 21119.190436463025
158 	 21119.190436463025
159 	 21119.190436463025
160 	 21119.190436463025
161 	 21119.190436463025
162 	 21119.190436463025
163 	 21119.190436463025
164 	 21119.190436463025
165 	 21119.190436463025
166 	 21119.190436463025
167 	 21119.190436463025
168 	 21119.190436463025
169 	 21119.190436463025
170 	 21119.190436463025
171 	 21119.190436463025
172 	 21119.190436463025
173 	 21119.190436463025
174 	 21119.190436463025
175 	 21119.190436463025
176 	 21119.190436463025
177 	 21119.190436463025
178 	 21119.190436463025
179 	 21119.190436463025
180 	 21119.190436463025
181 	 21119.190436463025
182 	 21119.190436463025
183 	 21119.190436463025
184 	 21119.190436463025
185 	 21119.190436463025
186 	 21119.190436463025
187 	 21119.190436463025
188 	 21119.190436463025
189 	 21119.190436463025
190 	 21119.190436463025
191 	 21119.190436463025
192 	 21119.190436463025
193 	 21119.190436463025
194 	 21119.190436463025
195 	 21119.190436463025
196 	 21119.190436463025
197 	 21119.190436463025
198 	 21119.190436463025
Func = ((((0.17694281632791142 * (5.8867696946869055 * y)) + ((x + 10.9531821452652) - 17.04325751500685)) - (-1.0792925401826956)) * (((0.17571943697714376 * ((6.686369396541136 * y) - (x + 10.17848613704342))) - (-6.608430165497714)) - 2.647396031169156))
199 	 21086.578344089925
((((0.17694281632791142 * (5.8867696946869055 * y)) + ((x + 10.9531821452652) - 17.04325751500685)) - (-1.0792925401826956)) * (((0.17571943697714376 * ((6.686369396541136 * y) - (x + 10.17848613704342))) - (-6.608430165497714)) - 2.647396031169156))
