v0.14.0
one_over_1_minus_x_fast.hpp
Go to the documentation of this file.
1 inline void func1(double *restrict y, double *restrict a1)
2 {
3  y[0] += a1[0];
4  y[1] += a1[1];
5  y[2] += a1[2];
6  a1[0] *= 0.1;
7  a1[1] *= 0.1;
8  a1[2] *= 0.1;
9  return;
10 }
11 
12 inline void func2(double *restrict y, double *restrict a1, double *restrict a2)
13 {
14  y[0] += a1[0] + 2 * a2[0];
15  y[1] += a1[1] + 2 * a2[1];
16  y[2] += a1[2] + 2 * a2[2];
17  a1[0] *= 0.1;
18  a2[0] *= 0.2;
19  a1[1] *= 0.1;
20  a2[1] *= 0.2;
21  a1[2] *= 0.1;
22  a2[2] *= 0.2;
23  return;
24 }
25 
26 inline void func3(double *restrict y, double *restrict a1, double *restrict a2,
27  double *restrict a3)
28 {
29  y[0] += a1[0] + 2 * a2[0]
30  + 3 * (a1[0] * a2[0] + a1[1] * a2[1] + a1[2] * a2[2]) * a3[0];
31  y[1] += a1[1] + 2 * a2[1]
32  + 3 * (a1[0] * a2[0] + a1[1] * a2[1] + a1[2] * a2[2]) * a3[1];
33  y[2] += a1[2] + 2 * a2[2]
34  + 3 * (a1[0] * a2[0] + a1[1] * a2[1] + a1[2] * a2[2]) * a3[2];
35  a1[0] *= 0.1;
36  a2[0] *= 0.2;
37  a3[0] *= 0.3;
38  a1[1] *= 0.1;
39  a2[1] *= 0.2;
40  a3[1] *= 0.3;
41  a1[2] *= 0.1;
42  a2[2] *= 0.2;
43  a3[2] *= 0.3;
44  return;
45 }
46 
47 inline void func4(double *restrict y, double *restrict a1, double *restrict a2,
48  double *restrict a3, double *restrict a4)
49 {
50  y[0] += a1[0] + 2 * a2[0]
51  + 3 * (a1[0] * a2[0] + a1[1] * a2[1] + a1[2] * a2[2]) * a3[0]
52  + 4 * (a1[0] * a3[0] + a1[1] * a3[1] + a1[2] * a3[2])
53  * (a2[0] * a2[0] + a2[1] * a2[1] + a2[2] * a2[2]) * a4[0];
54  y[1] += a1[1] + 2 * a2[1]
55  + 3 * (a1[0] * a2[0] + a1[1] * a2[1] + a1[2] * a2[2]) * a3[1]
56  + 4 * (a1[0] * a3[0] + a1[1] * a3[1] + a1[2] * a3[2])
57  * (a2[0] * a2[0] + a2[1] * a2[1] + a2[2] * a2[2]) * a4[1];
58  y[2] += a1[2] + 2 * a2[2]
59  + 3 * (a1[0] * a2[0] + a1[1] * a2[1] + a1[2] * a2[2]) * a3[2]
60  + 4 * (a1[0] * a3[0] + a1[1] * a3[1] + a1[2] * a3[2])
61  * (a2[0] * a2[0] + a2[1] * a2[1] + a2[2] * a2[2]) * a4[2];
62  a1[0] *= 0.1;
63  a2[0] *= 0.2;
64  a3[0] *= 0.3;
65  a4[0] *= 0.4;
66  a1[1] *= 0.1;
67  a2[1] *= 0.2;
68  a3[1] *= 0.3;
69  a4[1] *= 0.4;
70  a1[2] *= 0.1;
71  a2[2] *= 0.2;
72  a3[2] *= 0.3;
73  a4[2] *= 0.4;
74  return;
75 }
76 
77 inline void
78 func5(double *restrict y, double *restrict a1, double *restrict a2,
79  double *restrict a3, double *restrict a4, double *restrict a5)
80 {
81  y[0] += a1[0] + 2 * a2[0]
82  + 3 * (a1[0] * a2[0] + a1[1] * a2[1] + a1[2] * a2[2]) * a3[0]
83  + 4 * (a1[0] * a3[0] + a1[1] * a3[1] + a1[2] * a3[2])
84  * (a2[0] * a2[0] + a2[1] * a2[1] + a2[2] * a2[2]) * a4[0]
85  + 5 * (a1[0] * a4[0] + a1[1] * a4[1] + a1[2] * a4[2])
86  * (a2[0] * a3[0] + a2[1] * a3[1] + a2[2] * a3[2]) * a5[0];
87  y[1] += a1[1] + 2 * a2[1]
88  + 3 * (a1[0] * a2[0] + a1[1] * a2[1] + a1[2] * a2[2]) * a3[1]
89  + 4 * (a1[0] * a3[0] + a1[1] * a3[1] + a1[2] * a3[2])
90  * (a2[0] * a2[0] + a2[1] * a2[1] + a2[2] * a2[2]) * a4[1]
91  + 5 * (a1[0] * a4[0] + a1[1] * a4[1] + a1[2] * a4[2])
92  * (a2[0] * a3[0] + a2[1] * a3[1] + a2[2] * a3[2]) * a5[1];
93  y[2] += a1[2] + 2 * a2[2]
94  + 3 * (a1[0] * a2[0] + a1[1] * a2[1] + a1[2] * a2[2]) * a3[2]
95  + 4 * (a1[0] * a3[0] + a1[1] * a3[1] + a1[2] * a3[2])
96  * (a2[0] * a2[0] + a2[1] * a2[1] + a2[2] * a2[2]) * a4[2]
97  + 5 * (a1[0] * a4[0] + a1[1] * a4[1] + a1[2] * a4[2])
98  * (a2[0] * a3[0] + a2[1] * a3[1] + a2[2] * a3[2]) * a5[2];
99  a1[0] *= 0.1;
100  a2[0] *= 0.2;
101  a3[0] *= 0.3;
102  a4[0] *= 0.4;
103  a5[0] *= 0.5;
104  a1[1] *= 0.1;
105  a2[1] *= 0.2;
106  a3[1] *= 0.3;
107  a4[1] *= 0.4;
108  a5[1] *= 0.5;
109  a1[2] *= 0.1;
110  a2[2] *= 0.2;
111  a3[2] *= 0.3;
112  a4[2] *= 0.4;
113  a5[2] *= 0.5;
114  return;
115 }
116 
117 inline void func6(double *restrict y, double *restrict a1, double *restrict a2,
118  double *restrict a3, double *restrict a4,
119  double *restrict a5, double *restrict a6)
120 {
121  y[0] += a1[0] + 2 * a2[0]
122  + 3 * (a1[0] * a2[0] + a1[1] * a2[1] + a1[2] * a2[2]) * a3[0]
123  + 4 * (a1[0] * a3[0] + a1[1] * a3[1] + a1[2] * a3[2])
124  * (a2[0] * a2[0] + a2[1] * a2[1] + a2[2] * a2[2]) * a4[0]
125  + 5 * (a1[0] * a4[0] + a1[1] * a4[1] + a1[2] * a4[2])
126  * (a2[0] * a3[0] + a2[1] * a3[1] + a2[2] * a3[2]) * a5[0]
127  + 6 * (a1[0] * a5[0] + a1[1] * a5[1] + a1[2] * a5[2])
128  * (a2[0] * a4[0] + a2[1] * a4[1] + a2[2] * a4[2])
129  * (a3[0] * a3[0] + a3[1] * a3[1] + a3[2] * a3[2]) * a6[0];
130  y[1] += a1[1] + 2 * a2[1]
131  + 3 * (a1[0] * a2[0] + a1[1] * a2[1] + a1[2] * a2[2]) * a3[1]
132  + 4 * (a1[0] * a3[0] + a1[1] * a3[1] + a1[2] * a3[2])
133  * (a2[0] * a2[0] + a2[1] * a2[1] + a2[2] * a2[2]) * a4[1]
134  + 5 * (a1[0] * a4[0] + a1[1] * a4[1] + a1[2] * a4[2])
135  * (a2[0] * a3[0] + a2[1] * a3[1] + a2[2] * a3[2]) * a5[1]
136  + 6 * (a1[0] * a5[0] + a1[1] * a5[1] + a1[2] * a5[2])
137  * (a2[0] * a4[0] + a2[1] * a4[1] + a2[2] * a4[2])
138  * (a3[0] * a3[0] + a3[1] * a3[1] + a3[2] * a3[2]) * a6[1];
139  y[2] += a1[2] + 2 * a2[2]
140  + 3 * (a1[0] * a2[0] + a1[1] * a2[1] + a1[2] * a2[2]) * a3[2]
141  + 4 * (a1[0] * a3[0] + a1[1] * a3[1] + a1[2] * a3[2])
142  * (a2[0] * a2[0] + a2[1] * a2[1] + a2[2] * a2[2]) * a4[2]
143  + 5 * (a1[0] * a4[0] + a1[1] * a4[1] + a1[2] * a4[2])
144  * (a2[0] * a3[0] + a2[1] * a3[1] + a2[2] * a3[2]) * a5[2]
145  + 6 * (a1[0] * a5[0] + a1[1] * a5[1] + a1[2] * a5[2])
146  * (a2[0] * a4[0] + a2[1] * a4[1] + a2[2] * a4[2])
147  * (a3[0] * a3[0] + a3[1] * a3[1] + a3[2] * a3[2]) * a6[2];
148  a1[0] *= 0.1;
149  a2[0] *= 0.2;
150  a3[0] *= 0.3;
151  a4[0] *= 0.4;
152  a5[0] *= 0.5;
153  a6[0] *= 0.6;
154  a1[1] *= 0.1;
155  a2[1] *= 0.2;
156  a3[1] *= 0.3;
157  a4[1] *= 0.4;
158  a5[1] *= 0.5;
159  a6[1] *= 0.6;
160  a1[2] *= 0.1;
161  a2[2] *= 0.2;
162  a3[2] *= 0.3;
163  a4[2] *= 0.4;
164  a5[2] *= 0.5;
165  a6[2] *= 0.6;
166  return;
167 }
168 
169 inline void
170 func7(double *restrict y, double *restrict a1, double *restrict a2,
171  double *restrict a3, double *restrict a4, double *restrict a5,
172  double *restrict a6, double *restrict a7)
173 {
174  y[0] += a1[0] + 2 * a2[0]
175  + 3 * (a1[0] * a2[0] + a1[1] * a2[1] + a1[2] * a2[2]) * a3[0]
176  + 4 * (a1[0] * a3[0] + a1[1] * a3[1] + a1[2] * a3[2])
177  * (a2[0] * a2[0] + a2[1] * a2[1] + a2[2] * a2[2]) * a4[0]
178  + 5 * (a1[0] * a4[0] + a1[1] * a4[1] + a1[2] * a4[2])
179  * (a2[0] * a3[0] + a2[1] * a3[1] + a2[2] * a3[2]) * a5[0]
180  + 6 * (a1[0] * a5[0] + a1[1] * a5[1] + a1[2] * a5[2])
181  * (a2[0] * a4[0] + a2[1] * a4[1] + a2[2] * a4[2])
182  * (a3[0] * a3[0] + a3[1] * a3[1] + a3[2] * a3[2]) * a6[0]
183  + 7 * (a1[0] * a6[0] + a1[1] * a6[1] + a1[2] * a6[2])
184  * (a2[0] * a5[0] + a2[1] * a5[1] + a2[2] * a5[2])
185  * (a3[0] * a4[0] + a3[1] * a4[1] + a3[2] * a4[2]) * a7[0];
186  y[1] += a1[1] + 2 * a2[1]
187  + 3 * (a1[0] * a2[0] + a1[1] * a2[1] + a1[2] * a2[2]) * a3[1]
188  + 4 * (a1[0] * a3[0] + a1[1] * a3[1] + a1[2] * a3[2])
189  * (a2[0] * a2[0] + a2[1] * a2[1] + a2[2] * a2[2]) * a4[1]
190  + 5 * (a1[0] * a4[0] + a1[1] * a4[1] + a1[2] * a4[2])
191  * (a2[0] * a3[0] + a2[1] * a3[1] + a2[2] * a3[2]) * a5[1]
192  + 6 * (a1[0] * a5[0] + a1[1] * a5[1] + a1[2] * a5[2])
193  * (a2[0] * a4[0] + a2[1] * a4[1] + a2[2] * a4[2])
194  * (a3[0] * a3[0] + a3[1] * a3[1] + a3[2] * a3[2]) * a6[1]
195  + 7 * (a1[0] * a6[0] + a1[1] * a6[1] + a1[2] * a6[2])
196  * (a2[0] * a5[0] + a2[1] * a5[1] + a2[2] * a5[2])
197  * (a3[0] * a4[0] + a3[1] * a4[1] + a3[2] * a4[2]) * a7[1];
198  y[2] += a1[2] + 2 * a2[2]
199  + 3 * (a1[0] * a2[0] + a1[1] * a2[1] + a1[2] * a2[2]) * a3[2]
200  + 4 * (a1[0] * a3[0] + a1[1] * a3[1] + a1[2] * a3[2])
201  * (a2[0] * a2[0] + a2[1] * a2[1] + a2[2] * a2[2]) * a4[2]
202  + 5 * (a1[0] * a4[0] + a1[1] * a4[1] + a1[2] * a4[2])
203  * (a2[0] * a3[0] + a2[1] * a3[1] + a2[2] * a3[2]) * a5[2]
204  + 6 * (a1[0] * a5[0] + a1[1] * a5[1] + a1[2] * a5[2])
205  * (a2[0] * a4[0] + a2[1] * a4[1] + a2[2] * a4[2])
206  * (a3[0] * a3[0] + a3[1] * a3[1] + a3[2] * a3[2]) * a6[2]
207  + 7 * (a1[0] * a6[0] + a1[1] * a6[1] + a1[2] * a6[2])
208  * (a2[0] * a5[0] + a2[1] * a5[1] + a2[2] * a5[2])
209  * (a3[0] * a4[0] + a3[1] * a4[1] + a3[2] * a4[2]) * a7[2];
210  a1[0] *= 0.1;
211  a2[0] *= 0.2;
212  a3[0] *= 0.3;
213  a4[0] *= 0.4;
214  a5[0] *= 0.5;
215  a6[0] *= 0.6;
216  a7[0] *= 0.7;
217  a1[1] *= 0.1;
218  a2[1] *= 0.2;
219  a3[1] *= 0.3;
220  a4[1] *= 0.4;
221  a5[1] *= 0.5;
222  a6[1] *= 0.6;
223  a7[1] *= 0.7;
224  a1[2] *= 0.1;
225  a2[2] *= 0.2;
226  a3[2] *= 0.3;
227  a4[2] *= 0.4;
228  a5[2] *= 0.5;
229  a6[2] *= 0.6;
230  a7[2] *= 0.7;
231  return;
232 }
233 
234 inline void
235 func8(double *restrict y, double *restrict a1, double *restrict a2,
236  double *restrict a3, double *restrict a4, double *restrict a5,
237  double *restrict a6, double *restrict a7, double *restrict a8)
238 {
239  y[0] += a1[0] + 2 * a2[0]
240  + 3 * (a1[0] * a2[0] + a1[1] * a2[1] + a1[2] * a2[2]) * a3[0]
241  + 4 * (a1[0] * a3[0] + a1[1] * a3[1] + a1[2] * a3[2])
242  * (a2[0] * a2[0] + a2[1] * a2[1] + a2[2] * a2[2]) * a4[0]
243  + 5 * (a1[0] * a4[0] + a1[1] * a4[1] + a1[2] * a4[2])
244  * (a2[0] * a3[0] + a2[1] * a3[1] + a2[2] * a3[2]) * a5[0]
245  + 6 * (a1[0] * a5[0] + a1[1] * a5[1] + a1[2] * a5[2])
246  * (a2[0] * a4[0] + a2[1] * a4[1] + a2[2] * a4[2])
247  * (a3[0] * a3[0] + a3[1] * a3[1] + a3[2] * a3[2]) * a6[0]
248  + 7 * (a1[0] * a6[0] + a1[1] * a6[1] + a1[2] * a6[2])
249  * (a2[0] * a5[0] + a2[1] * a5[1] + a2[2] * a5[2])
250  * (a3[0] * a4[0] + a3[1] * a4[1] + a3[2] * a4[2]) * a7[0]
251  + 8 * (a1[0] * a7[0] + a1[1] * a7[1] + a1[2] * a7[2])
252  * (a2[0] * a6[0] + a2[1] * a6[1] + a2[2] * a6[2])
253  * (a3[0] * a5[0] + a3[1] * a5[1] + a3[2] * a5[2])
254  * (a4[0] * a4[0] + a4[1] * a4[1] + a4[2] * a4[2]) * a8[0];
255  y[1] += a1[1] + 2 * a2[1]
256  + 3 * (a1[0] * a2[0] + a1[1] * a2[1] + a1[2] * a2[2]) * a3[1]
257  + 4 * (a1[0] * a3[0] + a1[1] * a3[1] + a1[2] * a3[2])
258  * (a2[0] * a2[0] + a2[1] * a2[1] + a2[2] * a2[2]) * a4[1]
259  + 5 * (a1[0] * a4[0] + a1[1] * a4[1] + a1[2] * a4[2])
260  * (a2[0] * a3[0] + a2[1] * a3[1] + a2[2] * a3[2]) * a5[1]
261  + 6 * (a1[0] * a5[0] + a1[1] * a5[1] + a1[2] * a5[2])
262  * (a2[0] * a4[0] + a2[1] * a4[1] + a2[2] * a4[2])
263  * (a3[0] * a3[0] + a3[1] * a3[1] + a3[2] * a3[2]) * a6[1]
264  + 7 * (a1[0] * a6[0] + a1[1] * a6[1] + a1[2] * a6[2])
265  * (a2[0] * a5[0] + a2[1] * a5[1] + a2[2] * a5[2])
266  * (a3[0] * a4[0] + a3[1] * a4[1] + a3[2] * a4[2]) * a7[1]
267  + 8 * (a1[0] * a7[0] + a1[1] * a7[1] + a1[2] * a7[2])
268  * (a2[0] * a6[0] + a2[1] * a6[1] + a2[2] * a6[2])
269  * (a3[0] * a5[0] + a3[1] * a5[1] + a3[2] * a5[2])
270  * (a4[0] * a4[0] + a4[1] * a4[1] + a4[2] * a4[2]) * a8[1];
271  y[2] += a1[2] + 2 * a2[2]
272  + 3 * (a1[0] * a2[0] + a1[1] * a2[1] + a1[2] * a2[2]) * a3[2]
273  + 4 * (a1[0] * a3[0] + a1[1] * a3[1] + a1[2] * a3[2])
274  * (a2[0] * a2[0] + a2[1] * a2[1] + a2[2] * a2[2]) * a4[2]
275  + 5 * (a1[0] * a4[0] + a1[1] * a4[1] + a1[2] * a4[2])
276  * (a2[0] * a3[0] + a2[1] * a3[1] + a2[2] * a3[2]) * a5[2]
277  + 6 * (a1[0] * a5[0] + a1[1] * a5[1] + a1[2] * a5[2])
278  * (a2[0] * a4[0] + a2[1] * a4[1] + a2[2] * a4[2])
279  * (a3[0] * a3[0] + a3[1] * a3[1] + a3[2] * a3[2]) * a6[2]
280  + 7 * (a1[0] * a6[0] + a1[1] * a6[1] + a1[2] * a6[2])
281  * (a2[0] * a5[0] + a2[1] * a5[1] + a2[2] * a5[2])
282  * (a3[0] * a4[0] + a3[1] * a4[1] + a3[2] * a4[2]) * a7[2]
283  + 8 * (a1[0] * a7[0] + a1[1] * a7[1] + a1[2] * a7[2])
284  * (a2[0] * a6[0] + a2[1] * a6[1] + a2[2] * a6[2])
285  * (a3[0] * a5[0] + a3[1] * a5[1] + a3[2] * a5[2])
286  * (a4[0] * a4[0] + a4[1] * a4[1] + a4[2] * a4[2]) * a8[2];
287  a1[0] *= 0.1;
288  a2[0] *= 0.2;
289  a3[0] *= 0.3;
290  a4[0] *= 0.4;
291  a5[0] *= 0.5;
292  a6[0] *= 0.6;
293  a7[0] *= 0.7;
294  a8[0] *= 0.8;
295  a1[1] *= 0.1;
296  a2[1] *= 0.2;
297  a3[1] *= 0.3;
298  a4[1] *= 0.4;
299  a5[1] *= 0.5;
300  a6[1] *= 0.6;
301  a7[1] *= 0.7;
302  a8[1] *= 0.8;
303  a1[2] *= 0.1;
304  a2[2] *= 0.2;
305  a3[2] *= 0.3;
306  a4[2] *= 0.4;
307  a5[2] *= 0.5;
308  a6[2] *= 0.6;
309  a7[2] *= 0.7;
310  a8[2] *= 0.8;
311  return;
312 }
313 
314 inline void
315 func9(double *restrict y, double *restrict a1, double *restrict a2,
316  double *restrict a3, double *restrict a4, double *restrict a5,
317  double *restrict a6, double *restrict a7, double *restrict a8,
318  double *restrict a9)
319 {
320  y[0] += a1[0] + 2 * a2[0]
321  + 3 * (a1[0] * a2[0] + a1[1] * a2[1] + a1[2] * a2[2]) * a3[0]
322  + 4 * (a1[0] * a3[0] + a1[1] * a3[1] + a1[2] * a3[2])
323  * (a2[0] * a2[0] + a2[1] * a2[1] + a2[2] * a2[2]) * a4[0]
324  + 5 * (a1[0] * a4[0] + a1[1] * a4[1] + a1[2] * a4[2])
325  * (a2[0] * a3[0] + a2[1] * a3[1] + a2[2] * a3[2]) * a5[0]
326  + 6 * (a1[0] * a5[0] + a1[1] * a5[1] + a1[2] * a5[2])
327  * (a2[0] * a4[0] + a2[1] * a4[1] + a2[2] * a4[2])
328  * (a3[0] * a3[0] + a3[1] * a3[1] + a3[2] * a3[2]) * a6[0]
329  + 7 * (a1[0] * a6[0] + a1[1] * a6[1] + a1[2] * a6[2])
330  * (a2[0] * a5[0] + a2[1] * a5[1] + a2[2] * a5[2])
331  * (a3[0] * a4[0] + a3[1] * a4[1] + a3[2] * a4[2]) * a7[0]
332  + 8 * (a1[0] * a7[0] + a1[1] * a7[1] + a1[2] * a7[2])
333  * (a2[0] * a6[0] + a2[1] * a6[1] + a2[2] * a6[2])
334  * (a3[0] * a5[0] + a3[1] * a5[1] + a3[2] * a5[2])
335  * (a4[0] * a4[0] + a4[1] * a4[1] + a4[2] * a4[2]) * a8[0]
336  + 9 * (a1[0] * a8[0] + a1[1] * a8[1] + a1[2] * a8[2])
337  * (a2[0] * a7[0] + a2[1] * a7[1] + a2[2] * a7[2])
338  * (a3[0] * a6[0] + a3[1] * a6[1] + a3[2] * a6[2])
339  * (a4[0] * a5[0] + a4[1] * a5[1] + a4[2] * a5[2]) * a9[0];
340  y[1] += a1[1] + 2 * a2[1]
341  + 3 * (a1[0] * a2[0] + a1[1] * a2[1] + a1[2] * a2[2]) * a3[1]
342  + 4 * (a1[0] * a3[0] + a1[1] * a3[1] + a1[2] * a3[2])
343  * (a2[0] * a2[0] + a2[1] * a2[1] + a2[2] * a2[2]) * a4[1]
344  + 5 * (a1[0] * a4[0] + a1[1] * a4[1] + a1[2] * a4[2])
345  * (a2[0] * a3[0] + a2[1] * a3[1] + a2[2] * a3[2]) * a5[1]
346  + 6 * (a1[0] * a5[0] + a1[1] * a5[1] + a1[2] * a5[2])
347  * (a2[0] * a4[0] + a2[1] * a4[1] + a2[2] * a4[2])
348  * (a3[0] * a3[0] + a3[1] * a3[1] + a3[2] * a3[2]) * a6[1]
349  + 7 * (a1[0] * a6[0] + a1[1] * a6[1] + a1[2] * a6[2])
350  * (a2[0] * a5[0] + a2[1] * a5[1] + a2[2] * a5[2])
351  * (a3[0] * a4[0] + a3[1] * a4[1] + a3[2] * a4[2]) * a7[1]
352  + 8 * (a1[0] * a7[0] + a1[1] * a7[1] + a1[2] * a7[2])
353  * (a2[0] * a6[0] + a2[1] * a6[1] + a2[2] * a6[2])
354  * (a3[0] * a5[0] + a3[1] * a5[1] + a3[2] * a5[2])
355  * (a4[0] * a4[0] + a4[1] * a4[1] + a4[2] * a4[2]) * a8[1]
356  + 9 * (a1[0] * a8[0] + a1[1] * a8[1] + a1[2] * a8[2])
357  * (a2[0] * a7[0] + a2[1] * a7[1] + a2[2] * a7[2])
358  * (a3[0] * a6[0] + a3[1] * a6[1] + a3[2] * a6[2])
359  * (a4[0] * a5[0] + a4[1] * a5[1] + a4[2] * a5[2]) * a9[1];
360  y[2] += a1[2] + 2 * a2[2]
361  + 3 * (a1[0] * a2[0] + a1[1] * a2[1] + a1[2] * a2[2]) * a3[2]
362  + 4 * (a1[0] * a3[0] + a1[1] * a3[1] + a1[2] * a3[2])
363  * (a2[0] * a2[0] + a2[1] * a2[1] + a2[2] * a2[2]) * a4[2]
364  + 5 * (a1[0] * a4[0] + a1[1] * a4[1] + a1[2] * a4[2])
365  * (a2[0] * a3[0] + a2[1] * a3[1] + a2[2] * a3[2]) * a5[2]
366  + 6 * (a1[0] * a5[0] + a1[1] * a5[1] + a1[2] * a5[2])
367  * (a2[0] * a4[0] + a2[1] * a4[1] + a2[2] * a4[2])
368  * (a3[0] * a3[0] + a3[1] * a3[1] + a3[2] * a3[2]) * a6[2]
369  + 7 * (a1[0] * a6[0] + a1[1] * a6[1] + a1[2] * a6[2])
370  * (a2[0] * a5[0] + a2[1] * a5[1] + a2[2] * a5[2])
371  * (a3[0] * a4[0] + a3[1] * a4[1] + a3[2] * a4[2]) * a7[2]
372  + 8 * (a1[0] * a7[0] + a1[1] * a7[1] + a1[2] * a7[2])
373  * (a2[0] * a6[0] + a2[1] * a6[1] + a2[2] * a6[2])
374  * (a3[0] * a5[0] + a3[1] * a5[1] + a3[2] * a5[2])
375  * (a4[0] * a4[0] + a4[1] * a4[1] + a4[2] * a4[2]) * a8[2]
376  + 9 * (a1[0] * a8[0] + a1[1] * a8[1] + a1[2] * a8[2])
377  * (a2[0] * a7[0] + a2[1] * a7[1] + a2[2] * a7[2])
378  * (a3[0] * a6[0] + a3[1] * a6[1] + a3[2] * a6[2])
379  * (a4[0] * a5[0] + a4[1] * a5[1] + a4[2] * a5[2]) * a9[2];
380  a1[0] *= 0.1;
381  a2[0] *= 0.2;
382  a3[0] *= 0.3;
383  a4[0] *= 0.4;
384  a5[0] *= 0.5;
385  a6[0] *= 0.6;
386  a7[0] *= 0.7;
387  a8[0] *= 0.8;
388  a9[0] *= 0.9;
389  a1[1] *= 0.1;
390  a2[1] *= 0.2;
391  a3[1] *= 0.3;
392  a4[1] *= 0.4;
393  a5[1] *= 0.5;
394  a6[1] *= 0.6;
395  a7[1] *= 0.7;
396  a8[1] *= 0.8;
397  a9[1] *= 0.9;
398  a1[2] *= 0.1;
399  a2[2] *= 0.2;
400  a3[2] *= 0.3;
401  a4[2] *= 0.4;
402  a5[2] *= 0.5;
403  a6[2] *= 0.6;
404  a7[2] *= 0.7;
405  a8[2] *= 0.8;
406  a9[2] *= 0.9;
407  return;
408 }
a2
constexpr double a2
Definition: hcurl_check_approx_in_2d.cpp:39
a3
constexpr double a3
Definition: hcurl_check_approx_in_2d.cpp:40
func1
void func1(double *restrict y, double *restrict a1)
Definition: one_over_1_minus_x_fast.hpp:1
func8
void func8(double *restrict y, double *restrict a1, double *restrict a2, double *restrict a3, double *restrict a4, double *restrict a5, double *restrict a6, double *restrict a7, double *restrict a8)
Definition: one_over_1_minus_x_fast.hpp:235
func5
void func5(double *restrict y, double *restrict a1, double *restrict a2, double *restrict a3, double *restrict a4, double *restrict a5)
Definition: one_over_1_minus_x_fast.hpp:78
a1
constexpr double a1
Definition: hcurl_check_approx_in_2d.cpp:38
func3
void func3(double *restrict y, double *restrict a1, double *restrict a2, double *restrict a3)
Definition: one_over_1_minus_x_fast.hpp:26
func9
void func9(double *restrict y, double *restrict a1, double *restrict a2, double *restrict a3, double *restrict a4, double *restrict a5, double *restrict a6, double *restrict a7, double *restrict a8, double *restrict a9)
Definition: one_over_1_minus_x_fast.hpp:315
a4
constexpr double a4
Definition: hcurl_check_approx_in_2d.cpp:41
func2
void func2(double *restrict y, double *restrict a1, double *restrict a2)
Definition: one_over_1_minus_x_fast.hpp:12
func4
void func4(double *restrict y, double *restrict a1, double *restrict a2, double *restrict a3, double *restrict a4)
Definition: one_over_1_minus_x_fast.hpp:47
a6
constexpr double a6
Definition: hcurl_check_approx_in_2d.cpp:43
func7
void func7(double *restrict y, double *restrict a1, double *restrict a2, double *restrict a3, double *restrict a4, double *restrict a5, double *restrict a6, double *restrict a7)
Definition: one_over_1_minus_x_fast.hpp:170
func6
void func6(double *restrict y, double *restrict a1, double *restrict a2, double *restrict a3, double *restrict a4, double *restrict a5, double *restrict a6)
Definition: one_over_1_minus_x_fast.hpp:117
a5
constexpr double a5
Definition: hcurl_check_approx_in_2d.cpp:42