#-------------------------------------------------------------------------------
# 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 is derivative of function f(x) = x^3 + 10*x + 3^x
Training set are values (f(x+dx) - f(x))/dx
x: [-10, -9.5, -8 ..10]
dx = 0.01

Func = 109.64977577815877
0 	 6.433174489108634E9
Func = (x * (x * x))
1 	 6.218170370830117E9
Func = (152.85612008140944 * (x * x))
2 	 4.357139286983992E9
3 	 4.357139286983992E9
4 	 4.357139286983992E9
Func = ((146.85963807919956 * (x * (x * x))) / 7.754806071541476)
5 	 4.042479410774492E9
Func = ((146.82207834305945 * (x * (x * x))) / 7.754806071541476)
6 	 4.042479346747694E9
Func = ((117.4047803743754 * ((x * x) * (x * x))) / 52.09747875865136)
7 	 3.6713051402935305E9
Func = ((117.35323711757636 * ((x * x) * (x * x))) / 52.09747875865136)
8 	 3.6713045734101534E9
Func = ((x * ((x * x) * (x * x))) / 4.126969838569372)
9 	 3.5774063589728093E9
10 	 3.5774063589728093E9
Func = ((x * ((x * (x * x)) * (x * x))) / 36.63783772357264)
11 	 3.3550402002124825E9
12 	 3.3550402002124825E9
13 	 3.3550402002124825E9
14 	 3.3550402002124825E9
15 	 3.3550402002124825E9
Func = ((1.9446676324360634 * (x * (((x * x) * x) * (x * x)))) / 71.24605134378454)
16 	 3.3550401648771048E9
17 	 3.3550401648771048E9
18 	 3.3550401648771048E9
Func = ((1.9446676324360634 * (x * (((x * x) * x) * (x * x)))) / 71.23181584131068)
19 	 3.3550400971281233E9
20 	 3.3550400971281233E9
21 	 3.3550400971281233E9
22 	 3.3550400971281233E9
23 	 3.3550400971281233E9
24 	 3.3550400971281233E9
25 	 3.3550400971281233E9
Func = (((x * (x * (x * x))) * ((x * (x * (0.39441399389626053 * x))) * (0.048826898862701196 * x))) / 63.12981003658451)
26 	 3.2251079260362844E9
27 	 3.2251079260362844E9
Func = (((x * (x * (x * x))) * ((x * (x * (4.314107866748613 + x))) * (0.024904434905545614 * x))) / 80.26450749499529)
28 	 1.0035788179953475E9
Func = (((x * (9.560968751579718 + x)) * ((x * (x * (x * x))) * (0.21840764073813634 * x))) / 76.58521557535352)
29 	 2.5243029415654135E8
30 	 2.5243029415654135E8
31 	 2.5243029415654135E8
32 	 2.5243029415654135E8
33 	 2.5243029415654135E8
34 	 2.5243029415654135E8
35 	 2.5243029415654135E8
36 	 2.5243029415654135E8
Func = (((x * (9.555013152005529 + x)) * (((x + x) * (x * 0.06599738986750836)) * ((x * x) * x))) / 46.22718519859549)
37 	 2.5239906542695644E8
38 	 2.5239906542695644E8
Func = ((x * (9.451826939117623 + x)) * (((sqrt(abs((5.942944607476102 - x))) * x) * (x * x)) * (0.014239814401974638 * x)))
39 	 2.2464070791931325E8
40 	 2.2464070791931325E8
41 	 2.2464070791931325E8
42 	 2.2464070791931325E8
43 	 2.2464070791931325E8
44 	 2.2464070791931325E8
45 	 2.2464070791931325E8
46 	 2.2464070791931325E8
47 	 2.2464070791931325E8
48 	 2.2464070791931325E8
49 	 2.2464070791931325E8
Func = ((((-6.351922218746511) + x) * (8.663539268245092 + x)) * (((sqrt(abs((7.128727283980184 - x))) * x) * (x * x)) * (0.01307318444295591 * (sqrt(abs((x - (-9.755672223086037)))) * x))))
50 	 1.8359943519738394E8
51 	 1.8359943519738394E8
52 	 1.8359943519738394E8
53 	 1.8359943519738394E8
Func = ((((-2.757759711570742) + sqrt(abs(((-0.8654199930065092) - x)))) * (9.795310678053845 + x)) * (((sqrt(abs(79.96273609454731)) * x) * (x * x)) * (0.01307318444295591 * (sqrt(abs((x - (-13.088754291968938)))) * x))))
54 	 9.428829934095275E7
55 	 9.428829934095275E7
56 	 9.428829934095275E7
57 	 9.428829934095275E7
Func = ((((-2.68403948718011) + sqrt(abs(((-1.8257486185410818) - x)))) * (9.277068226736016 + x)) * (((sqrt(abs((x * x))) * x) * (x * x)) * (0.01307318444295591 * (sqrt(abs(x)) * x))))
58 	 6.556025990050476E7
Func = ((((-4.117686352302021) + sqrt(abs(((-4.602384508929739) - (x + x))))) * (8.123588671796426 + x)) * (((sqrt(abs((x * x))) * x) * (x * x)) * (0.01307318444295591 * (sqrt(abs(x)) * x))))
59 	 4.1179893542209946E7
60 	 4.1179893542209946E7
61 	 4.1179893542209946E7
62 	 4.1179893542209946E7
63 	 4.1179893542209946E7
Func = ((((-4.117686352302021) + sqrt(abs(((-4.57544846762388) - (x + x))))) * (7.9524378855439215 + x)) * (((sqrt(abs((x * x))) * x) * (x * x)) * (0.01307318444295591 * (sqrt(abs(x)) * x))))
64 	 4.002467177585134E7
Func = ((x * (x * x)) + (3.0160804323861425 ^ x))
65 	 1.325602039102765E7
Func = ((x * (x * x)) + (3.0229149011962964 ^ x))
66 	 7180143.216776712
Func = ((x * (x + (1.6824066273343554 ^ x))) + (3.0229149011962964 ^ x))
67 	 290497.27486719325
Func = ((x * (x + (1.6587882453430076 ^ x))) + (3.0229149011962964 ^ x))
68 	 242605.43910943644
Func = (((x * (x + (1.6587882453430076 ^ x))) + (3.0229149011962964 ^ x)) + 44.07333900390181)
69 	 163119.4335504172
70 	 163119.4335504172
71 	 163119.4335504172
Func = (((x * (x + (1.6587882453430076 ^ x))) + (3.0229149011962964 ^ x)) + (0.6285719250608786 ^ x))
72 	 121467.41096588725
73 	 121467.41096588725
74 	 121467.41096588725
Func = (((x * ((-13.336252869762774) + (1.68626799811129 ^ x))) + (3.0229149011962964 ^ x)) + 30.44399629893308)
75 	 113628.2751362324
76 	 113628.2751362324
Func = (((x * ((-13.382777765508543) + (1.68626799811129 ^ x))) + (3.0229149011962964 ^ x)) + 31.435942302690094)
77 	 111494.85049168814
78 	 111494.85049168814
79 	 111494.85049168814
Func = (((x * ((-13.382777765508543) + (1.68626799811129 ^ x))) + (3.0229149011962964 ^ x)) + 55.742310388752465)
80 	 84663.20813800766
Func = (((x * ((-13.382777765508543) + (1.68626799811129 ^ x))) + (3.0229149011962964 ^ x)) + 57.052764520150724)
81 	 84592.96279799407
82 	 84592.96279799407
83 	 84592.96279799407
84 	 84592.96279799407
85 	 84592.96279799407
86 	 84592.96279799407
87 	 84592.96279799407
88 	 84592.96279799407
89 	 84592.96279799407
90 	 84592.96279799407
91 	 84592.96279799407
92 	 84592.96279799407
93 	 84592.96279799407
94 	 84592.96279799407
95 	 84592.96279799407
Func = (((((x * (x + x)) + (3.0227743447403608 ^ x)) + 11.651070072928283) + (2.0782780619255736 ^ x)) + 21.516975944697798)
96 	 49313.1016601577
Func = (((((x * (x + (-2.5472995575326784))) + (3.0227743447403608 ^ x)) + 32.12833345693873) + (2.0782780619255736 ^ x)) + (x * x))
97 	 42377.6827203764
98 	 42377.6827203764
99 	 42377.6827203764
Func = (((((x * (x + x)) + (3.0227743447403608 ^ x)) + 9.572791065650954) + (2.0782780619255736 ^ x)) + (x * x))
100 	 26358.275721244667
Func = ((((35.53125252517408 + (3.0227743447403608 ^ x)) + ((((-20.291606123203444) + x) + 14.64432280143765) + (2.102455478564486 ^ x))) + (0.5819225718433412 ^ x)) + (x * x))
101 	 16319.039579397642
102 	 16319.039579397642
Func = ((((33.169472467694604 + (3.0227743447403608 ^ x)) + (((x + (-8.553774629446082)) + 7.740255412327109) + (2.102455478564486 ^ x))) + (0.5819225718433412 ^ x)) + (x * x))
103 	 16122.298784598543
Func = (((((0.5842237647120081 ^ x) + (3.0227743447403608 ^ x)) + (((x + 30.071577464649145) + (-3.3284630090326743)) + (2.102455478564486 ^ x))) + (0.7049311404210852 ^ x)) + (x * x))
104 	 14103.92822465458
105 	 14103.92822465458
Func = (((((0.5842237647120081 ^ x) + (3.0227743447403608 ^ x)) + (27.446538076252672 + (2.102455478564486 ^ x))) + (1.4309491873218803 ^ x)) + (x * x))
106 	 13353.392854350004
Func = (((((0.5842237647120081 ^ x) + (3.02236613191685 ^ x)) + 29.130680822095684) + (2.117062732354109 ^ x)) + (x * x))
107 	 12893.035527854994
Func = (((((0.5842237647120081 ^ x) + (3.02236613191685 ^ x)) + 29.066737264614357) + (2.117062732354109 ^ x)) + (x * x))
108 	 12892.613516338599
Func = (((((0.5842237647120081 ^ x) + (3.02236613191685 ^ x)) + 29.042851562588822) + (2.117062732354109 ^ x)) + (x * x))
109 	 12892.541889072567
110 	 12892.541889072567
Func = ((((16.750621160238104 + (3.0227743447403608 ^ x)) + (7.503636572735155 + (2.102455478564486 ^ x))) + (0.5071286408113616 ^ (((x + (-14.945320397380394)) + 18.448719514146724) + (10.242673797961922 ^ x)))) + (((x + (0.7140500213643302 * x)) + (-4.200014532927048)) * x))
111 	 4915.589085707631
112 	 4915.589085707631
Func = ((((18.122603413551655 + (3.0227743447403608 ^ x)) + (x + (2.102455478564486 ^ x))) + (0.419206670649769 ^ (((x + (-14.103961607922795)) + 19.87561556922841) + (2.8037774010362235 ^ x)))) + (((x + (0.989734085371968 * x)) + (-5.814072528223743)) * x))
113 	 4277.327206687451
114 	 4277.327206687451
115 	 4277.327206687451
116 	 4277.327206687451
117 	 4277.327206687451
118 	 4277.327206687451
119 	 4277.327206687451
120 	 4277.327206687451
121 	 4277.327206687451
122 	 4277.327206687451
123 	 4277.327206687451
124 	 4277.327206687451
125 	 4277.327206687451
Func = ((((17.427496123215562 + (3.0227743447403608 ^ x)) + (x + (2.102455478564486 ^ x))) + (0.3862899084896809 ^ (((x + (-0.3476736269055336)) + 6.066900784062549) + (2.6271785332851953 ^ x)))) + (((x + x) + (-5.720443207026344)) * x))
126 	 3967.6745201261324
127 	 3967.6745201261324
128 	 3967.6745201261324
Func = ((((13.581336509897604 + (3.0227743447403608 ^ x)) + (x + (2.102455478564486 ^ x))) + (0.7554158161317059 ^ (((x + x) + 6.69641553859699) + (1.539296427288483 ^ x)))) + (((x + (1.0832180337850685 * x)) + (-5.384372687306603)) * x))
129 	 3798.2615350088813
Func = ((((3.0227743447403608 ^ x) + (x + (2.102455478564486 ^ x))) + (0.13948571196849002 ^ ((-1.9499533011678976) + (0.4708545768090151 ^ x)))) + (((x + x) + (-9.326484744189356)) * x))
130 	 2513.3589425398936
Func = ((((3.0227743447403608 ^ x) + (x + (2.102455478564486 ^ x))) + (0.13948571196849002 ^ ((-1.9499533011678976) + (0.4708545768090151 ^ x)))) + (((x + x) + (-9.420645542804063)) * x))
131 	 2394.624241166934
Func = ((((3.0227743447403608 ^ x) + (x + (2.102455478564486 ^ x))) + (0.13948571196849002 ^ ((-1.9499533011678976) + (0.4708545768090151 ^ x)))) + (((x + x) + (-9.961821564685302)) * x))
132 	 2205.607840939216
Func = ((((3.0227743447403608 ^ x) + (x + (2.102455478564486 ^ x))) + (0.13948571196849002 ^ ((-1.9499533011678976) + (0.4708545768090151 ^ x)))) + (((x + x) + (-9.719032351082683)) * x))
133 	 2186.448046364718
134 	 2186.448046364718
Func = ((((3.0227743447403608 ^ x) + (x + (2.102455478564486 ^ x))) + (0.13948571196849002 ^ ((-1.9499533011678976) + (0.4708545768090151 ^ x)))) + ((((2.311713757352109 + x) + x) + (-12.132705977779384)) * x))
135 	 2173.889163528494
136 	 2173.889163528494
137 	 2173.889163528494
138 	 2173.889163528494
Func = ((((3.0227743447403608 ^ x) + (x + (2.102455478564486 ^ x))) + (0.13948571196849002 ^ ((-1.9499533011678976) + (0.4006053066135895 ^ x)))) + ((((2.311713757352109 + x) + x) + (-12.132705977779384)) * x))
139 	 2167.433992943317
Func = ((((3.0227743447403608 ^ x) + (x + (2.102455478564486 ^ x))) + (0.13948571196849002 ^ ((-1.9539498261600645) + (0.4708545768090151 ^ x)))) + ((((2.311713757352109 + x) + x) + (-12.132705977779384)) * x))
140 	 2145.2251165067555
141 	 2145.2251165067555
Func = ((((3.0227743447403608 ^ x) + (x + (2.102455478564486 ^ x))) + (0.13948571196849002 ^ ((-1.969702382856572) + (0.4708545768090151 ^ x)))) + ((((2.0963702261492507 + x) + x) + (-12.132705977779384)) * x))
142 	 2064.365843867753
143 	 2064.365843867753
Func = ((((3.0227743447403608 ^ x) + (x + (2.102455478564486 ^ x))) + (0.13948571196849002 ^ ((-1.969702382856572) + (0.4708545768090151 ^ x)))) + ((((2.0963702261492507 + x) + x) + (-12.040621315298468)) * x))
144 	 2051.3090391944284
145 	 2051.3090391944284
146 	 2051.3090391944284
147 	 2051.3090391944284
148 	 2051.3090391944284
149 	 2051.3090391944284
150 	 2051.3090391944284
Func = ((((3.0227743447403608 ^ x) + (x + (2.102455478564486 ^ x))) + (0.13948571196849002 ^ ((-2.002048457267678) + (0.4687847255773152 ^ x)))) + ((((1.9535667653163302 + x) + x) + (-12.040621315298468)) * x))
151 	 1985.7270667698356
Func = ((((3.0227743447403608 ^ x) + (x + (2.102455478564486 ^ x))) + (0.13948571196849002 ^ ((-2.002048457267678) + (0.5050189120240571 ^ x)))) + ((((1.9535667653163302 + x) + x) + (-12.040621315298468)) * x))
152 	 1978.5798128063502
153 	 1978.5798128063502
154 	 1978.5798128063502
155 	 1978.5798128063502
156 	 1978.5798128063502
Func = ((((3.0227743447403608 ^ x) + (x + (2.102455478564486 ^ x))) + (0.13948571196849002 ^ ((-2.002048457267678) + (0.5050189120240571 ^ x)))) + ((((1.9535667653163302 + x) + x) + (-12.071149723643902)) * x))
157 	 1977.1396986913803
158 	 1977.1396986913803
159 	 1977.1396986913803
160 	 1977.1396986913803
161 	 1977.1396986913803
162 	 1977.1396986913803
163 	 1977.1396986913803
164 	 1977.1396986913803
165 	 1977.1396986913803
166 	 1977.1396986913803
167 	 1977.1396986913803
168 	 1977.1396986913803
169 	 1977.1396986913803
170 	 1977.1396986913803
171 	 1977.1396986913803
172 	 1977.1396986913803
173 	 1977.1396986913803
174 	 1977.1396986913803
175 	 1977.1396986913803
176 	 1977.1396986913803
177 	 1977.1396986913803
178 	 1977.1396986913803
179 	 1977.1396986913803
180 	 1977.1396986913803
181 	 1977.1396986913803
182 	 1977.1396986913803
183 	 1977.1396986913803
184 	 1977.1396986913803
185 	 1977.1396986913803
186 	 1977.1396986913803
187 	 1977.1396986913803
188 	 1977.1396986913803
189 	 1977.1396986913803
Func = ((((3.0227743447403608 ^ x) + ((-1.387739086674642) + (2.102455478564486 ^ x))) + (0.13948571196849002 ^ ((-2.002048457267678) + (0.5050189120240571 ^ x)))) + ((((3.9985371839798014 + x) + x) + (-13.12791374392654)) * x))
190 	 1942.5950196857818
191 	 1942.5950196857818
192 	 1942.5950196857818
193 	 1942.5950196857818
Func = ((((3.0227743447403608 ^ x) + ((-1.0166651376810267) + (2.102455478564486 ^ x))) + (0.13948571196849002 ^ ((-2.002048457267678) + (0.5050189120240571 ^ x)))) + ((((3.9985371839798014 + x) + x) + (-13.12791374392654)) * x))
194 	 1936.40726418591
195 	 1936.40726418591
196 	 1936.40726418591
197 	 1936.40726418591
198 	 1936.40726418591
Func = ((((3.0227743447403608 ^ x) + ((-12.239440411314542) + (2.102455478564486 ^ x))) + (0.13948571196849002 ^ ((-2.2335077015658515) + (0.5050189120240571 ^ x)))) + ((((0.7108684661206528 + x) + x) + (-11.765417190571963)) * x))
199 	 1574.8350076402287
((((3.0227743447403608 ^ x) + ((-12.239440411314542) + (2.102455478564486 ^ x))) + (0.13948571196849002 ^ ((-2.2335077015658515) + (0.5050189120240571 ^ x)))) + ((((0.7108684661206528 + x) + x) + (-11.765417190571963)) * x))
