v0.14.0
Functions
one_over_1_minus_x_fast.cpp File Reference
#include <iostream>

Go to the source code of this file.

Functions

void func1 (double *restrict y, double *restrict a1)
 
void func2 (double *restrict y, double *restrict a1, double *restrict a2)
 
void func3 (double *restrict y, double *restrict a1, double *restrict a2, double *restrict a3)
 
void func4 (double *restrict y, double *restrict a1, double *restrict a2, double *restrict a3, double *restrict a4)
 
void func5 (double *restrict y, double *restrict a1, double *restrict a2, double *restrict a3, double *restrict a4, double *restrict a5)
 
void func6 (double *restrict y, double *restrict a1, double *restrict a2, double *restrict a3, double *restrict a4, double *restrict a5, double *restrict a6)
 
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)
 
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)
 
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)
 
int main ()
 

Function Documentation

◆ func1()

void func1 ( double *restrict  y,
double *restrict  a1 
)
inline

Definition at line 3 of file one_over_1_minus_x_fast.cpp.

4 {
5  y[0] += a1[0];
6  y[1] += a1[1];
7  y[2] += a1[2];
8  a1[0] *= 0.1;
9  a1[1] *= 0.1;
10  a1[2] *= 0.1;
11  return;
12 }

◆ func2()

void func2 ( double *restrict  y,
double *restrict  a1,
double *restrict  a2 
)
inline

Definition at line 14 of file one_over_1_minus_x_fast.cpp.

15 {
16  y[0] += a1[0] + 2 * a2[0];
17  y[1] += a1[1] + 2 * a2[1];
18  y[2] += a1[2] + 2 * a2[2];
19  a1[0] *= 0.1;
20  a2[0] *= 0.2;
21  a1[1] *= 0.1;
22  a2[1] *= 0.2;
23  a1[2] *= 0.1;
24  a2[2] *= 0.2;
25  return;
26 }

◆ func3()

void func3 ( double *restrict  y,
double *restrict  a1,
double *restrict  a2,
double *restrict  a3 
)
inline

Definition at line 28 of file one_over_1_minus_x_fast.cpp.

30 {
31  y[0] += a1[0] + 2 * a2[0]
32  + 3 * (a1[0] * a2[0] + a1[1] * a2[1] + a1[2] * a2[2]) * a3[0];
33  y[1] += a1[1] + 2 * a2[1]
34  + 3 * (a1[0] * a2[0] + a1[1] * a2[1] + a1[2] * a2[2]) * a3[1];
35  y[2] += a1[2] + 2 * a2[2]
36  + 3 * (a1[0] * a2[0] + a1[1] * a2[1] + a1[2] * a2[2]) * a3[2];
37  a1[0] *= 0.1;
38  a2[0] *= 0.2;
39  a3[0] *= 0.3;
40  a1[1] *= 0.1;
41  a2[1] *= 0.2;
42  a3[1] *= 0.3;
43  a1[2] *= 0.1;
44  a2[2] *= 0.2;
45  a3[2] *= 0.3;
46  return;
47 }

◆ func4()

void func4 ( double *restrict  y,
double *restrict  a1,
double *restrict  a2,
double *restrict  a3,
double *restrict  a4 
)
inline

Definition at line 49 of file one_over_1_minus_x_fast.cpp.

51 {
52  y[0] += a1[0] + 2 * a2[0]
53  + 3 * (a1[0] * a2[0] + a1[1] * a2[1] + a1[2] * a2[2]) * a3[0]
54  + 4 * (a1[0] * a3[0] + a1[1] * a3[1] + a1[2] * a3[2])
55  * (a2[0] * a2[0] + a2[1] * a2[1] + a2[2] * a2[2]) * a4[0];
56  y[1] += a1[1] + 2 * a2[1]
57  + 3 * (a1[0] * a2[0] + a1[1] * a2[1] + a1[2] * a2[2]) * a3[1]
58  + 4 * (a1[0] * a3[0] + a1[1] * a3[1] + a1[2] * a3[2])
59  * (a2[0] * a2[0] + a2[1] * a2[1] + a2[2] * a2[2]) * a4[1];
60  y[2] += a1[2] + 2 * a2[2]
61  + 3 * (a1[0] * a2[0] + a1[1] * a2[1] + a1[2] * a2[2]) * a3[2]
62  + 4 * (a1[0] * a3[0] + a1[1] * a3[1] + a1[2] * a3[2])
63  * (a2[0] * a2[0] + a2[1] * a2[1] + a2[2] * a2[2]) * a4[2];
64  a1[0] *= 0.1;
65  a2[0] *= 0.2;
66  a3[0] *= 0.3;
67  a4[0] *= 0.4;
68  a1[1] *= 0.1;
69  a2[1] *= 0.2;
70  a3[1] *= 0.3;
71  a4[1] *= 0.4;
72  a1[2] *= 0.1;
73  a2[2] *= 0.2;
74  a3[2] *= 0.3;
75  a4[2] *= 0.4;
76  return;
77 }

◆ func5()

void func5 ( double *restrict  y,
double *restrict  a1,
double *restrict  a2,
double *restrict  a3,
double *restrict  a4,
double *restrict  a5 
)
inline

Definition at line 80 of file one_over_1_minus_x_fast.cpp.

82 {
83  y[0] += a1[0] + 2 * a2[0]
84  + 3 * (a1[0] * a2[0] + a1[1] * a2[1] + a1[2] * a2[2]) * a3[0]
85  + 4 * (a1[0] * a3[0] + a1[1] * a3[1] + a1[2] * a3[2])
86  * (a2[0] * a2[0] + a2[1] * a2[1] + a2[2] * a2[2]) * a4[0]
87  + 5 * (a1[0] * a4[0] + a1[1] * a4[1] + a1[2] * a4[2])
88  * (a2[0] * a3[0] + a2[1] * a3[1] + a2[2] * a3[2]) * a5[0];
89  y[1] += a1[1] + 2 * a2[1]
90  + 3 * (a1[0] * a2[0] + a1[1] * a2[1] + a1[2] * a2[2]) * a3[1]
91  + 4 * (a1[0] * a3[0] + a1[1] * a3[1] + a1[2] * a3[2])
92  * (a2[0] * a2[0] + a2[1] * a2[1] + a2[2] * a2[2]) * a4[1]
93  + 5 * (a1[0] * a4[0] + a1[1] * a4[1] + a1[2] * a4[2])
94  * (a2[0] * a3[0] + a2[1] * a3[1] + a2[2] * a3[2]) * a5[1];
95  y[2] += a1[2] + 2 * a2[2]
96  + 3 * (a1[0] * a2[0] + a1[1] * a2[1] + a1[2] * a2[2]) * a3[2]
97  + 4 * (a1[0] * a3[0] + a1[1] * a3[1] + a1[2] * a3[2])
98  * (a2[0] * a2[0] + a2[1] * a2[1] + a2[2] * a2[2]) * a4[2]
99  + 5 * (a1[0] * a4[0] + a1[1] * a4[1] + a1[2] * a4[2])
100  * (a2[0] * a3[0] + a2[1] * a3[1] + a2[2] * a3[2]) * a5[2];
101  a1[0] *= 0.1;
102  a2[0] *= 0.2;
103  a3[0] *= 0.3;
104  a4[0] *= 0.4;
105  a5[0] *= 0.5;
106  a1[1] *= 0.1;
107  a2[1] *= 0.2;
108  a3[1] *= 0.3;
109  a4[1] *= 0.4;
110  a5[1] *= 0.5;
111  a1[2] *= 0.1;
112  a2[2] *= 0.2;
113  a3[2] *= 0.3;
114  a4[2] *= 0.4;
115  a5[2] *= 0.5;
116  return;
117 }

◆ func6()

void func6 ( double *restrict  y,
double *restrict  a1,
double *restrict  a2,
double *restrict  a3,
double *restrict  a4,
double *restrict  a5,
double *restrict  a6 
)
inline

Definition at line 119 of file one_over_1_minus_x_fast.cpp.

122 {
123  y[0] += a1[0] + 2 * a2[0]
124  + 3 * (a1[0] * a2[0] + a1[1] * a2[1] + a1[2] * a2[2]) * a3[0]
125  + 4 * (a1[0] * a3[0] + a1[1] * a3[1] + a1[2] * a3[2])
126  * (a2[0] * a2[0] + a2[1] * a2[1] + a2[2] * a2[2]) * a4[0]
127  + 5 * (a1[0] * a4[0] + a1[1] * a4[1] + a1[2] * a4[2])
128  * (a2[0] * a3[0] + a2[1] * a3[1] + a2[2] * a3[2]) * a5[0]
129  + 6 * (a1[0] * a5[0] + a1[1] * a5[1] + a1[2] * a5[2])
130  * (a2[0] * a4[0] + a2[1] * a4[1] + a2[2] * a4[2])
131  * (a3[0] * a3[0] + a3[1] * a3[1] + a3[2] * a3[2]) * a6[0];
132  y[1] += a1[1] + 2 * a2[1]
133  + 3 * (a1[0] * a2[0] + a1[1] * a2[1] + a1[2] * a2[2]) * a3[1]
134  + 4 * (a1[0] * a3[0] + a1[1] * a3[1] + a1[2] * a3[2])
135  * (a2[0] * a2[0] + a2[1] * a2[1] + a2[2] * a2[2]) * a4[1]
136  + 5 * (a1[0] * a4[0] + a1[1] * a4[1] + a1[2] * a4[2])
137  * (a2[0] * a3[0] + a2[1] * a3[1] + a2[2] * a3[2]) * a5[1]
138  + 6 * (a1[0] * a5[0] + a1[1] * a5[1] + a1[2] * a5[2])
139  * (a2[0] * a4[0] + a2[1] * a4[1] + a2[2] * a4[2])
140  * (a3[0] * a3[0] + a3[1] * a3[1] + a3[2] * a3[2]) * a6[1];
141  y[2] += a1[2] + 2 * a2[2]
142  + 3 * (a1[0] * a2[0] + a1[1] * a2[1] + a1[2] * a2[2]) * a3[2]
143  + 4 * (a1[0] * a3[0] + a1[1] * a3[1] + a1[2] * a3[2])
144  * (a2[0] * a2[0] + a2[1] * a2[1] + a2[2] * a2[2]) * a4[2]
145  + 5 * (a1[0] * a4[0] + a1[1] * a4[1] + a1[2] * a4[2])
146  * (a2[0] * a3[0] + a2[1] * a3[1] + a2[2] * a3[2]) * a5[2]
147  + 6 * (a1[0] * a5[0] + a1[1] * a5[1] + a1[2] * a5[2])
148  * (a2[0] * a4[0] + a2[1] * a4[1] + a2[2] * a4[2])
149  * (a3[0] * a3[0] + a3[1] * a3[1] + a3[2] * a3[2]) * a6[2];
150  a1[0] *= 0.1;
151  a2[0] *= 0.2;
152  a3[0] *= 0.3;
153  a4[0] *= 0.4;
154  a5[0] *= 0.5;
155  a6[0] *= 0.6;
156  a1[1] *= 0.1;
157  a2[1] *= 0.2;
158  a3[1] *= 0.3;
159  a4[1] *= 0.4;
160  a5[1] *= 0.5;
161  a6[1] *= 0.6;
162  a1[2] *= 0.1;
163  a2[2] *= 0.2;
164  a3[2] *= 0.3;
165  a4[2] *= 0.4;
166  a5[2] *= 0.5;
167  a6[2] *= 0.6;
168  return;
169 }

◆ 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 
)
inline

Definition at line 172 of file one_over_1_minus_x_fast.cpp.

175 {
176  y[0] += a1[0] + 2 * a2[0]
177  + 3 * (a1[0] * a2[0] + a1[1] * a2[1] + a1[2] * a2[2]) * a3[0]
178  + 4 * (a1[0] * a3[0] + a1[1] * a3[1] + a1[2] * a3[2])
179  * (a2[0] * a2[0] + a2[1] * a2[1] + a2[2] * a2[2]) * a4[0]
180  + 5 * (a1[0] * a4[0] + a1[1] * a4[1] + a1[2] * a4[2])
181  * (a2[0] * a3[0] + a2[1] * a3[1] + a2[2] * a3[2]) * a5[0]
182  + 6 * (a1[0] * a5[0] + a1[1] * a5[1] + a1[2] * a5[2])
183  * (a2[0] * a4[0] + a2[1] * a4[1] + a2[2] * a4[2])
184  * (a3[0] * a3[0] + a3[1] * a3[1] + a3[2] * a3[2]) * a6[0]
185  + 7 * (a1[0] * a6[0] + a1[1] * a6[1] + a1[2] * a6[2])
186  * (a2[0] * a5[0] + a2[1] * a5[1] + a2[2] * a5[2])
187  * (a3[0] * a4[0] + a3[1] * a4[1] + a3[2] * a4[2]) * a7[0];
188  y[1] += a1[1] + 2 * a2[1]
189  + 3 * (a1[0] * a2[0] + a1[1] * a2[1] + a1[2] * a2[2]) * a3[1]
190  + 4 * (a1[0] * a3[0] + a1[1] * a3[1] + a1[2] * a3[2])
191  * (a2[0] * a2[0] + a2[1] * a2[1] + a2[2] * a2[2]) * a4[1]
192  + 5 * (a1[0] * a4[0] + a1[1] * a4[1] + a1[2] * a4[2])
193  * (a2[0] * a3[0] + a2[1] * a3[1] + a2[2] * a3[2]) * a5[1]
194  + 6 * (a1[0] * a5[0] + a1[1] * a5[1] + a1[2] * a5[2])
195  * (a2[0] * a4[0] + a2[1] * a4[1] + a2[2] * a4[2])
196  * (a3[0] * a3[0] + a3[1] * a3[1] + a3[2] * a3[2]) * a6[1]
197  + 7 * (a1[0] * a6[0] + a1[1] * a6[1] + a1[2] * a6[2])
198  * (a2[0] * a5[0] + a2[1] * a5[1] + a2[2] * a5[2])
199  * (a3[0] * a4[0] + a3[1] * a4[1] + a3[2] * a4[2]) * a7[1];
200  y[2] += a1[2] + 2 * a2[2]
201  + 3 * (a1[0] * a2[0] + a1[1] * a2[1] + a1[2] * a2[2]) * a3[2]
202  + 4 * (a1[0] * a3[0] + a1[1] * a3[1] + a1[2] * a3[2])
203  * (a2[0] * a2[0] + a2[1] * a2[1] + a2[2] * a2[2]) * a4[2]
204  + 5 * (a1[0] * a4[0] + a1[1] * a4[1] + a1[2] * a4[2])
205  * (a2[0] * a3[0] + a2[1] * a3[1] + a2[2] * a3[2]) * a5[2]
206  + 6 * (a1[0] * a5[0] + a1[1] * a5[1] + a1[2] * a5[2])
207  * (a2[0] * a4[0] + a2[1] * a4[1] + a2[2] * a4[2])
208  * (a3[0] * a3[0] + a3[1] * a3[1] + a3[2] * a3[2]) * a6[2]
209  + 7 * (a1[0] * a6[0] + a1[1] * a6[1] + a1[2] * a6[2])
210  * (a2[0] * a5[0] + a2[1] * a5[1] + a2[2] * a5[2])
211  * (a3[0] * a4[0] + a3[1] * a4[1] + a3[2] * a4[2]) * a7[2];
212  a1[0] *= 0.1;
213  a2[0] *= 0.2;
214  a3[0] *= 0.3;
215  a4[0] *= 0.4;
216  a5[0] *= 0.5;
217  a6[0] *= 0.6;
218  a7[0] *= 0.7;
219  a1[1] *= 0.1;
220  a2[1] *= 0.2;
221  a3[1] *= 0.3;
222  a4[1] *= 0.4;
223  a5[1] *= 0.5;
224  a6[1] *= 0.6;
225  a7[1] *= 0.7;
226  a1[2] *= 0.1;
227  a2[2] *= 0.2;
228  a3[2] *= 0.3;
229  a4[2] *= 0.4;
230  a5[2] *= 0.5;
231  a6[2] *= 0.6;
232  a7[2] *= 0.7;
233  return;
234 }

◆ 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 
)
inline

Definition at line 237 of file one_over_1_minus_x_fast.cpp.

240 {
241  y[0] += a1[0] + 2 * a2[0]
242  + 3 * (a1[0] * a2[0] + a1[1] * a2[1] + a1[2] * a2[2]) * a3[0]
243  + 4 * (a1[0] * a3[0] + a1[1] * a3[1] + a1[2] * a3[2])
244  * (a2[0] * a2[0] + a2[1] * a2[1] + a2[2] * a2[2]) * a4[0]
245  + 5 * (a1[0] * a4[0] + a1[1] * a4[1] + a1[2] * a4[2])
246  * (a2[0] * a3[0] + a2[1] * a3[1] + a2[2] * a3[2]) * a5[0]
247  + 6 * (a1[0] * a5[0] + a1[1] * a5[1] + a1[2] * a5[2])
248  * (a2[0] * a4[0] + a2[1] * a4[1] + a2[2] * a4[2])
249  * (a3[0] * a3[0] + a3[1] * a3[1] + a3[2] * a3[2]) * a6[0]
250  + 7 * (a1[0] * a6[0] + a1[1] * a6[1] + a1[2] * a6[2])
251  * (a2[0] * a5[0] + a2[1] * a5[1] + a2[2] * a5[2])
252  * (a3[0] * a4[0] + a3[1] * a4[1] + a3[2] * a4[2]) * a7[0]
253  + 8 * (a1[0] * a7[0] + a1[1] * a7[1] + a1[2] * a7[2])
254  * (a2[0] * a6[0] + a2[1] * a6[1] + a2[2] * a6[2])
255  * (a3[0] * a5[0] + a3[1] * a5[1] + a3[2] * a5[2])
256  * (a4[0] * a4[0] + a4[1] * a4[1] + a4[2] * a4[2]) * a8[0];
257  y[1] += a1[1] + 2 * a2[1]
258  + 3 * (a1[0] * a2[0] + a1[1] * a2[1] + a1[2] * a2[2]) * a3[1]
259  + 4 * (a1[0] * a3[0] + a1[1] * a3[1] + a1[2] * a3[2])
260  * (a2[0] * a2[0] + a2[1] * a2[1] + a2[2] * a2[2]) * a4[1]
261  + 5 * (a1[0] * a4[0] + a1[1] * a4[1] + a1[2] * a4[2])
262  * (a2[0] * a3[0] + a2[1] * a3[1] + a2[2] * a3[2]) * a5[1]
263  + 6 * (a1[0] * a5[0] + a1[1] * a5[1] + a1[2] * a5[2])
264  * (a2[0] * a4[0] + a2[1] * a4[1] + a2[2] * a4[2])
265  * (a3[0] * a3[0] + a3[1] * a3[1] + a3[2] * a3[2]) * a6[1]
266  + 7 * (a1[0] * a6[0] + a1[1] * a6[1] + a1[2] * a6[2])
267  * (a2[0] * a5[0] + a2[1] * a5[1] + a2[2] * a5[2])
268  * (a3[0] * a4[0] + a3[1] * a4[1] + a3[2] * a4[2]) * a7[1]
269  + 8 * (a1[0] * a7[0] + a1[1] * a7[1] + a1[2] * a7[2])
270  * (a2[0] * a6[0] + a2[1] * a6[1] + a2[2] * a6[2])
271  * (a3[0] * a5[0] + a3[1] * a5[1] + a3[2] * a5[2])
272  * (a4[0] * a4[0] + a4[1] * a4[1] + a4[2] * a4[2]) * a8[1];
273  y[2] += a1[2] + 2 * a2[2]
274  + 3 * (a1[0] * a2[0] + a1[1] * a2[1] + a1[2] * a2[2]) * a3[2]
275  + 4 * (a1[0] * a3[0] + a1[1] * a3[1] + a1[2] * a3[2])
276  * (a2[0] * a2[0] + a2[1] * a2[1] + a2[2] * a2[2]) * a4[2]
277  + 5 * (a1[0] * a4[0] + a1[1] * a4[1] + a1[2] * a4[2])
278  * (a2[0] * a3[0] + a2[1] * a3[1] + a2[2] * a3[2]) * a5[2]
279  + 6 * (a1[0] * a5[0] + a1[1] * a5[1] + a1[2] * a5[2])
280  * (a2[0] * a4[0] + a2[1] * a4[1] + a2[2] * a4[2])
281  * (a3[0] * a3[0] + a3[1] * a3[1] + a3[2] * a3[2]) * a6[2]
282  + 7 * (a1[0] * a6[0] + a1[1] * a6[1] + a1[2] * a6[2])
283  * (a2[0] * a5[0] + a2[1] * a5[1] + a2[2] * a5[2])
284  * (a3[0] * a4[0] + a3[1] * a4[1] + a3[2] * a4[2]) * a7[2]
285  + 8 * (a1[0] * a7[0] + a1[1] * a7[1] + a1[2] * a7[2])
286  * (a2[0] * a6[0] + a2[1] * a6[1] + a2[2] * a6[2])
287  * (a3[0] * a5[0] + a3[1] * a5[1] + a3[2] * a5[2])
288  * (a4[0] * a4[0] + a4[1] * a4[1] + a4[2] * a4[2]) * a8[2];
289  a1[0] *= 0.1;
290  a2[0] *= 0.2;
291  a3[0] *= 0.3;
292  a4[0] *= 0.4;
293  a5[0] *= 0.5;
294  a6[0] *= 0.6;
295  a7[0] *= 0.7;
296  a8[0] *= 0.8;
297  a1[1] *= 0.1;
298  a2[1] *= 0.2;
299  a3[1] *= 0.3;
300  a4[1] *= 0.4;
301  a5[1] *= 0.5;
302  a6[1] *= 0.6;
303  a7[1] *= 0.7;
304  a8[1] *= 0.8;
305  a1[2] *= 0.1;
306  a2[2] *= 0.2;
307  a3[2] *= 0.3;
308  a4[2] *= 0.4;
309  a5[2] *= 0.5;
310  a6[2] *= 0.6;
311  a7[2] *= 0.7;
312  a8[2] *= 0.8;
313  return;
314 }

◆ 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 
)
inline

Definition at line 317 of file one_over_1_minus_x_fast.cpp.

321 {
322  y[0] += a1[0] + 2 * a2[0]
323  + 3 * (a1[0] * a2[0] + a1[1] * a2[1] + a1[2] * a2[2]) * a3[0]
324  + 4 * (a1[0] * a3[0] + a1[1] * a3[1] + a1[2] * a3[2])
325  * (a2[0] * a2[0] + a2[1] * a2[1] + a2[2] * a2[2]) * a4[0]
326  + 5 * (a1[0] * a4[0] + a1[1] * a4[1] + a1[2] * a4[2])
327  * (a2[0] * a3[0] + a2[1] * a3[1] + a2[2] * a3[2]) * a5[0]
328  + 6 * (a1[0] * a5[0] + a1[1] * a5[1] + a1[2] * a5[2])
329  * (a2[0] * a4[0] + a2[1] * a4[1] + a2[2] * a4[2])
330  * (a3[0] * a3[0] + a3[1] * a3[1] + a3[2] * a3[2]) * a6[0]
331  + 7 * (a1[0] * a6[0] + a1[1] * a6[1] + a1[2] * a6[2])
332  * (a2[0] * a5[0] + a2[1] * a5[1] + a2[2] * a5[2])
333  * (a3[0] * a4[0] + a3[1] * a4[1] + a3[2] * a4[2]) * a7[0]
334  + 8 * (a1[0] * a7[0] + a1[1] * a7[1] + a1[2] * a7[2])
335  * (a2[0] * a6[0] + a2[1] * a6[1] + a2[2] * a6[2])
336  * (a3[0] * a5[0] + a3[1] * a5[1] + a3[2] * a5[2])
337  * (a4[0] * a4[0] + a4[1] * a4[1] + a4[2] * a4[2]) * a8[0]
338  + 9 * (a1[0] * a8[0] + a1[1] * a8[1] + a1[2] * a8[2])
339  * (a2[0] * a7[0] + a2[1] * a7[1] + a2[2] * a7[2])
340  * (a3[0] * a6[0] + a3[1] * a6[1] + a3[2] * a6[2])
341  * (a4[0] * a5[0] + a4[1] * a5[1] + a4[2] * a5[2]) * a9[0];
342  y[1] += a1[1] + 2 * a2[1]
343  + 3 * (a1[0] * a2[0] + a1[1] * a2[1] + a1[2] * a2[2]) * a3[1]
344  + 4 * (a1[0] * a3[0] + a1[1] * a3[1] + a1[2] * a3[2])
345  * (a2[0] * a2[0] + a2[1] * a2[1] + a2[2] * a2[2]) * a4[1]
346  + 5 * (a1[0] * a4[0] + a1[1] * a4[1] + a1[2] * a4[2])
347  * (a2[0] * a3[0] + a2[1] * a3[1] + a2[2] * a3[2]) * a5[1]
348  + 6 * (a1[0] * a5[0] + a1[1] * a5[1] + a1[2] * a5[2])
349  * (a2[0] * a4[0] + a2[1] * a4[1] + a2[2] * a4[2])
350  * (a3[0] * a3[0] + a3[1] * a3[1] + a3[2] * a3[2]) * a6[1]
351  + 7 * (a1[0] * a6[0] + a1[1] * a6[1] + a1[2] * a6[2])
352  * (a2[0] * a5[0] + a2[1] * a5[1] + a2[2] * a5[2])
353  * (a3[0] * a4[0] + a3[1] * a4[1] + a3[2] * a4[2]) * a7[1]
354  + 8 * (a1[0] * a7[0] + a1[1] * a7[1] + a1[2] * a7[2])
355  * (a2[0] * a6[0] + a2[1] * a6[1] + a2[2] * a6[2])
356  * (a3[0] * a5[0] + a3[1] * a5[1] + a3[2] * a5[2])
357  * (a4[0] * a4[0] + a4[1] * a4[1] + a4[2] * a4[2]) * a8[1]
358  + 9 * (a1[0] * a8[0] + a1[1] * a8[1] + a1[2] * a8[2])
359  * (a2[0] * a7[0] + a2[1] * a7[1] + a2[2] * a7[2])
360  * (a3[0] * a6[0] + a3[1] * a6[1] + a3[2] * a6[2])
361  * (a4[0] * a5[0] + a4[1] * a5[1] + a4[2] * a5[2]) * a9[1];
362  y[2] += a1[2] + 2 * a2[2]
363  + 3 * (a1[0] * a2[0] + a1[1] * a2[1] + a1[2] * a2[2]) * a3[2]
364  + 4 * (a1[0] * a3[0] + a1[1] * a3[1] + a1[2] * a3[2])
365  * (a2[0] * a2[0] + a2[1] * a2[1] + a2[2] * a2[2]) * a4[2]
366  + 5 * (a1[0] * a4[0] + a1[1] * a4[1] + a1[2] * a4[2])
367  * (a2[0] * a3[0] + a2[1] * a3[1] + a2[2] * a3[2]) * a5[2]
368  + 6 * (a1[0] * a5[0] + a1[1] * a5[1] + a1[2] * a5[2])
369  * (a2[0] * a4[0] + a2[1] * a4[1] + a2[2] * a4[2])
370  * (a3[0] * a3[0] + a3[1] * a3[1] + a3[2] * a3[2]) * a6[2]
371  + 7 * (a1[0] * a6[0] + a1[1] * a6[1] + a1[2] * a6[2])
372  * (a2[0] * a5[0] + a2[1] * a5[1] + a2[2] * a5[2])
373  * (a3[0] * a4[0] + a3[1] * a4[1] + a3[2] * a4[2]) * a7[2]
374  + 8 * (a1[0] * a7[0] + a1[1] * a7[1] + a1[2] * a7[2])
375  * (a2[0] * a6[0] + a2[1] * a6[1] + a2[2] * a6[2])
376  * (a3[0] * a5[0] + a3[1] * a5[1] + a3[2] * a5[2])
377  * (a4[0] * a4[0] + a4[1] * a4[1] + a4[2] * a4[2]) * a8[2]
378  + 9 * (a1[0] * a8[0] + a1[1] * a8[1] + a1[2] * a8[2])
379  * (a2[0] * a7[0] + a2[1] * a7[1] + a2[2] * a7[2])
380  * (a3[0] * a6[0] + a3[1] * a6[1] + a3[2] * a6[2])
381  * (a4[0] * a5[0] + a4[1] * a5[1] + a4[2] * a5[2]) * a9[2];
382  a1[0] *= 0.1;
383  a2[0] *= 0.2;
384  a3[0] *= 0.3;
385  a4[0] *= 0.4;
386  a5[0] *= 0.5;
387  a6[0] *= 0.6;
388  a7[0] *= 0.7;
389  a8[0] *= 0.8;
390  a9[0] *= 0.9;
391  a1[1] *= 0.1;
392  a2[1] *= 0.2;
393  a3[1] *= 0.3;
394  a4[1] *= 0.4;
395  a5[1] *= 0.5;
396  a6[1] *= 0.6;
397  a7[1] *= 0.7;
398  a8[1] *= 0.8;
399  a9[1] *= 0.9;
400  a1[2] *= 0.1;
401  a2[2] *= 0.2;
402  a3[2] *= 0.3;
403  a4[2] *= 0.4;
404  a5[2] *= 0.5;
405  a6[2] *= 0.6;
406  a7[2] *= 0.7;
407  a8[2] *= 0.8;
408  a9[2] *= 0.9;
409  return;
410 }

◆ main()

int main ( )

Definition at line 412 of file one_over_1_minus_x_fast.cpp.

413 {
414  double y[] = {0, 1, 2};
415  double a1[] = {2, 3, 4};
416  double a2[] = {5, 6, 7};
417  double a3[] = {8, 9, 10};
418 
419  for(int ii = 0; ii < 10000000; ii++)
420  {
421  // func1(y,a1);
422  // func2(y,a1,a2);
423  func3(y, a1, a2, a3);
424  // func4(y,a1,a2,a3,a4);
425  // func5(y,a1,a2,a3,a4,a5);
426  // func6(y,a1,a2,a3,a4,a5,a6);
427  // func7(y,a1,a2,a3,a4,a5,a6,a7);
428  // func8(y,a1,a2,a3,a4,a5,a6,a7,a8);
429  // func9(y,a1,a2,a3,a4,a5,a6,a7,a8,a9);
430  }
431  std::cout << y[0] << " " << y[1] << " " << y[2] << std::endl;
432  // << x(0) << " " << x(1) << " " << x(2) << endl
433  // << n(0) << " " << n(1) << " " << n(2) << endl
434  // << y(i)*n(i) << endl;
435 }
a2
constexpr double a2
Definition: hcurl_check_approx_in_2d.cpp:39
a3
constexpr double a3
Definition: hcurl_check_approx_in_2d.cpp:40
func3
void func3(double *restrict y, double *restrict a1, double *restrict a2, double *restrict a3)
Definition: one_over_1_minus_x_fast.cpp:28
a1
constexpr double a1
Definition: hcurl_check_approx_in_2d.cpp:38
a4
constexpr double a4
Definition: hcurl_check_approx_in_2d.cpp:41
a6
constexpr double a6
Definition: hcurl_check_approx_in_2d.cpp:43
a5
constexpr double a5
Definition: hcurl_check_approx_in_2d.cpp:42